UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

1 lines 96.1 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnVirtualMFADevice=exports.CfnUserToGroupAddition=exports.CfnUserPolicy=exports.CfnUser=exports.CfnServiceLinkedRole=exports.CfnServerCertificate=exports.CfnSAMLProvider=exports.CfnRolePolicy=exports.CfnRole=exports.CfnPolicy=exports.CfnOIDCProvider=exports.CfnManagedPolicy=exports.CfnInstanceProfile=exports.CfnGroupPolicy=exports.CfnGroup=exports.CfnAccessKey=void 0;var jsiiDeprecationWarnings=()=>{var tmp=require("../../.warnings.jsii.js");return jsiiDeprecationWarnings=()=>tmp,tmp};const JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti");var cdk=()=>{var tmp=require("../../core/lib");return cdk=()=>tmp,tmp},cfn_parse=()=>{var tmp=require("../../core/lib/helpers-internal");return cfn_parse=()=>tmp,tmp},cdk_errors=()=>{var tmp=require("../../core/lib/errors");return cdk_errors=()=>tmp,tmp};class CfnAccessKey extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_iam.CfnAccessKey",version:"2.233.0"};static CFN_RESOURCE_TYPE_NAME="AWS::IAM::AccessKey";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnAccessKeyPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const 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}static isCfnAccessKey(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnAccessKey.CFN_RESOURCE_TYPE_NAME}attrId;attrSecretAccessKey;serial;status;userName;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.attrId=cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING)),this.attrSecretAccessKey=cdk().Token.asString(this.getAtt("SecretAccessKey",cdk().ResolutionTypeHint.STRING)),this.serial=props.serial,this.status=props.status,this.userName=props.userName}get accessKeyRef(){return{accessKeyId:this.ref}}get cfnProperties(){return{serial:this.serial,status:this.status,userName:this.userName}}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)}renderProperties(props){return convertCfnAccessKeyPropsToCloudFormation(props)}}exports.CfnAccessKey=CfnAccessKey;function CfnAccessKeyPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||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 convertCfnAccessKeyPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAccessKeyPropsValidator(properties).assertSuccess(),{Serial:cdk().numberToCloudFormation(properties.serial),Status:cdk().stringToCloudFormation(properties.status),UserName:cdk().stringToCloudFormation(properties.userName)}):properties}function CfnAccessKeyPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return 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.addPropertyResult("userName","UserName",properties.UserName!=null?cfn_parse().FromCloudFormation.getString(properties.UserName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnGroup extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_iam.CfnGroup",version:"2.233.0"};static CFN_RESOURCE_TYPE_NAME="AWS::IAM::Group";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnGroupPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const 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}static isCfnGroup(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnGroup.CFN_RESOURCE_TYPE_NAME}static arnForGroup(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_iam_IGroupRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForGroup),error}return resource.groupRef.groupArn}attrArn;groupName;managedPolicyArns;path;policies;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=cdk().mapArrayInPlace(props.managedPolicyArns,item=>item?.managedPolicyRef?.policyArn??cdk().ensureStringOrUndefined(item,"managedPolicyArns","iam.IManagedPolicyRef | string")),this.path=props.path,this.policies=props.policies}get groupRef(){return{groupName:this.ref,groupArn:this.attrArn}}get cfnProperties(){return{groupName:this.groupName,managedPolicyArns:this.managedPolicyArns,path:this.path,policies:this.policies}}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)}renderProperties(props){return convertCfnGroupPropsToCloudFormation(props)}}exports.CfnGroup=CfnGroup;function CfnGroupPolicyPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||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 convertCfnGroupPolicyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGroupPolicyPropertyValidator(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??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("policyDocument","PolicyDocument",properties.PolicyDocument!=null?cfn_parse().FromCloudFormation.getAny(properties.PolicyDocument):void 0),ret.addPropertyResult("policyName","PolicyName",properties.PolicyName!=null?cfn_parse().FromCloudFormation.getString(properties.PolicyName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGroupPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||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(CfnGroupPolicyPropertyValidator))(properties.policies)),errors.wrap('supplied properties not correct for "CfnGroupProps"')}function convertCfnGroupPropsToCloudFormation(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(convertCfnGroupPolicyPropertyToCloudFormation)(properties.policies)}):properties}function CfnGroupPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))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.getArray(cfn_parse().FromCloudFormation.getString)(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 CfnGroupPolicy extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_iam.CfnGroupPolicy",version:"2.233.0"};static CFN_RESOURCE_TYPE_NAME="AWS::IAM::GroupPolicy";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnGroupPolicyPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnGroupPolicy(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}static isCfnGroupPolicy(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnGroupPolicy.CFN_RESOURCE_TYPE_NAME}groupName;policyDocument;policyName;constructor(scope,id,props){super(scope,id,{type:CfnGroupPolicy.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_iam_CfnGroupPolicyProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnGroupPolicy),error}cdk().requireProperty(props,"groupName",this),cdk().requireProperty(props,"policyName",this),this.groupName=props.groupName,this.policyDocument=props.policyDocument,this.policyName=props.policyName}get groupPolicyRef(){return{policyName:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),groupName:cdk().Fn.select(1,cdk().Fn.split("|",this.ref))}}get cfnProperties(){return{groupName:this.groupName,policyDocument:this.policyDocument,policyName:this.policyName}}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",CfnGroupPolicy.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnGroupPolicyPropsToCloudFormation(props)}}exports.CfnGroupPolicy=CfnGroupPolicy;function CfnGroupPolicyPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("groupName",cdk().requiredValidator)(properties.groupName)),errors.collect(cdk().propertyValidator("groupName",cdk().validateString)(properties.groupName)),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 "CfnGroupPolicyProps"')}function convertCfnGroupPolicyPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGroupPolicyPropsValidator(properties).assertSuccess(),{GroupName:cdk().stringToCloudFormation(properties.groupName),PolicyDocument:cdk().objectToCloudFormation(properties.policyDocument),PolicyName:cdk().stringToCloudFormation(properties.policyName)}):properties}function CfnGroupPolicyPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))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("policyDocument","PolicyDocument",properties.PolicyDocument!=null?cfn_parse().FromCloudFormation.getAny(properties.PolicyDocument):void 0),ret.addPropertyResult("policyName","PolicyName",properties.PolicyName!=null?cfn_parse().FromCloudFormation.getString(properties.PolicyName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnInstanceProfile extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_iam.CfnInstanceProfile",version:"2.233.0"};static CFN_RESOURCE_TYPE_NAME="AWS::IAM::InstanceProfile";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnInstanceProfilePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const 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}static isCfnInstanceProfile(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnInstanceProfile.CFN_RESOURCE_TYPE_NAME}static arnForInstanceProfile(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_iam_IInstanceProfileRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForInstanceProfile),error}return resource.instanceProfileRef.instanceProfileArn}attrArn;instanceProfileName;path;roles;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.instanceProfileName=props.instanceProfileName,this.path=props.path,this.roles=cdk().mapArrayInPlace(props.roles,item=>item?.roleRef?.roleName??cdk().ensureStringOrUndefined(item,"roles","iam.IRoleRef | string"))}get instanceProfileRef(){return{instanceProfileName:this.ref,instanceProfileArn:this.attrArn}}get cfnProperties(){return{instanceProfileName:this.instanceProfileName,path:this.path,roles:this.roles}}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)}renderProperties(props){return convertCfnInstanceProfilePropsToCloudFormation(props)}}exports.CfnInstanceProfile=CfnInstanceProfile;function CfnInstanceProfilePropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||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 convertCfnInstanceProfilePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnInstanceProfilePropsValidator(properties).assertSuccess(),{InstanceProfileName:cdk().stringToCloudFormation(properties.instanceProfileName),Path:cdk().stringToCloudFormation(properties.path),Roles:cdk().listMapper(cdk().stringToCloudFormation)(properties.roles)}):properties}function CfnInstanceProfilePropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return 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.addPropertyResult("roles","Roles",properties.Roles!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Roles):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnManagedPolicy extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_iam.CfnManagedPolicy",version:"2.233.0"};static CFN_RESOURCE_TYPE_NAME="AWS::IAM::ManagedPolicy";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnManagedPolicyPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const 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}static isCfnManagedPolicy(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnManagedPolicy.CFN_RESOURCE_TYPE_NAME}attrAttachmentCount;attrCreateDate;attrDefaultVersionId;attrIsAttachable;attrPermissionsBoundaryUsageCount;attrPolicyArn;attrPolicyId;attrUpdateDate;description;groups;managedPolicyName;path;policyDocument;roles;users;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.attrAttachmentCount=cdk().Token.asNumber(this.getAtt("AttachmentCount",cdk().ResolutionTypeHint.NUMBER)),this.attrCreateDate=cdk().Token.asString(this.getAtt("CreateDate",cdk().ResolutionTypeHint.STRING)),this.attrDefaultVersionId=cdk().Token.asString(this.getAtt("DefaultVersionId",cdk().ResolutionTypeHint.STRING)),this.attrIsAttachable=this.getAtt("IsAttachable"),this.attrPermissionsBoundaryUsageCount=cdk().Token.asNumber(this.getAtt("PermissionsBoundaryUsageCount",cdk().ResolutionTypeHint.NUMBER)),this.attrPolicyArn=cdk().Token.asString(this.getAtt("PolicyArn",cdk().ResolutionTypeHint.STRING)),this.attrPolicyId=cdk().Token.asString(this.getAtt("PolicyId",cdk().ResolutionTypeHint.STRING)),this.attrUpdateDate=cdk().Token.asString(this.getAtt("UpdateDate",cdk().ResolutionTypeHint.STRING)),this.description=props.description,this.groups=cdk().mapArrayInPlace(props.groups,item=>item?.groupRef?.groupName??cdk().ensureStringOrUndefined(item,"groups","iam.IGroupRef | string")),this.managedPolicyName=props.managedPolicyName,this.path=props.path,this.policyDocument=props.policyDocument,this.roles=cdk().mapArrayInPlace(props.roles,item=>item?.roleRef?.roleName??cdk().ensureStringOrUndefined(item,"roles","iam.IRoleRef | string")),this.users=cdk().mapArrayInPlace(props.users,item=>item?.userRef?.userName??cdk().ensureStringOrUndefined(item,"users","iam.IUserRef | string"))}get managedPolicyRef(){return{policyArn:this.ref}}get cfnProperties(){return{description:this.description,groups:this.groups,managedPolicyName:this.managedPolicyName,path:this.path,policyDocument:this.policyDocument,roles:this.roles,users:this.users}}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)}renderProperties(props){return convertCfnManagedPolicyPropsToCloudFormation(props)}}exports.CfnManagedPolicy=CfnManagedPolicy;function CfnManagedPolicyPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||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 convertCfnManagedPolicyPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnManagedPolicyPropsValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),Groups:cdk().listMapper(cdk().stringToCloudFormation)(properties.groups),ManagedPolicyName:cdk().stringToCloudFormation(properties.managedPolicyName),Path:cdk().stringToCloudFormation(properties.path),PolicyDocument:cdk().objectToCloudFormation(properties.policyDocument),Roles:cdk().listMapper(cdk().stringToCloudFormation)(properties.roles),Users:cdk().listMapper(cdk().stringToCloudFormation)(properties.users)}):properties}function CfnManagedPolicyPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return 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.getArray(cfn_parse().FromCloudFormation.getString)(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("policyDocument","PolicyDocument",properties.PolicyDocument!=null?cfn_parse().FromCloudFormation.getAny(properties.PolicyDocument):void 0),ret.addPropertyResult("roles","Roles",properties.Roles!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Roles):void 0),ret.addPropertyResult("users","Users",properties.Users!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Users):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnOIDCProvider extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_iam.CfnOIDCProvider",version:"2.233.0"};static CFN_RESOURCE_TYPE_NAME="AWS::IAM::OIDCProvider";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnOIDCProviderPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const 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}static isCfnOIDCProvider(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnOIDCProvider.CFN_RESOURCE_TYPE_NAME}static arnForOIDCProvider(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_iam_IOIDCProviderRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForOIDCProvider),error}return resource.oidcProviderRef.oidcProviderArn}attrArn;clientIdList;tags;tagsRaw;thumbprintList;url;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}this.attrArn=cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING)),this.clientIdList=props.clientIdList,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::IAM::OIDCProvider",props.tags,{tagPropertyName:"tags"}),this.tagsRaw=props.tags,this.thumbprintList=props.thumbprintList,this.url=props.url}get oidcProviderRef(){return{oidcProviderArn:this.ref}}get cfnProperties(){return{clientIdList:this.clientIdList,tags:this.tags.renderTags(),thumbprintList:this.thumbprintList,url:this.url}}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)}renderProperties(props){return convertCfnOIDCProviderPropsToCloudFormation(props)}}exports.CfnOIDCProvider=CfnOIDCProvider;function CfnOIDCProviderPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||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().listValidator(cdk().validateString))(properties.thumbprintList)),errors.collect(cdk().propertyValidator("url",cdk().validateString)(properties.url)),errors.wrap('supplied properties not correct for "CfnOIDCProviderProps"')}function convertCfnOIDCProviderPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnOIDCProviderPropsValidator(properties).assertSuccess(),{ClientIdList:cdk().listMapper(cdk().stringToCloudFormation)(properties.clientIdList),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),ThumbprintList:cdk().listMapper(cdk().stringToCloudFormation)(properties.thumbprintList),Url:cdk().stringToCloudFormation(properties.url)}):properties}function CfnOIDCProviderPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("clientIdList","ClientIdList",properties.ClientIdList!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(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("thumbprintList","ThumbprintList",properties.ThumbprintList!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.ThumbprintList):void 0),ret.addPropertyResult("url","Url",properties.Url!=null?cfn_parse().FromCloudFormation.getString(properties.Url):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnPolicy extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_iam.CfnPolicy",version:"2.233.0"};static CFN_RESOURCE_TYPE_NAME="AWS::IAM::Policy";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnPolicyPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const 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}static isCfnPolicy(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnPolicy.CFN_RESOURCE_TYPE_NAME}attrId;groups;policyDocument;policyName;roles;users;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.attrId=cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING)),this.groups=props.groups,this.policyDocument=props.policyDocument,this.policyName=props.policyName,this.roles=props.roles,this.users=props.users}get policyRef(){return{policyId:this.ref}}get cfnProperties(){return{groups:this.groups,policyDocument:this.policyDocument,policyName:this.policyName,roles:this.roles,users:this.users}}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)}renderProperties(props){return convertCfnPolicyPropsToCloudFormation(props)}}exports.CfnPolicy=CfnPolicy;function CfnPolicyPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||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 convertCfnPolicyPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPolicyPropsValidator(properties).assertSuccess(),{Groups:cdk().listMapper(cdk().stringToCloudFormation)(properties.groups),PolicyDocument:cdk().objectToCloudFormation(properties.policyDocument),PolicyName:cdk().stringToCloudFormation(properties.policyName),Roles:cdk().listMapper(cdk().stringToCloudFormation)(properties.roles),Users:cdk().listMapper(cdk().stringToCloudFormation)(properties.users)}):properties}function CfnPolicyPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("groups","Groups",properties.Groups!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Groups):void 0),ret.addPropertyResult("policyDocument","PolicyDocument",properties.PolicyDocument!=null?cfn_parse().FromCloudFormation.getAny(properties.PolicyDocument):void 0),ret.addPropertyResult("policyName","PolicyName",properties.PolicyName!=null?cfn_parse().FromCloudFormation.getString(properties.PolicyName):void 0),ret.addPropertyResult("roles","Roles",properties.Roles!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Roles):void 0),ret.addPropertyResult("users","Users",properties.Users!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Users):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnRole extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_iam.CfnRole",version:"2.233.0"};static CFN_RESOURCE_TYPE_NAME="AWS::IAM::Role";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnRolePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const 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}static isCfnRole(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnRole.CFN_RESOURCE_TYPE_NAME}static arnForRole(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_iam_IRoleRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForRole),error}return resource.roleRef.roleArn}attrArn;attrRoleId;assumeRolePolicyDocument;description;managedPolicyArns;maxSessionDuration;path;permissionsBoundary;policies;roleName;tags;tagsRaw;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=cdk().mapArrayInPlace(props.managedPolicyArns,item=>item?.managedPolicyRef?.policyArn??cdk().ensureStringOrUndefined(item,"managedPolicyArns","iam.IManagedPolicyRef | string")),this.maxSessionDuration=props.maxSessionDuration,this.path=props.path,this.permissionsBoundary=props.permissionsBoundary?.managedPolicyRef?.policyArn??cdk().ensureStringOrUndefined(props.permissionsBoundary,"permissionsBoundary","iam.IManagedPolicyRef | string"),this.policies=props.policies,this.roleName=props.roleName,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::IAM::Role",props.tags,{tagPropertyName:"tags"}),this.tagsRaw=props.tags}get roleRef(){return{roleName:this.ref,roleArn:this.attrArn}}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()}}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)}renderProperties(props){return convertCfnRolePropsToCloudFormation(props)}}exports.CfnRole=CfnRole;function CfnRolePolicyPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||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 convertCfnRolePolicyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRolePolicyPropertyValidator(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??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("policyDocument","PolicyDocument",properties.PolicyDocument!=null?cfn_parse().FromCloudFormation.getAny(properties.PolicyDocument):void 0),ret.addPropertyResult("policyName","PolicyName",properties.PolicyName!=null?cfn_parse().FromCloudFormation.getString(properties.PolicyName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnRolePropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||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(CfnRolePolicyPropertyValidator))(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 convertCfnRolePropsToCloudFormation(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(convertCfnRolePolicyPropertyToCloudFormation)(properties.policies),RoleName:cdk().stringToCloudFormation(properties.roleName),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnRolePropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("assumeRolePolicyDocument","AssumeRolePolicyDocument",properties.AssumeRolePolicyDocument!=null?cfn_parse().FromCloudFormation.getAny(properties.AssumeRolePolicyDocument):void 0),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.getArray(cfn_parse().FromCloudFormation.getString)(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 CfnRolePolicy extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_iam.CfnRolePolicy",version:"2.233.0"};static CFN_RESOURCE_TYPE_NAME="AWS::IAM::RolePolicy";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnRolePolicyPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnRolePolicy(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}static isCfnRolePolicy(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnRolePolicy.CFN_RESOURCE_TYPE_NAME}policyDocument;policyName;roleName;constructor(scope,id,props){super(scope,id,{type:CfnRolePolicy.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_iam_CfnRolePolicyProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnRolePolicy),error}cdk().requireProperty(props,"policyName",this),cdk().requireProperty(props,"roleName",this),this.policyDocument=props.policyDocument,this.policyName=props.policyName,this.roleName=props.roleName}get rolePolicyRef(){return{policyName:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),roleName:cdk().Fn.select(1,cdk().Fn.split("|",this.ref))}}get cfnProperties(){re