code: func (s *RegisterUsageInput) Validate() error {
  	invalidParams := request.ErrInvalidParams{Context: "RegisterUsageInput"}
  	if s.ProductCode == nil {
  		invalidParams.Add(request.NewErrParamRequired("ProductCode"))
  	}
  	if s.ProductCode != nil && len(*s.ProductCode) < 1 {
  		invalidParams.Add(request.NewErrParamMinLen("ProductCode", 1))
  	}
  	if s.PublicKeyVersion == nil {
  		invalidParams.Add(request.NewErrParamRequired("PublicKeyVersion"))
  	}
  	if s.PublicKeyVersion != nil && *s.PublicKeyVersion < 1 {
  		invalidParams.Add(request.NewErrParamMinValue("PublicKeyVersion", 1))
  	}
  
  	if invalidParams.Len() > 0 {
  		return invalidParams
  	}
  	return nil
  }
docs: // Validate inspects the fields of the type to determine if they are valid.