aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
1 lines • 64.1 kB
JavaScript
"use strict";var _a,_b,_c,_d,_e,_f,_g,_h,_j,_k,_l,_m,_o;Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnVirtualMFADevice=exports.CfnUserToGroupAddition=exports.CfnUser=exports.CfnServiceLinkedRole=exports.CfnServerCertificate=exports.CfnSAMLProvider=exports.CfnRole=exports.CfnPolicy=exports.CfnOIDCProvider=exports.CfnManagedPolicy=exports.CfnInstanceProfile=exports.CfnGroup=exports.CfnAccessKey=void 0;const jsiiDeprecationWarnings=require("../../.warnings.jsii.js"),JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti"),cdk=require("../../core"),cfn_parse=require("../../core/lib/helpers-internal");function CfnAccessKeyPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("serial",cdk.validateNumber)(properties.serial)),errors.collect(cdk.propertyValidator("status",cdk.validateString)(properties.status)),errors.collect(cdk.propertyValidator("userName",cdk.requiredValidator)(properties.userName)),errors.collect(cdk.propertyValidator("userName",cdk.validateString)(properties.userName)),errors.wrap('supplied properties not correct for "CfnAccessKeyProps"')}function cfnAccessKeyPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAccessKeyPropsValidator(properties).assertSuccess(),{UserName:cdk.stringToCloudFormation(properties.userName),Serial:cdk.numberToCloudFormation(properties.serial),Status:cdk.stringToCloudFormation(properties.status)}):properties}function CfnAccessKeyPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("userName","UserName",cfn_parse.FromCloudFormation.getString(properties.UserName)),ret.addPropertyResult("serial","Serial",properties.Serial!=null?cfn_parse.FromCloudFormation.getNumber(properties.Serial):void 0),ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse.FromCloudFormation.getString(properties.Status):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnAccessKey extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnAccessKey.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iam_CfnAccessKeyProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnAccessKey),error}cdk.requireProperty(props,"userName",this),this.attrSecretAccessKey=cdk.Token.asString(this.getAtt("SecretAccessKey",cdk.ResolutionTypeHint.STRING)),this.userName=props.userName,this.serial=props.serial,this.status=props.status}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnAccessKeyPropsFromCloudFormation(resourceProperties),ret=new CfnAccessKey(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}inspect(inspector){try{jsiiDeprecationWarnings.aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnAccessKey.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{userName:this.userName,serial:this.serial,status:this.status}}renderProperties(props){return cfnAccessKeyPropsToCloudFormation(props)}}exports.CfnAccessKey=CfnAccessKey,_a=JSII_RTTI_SYMBOL_1,CfnAccessKey[_a]={fqn:"aws-cdk-lib.aws_iam.CfnAccessKey",version:"2.70.0"},CfnAccessKey.CFN_RESOURCE_TYPE_NAME="AWS::IAM::AccessKey";function CfnGroupPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("groupName",cdk.validateString)(properties.groupName)),errors.collect(cdk.propertyValidator("managedPolicyArns",cdk.listValidator(cdk.validateString))(properties.managedPolicyArns)),errors.collect(cdk.propertyValidator("path",cdk.validateString)(properties.path)),errors.collect(cdk.propertyValidator("policies",cdk.listValidator(CfnGroup_PolicyPropertyValidator))(properties.policies)),errors.wrap('supplied properties not correct for "CfnGroupProps"')}function cfnGroupPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnGroupPropsValidator(properties).assertSuccess(),{GroupName:cdk.stringToCloudFormation(properties.groupName),ManagedPolicyArns:cdk.listMapper(cdk.stringToCloudFormation)(properties.managedPolicyArns),Path:cdk.stringToCloudFormation(properties.path),Policies:cdk.listMapper(cfnGroupPolicyPropertyToCloudFormation)(properties.policies)}):properties}function CfnGroupPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("groupName","GroupName",properties.GroupName!=null?cfn_parse.FromCloudFormation.getString(properties.GroupName):void 0),ret.addPropertyResult("managedPolicyArns","ManagedPolicyArns",properties.ManagedPolicyArns!=null?cfn_parse.FromCloudFormation.getStringArray(properties.ManagedPolicyArns):void 0),ret.addPropertyResult("path","Path",properties.Path!=null?cfn_parse.FromCloudFormation.getString(properties.Path):void 0),ret.addPropertyResult("policies","Policies",properties.Policies!=null?cfn_parse.FromCloudFormation.getArray(CfnGroupPolicyPropertyFromCloudFormation)(properties.Policies):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnGroup extends cdk.CfnResource{constructor(scope,id,props={}){super(scope,id,{type:CfnGroup.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iam_CfnGroupProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnGroup),error}this.attrArn=cdk.Token.asString(this.getAtt("Arn",cdk.ResolutionTypeHint.STRING)),this.groupName=props.groupName,this.managedPolicyArns=props.managedPolicyArns,this.path=props.path,this.policies=props.policies}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnGroupPropsFromCloudFormation(resourceProperties),ret=new CfnGroup(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}inspect(inspector){try{jsiiDeprecationWarnings.aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnGroup.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{groupName:this.groupName,managedPolicyArns:this.managedPolicyArns,path:this.path,policies:this.policies}}renderProperties(props){return cfnGroupPropsToCloudFormation(props)}}exports.CfnGroup=CfnGroup,_b=JSII_RTTI_SYMBOL_1,CfnGroup[_b]={fqn:"aws-cdk-lib.aws_iam.CfnGroup",version:"2.70.0"},CfnGroup.CFN_RESOURCE_TYPE_NAME="AWS::IAM::Group";function CfnGroup_PolicyPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("policyDocument",cdk.requiredValidator)(properties.policyDocument)),errors.collect(cdk.propertyValidator("policyDocument",cdk.validateObject)(properties.policyDocument)),errors.collect(cdk.propertyValidator("policyName",cdk.requiredValidator)(properties.policyName)),errors.collect(cdk.propertyValidator("policyName",cdk.validateString)(properties.policyName)),errors.wrap('supplied properties not correct for "PolicyProperty"')}function cfnGroupPolicyPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnGroup_PolicyPropertyValidator(properties).assertSuccess(),{PolicyDocument:cdk.objectToCloudFormation(properties.policyDocument),PolicyName:cdk.stringToCloudFormation(properties.policyName)}):properties}function CfnGroupPolicyPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("policyDocument","PolicyDocument",cfn_parse.FromCloudFormation.getAny(properties.PolicyDocument)),ret.addPropertyResult("policyName","PolicyName",cfn_parse.FromCloudFormation.getString(properties.PolicyName)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnInstanceProfilePropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("instanceProfileName",cdk.validateString)(properties.instanceProfileName)),errors.collect(cdk.propertyValidator("path",cdk.validateString)(properties.path)),errors.collect(cdk.propertyValidator("roles",cdk.requiredValidator)(properties.roles)),errors.collect(cdk.propertyValidator("roles",cdk.listValidator(cdk.validateString))(properties.roles)),errors.wrap('supplied properties not correct for "CfnInstanceProfileProps"')}function cfnInstanceProfilePropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnInstanceProfilePropsValidator(properties).assertSuccess(),{Roles:cdk.listMapper(cdk.stringToCloudFormation)(properties.roles),InstanceProfileName:cdk.stringToCloudFormation(properties.instanceProfileName),Path:cdk.stringToCloudFormation(properties.path)}):properties}function CfnInstanceProfilePropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("roles","Roles",cfn_parse.FromCloudFormation.getStringArray(properties.Roles)),ret.addPropertyResult("instanceProfileName","InstanceProfileName",properties.InstanceProfileName!=null?cfn_parse.FromCloudFormation.getString(properties.InstanceProfileName):void 0),ret.addPropertyResult("path","Path",properties.Path!=null?cfn_parse.FromCloudFormation.getString(properties.Path):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnInstanceProfile extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnInstanceProfile.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iam_CfnInstanceProfileProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnInstanceProfile),error}cdk.requireProperty(props,"roles",this),this.attrArn=cdk.Token.asString(this.getAtt("Arn",cdk.ResolutionTypeHint.STRING)),this.roles=props.roles,this.instanceProfileName=props.instanceProfileName,this.path=props.path}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnInstanceProfilePropsFromCloudFormation(resourceProperties),ret=new CfnInstanceProfile(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}inspect(inspector){try{jsiiDeprecationWarnings.aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnInstanceProfile.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{roles:this.roles,instanceProfileName:this.instanceProfileName,path:this.path}}renderProperties(props){return cfnInstanceProfilePropsToCloudFormation(props)}}exports.CfnInstanceProfile=CfnInstanceProfile,_c=JSII_RTTI_SYMBOL_1,CfnInstanceProfile[_c]={fqn:"aws-cdk-lib.aws_iam.CfnInstanceProfile",version:"2.70.0"},CfnInstanceProfile.CFN_RESOURCE_TYPE_NAME="AWS::IAM::InstanceProfile";function CfnManagedPolicyPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("description",cdk.validateString)(properties.description)),errors.collect(cdk.propertyValidator("groups",cdk.listValidator(cdk.validateString))(properties.groups)),errors.collect(cdk.propertyValidator("managedPolicyName",cdk.validateString)(properties.managedPolicyName)),errors.collect(cdk.propertyValidator("path",cdk.validateString)(properties.path)),errors.collect(cdk.propertyValidator("policyDocument",cdk.requiredValidator)(properties.policyDocument)),errors.collect(cdk.propertyValidator("policyDocument",cdk.validateObject)(properties.policyDocument)),errors.collect(cdk.propertyValidator("roles",cdk.listValidator(cdk.validateString))(properties.roles)),errors.collect(cdk.propertyValidator("users",cdk.listValidator(cdk.validateString))(properties.users)),errors.wrap('supplied properties not correct for "CfnManagedPolicyProps"')}function cfnManagedPolicyPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnManagedPolicyPropsValidator(properties).assertSuccess(),{PolicyDocument:cdk.objectToCloudFormation(properties.policyDocument),Description:cdk.stringToCloudFormation(properties.description),Groups:cdk.listMapper(cdk.stringToCloudFormation)(properties.groups),ManagedPolicyName:cdk.stringToCloudFormation(properties.managedPolicyName),Path:cdk.stringToCloudFormation(properties.path),Roles:cdk.listMapper(cdk.stringToCloudFormation)(properties.roles),Users:cdk.listMapper(cdk.stringToCloudFormation)(properties.users)}):properties}function CfnManagedPolicyPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("policyDocument","PolicyDocument",cfn_parse.FromCloudFormation.getAny(properties.PolicyDocument)),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse.FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("groups","Groups",properties.Groups!=null?cfn_parse.FromCloudFormation.getStringArray(properties.Groups):void 0),ret.addPropertyResult("managedPolicyName","ManagedPolicyName",properties.ManagedPolicyName!=null?cfn_parse.FromCloudFormation.getString(properties.ManagedPolicyName):void 0),ret.addPropertyResult("path","Path",properties.Path!=null?cfn_parse.FromCloudFormation.getString(properties.Path):void 0),ret.addPropertyResult("roles","Roles",properties.Roles!=null?cfn_parse.FromCloudFormation.getStringArray(properties.Roles):void 0),ret.addPropertyResult("users","Users",properties.Users!=null?cfn_parse.FromCloudFormation.getStringArray(properties.Users):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnManagedPolicy extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnManagedPolicy.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iam_CfnManagedPolicyProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnManagedPolicy),error}cdk.requireProperty(props,"policyDocument",this),this.policyDocument=props.policyDocument,this.description=props.description,this.groups=props.groups,this.managedPolicyName=props.managedPolicyName,this.path=props.path,this.roles=props.roles,this.users=props.users}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnManagedPolicyPropsFromCloudFormation(resourceProperties),ret=new CfnManagedPolicy(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}inspect(inspector){try{jsiiDeprecationWarnings.aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnManagedPolicy.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{policyDocument:this.policyDocument,description:this.description,groups:this.groups,managedPolicyName:this.managedPolicyName,path:this.path,roles:this.roles,users:this.users}}renderProperties(props){return cfnManagedPolicyPropsToCloudFormation(props)}}exports.CfnManagedPolicy=CfnManagedPolicy,_d=JSII_RTTI_SYMBOL_1,CfnManagedPolicy[_d]={fqn:"aws-cdk-lib.aws_iam.CfnManagedPolicy",version:"2.70.0"},CfnManagedPolicy.CFN_RESOURCE_TYPE_NAME="AWS::IAM::ManagedPolicy";function CfnOIDCProviderPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("clientIdList",cdk.listValidator(cdk.validateString))(properties.clientIdList)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.collect(cdk.propertyValidator("thumbprintList",cdk.requiredValidator)(properties.thumbprintList)),errors.collect(cdk.propertyValidator("thumbprintList",cdk.listValidator(cdk.validateString))(properties.thumbprintList)),errors.collect(cdk.propertyValidator("url",cdk.validateString)(properties.url)),errors.wrap('supplied properties not correct for "CfnOIDCProviderProps"')}function cfnOIDCProviderPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnOIDCProviderPropsValidator(properties).assertSuccess(),{ThumbprintList:cdk.listMapper(cdk.stringToCloudFormation)(properties.thumbprintList),ClientIdList:cdk.listMapper(cdk.stringToCloudFormation)(properties.clientIdList),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags),Url:cdk.stringToCloudFormation(properties.url)}):properties}function CfnOIDCProviderPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("thumbprintList","ThumbprintList",cfn_parse.FromCloudFormation.getStringArray(properties.ThumbprintList)),ret.addPropertyResult("clientIdList","ClientIdList",properties.ClientIdList!=null?cfn_parse.FromCloudFormation.getStringArray(properties.ClientIdList):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse.FromCloudFormation.getArray(cfn_parse.FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("url","Url",properties.Url!=null?cfn_parse.FromCloudFormation.getString(properties.Url):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnOIDCProvider extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnOIDCProvider.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iam_CfnOIDCProviderProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnOIDCProvider),error}cdk.requireProperty(props,"thumbprintList",this),this.attrArn=cdk.Token.asString(this.getAtt("Arn",cdk.ResolutionTypeHint.STRING)),this.thumbprintList=props.thumbprintList,this.clientIdList=props.clientIdList,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::IAM::OIDCProvider",props.tags,{tagPropertyName:"tags"}),this.url=props.url}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnOIDCProviderPropsFromCloudFormation(resourceProperties),ret=new CfnOIDCProvider(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}inspect(inspector){try{jsiiDeprecationWarnings.aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnOIDCProvider.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{thumbprintList:this.thumbprintList,clientIdList:this.clientIdList,tags:this.tags.renderTags(),url:this.url}}renderProperties(props){return cfnOIDCProviderPropsToCloudFormation(props)}}exports.CfnOIDCProvider=CfnOIDCProvider,_e=JSII_RTTI_SYMBOL_1,CfnOIDCProvider[_e]={fqn:"aws-cdk-lib.aws_iam.CfnOIDCProvider",version:"2.70.0"},CfnOIDCProvider.CFN_RESOURCE_TYPE_NAME="AWS::IAM::OIDCProvider";function CfnPolicyPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("groups",cdk.listValidator(cdk.validateString))(properties.groups)),errors.collect(cdk.propertyValidator("policyDocument",cdk.requiredValidator)(properties.policyDocument)),errors.collect(cdk.propertyValidator("policyDocument",cdk.validateObject)(properties.policyDocument)),errors.collect(cdk.propertyValidator("policyName",cdk.requiredValidator)(properties.policyName)),errors.collect(cdk.propertyValidator("policyName",cdk.validateString)(properties.policyName)),errors.collect(cdk.propertyValidator("roles",cdk.listValidator(cdk.validateString))(properties.roles)),errors.collect(cdk.propertyValidator("users",cdk.listValidator(cdk.validateString))(properties.users)),errors.wrap('supplied properties not correct for "CfnPolicyProps"')}function cfnPolicyPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnPolicyPropsValidator(properties).assertSuccess(),{PolicyDocument:cdk.objectToCloudFormation(properties.policyDocument),PolicyName:cdk.stringToCloudFormation(properties.policyName),Groups:cdk.listMapper(cdk.stringToCloudFormation)(properties.groups),Roles:cdk.listMapper(cdk.stringToCloudFormation)(properties.roles),Users:cdk.listMapper(cdk.stringToCloudFormation)(properties.users)}):properties}function CfnPolicyPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("policyDocument","PolicyDocument",cfn_parse.FromCloudFormation.getAny(properties.PolicyDocument)),ret.addPropertyResult("policyName","PolicyName",cfn_parse.FromCloudFormation.getString(properties.PolicyName)),ret.addPropertyResult("groups","Groups",properties.Groups!=null?cfn_parse.FromCloudFormation.getStringArray(properties.Groups):void 0),ret.addPropertyResult("roles","Roles",properties.Roles!=null?cfn_parse.FromCloudFormation.getStringArray(properties.Roles):void 0),ret.addPropertyResult("users","Users",properties.Users!=null?cfn_parse.FromCloudFormation.getStringArray(properties.Users):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnPolicy extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnPolicy.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iam_CfnPolicyProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnPolicy),error}cdk.requireProperty(props,"policyDocument",this),cdk.requireProperty(props,"policyName",this),this.policyDocument=props.policyDocument,this.policyName=props.policyName,this.groups=props.groups,this.roles=props.roles,this.users=props.users}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnPolicyPropsFromCloudFormation(resourceProperties),ret=new CfnPolicy(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}inspect(inspector){try{jsiiDeprecationWarnings.aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnPolicy.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{policyDocument:this.policyDocument,policyName:this.policyName,groups:this.groups,roles:this.roles,users:this.users}}renderProperties(props){return cfnPolicyPropsToCloudFormation(props)}}exports.CfnPolicy=CfnPolicy,_f=JSII_RTTI_SYMBOL_1,CfnPolicy[_f]={fqn:"aws-cdk-lib.aws_iam.CfnPolicy",version:"2.70.0"},CfnPolicy.CFN_RESOURCE_TYPE_NAME="AWS::IAM::Policy";function CfnRolePropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("assumeRolePolicyDocument",cdk.requiredValidator)(properties.assumeRolePolicyDocument)),errors.collect(cdk.propertyValidator("assumeRolePolicyDocument",cdk.validateObject)(properties.assumeRolePolicyDocument)),errors.collect(cdk.propertyValidator("description",cdk.validateString)(properties.description)),errors.collect(cdk.propertyValidator("managedPolicyArns",cdk.listValidator(cdk.validateString))(properties.managedPolicyArns)),errors.collect(cdk.propertyValidator("maxSessionDuration",cdk.validateNumber)(properties.maxSessionDuration)),errors.collect(cdk.propertyValidator("path",cdk.validateString)(properties.path)),errors.collect(cdk.propertyValidator("permissionsBoundary",cdk.validateString)(properties.permissionsBoundary)),errors.collect(cdk.propertyValidator("policies",cdk.listValidator(CfnRole_PolicyPropertyValidator))(properties.policies)),errors.collect(cdk.propertyValidator("roleName",cdk.validateString)(properties.roleName)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnRoleProps"')}function cfnRolePropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnRolePropsValidator(properties).assertSuccess(),{AssumeRolePolicyDocument:cdk.objectToCloudFormation(properties.assumeRolePolicyDocument),Description:cdk.stringToCloudFormation(properties.description),ManagedPolicyArns:cdk.listMapper(cdk.stringToCloudFormation)(properties.managedPolicyArns),MaxSessionDuration:cdk.numberToCloudFormation(properties.maxSessionDuration),Path:cdk.stringToCloudFormation(properties.path),PermissionsBoundary:cdk.stringToCloudFormation(properties.permissionsBoundary),Policies:cdk.listMapper(cfnRolePolicyPropertyToCloudFormation)(properties.policies),RoleName:cdk.stringToCloudFormation(properties.roleName),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags)}):properties}function CfnRolePropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("assumeRolePolicyDocument","AssumeRolePolicyDocument",cfn_parse.FromCloudFormation.getAny(properties.AssumeRolePolicyDocument)),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse.FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("managedPolicyArns","ManagedPolicyArns",properties.ManagedPolicyArns!=null?cfn_parse.FromCloudFormation.getStringArray(properties.ManagedPolicyArns):void 0),ret.addPropertyResult("maxSessionDuration","MaxSessionDuration",properties.MaxSessionDuration!=null?cfn_parse.FromCloudFormation.getNumber(properties.MaxSessionDuration):void 0),ret.addPropertyResult("path","Path",properties.Path!=null?cfn_parse.FromCloudFormation.getString(properties.Path):void 0),ret.addPropertyResult("permissionsBoundary","PermissionsBoundary",properties.PermissionsBoundary!=null?cfn_parse.FromCloudFormation.getString(properties.PermissionsBoundary):void 0),ret.addPropertyResult("policies","Policies",properties.Policies!=null?cfn_parse.FromCloudFormation.getArray(CfnRolePolicyPropertyFromCloudFormation)(properties.Policies):void 0),ret.addPropertyResult("roleName","RoleName",properties.RoleName!=null?cfn_parse.FromCloudFormation.getString(properties.RoleName):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse.FromCloudFormation.getArray(cfn_parse.FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnRole extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnRole.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iam_CfnRoleProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnRole),error}cdk.requireProperty(props,"assumeRolePolicyDocument",this),this.attrArn=cdk.Token.asString(this.getAtt("Arn",cdk.ResolutionTypeHint.STRING)),this.attrRoleId=cdk.Token.asString(this.getAtt("RoleId",cdk.ResolutionTypeHint.STRING)),this.assumeRolePolicyDocument=props.assumeRolePolicyDocument,this.description=props.description,this.managedPolicyArns=props.managedPolicyArns,this.maxSessionDuration=props.maxSessionDuration,this.path=props.path,this.permissionsBoundary=props.permissionsBoundary,this.policies=props.policies,this.roleName=props.roleName,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::IAM::Role",props.tags,{tagPropertyName:"tags"})}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnRolePropsFromCloudFormation(resourceProperties),ret=new CfnRole(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}inspect(inspector){try{jsiiDeprecationWarnings.aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnRole.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{assumeRolePolicyDocument:this.assumeRolePolicyDocument,description:this.description,managedPolicyArns:this.managedPolicyArns,maxSessionDuration:this.maxSessionDuration,path:this.path,permissionsBoundary:this.permissionsBoundary,policies:this.policies,roleName:this.roleName,tags:this.tags.renderTags()}}renderProperties(props){return cfnRolePropsToCloudFormation(props)}}exports.CfnRole=CfnRole,_g=JSII_RTTI_SYMBOL_1,CfnRole[_g]={fqn:"aws-cdk-lib.aws_iam.CfnRole",version:"2.70.0"},CfnRole.CFN_RESOURCE_TYPE_NAME="AWS::IAM::Role";function CfnRole_PolicyPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("policyDocument",cdk.requiredValidator)(properties.policyDocument)),errors.collect(cdk.propertyValidator("policyDocument",cdk.validateObject)(properties.policyDocument)),errors.collect(cdk.propertyValidator("policyName",cdk.requiredValidator)(properties.policyName)),errors.collect(cdk.propertyValidator("policyName",cdk.validateString)(properties.policyName)),errors.wrap('supplied properties not correct for "PolicyProperty"')}function cfnRolePolicyPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnRole_PolicyPropertyValidator(properties).assertSuccess(),{PolicyDocument:cdk.objectToCloudFormation(properties.policyDocument),PolicyName:cdk.stringToCloudFormation(properties.policyName)}):properties}function CfnRolePolicyPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("policyDocument","PolicyDocument",cfn_parse.FromCloudFormation.getAny(properties.PolicyDocument)),ret.addPropertyResult("policyName","PolicyName",cfn_parse.FromCloudFormation.getString(properties.PolicyName)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnSAMLProviderPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("name",cdk.validateString)(properties.name)),errors.collect(cdk.propertyValidator("samlMetadataDocument",cdk.requiredValidator)(properties.samlMetadataDocument)),errors.collect(cdk.propertyValidator("samlMetadataDocument",cdk.validateString)(properties.samlMetadataDocument)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnSAMLProviderProps"')}function cfnSAMLProviderPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnSAMLProviderPropsValidator(properties).assertSuccess(),{SamlMetadataDocument:cdk.stringToCloudFormation(properties.samlMetadataDocument),Name:cdk.stringToCloudFormation(properties.name),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags)}):properties}function CfnSAMLProviderPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("samlMetadataDocument","SamlMetadataDocument",cfn_parse.FromCloudFormation.getString(properties.SamlMetadataDocument)),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse.FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse.FromCloudFormation.getArray(cfn_parse.FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnSAMLProvider extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnSAMLProvider.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iam_CfnSAMLProviderProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnSAMLProvider),error}cdk.requireProperty(props,"samlMetadataDocument",this),this.attrArn=cdk.Token.asString(this.getAtt("Arn",cdk.ResolutionTypeHint.STRING)),this.samlMetadataDocument=props.samlMetadataDocument,this.name=props.name,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::IAM::SAMLProvider",props.tags,{tagPropertyName:"tags"})}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnSAMLProviderPropsFromCloudFormation(resourceProperties),ret=new CfnSAMLProvider(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}inspect(inspector){try{jsiiDeprecationWarnings.aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnSAMLProvider.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{samlMetadataDocument:this.samlMetadataDocument,name:this.name,tags:this.tags.renderTags()}}renderProperties(props){return cfnSAMLProviderPropsToCloudFormation(props)}}exports.CfnSAMLProvider=CfnSAMLProvider,_h=JSII_RTTI_SYMBOL_1,CfnSAMLProvider[_h]={fqn:"aws-cdk-lib.aws_iam.CfnSAMLProvider",version:"2.70.0"},CfnSAMLProvider.CFN_RESOURCE_TYPE_NAME="AWS::IAM::SAMLProvider";function CfnServerCertificatePropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("certificateBody",cdk.validateString)(properties.certificateBody)),errors.collect(cdk.propertyValidator("certificateChain",cdk.validateString)(properties.certificateChain)),errors.collect(cdk.propertyValidator("path",cdk.validateString)(properties.path)),errors.collect(cdk.propertyValidator("privateKey",cdk.validateString)(properties.privateKey)),errors.collect(cdk.propertyValidator("serverCertificateName",cdk.validateString)(properties.serverCertificateName)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnServerCertificateProps"')}function cfnServerCertificatePropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnServerCertificatePropsValidator(properties).assertSuccess(),{CertificateBody:cdk.stringToCloudFormation(properties.certificateBody),CertificateChain:cdk.stringToCloudFormation(properties.certificateChain),Path:cdk.stringToCloudFormation(properties.path),PrivateKey:cdk.stringToCloudFormation(properties.privateKey),ServerCertificateName:cdk.stringToCloudFormation(properties.serverCertificateName),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags)}):properties}function CfnServerCertificatePropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("certificateBody","CertificateBody",properties.CertificateBody!=null?cfn_parse.FromCloudFormation.getString(properties.CertificateBody):void 0),ret.addPropertyResult("certificateChain","CertificateChain",properties.CertificateChain!=null?cfn_parse.FromCloudFormation.getString(properties.CertificateChain):void 0),ret.addPropertyResult("path","Path",properties.Path!=null?cfn_parse.FromCloudFormation.getString(properties.Path):void 0),ret.addPropertyResult("privateKey","PrivateKey",properties.PrivateKey!=null?cfn_parse.FromCloudFormation.getString(properties.PrivateKey):void 0),ret.addPropertyResult("serverCertificateName","ServerCertificateName",properties.ServerCertificateName!=null?cfn_parse.FromCloudFormation.getString(properties.ServerCertificateName):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse.FromCloudFormation.getArray(cfn_parse.FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnServerCertificate extends cdk.CfnResource{constructor(scope,id,props={}){super(scope,id,{type:CfnServerCertificate.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iam_CfnServerCertificateProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnServerCertificate),error}this.attrArn=cdk.Token.asString(this.getAtt("Arn",cdk.ResolutionTypeHint.STRING)),this.certificateBody=props.certificateBody,this.certificateChain=props.certificateChain,this.path=props.path,this.privateKey=props.privateKey,this.serverCertificateName=props.serverCertificateName,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::IAM::ServerCertificate",props.tags,{tagPropertyName:"tags"})}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnServerCertificatePropsFromCloudFormation(resourceProperties),ret=new CfnServerCertificate(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}inspect(inspector){try{jsiiDeprecationWarnings.aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnServerCertificate.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{certificateBody:this.certificateBody,certificateChain:this.certificateChain,path:this.path,privateKey:this.privateKey,serverCertificateName:this.serverCertificateName,tags:this.tags.renderTags()}}renderProperties(props){return cfnServerCertificatePropsToCloudFormation(props)}}exports.CfnServerCertificate=CfnServerCertificate,_j=JSII_RTTI_SYMBOL_1,CfnServerCertificate[_j]={fqn:"aws-cdk-lib.aws_iam.CfnServerCertificate",version:"2.70.0"},CfnServerCertificate.CFN_RESOURCE_TYPE_NAME="AWS::IAM::ServerCertificate";function CfnServiceLinkedRolePropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("awsServiceName",cdk.requiredValidator)(properties.awsServiceName)),errors.collect(cdk.propertyValidator("awsServiceName",cdk.validateString)(properties.awsServiceName)),errors.collect(cdk.propertyValidator("customSuffix",cdk.validateString)(properties.customSuffix)),errors.collect(cdk.propertyValidator("description",cdk.validateString)(properties.description)),errors.wrap('supplied properties not correct for "CfnServiceLinkedRoleProps"')}function cfnServiceLinkedRolePropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnServiceLinkedRolePropsValidator(properties).assertSuccess(),{AWSServiceName:cdk.stringToCloudFormation(properties.awsServiceName),CustomSuffix:cdk.stringToCloudFormation(properties.customSuffix),Description:cdk.stringToCloudFormation(properties.description)}):properties}function CfnServiceLinkedRolePropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("awsServiceName","AWSServiceName",cfn_parse.FromCloudFormation.getString(properties.AWSServiceName)),ret.addPropertyResult("customSuffix","CustomSuffix",properties.CustomSuffix!=null?cfn_parse.FromCloudFormation.getString(properties.CustomSuffix):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse.FromCloudFormation.getString(properties.Description):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnServiceLinkedRole extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnServiceLinkedRole.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iam_CfnServiceLinkedRoleProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnServiceLinkedRole),error}cdk.requireProperty(props,"awsServiceName",this),this.awsServiceName=props.awsServiceName,this.customSuffix=props.customSuffix,this.description=props.description}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnServiceLinkedRolePropsFromCloudFormation(resourceProperties),ret=new CfnServiceLinkedRole(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}inspect(inspector){try{jsiiDeprecationWarnings.aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnServiceLinkedRole.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{awsServiceName:this.awsServiceName,customSuffix:this.customSuffix,description:this.description}}renderProperties(props){return cfnServiceLinkedRolePropsToCloudFormation(props)}}exports.CfnServiceLinkedRole=CfnServiceLinkedRole,_k=JSII_RTTI_SYMBOL_1,CfnServiceLinkedRole[_k]={fqn:"aws-cdk-lib.aws_iam.CfnServiceLinkedRole",version:"2.70.0"},CfnServiceLinkedRole.CFN_RESOURCE_TYPE_NAME="AWS::IAM::ServiceLinkedRole";function CfnUserPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("groups",cdk.listValidator(cdk.validateString))(properties.groups)),errors.collect(cdk.propertyValidator("loginProfile",CfnUser_LoginProfilePropertyValidator)(properties.loginProfile)),errors.collect(cdk.propertyValidator("managedPolicyArns",cdk.listValidator(cdk.validateString))(properties.managedPolicyArns)),errors.collect(cdk.propertyValidator("path",cdk.validateString)(properties.path)),errors.collect(cdk.propertyValidator("permissionsBoundary",cdk.validateString)(properties.permissionsBoundary)),errors.collect(cdk.propertyValidator("policies",cdk.listValidator(CfnUser_PolicyPropertyValidator))(properties.policies)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.collect(cdk.propertyValidator("userName",cdk.validateString)(properties.userName)),errors.wrap('supplied properties not correct for "CfnUserProps"')}function cfnUserPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnUserPropsValidator(properties).assertSuccess(),{Groups:cdk.listMapper(cdk.stringToCloudFormation)(properties.groups),LoginProfile:cfnUserLoginProfilePropertyToCloudFormation(properties.loginProfile),ManagedPolicyArns:cdk.listMapper(cdk.stringToCloudFormation)(properties.managedPolicyArns),Path:cdk.stringToCloudFormation(properties.path),PermissionsBoundary:cdk.stringToCloudFormation(properties.permissionsBoundary),Policies:cdk.listMapper(cfnUserPolicyPropertyToCloudFormation)(properties.policies),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags),UserName:cdk.stringToCloudFormation(properties.userName)}):properties}function CfnUserPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("groups","Groups",properties.Groups!=null?cfn_parse.FromCloudFormation.getStringArray(properties.Groups):void 0),ret.addPropertyResult("loginProfile","LoginProfile",properties.LoginProfile!=null?CfnUserLoginProfilePropertyFromCloudFormation(prope