aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
1 lines • 108 kB
JavaScript
"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.251.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(cfn_parse().lit`UnexpectedIResolvable`,"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}_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._serial=props.serial,this._status=props.status,this._userName=props.userName}get accessKeyRef(){return{accessKeyId:this.ref}}get serial(){return this._serial}set serial(value){cdk().traceProperty(this.node,"Serial"),this._serial=value}get status(){return this._status}set status(value){cdk().traceProperty(this.node,"Status"),this._status=value}get userName(){return this._userName}set userName(value){cdk().traceProperty(this.node,"UserName"),this._userName=value}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get attrSecretAccessKey(){return cdk().Token.asString(this.getAtt("SecretAccessKey",cdk().ResolutionTypeHint.STRING))}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:logicalId",this._synthesizeLogicalId()),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.251.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(cfn_parse().lit`UnexpectedIResolvable`,"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}_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._groupName=props.groupName,this._managedPolicyArns=cdk().mapArrayInPlace(props.managedPolicyArns,item=>cdk().getRefProperty(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 groupName(){return this._groupName}set groupName(value){cdk().traceProperty(this.node,"GroupName"),this._groupName=value}get managedPolicyArns(){return this._managedPolicyArns}set managedPolicyArns(value){cdk().traceProperty(this.node,"ManagedPolicyArns"),this._managedPolicyArns=value}get path(){return this._path}set path(value){cdk().traceProperty(this.node,"Path"),this._path=value}get policies(){return this._policies}set policies(value){cdk().traceProperty(this.node,"Policies"),this._policies=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}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:logicalId",this._synthesizeLogicalId()),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.251.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(cfn_parse().lit`UnexpectedIResolvable`,"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 groupName(){return this._groupName}set groupName(value){cdk().traceProperty(this.node,"GroupName"),this._groupName=value}get policyDocument(){return this._policyDocument}set policyDocument(value){cdk().traceProperty(this.node,"PolicyDocument"),this._policyDocument=value}get policyName(){return this._policyName}set policyName(value){cdk().traceProperty(this.node,"PolicyName"),this._policyName=value}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:logicalId",this._synthesizeLogicalId()),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.251.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(cfn_parse().lit`UnexpectedIResolvable`,"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}_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._instanceProfileName=props.instanceProfileName,this._path=props.path,this._roles=cdk().mapArrayInPlace(props.roles,item=>cdk().getRefProperty(item?.roleRef,"roleName")??cdk().ensureStringOrUndefined(item,"roles","iam.IRoleRef | string"))}get instanceProfileRef(){return{instanceProfileName:this.ref,instanceProfileArn:this.attrArn}}get instanceProfileName(){return this._instanceProfileName}set instanceProfileName(value){cdk().traceProperty(this.node,"InstanceProfileName"),this._instanceProfileName=value}get path(){return this._path}set path(value){cdk().traceProperty(this.node,"Path"),this._path=value}get roles(){return this._roles}set roles(value){cdk().traceProperty(this.node,"Roles"),this._roles=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}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:logicalId",this._synthesizeLogicalId()),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.251.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(cfn_parse().lit`UnexpectedIResolvable`,"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}_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._description=props.description,this._groups=cdk().mapArrayInPlace(props.groups,item=>cdk().getRefProperty(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=>cdk().getRefProperty(item?.roleRef,"roleName")??cdk().ensureStringOrUndefined(item,"roles","iam.IRoleRef | string")),this._users=cdk().mapArrayInPlace(props.users,item=>cdk().getRefProperty(item?.userRef,"userName")??cdk().ensureStringOrUndefined(item,"users","iam.IUserRef | string"))}get managedPolicyRef(){return{policyArn:this.ref}}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get groups(){return this._groups}set groups(value){cdk().traceProperty(this.node,"Groups"),this._groups=value}get managedPolicyName(){return this._managedPolicyName}set managedPolicyName(value){cdk().traceProperty(this.node,"ManagedPolicyName"),this._managedPolicyName=value}get path(){return this._path}set path(value){cdk().traceProperty(this.node,"Path"),this._path=value}get policyDocument(){return this._policyDocument}set policyDocument(value){cdk().traceProperty(this.node,"PolicyDocument"),this._policyDocument=value}get roles(){return this._roles}set roles(value){cdk().traceProperty(this.node,"Roles"),this._roles=value}get users(){return this._users}set users(value){cdk().traceProperty(this.node,"Users"),this._users=value}get attrAttachmentCount(){return cdk().Token.asNumber(this.getAtt("AttachmentCount",cdk().ResolutionTypeHint.NUMBER))}get attrCreateDate(){return cdk().Token.asString(this.getAtt("CreateDate",cdk().ResolutionTypeHint.STRING))}get attrDefaultVersionId(){return cdk().Token.asString(this.getAtt("DefaultVersionId",cdk().ResolutionTypeHint.STRING))}get attrIsAttachable(){return this.getAtt("IsAttachable")}get attrPermissionsBoundaryUsageCount(){return cdk().Token.asNumber(this.getAtt("PermissionsBoundaryUsageCount",cdk().ResolutionTypeHint.NUMBER))}get attrPolicyArn(){return cdk().Token.asString(this.getAtt("PolicyArn",cdk().ResolutionTypeHint.STRING))}get attrPolicyId(){return cdk().Token.asString(this.getAtt("PolicyId",cdk().ResolutionTypeHint.STRING))}get attrUpdateDate(){return cdk().Token.asString(this.getAtt("UpdateDate",cdk().ResolutionTypeHint.STRING))}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:logicalId",this._synthesizeLogicalId()),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.251.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(cfn_parse().lit`UnexpectedIResolvable`,"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}_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._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 clientIdList(){return this._clientIdList}set clientIdList(value){cdk().traceProperty(this.node,"ClientIdList"),this._clientIdList=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get thumbprintList(){return this._thumbprintList}set thumbprintList(value){cdk().traceProperty(this.node,"ThumbprintList"),this._thumbprintList=value}get url(){return this._url}set url(value){cdk().traceProperty(this.node,"Url"),this._url=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}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:logicalId",this._synthesizeLogicalId()),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.251.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(cfn_parse().lit`UnexpectedIResolvable`,"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}_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._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 groups(){return this._groups}set groups(value){cdk().traceProperty(this.node,"Groups"),this._groups=value}get policyDocument(){return this._policyDocument}set policyDocument(value){cdk().traceProperty(this.node,"PolicyDocument"),this._policyDocument=value}get policyName(){return this._policyName}set policyName(value){cdk().traceProperty(this.node,"PolicyName"),this._policyName=value}get roles(){return this._roles}set roles(value){cdk().traceProperty(this.node,"Roles"),this._roles=value}get users(){return this._users}set users(value){cdk().traceProperty(this.node,"Users"),this._users=value}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}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:logicalId",this._synthesizeLogicalId()),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.251.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(cfn_parse().lit`UnexpectedIResolvable`,"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}_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._assumeRolePolicyDocument=props.assumeRolePolicyDocument,this._description=props.description,this._managedPolicyArns=cdk().mapArrayInPlace(props.managedPolicyArns,item=>cdk().getRefProperty(item?.managedPolicyRef,"policyArn")??cdk().ensureStringOrUndefined(item,"managedPolicyArns","iam.IManagedPolicyRef | string")),this._maxSessionDuration=props.maxSessionDuration,this._path=props.path,this._permissionsBoundary=cdk().getRefProperty(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 assumeRolePolicyDocument(){return this._assumeRolePolicyDocument}set assumeRolePolicyDocument(value){cdk().traceProperty(this.node,"AssumeRolePolicyDocument"),this._assumeRolePolicyDocument=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get managedPolicyArns(){return this._managedPolicyArns}set managedPolicyArns(value){cdk().traceProperty(this.node,"ManagedPolicyArns"),this._managedPolicyArns=value}get maxSessionDuration(){return this._maxSessionDuration}set maxSessionDuration(value){cdk().traceProperty(this.node,"MaxSessionDuration"),this._maxSessionDuration=value}get path(){return this._path}set path(value){cdk().traceProperty(this.node,"Path"),this._path=value}get permissionsBoundary(){return this._permissionsBoundary}set permissionsBoundary(value){cdk().traceProperty(this.node,"PermissionsBoundary"),this._permissionsBoundary=value}get policies(){return this._policies}set policies(value){cdk().traceProperty(this.node,"Policies"),this._policies=value}get roleName(){return this._roleName}set roleName(value){cdk().traceProperty(this.node,"RoleName"),this._roleName=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrRoleId(){return cdk().Token.asString(this.getAtt("RoleId",cdk().ResolutionTypeHint.STRING))}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:logicalId",this._synthesizeLogicalId()),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