in service/budgets/api.go [4108:4184]
func (s *CreateBudgetActionInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "CreateBudgetActionInput"}
if s.AccountId == nil {
invalidParams.Add(request.NewErrParamRequired("AccountId"))
}
if s.AccountId != nil && len(*s.AccountId) < 12 {
invalidParams.Add(request.NewErrParamMinLen("AccountId", 12))
}
if s.ActionThreshold == nil {
invalidParams.Add(request.NewErrParamRequired("ActionThreshold"))
}
if s.ActionType == nil {
invalidParams.Add(request.NewErrParamRequired("ActionType"))
}
if s.ApprovalModel == nil {
invalidParams.Add(request.NewErrParamRequired("ApprovalModel"))
}
if s.BudgetName == nil {
invalidParams.Add(request.NewErrParamRequired("BudgetName"))
}
if s.BudgetName != nil && len(*s.BudgetName) < 1 {
invalidParams.Add(request.NewErrParamMinLen("BudgetName", 1))
}
if s.Definition == nil {
invalidParams.Add(request.NewErrParamRequired("Definition"))
}
if s.ExecutionRoleArn == nil {
invalidParams.Add(request.NewErrParamRequired("ExecutionRoleArn"))
}
if s.ExecutionRoleArn != nil && len(*s.ExecutionRoleArn) < 32 {
invalidParams.Add(request.NewErrParamMinLen("ExecutionRoleArn", 32))
}
if s.NotificationType == nil {
invalidParams.Add(request.NewErrParamRequired("NotificationType"))
}
if s.Subscribers == nil {
invalidParams.Add(request.NewErrParamRequired("Subscribers"))
}
if s.Subscribers != nil && len(s.Subscribers) < 1 {
invalidParams.Add(request.NewErrParamMinLen("Subscribers", 1))
}
if s.ActionThreshold != nil {
if err := s.ActionThreshold.Validate(); err != nil {
invalidParams.AddNested("ActionThreshold", err.(request.ErrInvalidParams))
}
}
if s.Definition != nil {
if err := s.Definition.Validate(); err != nil {
invalidParams.AddNested("Definition", err.(request.ErrInvalidParams))
}
}
if s.ResourceTags != nil {
for i, v := range s.ResourceTags {
if v == nil {
continue
}
if err := v.Validate(); err != nil {
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceTags", i), err.(request.ErrInvalidParams))
}
}
}
if s.Subscribers != nil {
for i, v := range s.Subscribers {
if v == nil {
continue
}
if err := v.Validate(); err != nil {
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Subscribers", i), err.(request.ErrInvalidParams))
}
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}