UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

1 lines 89.3 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnSigningConfiguration=exports.CfnRepositoryCreationTemplate=exports.CfnRegistryScanningConfiguration=exports.CfnPullTimeUpdateExclusion=exports.CfnRepository=exports.CfnReplicationConfiguration=exports.CfnRegistryPolicy=exports.CfnPullThroughCacheRule=exports.CfnPublicRepository=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 CfnPublicRepository extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_ecr.CfnPublicRepository",version:"2.251.0"};static CFN_RESOURCE_TYPE_NAME="AWS::ECR::PublicRepository";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnPublicRepositoryPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnPublicRepository(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 isCfnPublicRepository(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnPublicRepository.CFN_RESOURCE_TYPE_NAME}static fromPublicRepositoryArn(scope,id,arn){class Import extends cdk().Resource{publicRepositoryRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:ecr-public::${Account}:repository/${RepositoryName}").parse(arn2);this.publicRepositoryRef={repositoryName:variables.RepositoryName,publicRepositoryArn:arn2}}}return new Import(scope,id,arn)}static fromRepositoryName(scope,id,repositoryName){class Import extends cdk().Resource{publicRepositoryRef;constructor(scope2,id2,repositoryName2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:ecr-public::${Account}:repository/${RepositoryName}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,RepositoryName:repositoryName2});super(scope2,id2,{environmentFromArn:arn}),this.publicRepositoryRef={repositoryName:repositoryName2,publicRepositoryArn:arn}}}return new Import(scope,id,repositoryName)}static arnForPublicRepository(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_ecr_IPublicRepositoryRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForPublicRepository),error}return resource.publicRepositoryRef.publicRepositoryArn}_repositoryCatalogData;_repositoryName;_repositoryPolicyText;tags;_tagsRaw;constructor(scope,id,props={}){super(scope,id,{type:CfnPublicRepository.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_ecr_CfnPublicRepositoryProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnPublicRepository),error}this._repositoryCatalogData=props.repositoryCatalogData,this._repositoryName=props.repositoryName,this._repositoryPolicyText=props.repositoryPolicyText,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::ECR::PublicRepository",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get publicRepositoryRef(){return{repositoryName:this.ref,publicRepositoryArn:this.attrArn}}get repositoryCatalogData(){return this._repositoryCatalogData}set repositoryCatalogData(value){cdk().traceProperty(this.node,"RepositoryCatalogData"),this._repositoryCatalogData=value}get repositoryName(){return this._repositoryName}set repositoryName(value){cdk().traceProperty(this.node,"RepositoryName"),this._repositoryName=value}get repositoryPolicyText(){return this._repositoryPolicyText}set repositoryPolicyText(value){cdk().traceProperty(this.node,"RepositoryPolicyText"),this._repositoryPolicyText=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 cfnProperties(){return{repositoryCatalogData:this._repositoryCatalogData,repositoryName:this._repositoryName,repositoryPolicyText:this._repositoryPolicyText,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",CfnPublicRepository.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnPublicRepositoryPropsToCloudFormation(props)}}exports.CfnPublicRepository=CfnPublicRepository;function CfnPublicRepositoryRepositoryCatalogDataPropertyValidator(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("aboutText",cdk().validateString)(properties.aboutText)),errors.collect(cdk().propertyValidator("architectures",cdk().listValidator(cdk().validateString))(properties.architectures)),errors.collect(cdk().propertyValidator("operatingSystems",cdk().listValidator(cdk().validateString))(properties.operatingSystems)),errors.collect(cdk().propertyValidator("repositoryDescription",cdk().validateString)(properties.repositoryDescription)),errors.collect(cdk().propertyValidator("usageText",cdk().validateString)(properties.usageText)),errors.wrap('supplied properties not correct for "RepositoryCatalogDataProperty"')}function convertCfnPublicRepositoryRepositoryCatalogDataPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPublicRepositoryRepositoryCatalogDataPropertyValidator(properties).assertSuccess(),{AboutText:cdk().stringToCloudFormation(properties.aboutText),Architectures:cdk().listMapper(cdk().stringToCloudFormation)(properties.architectures),OperatingSystems:cdk().listMapper(cdk().stringToCloudFormation)(properties.operatingSystems),RepositoryDescription:cdk().stringToCloudFormation(properties.repositoryDescription),UsageText:cdk().stringToCloudFormation(properties.usageText)}):properties}function CfnPublicRepositoryRepositoryCatalogDataPropertyFromCloudFormation(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("aboutText","AboutText",properties.AboutText!=null?cfn_parse().FromCloudFormation.getString(properties.AboutText):void 0),ret.addPropertyResult("architectures","Architectures",properties.Architectures!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Architectures):void 0),ret.addPropertyResult("operatingSystems","OperatingSystems",properties.OperatingSystems!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.OperatingSystems):void 0),ret.addPropertyResult("repositoryDescription","RepositoryDescription",properties.RepositoryDescription!=null?cfn_parse().FromCloudFormation.getString(properties.RepositoryDescription):void 0),ret.addPropertyResult("usageText","UsageText",properties.UsageText!=null?cfn_parse().FromCloudFormation.getString(properties.UsageText):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPublicRepositoryPropsValidator(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("repositoryCatalogData",cdk().validateObject)(properties.repositoryCatalogData)),errors.collect(cdk().propertyValidator("repositoryName",cdk().validateString)(properties.repositoryName)),errors.collect(cdk().propertyValidator("repositoryPolicyText",cdk().validateObject)(properties.repositoryPolicyText)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnPublicRepositoryProps"')}function convertCfnPublicRepositoryPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPublicRepositoryPropsValidator(properties).assertSuccess(),{RepositoryCatalogData:cdk().objectToCloudFormation(properties.repositoryCatalogData),RepositoryName:cdk().stringToCloudFormation(properties.repositoryName),RepositoryPolicyText:cdk().objectToCloudFormation(properties.repositoryPolicyText),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnPublicRepositoryPropsFromCloudFormation(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("repositoryCatalogData","RepositoryCatalogData",properties.RepositoryCatalogData!=null?cfn_parse().FromCloudFormation.getAny(properties.RepositoryCatalogData):void 0),ret.addPropertyResult("repositoryName","RepositoryName",properties.RepositoryName!=null?cfn_parse().FromCloudFormation.getString(properties.RepositoryName):void 0),ret.addPropertyResult("repositoryPolicyText","RepositoryPolicyText",properties.RepositoryPolicyText!=null?cfn_parse().FromCloudFormation.getAny(properties.RepositoryPolicyText):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 CfnPullThroughCacheRule extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_ecr.CfnPullThroughCacheRule",version:"2.251.0"};static CFN_RESOURCE_TYPE_NAME="AWS::ECR::PullThroughCacheRule";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnPullThroughCacheRulePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnPullThroughCacheRule(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 isCfnPullThroughCacheRule(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnPullThroughCacheRule.CFN_RESOURCE_TYPE_NAME}_credentialArn;_customRoleArn;_ecrRepositoryPrefix;_upstreamRegistry;_upstreamRegistryUrl;_upstreamRepositoryPrefix;constructor(scope,id,props={}){super(scope,id,{type:CfnPullThroughCacheRule.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_ecr_CfnPullThroughCacheRuleProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnPullThroughCacheRule),error}this._credentialArn=props.credentialArn,this._customRoleArn=props.customRoleArn,this._ecrRepositoryPrefix=props.ecrRepositoryPrefix,this._upstreamRegistry=props.upstreamRegistry,this._upstreamRegistryUrl=props.upstreamRegistryUrl,this._upstreamRepositoryPrefix=props.upstreamRepositoryPrefix}get pullThroughCacheRuleRef(){return{ecrRepositoryPrefix:this.ref}}get credentialArn(){return this._credentialArn}set credentialArn(value){cdk().traceProperty(this.node,"CredentialArn"),this._credentialArn=value}get customRoleArn(){return this._customRoleArn}set customRoleArn(value){cdk().traceProperty(this.node,"CustomRoleArn"),this._customRoleArn=value}get ecrRepositoryPrefix(){return this._ecrRepositoryPrefix}set ecrRepositoryPrefix(value){cdk().traceProperty(this.node,"EcrRepositoryPrefix"),this._ecrRepositoryPrefix=value}get upstreamRegistry(){return this._upstreamRegistry}set upstreamRegistry(value){cdk().traceProperty(this.node,"UpstreamRegistry"),this._upstreamRegistry=value}get upstreamRegistryUrl(){return this._upstreamRegistryUrl}set upstreamRegistryUrl(value){cdk().traceProperty(this.node,"UpstreamRegistryUrl"),this._upstreamRegistryUrl=value}get upstreamRepositoryPrefix(){return this._upstreamRepositoryPrefix}set upstreamRepositoryPrefix(value){cdk().traceProperty(this.node,"UpstreamRepositoryPrefix"),this._upstreamRepositoryPrefix=value}get cfnProperties(){return{credentialArn:this._credentialArn,customRoleArn:this._customRoleArn,ecrRepositoryPrefix:this._ecrRepositoryPrefix,upstreamRegistry:this._upstreamRegistry,upstreamRegistryUrl:this._upstreamRegistryUrl,upstreamRepositoryPrefix:this._upstreamRepositoryPrefix}}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",CfnPullThroughCacheRule.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnPullThroughCacheRulePropsToCloudFormation(props)}}exports.CfnPullThroughCacheRule=CfnPullThroughCacheRule;function CfnPullThroughCacheRulePropsValidator(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("credentialArn",cdk().validateString)(properties.credentialArn)),errors.collect(cdk().propertyValidator("customRoleArn",cdk().validateString)(properties.customRoleArn)),errors.collect(cdk().propertyValidator("ecrRepositoryPrefix",cdk().validateString)(properties.ecrRepositoryPrefix)),errors.collect(cdk().propertyValidator("upstreamRegistry",cdk().validateString)(properties.upstreamRegistry)),errors.collect(cdk().propertyValidator("upstreamRegistryUrl",cdk().validateString)(properties.upstreamRegistryUrl)),errors.collect(cdk().propertyValidator("upstreamRepositoryPrefix",cdk().validateString)(properties.upstreamRepositoryPrefix)),errors.wrap('supplied properties not correct for "CfnPullThroughCacheRuleProps"')}function convertCfnPullThroughCacheRulePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPullThroughCacheRulePropsValidator(properties).assertSuccess(),{CredentialArn:cdk().stringToCloudFormation(properties.credentialArn),CustomRoleArn:cdk().stringToCloudFormation(properties.customRoleArn),EcrRepositoryPrefix:cdk().stringToCloudFormation(properties.ecrRepositoryPrefix),UpstreamRegistry:cdk().stringToCloudFormation(properties.upstreamRegistry),UpstreamRegistryUrl:cdk().stringToCloudFormation(properties.upstreamRegistryUrl),UpstreamRepositoryPrefix:cdk().stringToCloudFormation(properties.upstreamRepositoryPrefix)}):properties}function CfnPullThroughCacheRulePropsFromCloudFormation(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("credentialArn","CredentialArn",properties.CredentialArn!=null?cfn_parse().FromCloudFormation.getString(properties.CredentialArn):void 0),ret.addPropertyResult("customRoleArn","CustomRoleArn",properties.CustomRoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.CustomRoleArn):void 0),ret.addPropertyResult("ecrRepositoryPrefix","EcrRepositoryPrefix",properties.EcrRepositoryPrefix!=null?cfn_parse().FromCloudFormation.getString(properties.EcrRepositoryPrefix):void 0),ret.addPropertyResult("upstreamRegistry","UpstreamRegistry",properties.UpstreamRegistry!=null?cfn_parse().FromCloudFormation.getString(properties.UpstreamRegistry):void 0),ret.addPropertyResult("upstreamRegistryUrl","UpstreamRegistryUrl",properties.UpstreamRegistryUrl!=null?cfn_parse().FromCloudFormation.getString(properties.UpstreamRegistryUrl):void 0),ret.addPropertyResult("upstreamRepositoryPrefix","UpstreamRepositoryPrefix",properties.UpstreamRepositoryPrefix!=null?cfn_parse().FromCloudFormation.getString(properties.UpstreamRepositoryPrefix):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnRegistryPolicy extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_ecr.CfnRegistryPolicy",version:"2.251.0"};static CFN_RESOURCE_TYPE_NAME="AWS::ECR::RegistryPolicy";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnRegistryPolicyPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnRegistryPolicy(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 isCfnRegistryPolicy(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnRegistryPolicy.CFN_RESOURCE_TYPE_NAME}_policyText;constructor(scope,id,props){super(scope,id,{type:CfnRegistryPolicy.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_ecr_CfnRegistryPolicyProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnRegistryPolicy),error}cdk().requireProperty(props,"policyText",this),this._policyText=props.policyText}get registryPolicyRef(){return{registryId:this.ref}}get policyText(){return this._policyText}set policyText(value){cdk().traceProperty(this.node,"PolicyText"),this._policyText=value}get attrRegistryId(){return cdk().Token.asString(this.getAtt("RegistryId",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{policyText:this._policyText}}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",CfnRegistryPolicy.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnRegistryPolicyPropsToCloudFormation(props)}}exports.CfnRegistryPolicy=CfnRegistryPolicy;function CfnRegistryPolicyPropsValidator(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("policyText",cdk().requiredValidator)(properties.policyText)),errors.collect(cdk().propertyValidator("policyText",cdk().validateObject)(properties.policyText)),errors.wrap('supplied properties not correct for "CfnRegistryPolicyProps"')}function convertCfnRegistryPolicyPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRegistryPolicyPropsValidator(properties).assertSuccess(),{PolicyText:cdk().objectToCloudFormation(properties.policyText)}):properties}function CfnRegistryPolicyPropsFromCloudFormation(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("policyText","PolicyText",properties.PolicyText!=null?cfn_parse().FromCloudFormation.getAny(properties.PolicyText):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnReplicationConfiguration extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_ecr.CfnReplicationConfiguration",version:"2.251.0"};static CFN_RESOURCE_TYPE_NAME="AWS::ECR::ReplicationConfiguration";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnReplicationConfigurationPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnReplicationConfiguration(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 isCfnReplicationConfiguration(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnReplicationConfiguration.CFN_RESOURCE_TYPE_NAME}_replicationConfiguration;constructor(scope,id,props){super(scope,id,{type:CfnReplicationConfiguration.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_ecr_CfnReplicationConfigurationProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnReplicationConfiguration),error}cdk().requireProperty(props,"replicationConfiguration",this),this._replicationConfiguration=props.replicationConfiguration}get replicationConfigurationRef(){return{registryId:this.ref}}get replicationConfiguration(){return this._replicationConfiguration}set replicationConfiguration(value){cdk().traceProperty(this.node,"ReplicationConfiguration"),this._replicationConfiguration=value}get attrRegistryId(){return cdk().Token.asString(this.getAtt("RegistryId",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{replicationConfiguration:this._replicationConfiguration}}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",CfnReplicationConfiguration.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnReplicationConfigurationPropsToCloudFormation(props)}}exports.CfnReplicationConfiguration=CfnReplicationConfiguration;function CfnReplicationConfigurationRepositoryFilterPropertyValidator(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("filter",cdk().requiredValidator)(properties.filter)),errors.collect(cdk().propertyValidator("filter",cdk().validateString)(properties.filter)),errors.collect(cdk().propertyValidator("filterType",cdk().requiredValidator)(properties.filterType)),errors.collect(cdk().propertyValidator("filterType",cdk().validateString)(properties.filterType)),errors.wrap('supplied properties not correct for "RepositoryFilterProperty"')}function convertCfnReplicationConfigurationRepositoryFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnReplicationConfigurationRepositoryFilterPropertyValidator(properties).assertSuccess(),{Filter:cdk().stringToCloudFormation(properties.filter),FilterType:cdk().stringToCloudFormation(properties.filterType)}):properties}function CfnReplicationConfigurationRepositoryFilterPropertyFromCloudFormation(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("filter","Filter",properties.Filter!=null?cfn_parse().FromCloudFormation.getString(properties.Filter):void 0),ret.addPropertyResult("filterType","FilterType",properties.FilterType!=null?cfn_parse().FromCloudFormation.getString(properties.FilterType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnReplicationConfigurationReplicationDestinationPropertyValidator(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("region",cdk().requiredValidator)(properties.region)),errors.collect(cdk().propertyValidator("region",cdk().validateString)(properties.region)),errors.collect(cdk().propertyValidator("registryId",cdk().requiredValidator)(properties.registryId)),errors.collect(cdk().propertyValidator("registryId",cdk().validateString)(properties.registryId)),errors.wrap('supplied properties not correct for "ReplicationDestinationProperty"')}function convertCfnReplicationConfigurationReplicationDestinationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnReplicationConfigurationReplicationDestinationPropertyValidator(properties).assertSuccess(),{Region:cdk().stringToCloudFormation(properties.region),RegistryId:cdk().stringToCloudFormation(properties.registryId)}):properties}function CfnReplicationConfigurationReplicationDestinationPropertyFromCloudFormation(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("region","Region",properties.Region!=null?cfn_parse().FromCloudFormation.getString(properties.Region):void 0),ret.addPropertyResult("registryId","RegistryId",properties.RegistryId!=null?cfn_parse().FromCloudFormation.getString(properties.RegistryId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnReplicationConfigurationReplicationRulePropertyValidator(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("destinations",cdk().requiredValidator)(properties.destinations)),errors.collect(cdk().propertyValidator("destinations",cdk().listValidator(CfnReplicationConfigurationReplicationDestinationPropertyValidator))(properties.destinations)),errors.collect(cdk().propertyValidator("repositoryFilters",cdk().listValidator(CfnReplicationConfigurationRepositoryFilterPropertyValidator))(properties.repositoryFilters)),errors.wrap('supplied properties not correct for "ReplicationRuleProperty"')}function convertCfnReplicationConfigurationReplicationRulePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnReplicationConfigurationReplicationRulePropertyValidator(properties).assertSuccess(),{Destinations:cdk().listMapper(convertCfnReplicationConfigurationReplicationDestinationPropertyToCloudFormation)(properties.destinations),RepositoryFilters:cdk().listMapper(convertCfnReplicationConfigurationRepositoryFilterPropertyToCloudFormation)(properties.repositoryFilters)}):properties}function CfnReplicationConfigurationReplicationRulePropertyFromCloudFormation(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("destinations","Destinations",properties.Destinations!=null?cfn_parse().FromCloudFormation.getArray(CfnReplicationConfigurationReplicationDestinationPropertyFromCloudFormation)(properties.Destinations):void 0),ret.addPropertyResult("repositoryFilters","RepositoryFilters",properties.RepositoryFilters!=null?cfn_parse().FromCloudFormation.getArray(CfnReplicationConfigurationRepositoryFilterPropertyFromCloudFormation)(properties.RepositoryFilters):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnReplicationConfigurationReplicationConfigurationPropertyValidator(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("rules",cdk().requiredValidator)(properties.rules)),errors.collect(cdk().propertyValidator("rules",cdk().listValidator(CfnReplicationConfigurationReplicationRulePropertyValidator))(properties.rules)),errors.wrap('supplied properties not correct for "ReplicationConfigurationProperty"')}function convertCfnReplicationConfigurationReplicationConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnReplicationConfigurationReplicationConfigurationPropertyValidator(properties).assertSuccess(),{Rules:cdk().listMapper(convertCfnReplicationConfigurationReplicationRulePropertyToCloudFormation)(properties.rules)}):properties}function CfnReplicationConfigurationReplicationConfigurationPropertyFromCloudFormation(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("rules","Rules",properties.Rules!=null?cfn_parse().FromCloudFormation.getArray(CfnReplicationConfigurationReplicationRulePropertyFromCloudFormation)(properties.Rules):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnReplicationConfigurationPropsValidator(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("replicationConfiguration",cdk().requiredValidator)(properties.replicationConfiguration)),errors.collect(cdk().propertyValidator("replicationConfiguration",CfnReplicationConfigurationReplicationConfigurationPropertyValidator)(properties.replicationConfiguration)),errors.wrap('supplied properties not correct for "CfnReplicationConfigurationProps"')}function convertCfnReplicationConfigurationPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnReplicationConfigurationPropsValidator(properties).assertSuccess(),{ReplicationConfiguration:convertCfnReplicationConfigurationReplicationConfigurationPropertyToCloudFormation(properties.replicationConfiguration)}):properties}function CfnReplicationConfigurationPropsFromCloudFormation(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("replicationConfiguration","ReplicationConfiguration",properties.ReplicationConfiguration!=null?CfnReplicationConfigurationReplicationConfigurationPropertyFromCloudFormation(properties.ReplicationConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnRepository extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_ecr.CfnRepository",version:"2.251.0"};static CFN_RESOURCE_TYPE_NAME="AWS::ECR::Repository";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnRepositoryPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnRepository(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 isCfnRepository(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnRepository.CFN_RESOURCE_TYPE_NAME}static fromRepositoryArn(scope,id,arn){class Import extends cdk().Resource{repositoryRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:ecr:${Region}:${Account}:repository/${RepositoryName}").parse(arn2);this.repositoryRef={repositoryName:variables.RepositoryName,repositoryArn:arn2}}}return new Import(scope,id,arn)}static fromRepositoryName(scope,id,repositoryName){class Import extends cdk().Resource{repositoryRef;constructor(scope2,id2,repositoryName2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:ecr:${Region}:${Account}:repository/${RepositoryName}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,RepositoryName:repositoryName2});super(scope2,id2,{environmentFromArn:arn}),this.repositoryRef={repositoryName:repositoryName2,repositoryArn:arn}}}return new Import(scope,id,repositoryName)}static arnForRepository(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_ecr_IRepositoryRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForRepository),error}return resource.repositoryRef.repositoryArn}_emptyOnDelete;_encryptionConfiguration;_imageScanningConfiguration;_imageTagMutability;_imageTagMutabilityExclusionFilters;_lifecyclePolicy;_repositoryName;_repositoryPolicyText;tags;_tagsRaw;constructor(scope,id,props={}){super(scope,id,{type:CfnRepository.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_ecr_CfnRepositoryProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnRepository),error}this._emptyOnDelete=props.emptyOnDelete,this._encryptionConfiguration=props.encryptionConfiguration,this._imageScanningConfiguration=props.imageScanningConfiguration,this._imageTagMutability=props.imageTagMutability,this._imageTagMutabilityExclusionFilters=props.imageTagMutabilityExclusionFilters,this._lifecyclePolicy=props.lifecyclePolicy,this._repositoryName=props.repositoryName,this._repositoryPolicyText=props.repositoryPolicyText,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::ECR::Repository",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get repositoryRef(){return{repositoryName:this.ref,repositoryArn:this.attrArn}}get emptyOnDelete(){return this._emptyOnDelete}set emptyOnDelete(value){cdk().traceProperty(this.node,"EmptyOnDelete"),this._emptyOnDelete=value}get encryptionConfiguration(){return this._encryptionConfiguration}set encryptionConfiguration(value){cdk().traceProperty(this.node,"EncryptionConfiguration"),this._encryptionConfiguration=value}get imageScanningConfiguration(){return this._imageScanningConfiguration}set imageScanningConfiguration(value){cdk().traceProperty(this.node,"ImageScanningConfiguration"),this._imageScanningConfiguration=value}get imageTagMutability(){return this._imageTagMutability}set imageTagMutability(value){cdk().traceProperty(this.node,"ImageTagMutability"),this._imageTagMutability=value}get imageTagMutabilityExclusionFilters(){return this._imageTagMutabilityExclusionFilters}set imageTagMutabilityExclusionFilters(value){cdk().traceProperty(this.node,"ImageTagMutabilityExclusionFilters"),this._imageTagMutabilityExclusionFilters=value}get lifecyclePolicy(){return this._lifecyclePolicy}set lifecyclePolicy(value){cdk().traceProperty(this.node,"LifecyclePolicy"),this._lifecyclePolicy=value}get repositoryName(){return this._repositoryName}set repositoryName(value){cdk().traceProperty(this.node,"RepositoryName"),this._repositoryName=value}get repositoryPolicyText(){return this._repositoryPolicyText}set repositoryPolicyText(value){cdk().traceProperty(this.node,"RepositoryPolicyText"),this._repositoryPolicyText=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 attrRepositoryUri(){return cdk().Token.asString(this.getAtt("RepositoryUri",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{emptyOnDelete:this._emptyOnDelete,encryptionConfiguration:this._encryptionConfiguration,imageScanningConfiguration:this._imageScanningConfiguration,imageTagMutability:this._imageTagMutability,imageTagMutabilityExclusionFilters:this._imageTagMutabilityExclusionFilters,lifecyclePolicy:this._lifecyclePolicy,repositoryName:this._repositoryName,repositoryPolicyText:this._repositoryPolicyText,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",CfnRepository.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnRepositoryPropsToCloudFormation(props)}}exports.CfnRepository=CfnRepository;function CfnRepositoryImageScanningConfigurationPropertyValidator(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("scanOnPush",cdk().validateBoolean)(properties.scanOnPush)),errors.wrap('supplied properties not correct for "ImageScanningConfigurationProperty"')}function convertCfnRepositoryImageScanningConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRepositoryImageScanningConfigurationPropertyValidator(properties).assertSuccess(),{ScanOnPush:cdk().booleanToCloudFormation(properties.scanOnPush)}):properties}function CfnRepositoryImageScanningConfigurationPropertyFromCloudFormation(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("scanOnPush","ScanOnPush",properties.ScanOnPush!=null?cfn_parse().FromCloudFormation.getBoolean(properties.ScanOnPush):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnRepositoryEncryptionConfigurationPropertyValidator(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("encryptionType",cdk().requiredValidator)(properties.encryptionType)),errors.collect(cdk().propertyValidator("encryptionType",cdk().validateString)(properties.encryptionType)),errors.collect(cdk().propertyValidator("kmsKey",cdk().validateString)(properties.kmsKey)),errors.wrap('supplied properties not correct for "EncryptionConfigurationProperty"')}function convertCfnRepositoryEncryptionConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRepositoryEncryptionConfigurationPropertyValidator(properties).assertSuccess(),{EncryptionType:cdk().stringToCloudFormation(properties.encryptionType),KmsKey:cdk().stringToCloudFormation(properties.kmsKey)}):properties}function CfnRepositoryEncryptionConfigurationPropertyFromCloudFormation(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("encryptionType","EncryptionType",properties.EncryptionType!=null?cfn_parse().FromCloudFormation.getString(properties.EncryptionType):void 0),ret.addPropertyResult("kmsKey","KmsKey",properties.KmsKey!=null?cfn_parse().FromCloudFormation.getString(properties.KmsKey):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnRepositoryLifecyclePolicyPropertyValidator(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("lifecyclePolicyText",cdk().validateString)(properties.lifecyclePolicyText)),errors.collect(cdk().propertyValidator("registryId",cdk().validateString)(properties.registryId)),errors.wrap('supplied properties not correct for "LifecyclePolicyProperty"')}function convertCfnRepositoryLifecyclePolicyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRepositoryLifecyclePolicyPropertyValidator(properties).assertSuccess(),{LifecyclePolicyText:cdk().stringToCloudFormation(properties.lifecyclePolicyText),RegistryId:cdk().stringToCloudFormation(properties.registryId)}):properties}function CfnRepositoryLifecyclePolicyPropertyFromCloudFormation(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("lifecyclePolicyText","LifecyclePolicyText",properties.LifecyclePolicyText!=null?cfn_parse().FromCloudFormation.getString(properties.LifecyclePolicyText):void 0),ret.addPropertyResult("registryId","RegistryId",properties.RegistryId!=null?cfn_parse().FromCloudFormation.getString(properties.RegistryId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnRepositoryImageTagMutabilityExclusionFilterPropertyValidator(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("imageTagMutabilityExclusionFilterType",cdk().requiredValidator)(properties.imageTagMutabilityExclusionFilterType)),errors.collect(cdk().propertyValidator("imageTagMutabilityExclusionFilterType",cdk().validateString)(properties.imageTagMutabilityExclusionFilterType)),errors.collect(cdk().propertyValidator("imageTagMutabilityExclusionFilterValue",cdk().requiredValidator)(properties.imageTagMutabilityExclusionFilterValue)),errors.collect(cdk().propertyValidator("imageTagMutabilityExclusionFilterValue",cdk().validateString)(properties.imageTagMutabilityExclusionFilterValue)),errors.wrap('supplied properties not correct for "ImageTagMutabilityExclusionFilterProperty"')}function convertCfnRepositoryImageTagMutabilityExclusionFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRepositoryImageTagMutabilityExclusionFilterPropertyValidator(properties).assertSuccess(),{ImageTagMutabilityExclusionFilterType:cdk().stringToCloudFormation(properties.imageTagMutabilityExclusionFilterType),ImageTagMutabilityExclusionFilterValue:cdk().stringToCloudFormation(properties.imageTagMutabilityExclusionFilterValue)}):properties}function CfnRepositoryImageTagMutabilityExclusionFilterPropertyFromCloudFormation(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("imageTagMutabilityExclusionFilterType","ImageTagMutabilityExclusionFilterType",properties.ImageTagMutabilityExclusionFilterType!=null?cfn_parse().FromCloudFormation.getString(properties.ImageTagMutabilityExclusionFilterType):void 0),ret.addPropertyResult("imageTagMutabilityExclusionFilterValue","ImageTagMutabilityExclusionFilterValue",properties.ImageTagMutabilityExclusionFilterValue!=null?cfn_parse().FromCloudFormation.getString(properties.ImageTagMutabilityExclusionFilterValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnRepositoryPropsValidator(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("emptyOnDelete",cdk().validateBoolean)(properties.emptyOnDelete)),errors.collect(cdk().propertyValidator("encryptionConfiguration",CfnRepositoryEncryptionConfigurationPropertyValidator)(properties.encryptionConfiguration)),errors.collect(cdk().propertyValidator("imageScanningConfiguration",CfnRepositoryImageScanningConfigurationPropertyValidator)(properties.imageScanningConfiguration)),errors.collect(cdk().propertyValidator("imageTagMutability",cdk().validateString)(properties.imageTagMutability)),errors.collect(cdk().propertyValidator("imageTagMutabilityExclusionFilters",cdk().listValidator(CfnRepositoryImageTagMutabilityExclusionFilterPropertyValidator))(properties.imageTagMutabilityExclusionFilters)),errors.collect(cdk().propertyValidator("lifecyclePolicy",CfnRepositoryLifecyclePolicyPropertyValidator)(properties.lifecyclePolicy)),errors.collect(cdk().propertyValidator("repositoryName",cdk().validateString)(properties.repositoryName)),errors.collect(cdk().propertyValidator("repositoryPolicyText",cdk().validateObject)(properties.repositoryPolicyText)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnRepositoryProps"')}function convertCfnRepositoryPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRepositoryPropsV