in service/fis/api.go [2820:2880]
func (s *CreateExperimentTemplateInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "CreateExperimentTemplateInput"}
if s.Actions == nil {
invalidParams.Add(request.NewErrParamRequired("Actions"))
}
if s.ClientToken != nil && len(*s.ClientToken) < 1 {
invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
}
if s.Description == nil {
invalidParams.Add(request.NewErrParamRequired("Description"))
}
if s.RoleArn == nil {
invalidParams.Add(request.NewErrParamRequired("RoleArn"))
}
if s.RoleArn != nil && len(*s.RoleArn) < 20 {
invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20))
}
if s.StopConditions == nil {
invalidParams.Add(request.NewErrParamRequired("StopConditions"))
}
if s.Actions != nil {
for i, v := range s.Actions {
if v == nil {
continue
}
if err := v.Validate(); err != nil {
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Actions", i), err.(request.ErrInvalidParams))
}
}
}
if s.LogConfiguration != nil {
if err := s.LogConfiguration.Validate(); err != nil {
invalidParams.AddNested("LogConfiguration", err.(request.ErrInvalidParams))
}
}
if s.StopConditions != nil {
for i, v := range s.StopConditions {
if v == nil {
continue
}
if err := v.Validate(); err != nil {
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "StopConditions", i), err.(request.ErrInvalidParams))
}
}
}
if s.Targets != nil {
for i, v := range s.Targets {
if v == nil {
continue
}
if err := v.Validate(); err != nil {
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams))
}
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}