in awscdk/awsautoscalingplans/CfnScalingPlan__checks.go [209:270]
func (j *jsiiProxy_CfnScalingPlan) validateSetScalingInstructionsParameters(val interface{}) error {
if val == nil {
return fmt.Errorf("parameter val is required, but nil was provided")
}
switch val.(type) {
case awscdk.IResolvable:
// ok
case *[]interface{}:
val := val.(*[]interface{})
for idx_97dfc6, v := range *val {
switch v.(type) {
case awscdk.IResolvable:
// ok
case *CfnScalingPlan_ScalingInstructionProperty:
v := v.(*CfnScalingPlan_ScalingInstructionProperty)
if err := _jsii_.ValidateStruct(v, func() string { return fmt.Sprintf("parameter val[%#v]", idx_97dfc6) }); err != nil {
return err
}
case CfnScalingPlan_ScalingInstructionProperty:
v_ := v.(CfnScalingPlan_ScalingInstructionProperty)
v := &v_
if err := _jsii_.ValidateStruct(v, func() string { return fmt.Sprintf("parameter val[%#v]", idx_97dfc6) }); err != nil {
return err
}
default:
if !_jsii_.IsAnonymousProxy(v) {
return fmt.Errorf("parameter val[%#v] must be one of the allowed types: awscdk.IResolvable, *CfnScalingPlan_ScalingInstructionProperty; received %#v (a %T)", idx_97dfc6, v, v)
}
}
}
case []interface{}:
val_ := val.([]interface{})
val := &val_
for idx_97dfc6, v := range *val {
switch v.(type) {
case awscdk.IResolvable:
// ok
case *CfnScalingPlan_ScalingInstructionProperty:
v := v.(*CfnScalingPlan_ScalingInstructionProperty)
if err := _jsii_.ValidateStruct(v, func() string { return fmt.Sprintf("parameter val[%#v]", idx_97dfc6) }); err != nil {
return err
}
case CfnScalingPlan_ScalingInstructionProperty:
v_ := v.(CfnScalingPlan_ScalingInstructionProperty)
v := &v_
if err := _jsii_.ValidateStruct(v, func() string { return fmt.Sprintf("parameter val[%#v]", idx_97dfc6) }); err != nil {
return err
}
default:
if !_jsii_.IsAnonymousProxy(v) {
return fmt.Errorf("parameter val[%#v] must be one of the allowed types: awscdk.IResolvable, *CfnScalingPlan_ScalingInstructionProperty; received %#v (a %T)", idx_97dfc6, v, v)
}
}
}
default:
if !_jsii_.IsAnonymousProxy(val) {
return fmt.Errorf("parameter val must be one of the allowed types: awscdk.IResolvable, *[]interface{}; received %#v (a %T)", val, val)
}
}
return nil
}