func()

in awscdk/awssam/CfnStateMachine__checks.go [311:414]


func (j *jsiiProxy_CfnStateMachine) validateSetPoliciesParameters(val interface{}) error {
	switch val.(type) {
	case *string:
		// ok
	case string:
		// ok
	case awscdk.IResolvable:
		// ok
	case *CfnStateMachine_IAMPolicyDocumentProperty:
		val := val.(*CfnStateMachine_IAMPolicyDocumentProperty)
		if err := _jsii_.ValidateStruct(val, func() string { return "parameter val" }); err != nil {
			return err
		}
	case CfnStateMachine_IAMPolicyDocumentProperty:
		val_ := val.(CfnStateMachine_IAMPolicyDocumentProperty)
		val := &val_
		if err := _jsii_.ValidateStruct(val, func() string { return "parameter val" }); err != nil {
			return err
		}
	case *[]interface{}:
		val := val.(*[]interface{})
		for idx_97dfc6, v := range *val {
			switch v.(type) {
			case *string:
				// ok
			case string:
				// ok
			case awscdk.IResolvable:
				// ok
			case *CfnStateMachine_IAMPolicyDocumentProperty:
				v := v.(*CfnStateMachine_IAMPolicyDocumentProperty)
				if err := _jsii_.ValidateStruct(v, func() string { return fmt.Sprintf("parameter val[%#v]", idx_97dfc6) }); err != nil {
					return err
				}
			case CfnStateMachine_IAMPolicyDocumentProperty:
				v_ := v.(CfnStateMachine_IAMPolicyDocumentProperty)
				v := &v_
				if err := _jsii_.ValidateStruct(v, func() string { return fmt.Sprintf("parameter val[%#v]", idx_97dfc6) }); err != nil {
					return err
				}
			case *CfnStateMachine_SAMPolicyTemplateProperty:
				v := v.(*CfnStateMachine_SAMPolicyTemplateProperty)
				if err := _jsii_.ValidateStruct(v, func() string { return fmt.Sprintf("parameter val[%#v]", idx_97dfc6) }); err != nil {
					return err
				}
			case CfnStateMachine_SAMPolicyTemplateProperty:
				v_ := v.(CfnStateMachine_SAMPolicyTemplateProperty)
				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: *string, awscdk.IResolvable, *CfnStateMachine_IAMPolicyDocumentProperty, *CfnStateMachine_SAMPolicyTemplateProperty; 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 *string:
				// ok
			case string:
				// ok
			case awscdk.IResolvable:
				// ok
			case *CfnStateMachine_IAMPolicyDocumentProperty:
				v := v.(*CfnStateMachine_IAMPolicyDocumentProperty)
				if err := _jsii_.ValidateStruct(v, func() string { return fmt.Sprintf("parameter val[%#v]", idx_97dfc6) }); err != nil {
					return err
				}
			case CfnStateMachine_IAMPolicyDocumentProperty:
				v_ := v.(CfnStateMachine_IAMPolicyDocumentProperty)
				v := &v_
				if err := _jsii_.ValidateStruct(v, func() string { return fmt.Sprintf("parameter val[%#v]", idx_97dfc6) }); err != nil {
					return err
				}
			case *CfnStateMachine_SAMPolicyTemplateProperty:
				v := v.(*CfnStateMachine_SAMPolicyTemplateProperty)
				if err := _jsii_.ValidateStruct(v, func() string { return fmt.Sprintf("parameter val[%#v]", idx_97dfc6) }); err != nil {
					return err
				}
			case CfnStateMachine_SAMPolicyTemplateProperty:
				v_ := v.(CfnStateMachine_SAMPolicyTemplateProperty)
				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: *string, awscdk.IResolvable, *CfnStateMachine_IAMPolicyDocumentProperty, *CfnStateMachine_SAMPolicyTemplateProperty; 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: *string, awscdk.IResolvable, *CfnStateMachine_IAMPolicyDocumentProperty, *[]interface{}; received %#v (a %T)", val, val)
		}
	}

	return nil
}