"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnPermission=exports.CfnCertificateAuthorityActivation=exports.CfnCertificateAuthority=exports.CfnCertificate=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 CfnCertificate extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_acmpca.CfnCertificate",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::ACMPCA::Certificate";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnCertificatePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnCertificate(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 isCfnCertificate(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnCertificate.CFN_RESOURCE_TYPE_NAME}static arnForCertificate(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_acmpca_ICertificateRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForCertificate),error}return resource.certificateRef.certificateArn}_apiPassthrough;_certificateAuthorityArn;_certificateSigningRequest;_signingAlgorithm;_templateArn;_validity;_validityNotBefore;cfnPropertyNames={apiPassthrough:"ApiPassthrough",certificateAuthorityArn:"CertificateAuthorityArn",certificateSigningRequest:"CertificateSigningRequest",signingAlgorithm:"SigningAlgorithm",templateArn:"TemplateArn",validity:"Validity",validityNotBefore:"ValidityNotBefore"};constructor(scope,id,props){super(scope,id,{type:CfnCertificate.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_acmpca_CfnCertificateProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnCertificate),error}cdk().requireProperty(props,"certificateAuthorityArn",this),cdk().requireProperty(props,"certificateSigningRequest",this),cdk().requireProperty(props,"signingAlgorithm",this),cdk().requireProperty(props,"validity",this),this._apiPassthrough=props.apiPassthrough,this._certificateAuthorityArn=cdk().getRefProperty(props.certificateAuthorityArn?.certificateAuthorityRef,"certificateAuthorityArn")??cdk().ensureStringOrUndefined(props.certificateAuthorityArn,"certificateAuthorityArn","acmpca.ICertificateAuthorityRef | string"),this._certificateSigningRequest=props.certificateSigningRequest,this._signingAlgorithm=props.signingAlgorithm,this._templateArn=cdk().getRefProperty(props.templateArn?.certificateAuthorityRef,"certificateAuthorityArn")??cdk().ensureStringOrUndefined(props.templateArn,"templateArn","acmpca.ICertificateAuthorityRef | string"),this._validity=props.validity,this._validityNotBefore=props.validityNotBefore}get certificateRef(){return{certificateArn:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),certificateAuthorityArn:cdk().Fn.select(1,cdk().Fn.split("|",this.ref))}}get apiPassthrough(){return this._apiPassthrough}set apiPassthrough(value){cdk().traceProperty(this.node,"ApiPassthrough"),this._apiPassthrough=value}get certificateAuthorityArn(){return this._certificateAuthorityArn}set certificateAuthorityArn(value){cdk().traceProperty(this.node,"CertificateAuthorityArn"),this._certificateAuthorityArn=value}get certificateSigningRequest(){return this._certificateSigningRequest}set certificateSigningRequest(value){cdk().traceProperty(this.node,"CertificateSigningRequest"),this._certificateSigningRequest=value}get signingAlgorithm(){return this._signingAlgorithm}set signingAlgorithm(value){cdk().traceProperty(this.node,"SigningAlgorithm"),this._signingAlgorithm=value}get templateArn(){return this._templateArn}set templateArn(value){cdk().traceProperty(this.node,"TemplateArn"),this._templateArn=value}get validity(){return this._validity}set validity(value){cdk().traceProperty(this.node,"Validity"),this._validity=value}get validityNotBefore(){return this._validityNotBefore}set validityNotBefore(value){cdk().traceProperty(this.node,"ValidityNotBefore"),this._validityNotBefore=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrCertificate(){return cdk().Token.asString(this.getAtt("Certificate",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{apiPassthrough:this._apiPassthrough,certificateAuthorityArn:this._certificateAuthorityArn,certificateSigningRequest:this._certificateSigningRequest,signingAlgorithm:this._signingAlgorithm,templateArn:this._templateArn,validity:this._validity,validityNotBefore:this._validityNotBefore}}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",CfnCertificate.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnCertificatePropsToCloudFormation(props)}}exports.CfnCertificate=CfnCertificate;function CfnCertificateValidityPropertyValidator(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("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.collect(cdk().propertyValidator("value",cdk().requiredValidator)(properties.value)),errors.collect(cdk().propertyValidator("value",cdk().validateNumber)(properties.value)),errors.wrap('supplied properties not correct for "ValidityProperty"')}function convertCfnCertificateValidityPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCertificateValidityPropertyValidator(properties).assertSuccess(),{Type:cdk().stringToCloudFormation(properties.type),Value:cdk().numberToCloudFormation(properties.value)}):properties}function CfnCertificateValidityPropertyFromCloudFormation(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("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getNumber(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCertificateCustomExtensionPropertyValidator(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("critical",cdk().validateBoolean)(properties.critical)),errors.collect(cdk().propertyValidator("objectIdentifier",cdk().requiredValidator)(properties.objectIdentifier)),errors.collect(cdk().propertyValidator("objectIdentifier",cdk().validateString)(properties.objectIdentifier)),errors.collect(cdk().propertyValidator("value",cdk().requiredValidator)(properties.value)),errors.collect(cdk().propertyValidator("value",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "CustomExtensionProperty"')}function convertCfnCertificateCustomExtensionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCertificateCustomExtensionPropertyValidator(properties).assertSuccess(),{Critical:cdk().booleanToCloudFormation(properties.critical),ObjectIdentifier:cdk().stringToCloudFormation(properties.objectIdentifier),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnCertificateCustomExtensionPropertyFromCloudFormation(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("critical","Critical",properties.Critical!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Critical):void 0),ret.addPropertyResult("objectIdentifier","ObjectIdentifier",properties.ObjectIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.ObjectIdentifier):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCertificateQualifierPropertyValidator(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("cpsUri",cdk().requiredValidator)(properties.cpsUri)),errors.collect(cdk().propertyValidator("cpsUri",cdk().validateString)(properties.cpsUri)),errors.wrap('supplied properties not correct for "QualifierProperty"')}function convertCfnCertificateQualifierPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCertificateQualifierPropertyValidator(properties).assertSuccess(),{CpsUri:cdk().stringToCloudFormation(properties.cpsUri)}):properties}function CfnCertificateQualifierPropertyFromCloudFormation(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("cpsUri","CpsUri",properties.CpsUri!=null?cfn_parse().FromCloudFormation.getString(properties.CpsUri):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCertificatePolicyQualifierInfoPropertyValidator(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("policyQualifierId",cdk().requiredValidator)(properties.policyQualifierId)),errors.collect(cdk().propertyValidator("policyQualifierId",cdk().validateString)(properties.policyQualifierId)),errors.collect(cdk().propertyValidator("qualifier",cdk().requiredValidator)(properties.qualifier)),errors.collect(cdk().propertyValidator("qualifier",CfnCertificateQualifierPropertyValidator)(properties.qualifier)),errors.wrap('supplied properties not correct for "PolicyQualifierInfoProperty"')}function convertCfnCertificatePolicyQualifierInfoPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCertificatePolicyQualifierInfoPropertyValidator(properties).assertSuccess(),{PolicyQualifierId:cdk().stringToCloudFormation(properties.policyQualifierId),Qualifier:convertCfnCertificateQualifierPropertyToCloudFormation(properties.qualifier)}):properties}function CfnCertificatePolicyQualifierInfoPropertyFromCloudFormation(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("policyQualifierId","PolicyQualifierId",properties.PolicyQualifierId!=null?cfn_parse().FromCloudFormation.getString(properties.PolicyQualifierId):void 0),ret.addPropertyResult("qualifier","Qualifier",properties.Qualifier!=null?CfnCertificateQualifierPropertyFromCloudFormation(properties.Qualifier):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCertificatePolicyInformationPropertyValidator(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("certPolicyId",cdk().requiredValidator)(properties.certPolicyId)),errors.collect(cdk().propertyValidator("certPolicyId",cdk().validateString)(properties.certPolicyId)),errors.collect(cdk().propertyValidator("policyQualifiers",cdk().listValidator(CfnCertificatePolicyQualifierInfoPropertyValidator))(properties.policyQualifiers)),errors.wrap('supplied properties not correct for "PolicyInformationProperty"')}function convertCfnCertificatePolicyInformationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCertificatePolicyInformationPropertyValidator(properties).assertSuccess(),{CertPolicyId:cdk().stringToCloudFormation(properties.certPolicyId),PolicyQualifiers:cdk().listMapper(convertCfnCertificatePolicyQualifierInfoPropertyToCloudFormation)(properties.policyQualifiers)}):properties}function CfnCertificatePolicyInformationPropertyFromCloudFormation(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("certPolicyId","CertPolicyId",properties.CertPolicyId!=null?cfn_parse().FromCloudFormation.getString(properties.CertPolicyId):void 0),ret.addPropertyResult("policyQualifiers","PolicyQualifiers",properties.PolicyQualifiers!=null?cfn_parse().FromCloudFormation.getArray(CfnCertificatePolicyQualifierInfoPropertyFromCloudFormation)(properties.PolicyQualifiers):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCertificateKeyUsagePropertyValidator(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("crlSign",cdk().validateBoolean)(properties.crlSign)),errors.collect(cdk().propertyValidator("dataEncipherment",cdk().validateBoolean)(properties.dataEncipherment)),errors.collect(cdk().propertyValidator("decipherOnly",cdk().validateBoolean)(properties.decipherOnly)),errors.collect(cdk().propertyValidator("digitalSignature",cdk().validateBoolean)(properties.digitalSignature)),errors.collect(cdk().propertyValidator("encipherOnly",cdk().validateBoolean)(properties.encipherOnly)),errors.collect(cdk().propertyValidator("keyAgreement",cdk().validateBoolean)(properties.keyAgreement)),errors.collect(cdk().propertyValidator("keyCertSign",cdk().validateBoolean)(properties.keyCertSign)),errors.collect(cdk().propertyValidator("keyEncipherment",cdk().validateBoolean)(properties.keyEncipherment)),errors.collect(cdk().propertyValidator("nonRepudiation",cdk().validateBoolean)(properties.nonRepudiation)),errors.wrap('supplied properties not correct for "KeyUsageProperty"')}function convertCfnCertificateKeyUsagePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCertificateKeyUsagePropertyValidator(properties).assertSuccess(),{CRLSign:cdk().booleanToCloudFormation(properties.crlSign),DataEncipherment:cdk().booleanToCloudFormation(properties.dataEncipherment),DecipherOnly:cdk().booleanToCloudFormation(properties.decipherOnly),DigitalSignature:cdk().booleanToCloudFormation(properties.digitalSignature),EncipherOnly:cdk().booleanToCloudFormation(properties.encipherOnly),KeyAgreement:cdk().booleanToCloudFormation(properties.keyAgreement),KeyCertSign:cdk().booleanToCloudFormation(properties.keyCertSign),KeyEncipherment:cdk().booleanToCloudFormation(properties.keyEncipherment),NonRepudiation:cdk().booleanToCloudFormation(properties.nonRepudiation)}):properties}function CfnCertificateKeyUsagePropertyFromCloudFormation(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("crlSign","CRLSign",properties.CRLSign!=null?cfn_parse().FromCloudFormation.getBoolean(properties.CRLSign):void 0),ret.addPropertyResult("dataEncipherment","DataEncipherment",properties.DataEncipherment!=null?cfn_parse().FromCloudFormation.getBoolean(properties.DataEncipherment):void 0),ret.addPropertyResult("decipherOnly","DecipherOnly",properties.DecipherOnly!=null?cfn_parse().FromCloudFormation.getBoolean(properties.DecipherOnly):void 0),ret.addPropertyResult("digitalSignature","DigitalSignature",properties.DigitalSignature!=null?cfn_parse().FromCloudFormation.getBoolean(properties.DigitalSignature):void 0),ret.addPropertyResult("encipherOnly","EncipherOnly",properties.EncipherOnly!=null?cfn_parse().FromCloudFormation.getBoolean(properties.EncipherOnly):void 0),ret.addPropertyResult("keyAgreement","KeyAgreement",properties.KeyAgreement!=null?cfn_parse().FromCloudFormation.getBoolean(properties.KeyAgreement):void 0),ret.addPropertyResult("keyCertSign","KeyCertSign",properties.KeyCertSign!=null?cfn_parse().FromCloudFormation.getBoolean(properties.KeyCertSign):void 0),ret.addPropertyResult("keyEncipherment","KeyEncipherment",properties.KeyEncipherment!=null?cfn_parse().FromCloudFormation.getBoolean(properties.KeyEncipherment):void 0),ret.addPropertyResult("nonRepudiation","NonRepudiation",properties.NonRepudiation!=null?cfn_parse().FromCloudFormation.getBoolean(properties.NonRepudiation):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCertificateEdiPartyNamePropertyValidator(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("nameAssigner",cdk().requiredValidator)(properties.nameAssigner)),errors.collect(cdk().propertyValidator("nameAssigner",cdk().validateString)(properties.nameAssigner)),errors.collect(cdk().propertyValidator("partyName",cdk().requiredValidator)(properties.partyName)),errors.collect(cdk().propertyValidator("partyName",cdk().validateString)(properties.partyName)),errors.wrap('supplied properties not correct for "EdiPartyNameProperty"')}function convertCfnCertificateEdiPartyNamePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCertificateEdiPartyNamePropertyValidator(properties).assertSuccess(),{NameAssigner:cdk().stringToCloudFormation(properties.nameAssigner),PartyName:cdk().stringToCloudFormation(properties.partyName)}):properties}function CfnCertificateEdiPartyNamePropertyFromCloudFormation(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("nameAssigner","NameAssigner",properties.NameAssigner!=null?cfn_parse().FromCloudFormation.getString(properties.NameAssigner):void 0),ret.addPropertyResult("partyName","PartyName",properties.PartyName!=null?cfn_parse().FromCloudFormation.getString(properties.PartyName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCertificateOtherNamePropertyValidator(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("typeId",cdk().requiredValidator)(properties.typeId)),errors.collect(cdk().propertyValidator("typeId",cdk().validateString)(properties.typeId)),errors.collect(cdk().propertyValidator("value",cdk().requiredValidator)(properties.value)),errors.collect(cdk().propertyValidator("value",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "OtherNameProperty"')}function convertCfnCertificateOtherNamePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCertificateOtherNamePropertyValidator(properties).assertSuccess(),{TypeId:cdk().stringToCloudFormation(properties.typeId),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnCertificateOtherNamePropertyFromCloudFormation(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("typeId","TypeId",properties.TypeId!=null?cfn_parse().FromCloudFormation.getString(properties.TypeId):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCertificateCustomAttributePropertyValidator(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("objectIdentifier",cdk().requiredValidator)(properties.objectIdentifier)),errors.collect(cdk().propertyValidator("objectIdentifier",cdk().validateString)(properties.objectIdentifier)),errors.collect(cdk().propertyValidator("value",cdk().requiredValidator)(properties.value)),errors.collect(cdk().propertyValidator("value",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "CustomAttributeProperty"')}function convertCfnCertificateCustomAttributePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCertificateCustomAttributePropertyValidator(properties).assertSuccess(),{ObjectIdentifier:cdk().stringToCloudFormation(properties.objectIdentifier),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnCertificateCustomAttributePropertyFromCloudFormation(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("objectIdentifier","ObjectIdentifier",properties.ObjectIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.ObjectIdentifier):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCertificateSubjectPropertyValidator(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("commonName",cdk().validateString)(properties.commonName)),errors.collect(cdk().propertyValidator("country",cdk().validateString)(properties.country)),errors.collect(cdk().propertyValidator("customAttributes",cdk().listValidator(CfnCertificateCustomAttributePropertyValidator))(properties.customAttributes)),errors.collect(cdk().propertyValidator("distinguishedNameQualifier",cdk().validateString)(properties.distinguishedNameQualifier)),errors.collect(cdk().propertyValidator("generationQualifier",cdk().validateString)(properties.generationQualifier)),errors.collect(cdk().propertyValidator("givenName",cdk().validateString)(properties.givenName)),errors.collect(cdk().propertyValidator("initials",cdk().validateString)(properties.initials)),errors.collect(cdk().propertyValidator("locality",cdk().validateString)(properties.locality)),errors.collect(cdk().propertyValidator("organization",cdk().validateString)(properties.organization)),errors.collect(cdk().propertyValidator("organizationalUnit",cdk().validateString)(properties.organizationalUnit)),errors.collect(cdk().propertyValidator("pseudonym",cdk().validateString)(properties.pseudonym)),errors.collect(cdk().propertyValidator("serialNumber",cdk().validateString)(properties.serialNumber)),errors.collect(cdk().propertyValidator("state",cdk().validateString)(properties.state)),errors.collect(cdk().propertyValidator("surname",cdk().validateString)(properties.surname)),errors.collect(cdk().propertyValidator("title",cdk().validateString)(properties.title)),errors.wrap('supplied properties not correct for "SubjectProperty"')}function convertCfnCertificateSubjectPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCertificateSubjectPropertyValidator(properties).assertSuccess(),{CommonName:cdk().stringToCloudFormation(properties.commonName),Country:cdk().stringToCloudFormation(properties.country),CustomAttributes:cdk().listMapper(convertCfnCertificateCustomAttributePropertyToCloudFormation)(properties.customAttributes),DistinguishedNameQualifier:cdk().stringToCloudFormation(properties.distinguishedNameQualifier),GenerationQualifier:cdk().stringToCloudFormation(properties.generationQualifier),GivenName:cdk().stringToCloudFormation(properties.givenName),Initials:cdk().stringToCloudFormation(properties.initials),Locality:cdk().stringToCloudFormation(properties.locality),Organization:cdk().stringToCloudFormation(properties.organization),OrganizationalUnit:cdk().stringToCloudFormation(properties.organizationalUnit),Pseudonym:cdk().stringToCloudFormation(properties.pseudonym),SerialNumber:cdk().stringToCloudFormation(properties.serialNumber),State:cdk().stringToCloudFormation(properties.state),Surname:cdk().stringToCloudFormation(properties.surname),Title:cdk().stringToCloudFormation(properties.title)}):properties}function CfnCertificateSubjectPropertyFromCloudFormation(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("commonName","CommonName",properties.CommonName!=null?cfn_parse().FromCloudFormation.getString(properties.CommonName):void 0),ret.addPropertyResult("country","Country",properties.Country!=null?cfn_parse().FromCloudFormation.getString(properties.Country):void 0),ret.addPropertyResult("customAttributes","CustomAttributes",properties.CustomAttributes!=null?cfn_parse().FromCloudFormation.getArray(CfnCertificateCustomAttributePropertyFromCloudFormation)(properties.CustomAttributes):void 0),ret.addPropertyResult("distinguishedNameQualifier","DistinguishedNameQualifier",properties.DistinguishedNameQualifier!=null?cfn_parse().FromCloudFormation.getString(properties.DistinguishedNameQualifier):void 0),ret.addPropertyResult("generationQualifier","GenerationQualifier",properties.GenerationQualifier!=null?cfn_parse().FromCloudFormation.getString(properties.GenerationQualifier):void 0),ret.addPropertyResult("givenName","GivenName",properties.GivenName!=null?cfn_parse().FromCloudFormation.getString(properties.GivenName):void 0),ret.addPropertyResult("initials","Initials",properties.Initials!=null?cfn_parse().FromCloudFormation.getString(properties.Initials):void 0),ret.addPropertyResult("locality","Locality",properties.Locality!=null?cfn_parse().FromCloudFormation.getString(properties.Locality):void 0),ret.addPropertyResult("organization","Organization",properties.Organization!=null?cfn_parse().FromCloudFormation.getString(properties.Organization):void 0),ret.addPropertyResult("organizationalUnit","OrganizationalUnit",properties.OrganizationalUnit!=null?cfn_parse().FromCloudFormation.getString(properties.OrganizationalUnit):void 0),ret.addPropertyResult("pseudonym","Pseudonym",properties.Pseudonym!=null?cfn_parse().FromCloudFormation.getString(properties.Pseudonym):void 0),ret.addPropertyResult("serialNumber","SerialNumber",properties.SerialNumber!=null?cfn_parse().FromCloudFormation.getString(properties.SerialNumber):void 0),ret.addPropertyResult("state","State",properties.State!=null?cfn_parse().FromCloudFormation.getString(properties.State):void 0),ret.addPropertyResult("surname","Surname",properties.Surname!=null?cfn_parse().FromCloudFormation.getString(properties.Surname):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?cfn_parse().FromCloudFormation.getString(properties.Title):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCertificateGeneralNamePropertyValidator(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("directoryName",CfnCertificateSubjectPropertyValidator)(properties.directoryName)),errors.collect(cdk().propertyValidator("dnsName",cdk().validateString)(properties.dnsName)),errors.collect(cdk().propertyValidator("ediPartyName",CfnCertificateEdiPartyNamePropertyValidator)(properties.ediPartyName)),errors.collect(cdk().propertyValidator("ipAddress",cdk().validateString)(properties.ipAddress)),errors.collect(cdk().propertyValidator("otherName",CfnCertificateOtherNamePropertyValidator)(properties.otherName)),errors.collect(cdk().propertyValidator("registeredId",cdk().validateString)(properties.registeredId)),errors.collect(cdk().propertyValidator("rfc822Name",cdk().validateString)(properties.rfc822Name)),errors.collect(cdk().propertyValidator("uniformResourceIdentifier",cdk().validateString)(properties.uniformResourceIdentifier)),errors.wrap('supplied properties not correct for "GeneralNameProperty"')}function convertCfnCertificateGeneralNamePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCertificateGeneralNamePropertyValidator(properties).assertSuccess(),{DirectoryName:convertCfnCertificateSubjectPropertyToCloudFormation(properties.directoryName),DnsName:cdk().stringToCloudFormation(properties.dnsName),EdiPartyName:convertCfnCertificateEdiPartyNamePropertyToCloudFormation(properties.ediPartyName),IpAddress:cdk().stringToCloudFormation(properties.ipAddress),OtherName:convertCfnCertificateOtherNamePropertyToCloudFormation(properties.otherName),RegisteredId:cdk().stringToCloudFormation(properties.registeredId),Rfc822Name:cdk().stringToCloudFormation(properties.rfc822Name),UniformResourceIdentifier:cdk().stringToCloudFormation(properties.uniformResourceIdentifier)}):properties}function CfnCertificateGeneralNamePropertyFromCloudFormation(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("directoryName","DirectoryName",properties.DirectoryName!=null?CfnCertificateSubjectPropertyFromCloudFormation(properties.DirectoryName):void 0),ret.addPropertyResult("dnsName","DnsName",properties.DnsName!=null?cfn_parse().FromCloudFormation.getString(properties.DnsName):void 0),ret.addPropertyResult("ediPartyName","EdiPartyName",properties.EdiPartyName!=null?CfnCertificateEdiPartyNamePropertyFromCloudFormation(properties.EdiPartyName):void 0),ret.addPropertyResult("ipAddress","IpAddress",properties.IpAddress!=null?cfn_parse().FromCloudFormation.getString(properties.IpAddress):void 0),ret.addPropertyResult("otherName","OtherName",properties.OtherName!=null?CfnCertificateOtherNamePropertyFromCloudFormation(properties.OtherName):void 0),ret.addPropertyResult("registeredId","RegisteredId",properties.RegisteredId!=null?cfn_parse().FromCloudFormation.getString(properties.RegisteredId):void 0),ret.addPropertyResult("rfc822Name","Rfc822Name",properties.Rfc822Name!=null?cfn_parse().FromCloudFormation.getString(properties.Rfc822Name):void 0),ret.addPropertyResult("uniformResourceIdentifier","UniformResourceIdentifier",properties.UniformResourceIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.UniformResourceIdentifier):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCertificateExtendedKeyUsagePropertyValidator(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("extendedKeyUsageObjectIdentifier",cdk().validateString)(properties.extendedKeyUsageObjectIdentifier)),errors.collect(cdk().propertyValidator("extendedKeyUsageType",cdk().validateString)(properties.extendedKeyUsageType)),errors.wrap('supplied properties not correct for "ExtendedKeyUsageProperty"')}function convertCfnCertificateExtendedKeyUsagePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCertificateExtendedKeyUsagePropertyValidator(properties).assertSuccess(),{ExtendedKeyUsageObjectIdentifier:cdk().stringToCloudFormation(properties.extendedKeyUsageObjectIdentifier),ExtendedKeyUsageType:cdk().stringToCloudFormation(properties.extendedKeyUsageType)}):properties}function CfnCertificateExtendedKeyUsagePropertyFromCloudFormation(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("extendedKeyUsageObjectIdentifier","ExtendedKeyUsageObjectIdentifier",properties.ExtendedKeyUsageObjectIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.ExtendedKeyUsageObjectIdentifier):void 0),ret.addPropertyResult("extendedKeyUsageType","ExtendedKeyUsageType",properties.ExtendedKeyUsageType!=null?cfn_parse().FromCloudFormation.getString(properties.ExtendedKeyUsageType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCertificateExtensionsPropertyValidator(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("certificatePolicies",cdk().listValidator(CfnCertificatePolicyInformationPropertyValidator))(properties.certificatePolicies)),errors.collect(cdk().propertyValidator("customExtensions",cdk().listValidator(CfnCertificateCustomExtensionPropertyValidator))(properties.customExtensions)),errors.collect(cdk().propertyValidator("extendedKeyUsage",cdk().listValidator(CfnCertificateExtendedKeyUsagePropertyValidator))(properties.extendedKeyUsage)),errors.collect(cdk().propertyValidator("keyUsage",CfnCertificateKeyUsagePropertyValidator)(properties.keyUsage)),errors.collect(cdk().propertyValidator("subjectAlternativeNames",cdk().listValidator(CfnCertificateGeneralNamePropertyValidator))(properties.subjectAlternativeNames)),errors.wrap('supplied properties not correct for "ExtensionsProperty"')}function convertCfnCertificateExtensionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCertificateExtensionsPropertyValidator(properties).assertSuccess(),{CertificatePolicies:cdk().listMapper(convertCfnCertificatePolicyInformationPropertyToCloudFormation)(properties.certificatePolicies),CustomExtensions:cdk().listMapper(convertCfnCertificateCustomExtensionPropertyToCloudFormation)(properties.customExtensions),ExtendedKeyUsage:cdk().listMapper(convertCfnCertificateExtendedKeyUsagePropertyToCloudFormation)(properties.extendedKeyUsage),KeyUsage:convertCfnCertificateKeyUsagePropertyToCloudFormation(properties.keyUsage),SubjectAlternativeNames:cdk().listMapper(convertCfnCertificateGeneralNamePropertyToCloudFormation)(properties.subjectAlternativeNames)}):properties}function CfnCertificateExtensionsPropertyFromCloudFormation(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("certificatePolicies","CertificatePolicies",properties.CertificatePolicies!=null?cfn_parse().FromCloudFormation.getArray(CfnCertificatePolicyInformationPropertyFromCloudFormation)(properties.CertificatePolicies):void 0),ret.addPropertyResult("customExtensions","CustomExtensions",properties.CustomExtensions!=null?cfn_parse().FromCloudFormation.getArray(CfnCertificateCustomExtensionPropertyFromCloudFormation)(properties.CustomExtensions):void 0),ret.addPropertyResult("extendedKeyUsage","ExtendedKeyUsage",properties.ExtendedKeyUsage!=null?cfn_parse().FromCloudFormation.getArray(CfnCertificateExtendedKeyUsagePropertyFromCloudFormation)(properties.ExtendedKeyUsage):void 0),ret.addPropertyResult("keyUsage","KeyUsage",properties.KeyUsage!=null?CfnCertificateKeyUsagePropertyFromCloudFormation(properties.KeyUsage):void 0),ret.addPropertyResult("subjectAlternativeNames","SubjectAlternativeNames",properties.SubjectAlternativeNames!=null?cfn_parse().FromCloudFormation.getArray(CfnCertificateGeneralNamePropertyFromCloudFormation)(properties.SubjectAlternativeNames):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCertificateApiPassthroughPropertyValidator(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("extensions",CfnCertificateExtensionsPropertyValidator)(properties.extensions)),errors.collect(cdk().propertyValidator("subject",CfnCertificateSubjectPropertyValidator)(properties.subject)),errors.wrap('supplied properties not correct for "ApiPassthroughProperty"')}function convertCfnCertificateApiPassthroughPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCertificateApiPassthroughPropertyValidator(properties).assertSuccess(),{Extensions:convertCfnCertificateExtensionsPropertyToCloudFormation(properties.extensions),Subject:convertCfnCertificateSubjectPropertyToCloudFormation(properties.subject)}):properties}function CfnCertificateApiPassthroughPropertyFromCloudFormation(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("extensions","Extensions",properties.Extensions!=null?CfnCertificateExtensionsPropertyFromCloudFormation(properties.Extensions):void 0),ret.addPropertyResult("subject","Subject",properties.Subject!=null?CfnCertificateSubjectPropertyFromCloudFormation(properties.Subject):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCertificatePropsValidator(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("apiPassthrough",CfnCertificateApiPassthroughPropertyValidator)(properties.apiPassthrough)),errors.collect(cdk().propertyValidator("certificateAuthorityArn",cdk().requiredValidator)(properties.certificateAuthorityArn)),errors.collect(cdk().propertyValidator("certificateAuthorityArn",cdk().validateString)(properties.certificateAuthorityArn)),errors.collect(cdk().propertyValidator("certificateSigningRequest",cdk().requiredValidator)(properties.certificateSigningRequest)),errors.collect(cdk().propertyValidator("certificateSigningRequest",cdk().validateString)(properties.certificateSigningRequest)),errors.collect(cdk().propertyValidator("signingAlgorithm",cdk().requiredValidator)(properties.signingAlgorithm)),errors.collect(cdk().propertyValidator("signingAlgorithm",cdk().validateString)(properties.signingAlgorithm)),errors.collect(cdk().propertyValidator("templateArn",cdk().validateString)(properties.templateArn)),errors.collect(cdk().propertyValidator("validity",cdk().requiredValidator)(properties.validity)),errors.collect(cdk().propertyValidator("validity",CfnCertificateValidityPropertyValidator)(properties.validity)),errors.collect(cdk().propertyValidator("validityNotBefore",CfnCertificateValidityPropertyValidator)(properties.validityNotBefore)),errors.wrap('supplied properties not correct for "CfnCertificateProps"')}function convertCfnCertificatePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCertificatePropsValidator(properties).assertSuccess(),{ApiPassthrough:convertCfnCertificateApiPassthroughPropertyToCloudFormation(properties.apiPassthrough),CertificateAuthorityArn:cdk().stringToCloudFormation(properties.certificateAuthorityArn),CertificateSigningRequest:cdk().stringToCloudFormation(properties.certificateSigningRequest),SigningAlgorithm:cdk().stringToCloudFormation(properties.signingAlgorithm),TemplateArn:cdk().stringToCloudFormation(properties.templateArn),Validity:convertCfnCertificateValidityPropertyToCloudFormation(properties.validity),ValidityNotBefore:convertCfnCertificateValidityPropertyToCloudFormation(properties.validityNotBefore)}):properties}function CfnCertificatePropsFromCloudFormation(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("apiPassthrough","ApiPassthrough",properties.ApiPassthrough!=null?CfnCertificateApiPassthroughPropertyFromCloudFormation(properties.ApiPassthrough):void 0),ret.addPropertyResult("certificateAuthorityArn","CertificateAuthorityArn",properties.CertificateAuthorityArn!=null?cfn_parse().FromCloudFormation.getString(properties.CertificateAuthorityArn):void 0),ret.addPropertyResult("certificateSigningRequest","CertificateSigningRequest",properties.CertificateSigningRequest!=null?cfn_parse().FromCloudFormation.getString(properties.CertificateSigningRequest):void 0),ret.addPropertyResult("signingAlgorithm","SigningAlgorithm",properties.SigningAlgorithm!=null?cfn_parse().FromCloudFormation.getString(properties.SigningAlgorithm):void 0),ret.addPropertyResult("templateArn","TemplateArn",properties.TemplateArn!=null?cfn_parse().FromCloudFormation.getString(properties.TemplateArn):void 0),ret.addPropertyResult("validity","Validity",properties.Validity!=null?CfnCertificateValidityPropertyFromCloudFormation(properties.Validity):void 0),ret.addPropertyResult("validityNotBefore","ValidityNotBefore",properties.ValidityNotBefore!=null?CfnCertificateValidityPropertyFromCloudFormation(properties.ValidityNotBefore):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnCertificateAuthority extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_acmpca.CfnCertificateAuthority",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::ACMPCA::CertificateAuthority";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnCertificateAuthorityPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnCertificateAuthority(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 isCfnCertificateAuthority(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnCertificateAuthority.CFN_RESOURCE_TYPE_NAME}static arnForCertificateAuthority(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_acmpca_ICertificateAuthorityRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForCertificateAuthority),error}return resource.certificateAuthorityRef.certificateAuthorityArn}_csrExtensions;_keyAlgorithm;_keyStorageSecurityStandard;_revocationConfiguration;_signingAlgorithm;_subject;tags;_tagsRaw;_type;_usageMode;cfnPropertyNames={csrExtensions:"CsrExtensions",keyAlgorithm:"KeyAlgorithm",keyStorageSecurityStandard:"KeyStorageSecurityStandard",revocationConfiguration:"RevocationConfiguration",signingAlgorithm:"SigningAlgorithm",subject:"Subject",tags:"Tags",type:"Type",usageMode:"UsageMode"};constructor(scope,id,props){super(scope,id,{type:CfnCertificateAuthority.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_acmpca_CfnCertificateAuthorityProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnCertificateAuthority),error}cdk().requireProperty(props,"keyAlgorithm",this),cdk().requireProperty(props,"signingAlgorithm",this),cdk().requireProperty(props,"subject",this),cdk().requireProperty(props,"type",this),this._csrExtensions=props.csrExtensions,this._keyAlgorithm=props.keyAlgorithm,this._keyStorageSecurityStandard=props.keyStorageSecurityStandard,this._revocationConfiguration=props.revocationConfiguration,this._signingAlgorithm=props.signingAlgorithm,this._subject=props.subject,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::ACMPCA::CertificateAuthority",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._type=props.type,this._usageMode=props.usageMode}get certificateAuthorityRef(){return{certificateAuthorityArn:this.ref}}get csrExtensions(){return this._csrExtensions}set csrExtensions(value){cdk().traceProperty(this.node,"CsrExtensions"),this._csrExtensions=value}get keyAlgorithm(){return this._keyAlgorithm}set keyAlgorithm(value){cdk().traceProperty(this.node,"KeyAlgorithm"),this._keyAlgorithm=value}get keyStorageSecurityStandard(){return this._keyStorageSecurityStandard}set keyStorageSecurityStandard(value){cdk().traceProperty(this.node,"KeyStorageSecurityStandard"),this._keyStorageSecurityStandard=value}get revocationConfiguration(){return this._revocationConfiguration}set revocationConfiguration(value){cdk().traceProperty(this.node,"RevocationConfiguration"),this._revocationConfiguration=value}get signingAlgorithm(){return this._signingAlgorithm}set signingAlgorithm(value){cdk().traceProperty(this.node,"SigningAlgorithm"),this._signingAlgorithm=value}get subject(){return this._subject}set subject(value){cdk().traceProperty(this.node,"Subject"),this._subject=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get type(){return this._type}set type(value){cdk().traceProperty(this.node,"Type"),this._type=value}get usageMode(){return this._usageMode}set usageMode(value){cdk().traceProperty(this.node,"UsageMode"),this._usageMode=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrCertificateSigningRequest(){return cdk().Token.asString(this.getAtt("CertificateSigningRequest",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{csrExtensions:this._csrExtensions,keyAlgorithm:this._keyAlgorithm,keyStorageSecurityStandard:this._keyStorageSecurityStandard,revocationConfiguration:this._revocationConfiguration,signingAlgorithm:this._signingAlgorithm,subject:this._subject,tags:this.tags.renderTags(),type:this._type,usageMode:this._usageMode}}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",CfnCertificateAuthority.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnCertificateAuthorityPropsToCloudFormation(props)}}exports.CfnCertificateAuthority=CfnCertificateAuthority;function CfnCertificateAuthorityKeyUsagePropertyValidator(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("crlSign",cdk().validateBoolean)(properties.crlSign)),errors.collect(cdk().propertyValidator("dataEncipherment",cdk().validateBoolean)(properties.dataEncipherment)),errors.collect(cdk().propertyValidator("decipherOnly",cdk().validateBoolean)(properties.decipherOnly)),errors.collect(cdk().propertyValidator("digitalSignature",cdk().validateBoolean)(properties.digitalSignature)),errors.collect(cdk().propertyValidator("encipherOnly",cdk().validateBoolean)(properties.encipherOnly)),errors.collect(cdk().propertyValidator("keyAgreement",cdk().validateBoolean)(properties.keyAgreement)),errors.collect(cdk().propertyValidator("keyCertSign",cdk().validateBoolean)(properties.keyCertSign)),errors.collect(cdk().propertyValidator("keyEncipherment",cdk().validateBoolean)(properties.keyEncipherment)),errors.collect(cdk().propertyValidator("nonRepudiation",cdk().validateBoolean)(properties.nonRepudiation)),errors.wrap('supplied properties not correct for "KeyUsageProperty"')}function convertCfnCertificateAuthorityKeyUsagePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCertificateAuthorityKeyUsagePropertyValidator(properties).assertSuccess(),{CRLSign:cdk().booleanToCloudFormation(properties.crlSign),DataEncipherment:cdk().booleanToCloudFormation(properties.dataEncipherment),DecipherOnly:cdk().booleanToCloudFormation(properties.decipherOnly),DigitalSignature:cdk().booleanToCloudFormation(properties.digitalSignature),EncipherOnly:cdk().booleanToCloudFormation(properties.encipherOnly),KeyAgreement:cdk().booleanToCloudFormation(properties.keyAgreement),KeyCertSign:cdk().booleanToCloudFormation(properties.keyCertSign),KeyEncipherment:cdk().booleanToCloudFormation(properties.keyEncipherment),NonRepudiation:cdk().booleanToCloudFormation(properties.nonRepudiation)}):properties}function CfnCertificateAuthorityKeyUsagePropertyFromCloudFormation(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("crlSign","CRLSign",properties.CRLSign!=null?cfn_parse().FromCloudFormation.getBoolean(properties.CRLSign):void 0),ret.addPropertyResult("dataEncipherment","DataEncipherment",properties.DataEncipherment!=null?cfn_parse().FromCloudFormation.getBoolean(properties.DataEncipherment):void 0),ret.addPropertyResult("decipherOnly","DecipherOnly",properties.DecipherOnly!=null?cfn_parse().FromCloudFormation.getBoolean(properties.DecipherOnly):void 0),ret.addPropertyResult("digitalSignature","DigitalSignature",properties.DigitalSignature!=null?cfn_parse().FromCloudFormation.getBoolean(properties.DigitalSignature):void 0),ret.addPropertyResult("encipherOnly","EncipherOnly",properties.EncipherOnly!=null?cfn_parse().FromCloudFormation.getBoolean(properties.EncipherOnly):void 0),ret.addPropertyResult("keyAgreement","KeyAgreement",properties.KeyAgreement!=null?cfn_parse().FromCloudFormation.getBoolean(properties.KeyAgreement):void 0),ret.addPropertyResult("keyCertSign","KeyCertSign",properties.KeyCertSign!=null?cfn_parse().FromCloudFormation.getBoolean(properties.KeyCertSign):void 0),ret.addPropertyResult("keyEncipherment","KeyEncipherment",properties.KeyEncipherment!=null?cfn_parse().FromCloudFormation.getBoolean(properties.KeyEncipherment):void 0),ret.addPropertyResult("nonRepudiation","NonRepudiation",properties.NonRepudiation!=null?cfn_parse().FromCloudFormation.getBoolean(properties.NonRepudiation):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCertificateAuthorityAccessMethodPropertyValidator(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("accessMethodType",cdk().validateString)(properties.accessMethodType)),errors.collect(cdk().propertyValidator("customObjectIdentifier",cdk().validateString)(properties.customObjectIdentifier)),errors.wrap('supplied properties not correct for "AccessMethodProperty"')}function convertCfnCertificateAuthorityAccessMethodPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCertificateAuthorityAccessMethodPropertyValidator(properties).assertSuccess(),{AccessMethodType:cdk().stringToCloudFormation(properties.accessMethodType),CustomObjectIdentifier:cdk().stringToCloudFormation(properties.customObjectIdentifier)}):properties}function CfnCertificateAuthorityAccessMethodPropertyFromCloudFormation(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("accessMethodType","AccessMethodType",properties.AccessMethodType!=null?cfn_parse().FromCloudFormation.getString(properties.AccessMethodType):void 0),ret.addPropertyResult("customObjectIdentifier","CustomObjectIdentifier",properties.CustomObjectIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.CustomObjectIdentifier):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCertificateAuthorityEdiPartyNamePropertyValidator(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("nameAssigner",cdk().validateString)(properties.nameAssigner)),errors.collect(cdk().propertyValidator("partyName",cdk().requiredValidator)(properties.partyName)),errors.collect(cdk().propertyValidator("partyName",cdk().validateString)(properties.partyName)),errors.wrap('supplied properties not correct for "EdiPartyNameProperty"')}function convertCfnCertificateAuthorityEdiPartyNamePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCertificateAuthorityEdiPartyNamePropertyValidator(properties).assertSuccess(),{NameAssigner:cdk().stringToCloudFormation(properties.nameAssigner),PartyName:cdk().stringToCloudFormation(properties.partyName)}):properties}function CfnCertificateAuthorityEdiPartyNamePropertyFromCloudFormation(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("nameAssigner","NameAssigner",properties.NameAssigner!=null?cfn_parse().FromCloudFormation.getString(properties.NameAssigner):void 0),ret.addPropertyResult("partyName","PartyName",properties.PartyName!=null?cfn_parse().FromCloudFormation.getString(properties.PartyName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCertificateAuthorityOtherNamePropertyValidator(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("typeId",cdk().requiredValidator)(properties.typeId)),errors.collect(cdk().propertyValidator("typeId",cdk().validateString)(properties.typeId)),errors.collect(cdk().propertyValidator("value",cdk().requiredValidator)(properties.value)),errors.collect(cdk().propertyValidator("value",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "OtherNameProperty"')}function convertCfnCertificateAuthorityOtherNamePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCertificateAuthorityOtherNamePropertyValidator(properties).assertSuccess(),{TypeId:cdk().stringToCloudFormation(properties.typeId),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnCertificateAuthorityOtherNamePropertyFromCloudFormation(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("typeId","TypeId",properties.TypeId!=null?cfn_parse().FromCloudFormation.getString(properties.TypeId):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCertificateAuthorityCustomAttributePropertyValidator(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("objectIdentifier",cdk().requiredValidator)(properties.objectIdentifier)),errors.collect(cdk().propertyValidator("objectIdentifier",cdk().validateString)(properties.objectIdentifier)),errors.collect(cdk().propertyValidator("value",cdk().requiredValidator)(properties.value)),errors.collect(cdk().propertyValidator("value",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "CustomAttributeProperty"')}function convertCfnCertificateAuthorityCustomAttributePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCertificateAuthorityCustomAttributePropertyValidator(properties).assertSuccess(),{ObjectIdentifier:cdk().stringToCloudFormation(properties.objectIdentifier),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnCertificateAuthorityCustomAttributePropertyFromCloudFormation(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("objectIdentifier","ObjectIdentifier",properties.ObjectIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.ObjectIdentifier):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCertificateAuthoritySubjectPropertyValidator(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("commonName",cdk().validateString)(properties.commonName)),errors.collect(cdk().propertyValidator("country",cdk().validateString)(properties.country)),errors.collect(cdk().propertyValidator("customAttributes",cdk().listValidator(CfnCertificateAuthorityCustomAttributePropertyValidator))(properties.customAttributes)),errors.collect(cdk().propertyValidator("distinguishedNameQualifier",cdk().validateString)(properties.distinguishedNameQualifier)),errors.collect(cdk().propertyValidator("generationQualifier",cdk().validateString)(properties.generationQualifier)),errors.collect(cdk().propertyValidator("givenName",cdk().validateString)(properties.givenName)),errors.collect(cdk().propertyValidator("initials",cdk().validateString)(properties.initials)),errors.collect(cdk().propertyValidator("locality",cdk().validateString)(properties.locality)),errors.collect(cdk().propertyValidator("organization",cdk().validateString)(properties.organization)),errors.collect(cdk().propertyValidator("organizationalUnit",cdk().validateString)(properties.organizationalUnit)),errors.collect(cdk().propertyValidator("pseudonym",cdk().validateString)(properties.pseudonym)),errors.collect(cdk().propertyValidator("serialNumber",cdk().validateString)(properties.serialNumber)),errors.collect(cdk().propertyValidator("state",cdk().validateString)(properties.state)),errors.collect(cdk().propertyValidator("surname",cdk().validateString)(properties.surname)),errors.collect(cdk().propertyValidator("title",cdk().validateString)(properties.title)),errors.wrap('supplied properties not correct for "SubjectProperty"')}function convertCfnCertificateAuthoritySubjectPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCertificateAuthoritySubjectPropertyValidator(properties).assertSuccess(),{CommonName:cdk().stringToCloudFormation(properties.commonName),Country:cdk().stringToCloudFormation(properties.country),CustomAttributes:cdk().listMapper(convertCfnCertificateAuthorityCustomAttributePropertyToCloudFormation)(properties.customAttributes),DistinguishedNameQualifier:cdk().stringToCloudFormation(properties.distinguishedNameQualifier),GenerationQualifier:cdk().stringToCloudFormation(properties.generationQualifier),GivenName:cdk().stringToCloudFormation(properties.givenName),Initials:cdk().stringToCloudFormation(properties.initials),Locality:cdk().stringToCloudFormation(properties.locality),Organization:cdk().stringToCloudFormation(properties.organization),OrganizationalUnit:cdk().stringToCloudFormation(properties.organizationalUnit),Pseudonym:cdk().stringToCloudFormation(properties.pseudonym),SerialNumber:cdk().stringToCloudFormation(properties.serialNumber),State:cdk().stringToCloudFormation(properties.state),Surname:cdk().stringToCloudFormation(properties.surname),Title:cdk().stringToCloudFormation(properties.title)}):properties}function CfnCertificateAuthoritySubjectPropertyFromCloudFormation(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("commonName","CommonName",properties.CommonName!=null?cfn_parse().FromCloudFormation.getString(properties.CommonName):void 0),ret.addPropertyResult("country","Country",properties.Country!=null?cfn_parse().FromCloudFormation.getString(properties.Country):void 0),ret.addPropertyResult("customAttributes","CustomAttributes",properties.CustomAttributes!=null?cfn_parse().FromCloudFormation.getArray(CfnCertificateAuthorityCustomAttributePropertyFromCloudFormation)(properties.CustomAttributes):void 0),ret.addPropertyResult("distinguishedNameQualifier","DistinguishedNameQualifier",properties.DistinguishedNameQualifier!=null?cfn_parse().FromCloudFormation.getString(properties.DistinguishedNameQualifier):void 0),ret.addPropertyResult("generationQualifier","GenerationQualifier",properties.GenerationQualifier!=null?cfn_parse().FromCloudFormation.getString(properties.GenerationQualifier):void 0),ret.addPropertyResult("givenName","GivenName",properties.GivenName!=null?cfn_parse().FromCloudFormation.getString(properties.GivenName):void 0),ret.addPropertyResult("initials","Initials",properties.Initials!=null?cfn_parse().FromCloudFormation.getString(properties.Initials):void 0),ret.addPropertyResult("locality","Locality",properties.Locality!=null?cfn_parse().FromCloudFormation.getString(properties.Locality):void 0),ret.addPropertyResult("organization","Organization",properties.Organization!=null?cfn_parse().FromCloudFormation.getString(properties.Organization):void 0),ret.addPropertyResult("organizationalUnit","OrganizationalUnit",properties.OrganizationalUnit!=null?cfn_parse().FromCloudFormation.getString(properties.OrganizationalUnit):void 0),ret.addPropertyResult("pseudonym","Pseudonym",properties.Pseudonym!=null?cfn_parse().FromCloudFormation.getString(properties.Pseudonym):void 0),ret.addPropertyResult("serialNumber","SerialNumber",properties.SerialNumber!=null?cfn_parse().FromCloudFormation.getString(properties.SerialNumber):void 0),ret.addPropertyResult("state","State",properties.State!=null?cfn_parse().FromCloudFormation.getString(properties.State):void 0),ret.addPropertyResult("surname","Surname",properties.Surname!=null?cfn_parse().FromCloudFormation.getString(properties.Surname):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?cfn_parse().FromCloudFormation.getString(properties.Title):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCertificateAuthorityGeneralNamePropertyValidator(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("directoryName",CfnCertificateAuthoritySubjectPropertyValidator)(properties.directoryName)),errors.collect(cdk().propertyValidator("dnsName",cdk().validateString)(properties.dnsName)),errors.collect(cdk().propertyValidator("ediPartyName",CfnCertificateAuthorityEdiPartyNamePropertyValidator)(properties.ediPartyName)),errors.collect(cdk().propertyValidator("ipAddress",cdk().validateString)(properties.ipAddress)),errors.collect(cdk().propertyValidator("otherName",CfnCertificateAuthorityOtherNamePropertyValidator)(properties.otherName)),errors.collect(cdk().propertyValidator("registeredId",cdk().validateString)(properties.registeredId)),errors.collect(cdk().propertyValidator("rfc822Name",cdk().validateString)(properties.rfc822Name)),errors.collect(cdk().propertyValidator("uniformResourceIdentifier",cdk().validateString)(properties.uniformResourceIdentifier)),errors.wrap('supplied properties not correct for "GeneralNameProperty"')}function convertCfnCertificateAuthorityGeneralNamePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCertificateAuthorityGeneralNamePropertyValidator(properties).assertSuccess(),{DirectoryName:convertCfnCertificateAuthoritySubjectPropertyToCloudFormation(properties.directoryName),DnsName:cdk().stringToCloudFormation(properties.dnsName),EdiPartyName:convertCfnCertificateAuthorityEdiPartyNamePropertyToCloudFormation(properties.ediPartyName),IpAddress:cdk().stringToCloudFormation(properties.ipAddress),OtherName:convertCfnCertificateAuthorityOtherNamePropertyToCloudFormation(properties.otherName),RegisteredId:cdk().stringToCloudFormation(properties.registeredId),Rfc822Name:cdk().stringToCloudFormation(properties.rfc822Name),UniformResourceIdentifier:cdk().stringToCloudFormation(properties.uniformResourceIdentifier)}):properties}function CfnCertificateAuthorityGeneralNamePropertyFromCloudFormation(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("directoryName","DirectoryName",properties.DirectoryName!=null?CfnCertificateAuthoritySubjectPropertyFromCloudFormation(properties.DirectoryName):void 0),ret.addPropertyResult("dnsName","DnsName",properties.DnsName!=null?cfn_parse().FromCloudFormation.getString(properties.DnsName):void 0),ret.addPropertyResult("ediPartyName","EdiPartyName",properties.EdiPartyName!=null?CfnCertificateAuthorityEdiPartyNamePropertyFromCloudFormation(properties.EdiPartyName):void 0),ret.addPropertyResult("ipAddress","IpAddress",properties.IpAddress!=null?cfn_parse().FromCloudFormation.getString(properties.IpAddress):void 0),ret.addPropertyResult("otherName","OtherName",properties.OtherName!=null?CfnCertificateAuthorityOtherNamePropertyFromCloudFormation(properties.OtherName):void 0),ret.addPropertyResult("registeredId","RegisteredId",properties.RegisteredId!=null?cfn_parse().FromCloudFormation.getString(properties.RegisteredId):void 0),ret.addPropertyResult("rfc822Name","Rfc822Name",properties.Rfc822Name!=null?cfn_parse().FromCloudFormation.getString(properties.Rfc822Name):void 0),ret.addPropertyResult("uniformResourceIdentifier","UniformResourceIdentifier",properties.UniformResourceIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.UniformResourceIdentifier):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCertificateAuthorityAccessDescriptionPropertyValidator(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("accessLocation",cdk().requiredValidator)(properties.accessLocation)),errors.collect(cdk().propertyValidator("accessLocation",CfnCertificateAuthorityGeneralNamePropertyValidator)(properties.accessLocation)),errors.collect(cdk().propertyValidator("accessMethod",cdk().requiredValidator)(properties.accessMethod)),errors.collect(cdk().propertyValidator("accessMethod",CfnCertificateAuthorityAccessMethodPropertyValidator)(properties.accessMethod)),errors.wrap('supplied properties not correct for "AccessDescriptionProperty"')}function convertCfnCertificateAuthorityAccessDescriptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCertificateAuthorityAccessDescriptionPropertyValidator(properties).assertSuccess(),{AccessLocation:convertCfnCertificateAuthorityGeneralNamePropertyToCloudFormation(properties.accessLocation),AccessMethod:convertCfnCertificateAuthorityAccessMethodPropertyToCloudFormation(properties.accessMethod)}):properties}function CfnCertificateAuthorityAccessDescriptionPropertyFromCloudFormation(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("accessLocation","AccessLocation",properties.AccessLocation!=null?CfnCertificateAuthorityGeneralNamePropertyFromCloudFormation(properties.AccessLocation):void 0),ret.addPropertyResult("accessMethod","AccessMethod",properties.AccessMethod!=null?CfnCertificateAuthorityAccessMethodPropertyFromCloudFormation(properties.AccessMethod):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCertificateAuthorityCsrExtensionsPropertyValidator(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("keyUsage",CfnCertificateAuthorityKeyUsagePropertyValidator)(properties.keyUsage)),errors.collect(cdk().propertyValidator("subjectInformationAccess",cdk().listValidator(CfnCertificateAuthorityAccessDescriptionPropertyValidator))(properties.subjectInformationAccess)),errors.wrap('supplied properties not correct for "CsrExtensionsProperty"')}function convertCfnCertificateAuthorityCsrExtensionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCertificateAuthorityCsrExtensionsPropertyValidator(properties).assertSuccess(),{KeyUsage:convertCfnCertificateAuthorityKeyUsagePropertyToCloudFormation(properties.keyUsage),SubjectInformationAccess:cdk().listMapper(convertCfnCertificateAuthorityAccessDescriptionPropertyToCloudFormation)(properties.subjectInformationAccess)}):properties}function CfnCertificateAuthorityCsrExtensionsPropertyFromCloudFormation(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("keyUsage","KeyUsage",properties.KeyUsage!=null?CfnCertificateAuthorityKeyUsagePropertyFromCloudFormation(properties.KeyUsage):void 0),ret.addPropertyResult("subjectInformationAccess","SubjectInformationAccess",properties.SubjectInformationAccess!=null?cfn_parse().FromCloudFormation.getArray(CfnCertificateAuthorityAccessDescriptionPropertyFromCloudFormation)(properties.SubjectInformationAccess):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCertificateAuthorityOcspConfigurationPropertyValidator(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("enabled",cdk().requiredValidator)(properties.enabled)),errors.collect(cdk().propertyValidator("enabled",cdk().validateBoolean)(properties.enabled)),errors.collect(cdk().propertyValidator("ocspCustomCname",cdk().validateString)(properties.ocspCustomCname)),errors.wrap('supplied properties not correct for "OcspConfigurationProperty"')}function convertCfnCertificateAuthorityOcspConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCertificateAuthorityOcspConfigurationPropertyValidator(properties).assertSuccess(),{Enabled:cdk().booleanToCloudFormation(properties.enabled),OcspCustomCname:cdk().stringToCloudFormation(properties.ocspCustomCname)}):properties}function CfnCertificateAuthorityOcspConfigurationPropertyFromCloudFormation(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("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addPropertyResult("ocspCustomCname","OcspCustomCname",properties.OcspCustomCname!=null?cfn_parse().FromCloudFormation.getString(properties.OcspCustomCname):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCertificateAuthorityCrlDistributionPointExtensionConfigurationPropertyValidator(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("omitExtension",cdk().requiredValidator)(properties.omitExtension)),errors.collect(cdk().propertyValidator("omitExtension",cdk().validateBoolean)(properties.omitExtension)),errors.wrap('supplied properties not correct for "CrlDistributionPointExtensionConfigurationProperty"')}function convertCfnCertificateAuthorityCrlDistributionPointExtensionConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCertificateAuthorityCrlDistributionPointExtensionConfigurationPropertyValidator(properties).assertSuccess(),{OmitExtension:cdk().booleanToCloudFormation(properties.omitExtension)}):properties}function CfnCertificateAuthorityCrlDistributionPointExtensionConfigurationPropertyFromCloudFormation(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("omitExtension","OmitExtension",properties.OmitExtension!=null?cfn_parse().FromCloudFormation.getBoolean(properties.OmitExtension):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCertificateAuthorityCrlConfigurationPropertyValidator(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("crlDistributionPointExtensionConfiguration",CfnCertificateAuthorityCrlDistributionPointExtensionConfigurationPropertyValidator)(properties.crlDistributionPointExtensionConfiguration)),errors.collect(cdk().propertyValidator("crlType",cdk().validateString)(properties.crlType)),errors.collect(cdk().propertyValidator("customCname",cdk().validateString)(properties.customCname)),errors.collect(cdk().propertyValidator("customPath",cdk().validateString)(properties.customPath)),errors.collect(cdk().propertyValidator("enabled",cdk().requiredValidator)(properties.enabled)),errors.collect(cdk().propertyValidator("enabled",cdk().validateBoolean)(properties.enabled)),errors.collect(cdk().propertyValidator("expirationInDays",cdk().validateNumber)(properties.expirationInDays)),errors.collect(cdk().propertyValidator("s3BucketName",cdk().validateString)(properties.s3BucketName)),errors.collect(cdk().propertyValidator("s3ObjectAcl",cdk().validateString)(properties.s3ObjectAcl)),errors.wrap('supplied properties not correct for "CrlConfigurationProperty"')}function convertCfnCertificateAuthorityCrlConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCertificateAuthorityCrlConfigurationPropertyValidator(properties).assertSuccess(),{CrlDistributionPointExtensionConfiguration:convertCfnCertificateAuthorityCrlDistributionPointExtensionConfigurationPropertyToCloudFormation(properties.crlDistributionPointExtensionConfiguration),CrlType:cdk().stringToCloudFormation(properties.crlType),CustomCname:cdk().stringToCloudFormation(properties.customCname),CustomPath:cdk().stringToCloudFormation(properties.customPath),Enabled:cdk().booleanToCloudFormation(properties.enabled),ExpirationInDays:cdk().numberToCloudFormation(properties.expirationInDays),S3BucketName:cdk().stringToCloudFormation(properties.s3BucketName),S3ObjectAcl:cdk().stringToCloudFormation(properties.s3ObjectAcl)}):properties}function CfnCertificateAuthorityCrlConfigurationPropertyFromCloudFormation(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("crlDistributionPointExtensionConfiguration","CrlDistributionPointExtensionConfiguration",properties.CrlDistributionPointExtensionConfiguration!=null?CfnCertificateAuthorityCrlDistributionPointExtensionConfigurationPropertyFromCloudFormation(properties.CrlDistributionPointExtensionConfiguration):void 0),ret.addPropertyResult("crlType","CrlType",properties.CrlType!=null?cfn_parse().FromCloudFormation.getString(properties.CrlType):void 0),ret.addPropertyResult("customCname","CustomCname",properties.CustomCname!=null?cfn_parse().FromCloudFormation.getString(properties.CustomCname):void 0),ret.addPropertyResult("customPath","CustomPath",properties.CustomPath!=null?cfn_parse().FromCloudFormation.getString(properties.CustomPath):void 0),ret.addPropertyResult("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addPropertyResult("expirationInDays","ExpirationInDays",properties.ExpirationInDays!=null?cfn_parse().FromCloudFormation.getNumber(properties.ExpirationInDays):void 0),ret.addPropertyResult("s3BucketName","S3BucketName",properties.S3BucketName!=null?cfn_parse().FromCloudFormation.getString(properties.S3BucketName):void 0),ret.addPropertyResult("s3ObjectAcl","S3ObjectAcl",properties.S3ObjectAcl!=null?cfn_parse().FromCloudFormation.getString(properties.S3ObjectAcl):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCertificateAuthorityRevocationConfigurationPropertyValidator(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("crlConfiguration",CfnCertificateAuthorityCrlConfigurationPropertyValidator)(properties.crlConfiguration)),errors.collect(cdk().propertyValidator("ocspConfiguration",CfnCertificateAuthorityOcspConfigurationPropertyValidator)(properties.ocspConfiguration)),errors.wrap('supplied properties not correct for "RevocationConfigurationProperty"')}function convertCfnCertificateAuthorityRevocationConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCertificateAuthorityRevocationConfigurationPropertyValidator(properties).assertSuccess(),{CrlConfiguration:convertCfnCertificateAuthorityCrlConfigurationPropertyToCloudFormation(properties.crlConfiguration),OcspConfiguration:convertCfnCertificateAuthorityOcspConfigurationPropertyToCloudFormation(properties.ocspConfiguration)}):properties}function CfnCertificateAuthorityRevocationConfigurationPropertyFromCloudFormation(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("crlConfiguration","CrlConfiguration",properties.CrlConfiguration!=null?CfnCertificateAuthorityCrlConfigurationPropertyFromCloudFormation(properties.CrlConfiguration):void 0),ret.addPropertyResult("ocspConfiguration","OcspConfiguration",properties.OcspConfiguration!=null?CfnCertificateAuthorityOcspConfigurationPropertyFromCloudFormation(properties.OcspConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCertificateAuthorityPropsValidator(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("csrExtensions",CfnCertificateAuthorityCsrExtensionsPropertyValidator)(properties.csrExtensions)),errors.collect(cdk().propertyValidator("keyAlgorithm",cdk().requiredValidator)(properties.keyAlgorithm)),errors.collect(cdk().propertyValidator("keyAlgorithm",cdk().validateString)(properties.keyAlgorithm)),errors.collect(cdk().propertyValidator("keyStorageSecurityStandard",cdk().validateString)(properties.keyStorageSecurityStandard)),errors.collect(cdk().propertyValidator("revocationConfiguration",CfnCertificateAuthorityRevocationConfigurationPropertyValidator)(properties.revocationConfiguration)),errors.collect(cdk().propertyValidator("signingAlgorithm",cdk().requiredValidator)(properties.signingAlgorithm)),errors.collect(cdk().propertyValidator("signingAlgorithm",cdk().validateString)(properties.signingAlgorithm)),errors.collect(cdk().propertyValidator("subject",cdk().requiredValidator)(properties.subject)),errors.collect(cdk().propertyValidator("subject",CfnCertificateAuthoritySubjectPropertyValidator)(properties.subject)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.collect(cdk().propertyValidator("usageMode",cdk().validateString)(properties.usageMode)),errors.wrap('supplied properties not correct for "CfnCertificateAuthorityProps"')}function convertCfnCertificateAuthorityPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCertificateAuthorityPropsValidator(properties).assertSuccess(),{CsrExtensions:convertCfnCertificateAuthorityCsrExtensionsPropertyToCloudFormation(properties.csrExtensions),KeyAlgorithm:cdk().stringToCloudFormation(properties.keyAlgorithm),KeyStorageSecurityStandard:cdk().stringToCloudFormation(properties.keyStorageSecurityStandard),RevocationConfiguration:convertCfnCertificateAuthorityRevocationConfigurationPropertyToCloudFormation(properties.revocationConfiguration),SigningAlgorithm:cdk().stringToCloudFormation(properties.signingAlgorithm),Subject:convertCfnCertificateAuthoritySubjectPropertyToCloudFormation(properties.subject),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),Type:cdk().stringToCloudFormation(properties.type),UsageMode:cdk().stringToCloudFormation(properties.usageMode)}):properties}function CfnCertificateAuthorityPropsFromCloudFormation(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("csrExtensions","CsrExtensions",properties.CsrExtensions!=null?CfnCertificateAuthorityCsrExtensionsPropertyFromCloudFormation(properties.CsrExtensions):void 0),ret.addPropertyResult("keyAlgorithm","KeyAlgorithm",properties.KeyAlgorithm!=null?cfn_parse().FromCloudFormation.getString(properties.KeyAlgorithm):void 0),ret.addPropertyResult("keyStorageSecurityStandard","KeyStorageSecurityStandard",properties.KeyStorageSecurityStandard!=null?cfn_parse().FromCloudFormation.getString(properties.KeyStorageSecurityStandard):void 0),ret.addPropertyResult("revocationConfiguration","RevocationConfiguration",properties.RevocationConfiguration!=null?CfnCertificateAuthorityRevocationConfigurationPropertyFromCloudFormation(properties.RevocationConfiguration):void 0),ret.addPropertyResult("signingAlgorithm","SigningAlgorithm",properties.SigningAlgorithm!=null?cfn_parse().FromCloudFormation.getString(properties.SigningAlgorithm):void 0),ret.addPropertyResult("subject","Subject",properties.Subject!=null?CfnCertificateAuthoritySubjectPropertyFromCloudFormation(properties.Subject):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addPropertyResult("usageMode","UsageMode",properties.UsageMode!=null?cfn_parse().FromCloudFormation.getString(properties.UsageMode):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnCertificateAuthorityActivation extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_acmpca.CfnCertificateAuthorityActivation",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::ACMPCA::CertificateAuthorityActivation";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnCertificateAuthorityActivationPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnCertificateAuthorityActivation(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 isCfnCertificateAuthorityActivation(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnCertificateAuthorityActivation.CFN_RESOURCE_TYPE_NAME}_certificate;_certificateAuthorityArn;_certificateChain;_status;cfnPropertyNames={certificate:"Certificate",certificateAuthorityArn:"CertificateAuthorityArn",certificateChain:"CertificateChain",status:"Status"};constructor(scope,id,props){super(scope,id,{type:CfnCertificateAuthorityActivation.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_acmpca_CfnCertificateAuthorityActivationProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnCertificateAuthorityActivation),error}cdk().requireProperty(props,"certificate",this),cdk().requireProperty(props,"certificateAuthorityArn",this),this._certificate=props.certificate,this._certificateAuthorityArn=cdk().getRefProperty(props.certificateAuthorityArn?.certificateAuthorityRef,"certificateAuthorityArn")??cdk().ensureStringOrUndefined(props.certificateAuthorityArn,"certificateAuthorityArn","acmpca.ICertificateAuthorityRef | string"),this._certificateChain=props.certificateChain,this._status=props.status}get certificateAuthorityActivationRef(){return{certificateAuthorityArn:this.ref}}get certificate(){return this._certificate}set certificate(value){cdk().traceProperty(this.node,"Certificate"),this._certificate=value}get certificateAuthorityArn(){return this._certificateAuthorityArn}set certificateAuthorityArn(value){cdk().traceProperty(this.node,"CertificateAuthorityArn"),this._certificateAuthorityArn=value}get certificateChain(){return this._certificateChain}set certificateChain(value){cdk().traceProperty(this.node,"CertificateChain"),this._certificateChain=value}get status(){return this._status}set status(value){cdk().traceProperty(this.node,"Status"),this._status=value}get attrCompleteCertificateChain(){return cdk().Token.asString(this.getAtt("CompleteCertificateChain",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{certificate:this._certificate,certificateAuthorityArn:this._certificateAuthorityArn,certificateChain:this._certificateChain,status:this._status}}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",CfnCertificateAuthorityActivation.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnCertificateAuthorityActivationPropsToCloudFormation(props)}}exports.CfnCertificateAuthorityActivation=CfnCertificateAuthorityActivation;function CfnCertificateAuthorityActivationPropsValidator(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("certificate",cdk().requiredValidator)(properties.certificate)),errors.collect(cdk().propertyValidator("certificate",cdk().validateString)(properties.certificate)),errors.collect(cdk().propertyValidator("certificateAuthorityArn",cdk().requiredValidator)(properties.certificateAuthorityArn)),errors.collect(cdk().propertyValidator("certificateAuthorityArn",cdk().validateString)(properties.certificateAuthorityArn)),errors.collect(cdk().propertyValidator("certificateChain",cdk().validateString)(properties.certificateChain)),errors.collect(cdk().propertyValidator("status",cdk().validateString)(properties.status)),errors.wrap('supplied properties not correct for "CfnCertificateAuthorityActivationProps"')}function convertCfnCertificateAuthorityActivationPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCertificateAuthorityActivationPropsValidator(properties).assertSuccess(),{Certificate:cdk().stringToCloudFormation(properties.certificate),CertificateAuthorityArn:cdk().stringToCloudFormation(properties.certificateAuthorityArn),CertificateChain:cdk().stringToCloudFormation(properties.certificateChain),Status:cdk().stringToCloudFormation(properties.status)}):properties}function CfnCertificateAuthorityActivationPropsFromCloudFormation(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("certificate","Certificate",properties.Certificate!=null?cfn_parse().FromCloudFormation.getString(properties.Certificate):void 0),ret.addPropertyResult("certificateAuthorityArn","CertificateAuthorityArn",properties.CertificateAuthorityArn!=null?cfn_parse().FromCloudFormation.getString(properties.CertificateAuthorityArn):void 0),ret.addPropertyResult("certificateChain","CertificateChain",properties.CertificateChain!=null?cfn_parse().FromCloudFormation.getString(properties.CertificateChain):void 0),ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse().FromCloudFormation.getString(properties.Status):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnPermission extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_acmpca.CfnPermission",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::ACMPCA::Permission";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnPermissionPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnPermission(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 isCfnPermission(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnPermission.CFN_RESOURCE_TYPE_NAME}_actions;_certificateAuthorityArn;_principal;_sourceAccount;cfnPropertyNames={actions:"Actions",certificateAuthorityArn:"CertificateAuthorityArn",principal:"Principal",sourceAccount:"SourceAccount"};constructor(scope,id,props){super(scope,id,{type:CfnPermission.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_acmpca_CfnPermissionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnPermission),error}cdk().requireProperty(props,"actions",this),cdk().requireProperty(props,"certificateAuthorityArn",this),cdk().requireProperty(props,"principal",this),this._actions=props.actions,this._certificateAuthorityArn=cdk().getRefProperty(props.certificateAuthorityArn?.certificateAuthorityRef,"certificateAuthorityArn")??cdk().ensureStringOrUndefined(props.certificateAuthorityArn,"certificateAuthorityArn","acmpca.ICertificateAuthorityRef | string"),this._principal=props.principal,this._sourceAccount=props.sourceAccount}get permissionRef(){return{certificateAuthorityArn:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),principal:cdk().Fn.select(1,cdk().Fn.split("|",this.ref))}}get actions(){return this._actions}set actions(value){cdk().traceProperty(this.node,"Actions"),this._actions=value}get certificateAuthorityArn(){return this._certificateAuthorityArn}set certificateAuthorityArn(value){cdk().traceProperty(this.node,"CertificateAuthorityArn"),this._certificateAuthorityArn=value}get principal(){return this._principal}set principal(value){cdk().traceProperty(this.node,"Principal"),this._principal=value}get sourceAccount(){return this._sourceAccount}set sourceAccount(value){cdk().traceProperty(this.node,"SourceAccount"),this._sourceAccount=value}get cfnProperties(){return{actions:this._actions,certificateAuthorityArn:this._certificateAuthorityArn,principal:this._principal,sourceAccount:this._sourceAccount}}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",CfnPermission.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnPermissionPropsToCloudFormation(props)}}exports.CfnPermission=CfnPermission;function CfnPermissionPropsValidator(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("actions",cdk().requiredValidator)(properties.actions)),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(cdk().validateString))(properties.actions)),errors.collect(cdk().propertyValidator("certificateAuthorityArn",cdk().requiredValidator)(properties.certificateAuthorityArn)),errors.collect(cdk().propertyValidator("certificateAuthorityArn",cdk().validateString)(properties.certificateAuthorityArn)),errors.collect(cdk().propertyValidator("principal",cdk().requiredValidator)(properties.principal)),errors.collect(cdk().propertyValidator("principal",cdk().validateString)(properties.principal)),errors.collect(cdk().propertyValidator("sourceAccount",cdk().validateString)(properties.sourceAccount)),errors.wrap('supplied properties not correct for "CfnPermissionProps"')}function convertCfnPermissionPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPermissionPropsValidator(properties).assertSuccess(),{Actions:cdk().listMapper(cdk().stringToCloudFormation)(properties.actions),CertificateAuthorityArn:cdk().stringToCloudFormation(properties.certificateAuthorityArn),Principal:cdk().stringToCloudFormation(properties.principal),SourceAccount:cdk().stringToCloudFormation(properties.sourceAccount)}):properties}function CfnPermissionPropsFromCloudFormation(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("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Actions):void 0),ret.addPropertyResult("certificateAuthorityArn","CertificateAuthorityArn",properties.CertificateAuthorityArn!=null?cfn_parse().FromCloudFormation.getString(properties.CertificateAuthorityArn):void 0),ret.addPropertyResult("principal","Principal",properties.Principal!=null?cfn_parse().FromCloudFormation.getString(properties.Principal):void 0),ret.addPropertyResult("sourceAccount","SourceAccount",properties.SourceAccount!=null?cfn_parse().FromCloudFormation.getString(properties.SourceAccount):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}