aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
1 lines • 84 kB
JavaScript
"use strict";var _a,_b;Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnApplication=exports.CfnDomain=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");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 CfnDomain extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDomainPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnDomain(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}constructor(scope,id,props={}){super(scope,id,{type:CfnDomain.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_opensearchservice_CfnDomainProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDomain),error}this.attrAdvancedSecurityOptionsAnonymousAuthDisableDate=cdk().Token.asString(this.getAtt("AdvancedSecurityOptions.AnonymousAuthDisableDate",cdk().ResolutionTypeHint.STRING)),this.attrArn=cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING)),this.attrDomainEndpoint=cdk().Token.asString(this.getAtt("DomainEndpoint",cdk().ResolutionTypeHint.STRING)),this.attrDomainEndpoints=this.getAtt("DomainEndpoints"),this.attrDomainEndpointV2=cdk().Token.asString(this.getAtt("DomainEndpointV2",cdk().ResolutionTypeHint.STRING)),this.attrId=cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING)),this.attrIdentityCenterOptionsIdentityCenterApplicationArn=cdk().Token.asString(this.getAtt("IdentityCenterOptions.IdentityCenterApplicationARN",cdk().ResolutionTypeHint.STRING)),this.attrIdentityCenterOptionsIdentityStoreId=cdk().Token.asString(this.getAtt("IdentityCenterOptions.IdentityStoreId",cdk().ResolutionTypeHint.STRING)),this.attrServiceSoftwareOptions=this.getAtt("ServiceSoftwareOptions"),this.attrServiceSoftwareOptionsAutomatedUpdateDate=cdk().Token.asString(this.getAtt("ServiceSoftwareOptions.AutomatedUpdateDate",cdk().ResolutionTypeHint.STRING)),this.attrServiceSoftwareOptionsCancellable=this.getAtt("ServiceSoftwareOptions.Cancellable"),this.attrServiceSoftwareOptionsCurrentVersion=cdk().Token.asString(this.getAtt("ServiceSoftwareOptions.CurrentVersion",cdk().ResolutionTypeHint.STRING)),this.attrServiceSoftwareOptionsDescription=cdk().Token.asString(this.getAtt("ServiceSoftwareOptions.Description",cdk().ResolutionTypeHint.STRING)),this.attrServiceSoftwareOptionsNewVersion=cdk().Token.asString(this.getAtt("ServiceSoftwareOptions.NewVersion",cdk().ResolutionTypeHint.STRING)),this.attrServiceSoftwareOptionsOptionalDeployment=this.getAtt("ServiceSoftwareOptions.OptionalDeployment"),this.attrServiceSoftwareOptionsUpdateAvailable=this.getAtt("ServiceSoftwareOptions.UpdateAvailable"),this.attrServiceSoftwareOptionsUpdateStatus=cdk().Token.asString(this.getAtt("ServiceSoftwareOptions.UpdateStatus",cdk().ResolutionTypeHint.STRING)),this.accessPolicies=props.accessPolicies,this.advancedOptions=props.advancedOptions,this.advancedSecurityOptions=props.advancedSecurityOptions,this.clusterConfig=props.clusterConfig,this.cognitoOptions=props.cognitoOptions,this.domainArn=props.domainArn,this.domainEndpointOptions=props.domainEndpointOptions,this.domainName=props.domainName,this.ebsOptions=props.ebsOptions,this.encryptionAtRestOptions=props.encryptionAtRestOptions,this.engineVersion=props.engineVersion,this.identityCenterOptions=props.identityCenterOptions,this.ipAddressType=props.ipAddressType,this.logPublishingOptions=props.logPublishingOptions,this.nodeToNodeEncryptionOptions=props.nodeToNodeEncryptionOptions,this.offPeakWindowOptions=props.offPeakWindowOptions,this.skipShardMigrationWait=props.skipShardMigrationWait,this.snapshotOptions=props.snapshotOptions,this.softwareUpdateOptions=props.softwareUpdateOptions,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::OpenSearchService::Domain",props.tags,{tagPropertyName:"tags"}),this.tagsRaw=props.tags,this.vpcOptions=props.vpcOptions,this.node.scope!=null&&cdk().Resource.isResource(this.node.scope)&&this.node.addValidation({validate:()=>this.cfnOptions.deletionPolicy===void 0?["'AWS::OpenSearchService::Domain' is a stateful resource type, and you must specify a Removal Policy for it. Call 'resource.applyRemovalPolicy()'."]:[]})}get cfnProperties(){return{accessPolicies:this.accessPolicies,advancedOptions:this.advancedOptions,advancedSecurityOptions:this.advancedSecurityOptions,clusterConfig:this.clusterConfig,cognitoOptions:this.cognitoOptions,domainArn:this.domainArn,domainEndpointOptions:this.domainEndpointOptions,domainName:this.domainName,ebsOptions:this.ebsOptions,encryptionAtRestOptions:this.encryptionAtRestOptions,engineVersion:this.engineVersion,identityCenterOptions:this.identityCenterOptions,ipAddressType:this.ipAddressType,logPublishingOptions:this.logPublishingOptions,nodeToNodeEncryptionOptions:this.nodeToNodeEncryptionOptions,offPeakWindowOptions:this.offPeakWindowOptions,skipShardMigrationWait:this.skipShardMigrationWait,snapshotOptions:this.snapshotOptions,softwareUpdateOptions:this.softwareUpdateOptions,tags:this.tags.renderTags(),vpcOptions:this.vpcOptions}}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",CfnDomain.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnDomainPropsToCloudFormation(props)}}exports.CfnDomain=CfnDomain,_a=JSII_RTTI_SYMBOL_1,CfnDomain[_a]={fqn:"aws-cdk-lib.aws_opensearchservice.CfnDomain",version:"2.185.0"},CfnDomain.CFN_RESOURCE_TYPE_NAME="AWS::OpenSearchService::Domain";function CfnDomainSoftwareUpdateOptionsPropertyValidator(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("autoSoftwareUpdateEnabled",cdk().validateBoolean)(properties.autoSoftwareUpdateEnabled)),errors.wrap('supplied properties not correct for "SoftwareUpdateOptionsProperty"')}function convertCfnDomainSoftwareUpdateOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDomainSoftwareUpdateOptionsPropertyValidator(properties).assertSuccess(),{AutoSoftwareUpdateEnabled:cdk().booleanToCloudFormation(properties.autoSoftwareUpdateEnabled)}):properties}function CfnDomainSoftwareUpdateOptionsPropertyFromCloudFormation(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("autoSoftwareUpdateEnabled","AutoSoftwareUpdateEnabled",properties.AutoSoftwareUpdateEnabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.AutoSoftwareUpdateEnabled):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDomainLogPublishingOptionPropertyValidator(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("cloudWatchLogsLogGroupArn",cdk().validateString)(properties.cloudWatchLogsLogGroupArn)),errors.collect(cdk().propertyValidator("enabled",cdk().validateBoolean)(properties.enabled)),errors.wrap('supplied properties not correct for "LogPublishingOptionProperty"')}function convertCfnDomainLogPublishingOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDomainLogPublishingOptionPropertyValidator(properties).assertSuccess(),{CloudWatchLogsLogGroupArn:cdk().stringToCloudFormation(properties.cloudWatchLogsLogGroupArn),Enabled:cdk().booleanToCloudFormation(properties.enabled)}):properties}function CfnDomainLogPublishingOptionPropertyFromCloudFormation(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("cloudWatchLogsLogGroupArn","CloudWatchLogsLogGroupArn",properties.CloudWatchLogsLogGroupArn!=null?cfn_parse().FromCloudFormation.getString(properties.CloudWatchLogsLogGroupArn):void 0),ret.addPropertyResult("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDomainSnapshotOptionsPropertyValidator(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("automatedSnapshotStartHour",cdk().validateNumber)(properties.automatedSnapshotStartHour)),errors.wrap('supplied properties not correct for "SnapshotOptionsProperty"')}function convertCfnDomainSnapshotOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDomainSnapshotOptionsPropertyValidator(properties).assertSuccess(),{AutomatedSnapshotStartHour:cdk().numberToCloudFormation(properties.automatedSnapshotStartHour)}):properties}function CfnDomainSnapshotOptionsPropertyFromCloudFormation(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("automatedSnapshotStartHour","AutomatedSnapshotStartHour",properties.AutomatedSnapshotStartHour!=null?cfn_parse().FromCloudFormation.getNumber(properties.AutomatedSnapshotStartHour):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDomainVPCOptionsPropertyValidator(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("securityGroupIds",cdk().listValidator(cdk().validateString))(properties.securityGroupIds)),errors.collect(cdk().propertyValidator("subnetIds",cdk().listValidator(cdk().validateString))(properties.subnetIds)),errors.wrap('supplied properties not correct for "VPCOptionsProperty"')}function convertCfnDomainVPCOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDomainVPCOptionsPropertyValidator(properties).assertSuccess(),{SecurityGroupIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.securityGroupIds),SubnetIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.subnetIds)}):properties}function CfnDomainVPCOptionsPropertyFromCloudFormation(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("securityGroupIds","SecurityGroupIds",properties.SecurityGroupIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SecurityGroupIds):void 0),ret.addPropertyResult("subnetIds","SubnetIds",properties.SubnetIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SubnetIds):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDomainNodeToNodeEncryptionOptionsPropertyValidator(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().validateBoolean)(properties.enabled)),errors.wrap('supplied properties not correct for "NodeToNodeEncryptionOptionsProperty"')}function convertCfnDomainNodeToNodeEncryptionOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDomainNodeToNodeEncryptionOptionsPropertyValidator(properties).assertSuccess(),{Enabled:cdk().booleanToCloudFormation(properties.enabled)}):properties}function CfnDomainNodeToNodeEncryptionOptionsPropertyFromCloudFormation(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.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDomainDomainEndpointOptionsPropertyValidator(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("customEndpoint",cdk().validateString)(properties.customEndpoint)),errors.collect(cdk().propertyValidator("customEndpointCertificateArn",cdk().validateString)(properties.customEndpointCertificateArn)),errors.collect(cdk().propertyValidator("customEndpointEnabled",cdk().validateBoolean)(properties.customEndpointEnabled)),errors.collect(cdk().propertyValidator("enforceHttps",cdk().validateBoolean)(properties.enforceHttps)),errors.collect(cdk().propertyValidator("tlsSecurityPolicy",cdk().validateString)(properties.tlsSecurityPolicy)),errors.wrap('supplied properties not correct for "DomainEndpointOptionsProperty"')}function convertCfnDomainDomainEndpointOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDomainDomainEndpointOptionsPropertyValidator(properties).assertSuccess(),{CustomEndpoint:cdk().stringToCloudFormation(properties.customEndpoint),CustomEndpointCertificateArn:cdk().stringToCloudFormation(properties.customEndpointCertificateArn),CustomEndpointEnabled:cdk().booleanToCloudFormation(properties.customEndpointEnabled),EnforceHTTPS:cdk().booleanToCloudFormation(properties.enforceHttps),TLSSecurityPolicy:cdk().stringToCloudFormation(properties.tlsSecurityPolicy)}):properties}function CfnDomainDomainEndpointOptionsPropertyFromCloudFormation(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("customEndpoint","CustomEndpoint",properties.CustomEndpoint!=null?cfn_parse().FromCloudFormation.getString(properties.CustomEndpoint):void 0),ret.addPropertyResult("customEndpointCertificateArn","CustomEndpointCertificateArn",properties.CustomEndpointCertificateArn!=null?cfn_parse().FromCloudFormation.getString(properties.CustomEndpointCertificateArn):void 0),ret.addPropertyResult("customEndpointEnabled","CustomEndpointEnabled",properties.CustomEndpointEnabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.CustomEndpointEnabled):void 0),ret.addPropertyResult("enforceHttps","EnforceHTTPS",properties.EnforceHTTPS!=null?cfn_parse().FromCloudFormation.getBoolean(properties.EnforceHTTPS):void 0),ret.addPropertyResult("tlsSecurityPolicy","TLSSecurityPolicy",properties.TLSSecurityPolicy!=null?cfn_parse().FromCloudFormation.getString(properties.TLSSecurityPolicy):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDomainCognitoOptionsPropertyValidator(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().validateBoolean)(properties.enabled)),errors.collect(cdk().propertyValidator("identityPoolId",cdk().validateString)(properties.identityPoolId)),errors.collect(cdk().propertyValidator("roleArn",cdk().validateString)(properties.roleArn)),errors.collect(cdk().propertyValidator("userPoolId",cdk().validateString)(properties.userPoolId)),errors.wrap('supplied properties not correct for "CognitoOptionsProperty"')}function convertCfnDomainCognitoOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDomainCognitoOptionsPropertyValidator(properties).assertSuccess(),{Enabled:cdk().booleanToCloudFormation(properties.enabled),IdentityPoolId:cdk().stringToCloudFormation(properties.identityPoolId),RoleArn:cdk().stringToCloudFormation(properties.roleArn),UserPoolId:cdk().stringToCloudFormation(properties.userPoolId)}):properties}function CfnDomainCognitoOptionsPropertyFromCloudFormation(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("identityPoolId","IdentityPoolId",properties.IdentityPoolId!=null?cfn_parse().FromCloudFormation.getString(properties.IdentityPoolId):void 0),ret.addPropertyResult("roleArn","RoleArn",properties.RoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.RoleArn):void 0),ret.addPropertyResult("userPoolId","UserPoolId",properties.UserPoolId!=null?cfn_parse().FromCloudFormation.getString(properties.UserPoolId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDomainIdpPropertyValidator(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("entityId",cdk().requiredValidator)(properties.entityId)),errors.collect(cdk().propertyValidator("entityId",cdk().validateString)(properties.entityId)),errors.collect(cdk().propertyValidator("metadataContent",cdk().requiredValidator)(properties.metadataContent)),errors.collect(cdk().propertyValidator("metadataContent",cdk().validateString)(properties.metadataContent)),errors.wrap('supplied properties not correct for "IdpProperty"')}function convertCfnDomainIdpPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDomainIdpPropertyValidator(properties).assertSuccess(),{EntityId:cdk().stringToCloudFormation(properties.entityId),MetadataContent:cdk().stringToCloudFormation(properties.metadataContent)}):properties}function CfnDomainIdpPropertyFromCloudFormation(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("entityId","EntityId",properties.EntityId!=null?cfn_parse().FromCloudFormation.getString(properties.EntityId):void 0),ret.addPropertyResult("metadataContent","MetadataContent",properties.MetadataContent!=null?cfn_parse().FromCloudFormation.getString(properties.MetadataContent):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDomainSAMLOptionsPropertyValidator(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().validateBoolean)(properties.enabled)),errors.collect(cdk().propertyValidator("idp",CfnDomainIdpPropertyValidator)(properties.idp)),errors.collect(cdk().propertyValidator("masterBackendRole",cdk().validateString)(properties.masterBackendRole)),errors.collect(cdk().propertyValidator("masterUserName",cdk().validateString)(properties.masterUserName)),errors.collect(cdk().propertyValidator("rolesKey",cdk().validateString)(properties.rolesKey)),errors.collect(cdk().propertyValidator("sessionTimeoutMinutes",cdk().validateNumber)(properties.sessionTimeoutMinutes)),errors.collect(cdk().propertyValidator("subjectKey",cdk().validateString)(properties.subjectKey)),errors.wrap('supplied properties not correct for "SAMLOptionsProperty"')}function convertCfnDomainSAMLOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDomainSAMLOptionsPropertyValidator(properties).assertSuccess(),{Enabled:cdk().booleanToCloudFormation(properties.enabled),Idp:convertCfnDomainIdpPropertyToCloudFormation(properties.idp),MasterBackendRole:cdk().stringToCloudFormation(properties.masterBackendRole),MasterUserName:cdk().stringToCloudFormation(properties.masterUserName),RolesKey:cdk().stringToCloudFormation(properties.rolesKey),SessionTimeoutMinutes:cdk().numberToCloudFormation(properties.sessionTimeoutMinutes),SubjectKey:cdk().stringToCloudFormation(properties.subjectKey)}):properties}function CfnDomainSAMLOptionsPropertyFromCloudFormation(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("idp","Idp",properties.Idp!=null?CfnDomainIdpPropertyFromCloudFormation(properties.Idp):void 0),ret.addPropertyResult("masterBackendRole","MasterBackendRole",properties.MasterBackendRole!=null?cfn_parse().FromCloudFormation.getString(properties.MasterBackendRole):void 0),ret.addPropertyResult("masterUserName","MasterUserName",properties.MasterUserName!=null?cfn_parse().FromCloudFormation.getString(properties.MasterUserName):void 0),ret.addPropertyResult("rolesKey","RolesKey",properties.RolesKey!=null?cfn_parse().FromCloudFormation.getString(properties.RolesKey):void 0),ret.addPropertyResult("sessionTimeoutMinutes","SessionTimeoutMinutes",properties.SessionTimeoutMinutes!=null?cfn_parse().FromCloudFormation.getNumber(properties.SessionTimeoutMinutes):void 0),ret.addPropertyResult("subjectKey","SubjectKey",properties.SubjectKey!=null?cfn_parse().FromCloudFormation.getString(properties.SubjectKey):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDomainMasterUserOptionsPropertyValidator(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("masterUserArn",cdk().validateString)(properties.masterUserArn)),errors.collect(cdk().propertyValidator("masterUserName",cdk().validateString)(properties.masterUserName)),errors.collect(cdk().propertyValidator("masterUserPassword",cdk().validateString)(properties.masterUserPassword)),errors.wrap('supplied properties not correct for "MasterUserOptionsProperty"')}function convertCfnDomainMasterUserOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDomainMasterUserOptionsPropertyValidator(properties).assertSuccess(),{MasterUserARN:cdk().stringToCloudFormation(properties.masterUserArn),MasterUserName:cdk().stringToCloudFormation(properties.masterUserName),MasterUserPassword:cdk().stringToCloudFormation(properties.masterUserPassword)}):properties}function CfnDomainMasterUserOptionsPropertyFromCloudFormation(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("masterUserArn","MasterUserARN",properties.MasterUserARN!=null?cfn_parse().FromCloudFormation.getString(properties.MasterUserARN):void 0),ret.addPropertyResult("masterUserName","MasterUserName",properties.MasterUserName!=null?cfn_parse().FromCloudFormation.getString(properties.MasterUserName):void 0),ret.addPropertyResult("masterUserPassword","MasterUserPassword",properties.MasterUserPassword!=null?cfn_parse().FromCloudFormation.getString(properties.MasterUserPassword):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDomainJWTOptionsPropertyValidator(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().validateBoolean)(properties.enabled)),errors.collect(cdk().propertyValidator("publicKey",cdk().validateString)(properties.publicKey)),errors.collect(cdk().propertyValidator("rolesKey",cdk().validateString)(properties.rolesKey)),errors.collect(cdk().propertyValidator("subjectKey",cdk().validateString)(properties.subjectKey)),errors.wrap('supplied properties not correct for "JWTOptionsProperty"')}function convertCfnDomainJWTOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDomainJWTOptionsPropertyValidator(properties).assertSuccess(),{Enabled:cdk().booleanToCloudFormation(properties.enabled),PublicKey:cdk().stringToCloudFormation(properties.publicKey),RolesKey:cdk().stringToCloudFormation(properties.rolesKey),SubjectKey:cdk().stringToCloudFormation(properties.subjectKey)}):properties}function CfnDomainJWTOptionsPropertyFromCloudFormation(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("publicKey","PublicKey",properties.PublicKey!=null?cfn_parse().FromCloudFormation.getString(properties.PublicKey):void 0),ret.addPropertyResult("rolesKey","RolesKey",properties.RolesKey!=null?cfn_parse().FromCloudFormation.getString(properties.RolesKey):void 0),ret.addPropertyResult("subjectKey","SubjectKey",properties.SubjectKey!=null?cfn_parse().FromCloudFormation.getString(properties.SubjectKey):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDomainAdvancedSecurityOptionsInputPropertyValidator(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("anonymousAuthDisableDate",cdk().validateString)(properties.anonymousAuthDisableDate)),errors.collect(cdk().propertyValidator("anonymousAuthEnabled",cdk().validateBoolean)(properties.anonymousAuthEnabled)),errors.collect(cdk().propertyValidator("enabled",cdk().validateBoolean)(properties.enabled)),errors.collect(cdk().propertyValidator("internalUserDatabaseEnabled",cdk().validateBoolean)(properties.internalUserDatabaseEnabled)),errors.collect(cdk().propertyValidator("jwtOptions",CfnDomainJWTOptionsPropertyValidator)(properties.jwtOptions)),errors.collect(cdk().propertyValidator("masterUserOptions",CfnDomainMasterUserOptionsPropertyValidator)(properties.masterUserOptions)),errors.collect(cdk().propertyValidator("samlOptions",CfnDomainSAMLOptionsPropertyValidator)(properties.samlOptions)),errors.wrap('supplied properties not correct for "AdvancedSecurityOptionsInputProperty"')}function convertCfnDomainAdvancedSecurityOptionsInputPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDomainAdvancedSecurityOptionsInputPropertyValidator(properties).assertSuccess(),{AnonymousAuthDisableDate:cdk().stringToCloudFormation(properties.anonymousAuthDisableDate),AnonymousAuthEnabled:cdk().booleanToCloudFormation(properties.anonymousAuthEnabled),Enabled:cdk().booleanToCloudFormation(properties.enabled),InternalUserDatabaseEnabled:cdk().booleanToCloudFormation(properties.internalUserDatabaseEnabled),JWTOptions:convertCfnDomainJWTOptionsPropertyToCloudFormation(properties.jwtOptions),MasterUserOptions:convertCfnDomainMasterUserOptionsPropertyToCloudFormation(properties.masterUserOptions),SAMLOptions:convertCfnDomainSAMLOptionsPropertyToCloudFormation(properties.samlOptions)}):properties}function CfnDomainAdvancedSecurityOptionsInputPropertyFromCloudFormation(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("anonymousAuthDisableDate","AnonymousAuthDisableDate",properties.AnonymousAuthDisableDate!=null?cfn_parse().FromCloudFormation.getString(properties.AnonymousAuthDisableDate):void 0),ret.addPropertyResult("anonymousAuthEnabled","AnonymousAuthEnabled",properties.AnonymousAuthEnabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.AnonymousAuthEnabled):void 0),ret.addPropertyResult("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addPropertyResult("internalUserDatabaseEnabled","InternalUserDatabaseEnabled",properties.InternalUserDatabaseEnabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.InternalUserDatabaseEnabled):void 0),ret.addPropertyResult("jwtOptions","JWTOptions",properties.JWTOptions!=null?CfnDomainJWTOptionsPropertyFromCloudFormation(properties.JWTOptions):void 0),ret.addPropertyResult("masterUserOptions","MasterUserOptions",properties.MasterUserOptions!=null?CfnDomainMasterUserOptionsPropertyFromCloudFormation(properties.MasterUserOptions):void 0),ret.addPropertyResult("samlOptions","SAMLOptions",properties.SAMLOptions!=null?CfnDomainSAMLOptionsPropertyFromCloudFormation(properties.SAMLOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDomainEBSOptionsPropertyValidator(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("ebsEnabled",cdk().validateBoolean)(properties.ebsEnabled)),errors.collect(cdk().propertyValidator("iops",cdk().validateNumber)(properties.iops)),errors.collect(cdk().propertyValidator("throughput",cdk().validateNumber)(properties.throughput)),errors.collect(cdk().propertyValidator("volumeSize",cdk().validateNumber)(properties.volumeSize)),errors.collect(cdk().propertyValidator("volumeType",cdk().validateString)(properties.volumeType)),errors.wrap('supplied properties not correct for "EBSOptionsProperty"')}function convertCfnDomainEBSOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDomainEBSOptionsPropertyValidator(properties).assertSuccess(),{EBSEnabled:cdk().booleanToCloudFormation(properties.ebsEnabled),Iops:cdk().numberToCloudFormation(properties.iops),Throughput:cdk().numberToCloudFormation(properties.throughput),VolumeSize:cdk().numberToCloudFormation(properties.volumeSize),VolumeType:cdk().stringToCloudFormation(properties.volumeType)}):properties}function CfnDomainEBSOptionsPropertyFromCloudFormation(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("ebsEnabled","EBSEnabled",properties.EBSEnabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.EBSEnabled):void 0),ret.addPropertyResult("iops","Iops",properties.Iops!=null?cfn_parse().FromCloudFormation.getNumber(properties.Iops):void 0),ret.addPropertyResult("throughput","Throughput",properties.Throughput!=null?cfn_parse().FromCloudFormation.getNumber(properties.Throughput):void 0),ret.addPropertyResult("volumeSize","VolumeSize",properties.VolumeSize!=null?cfn_parse().FromCloudFormation.getNumber(properties.VolumeSize):void 0),ret.addPropertyResult("volumeType","VolumeType",properties.VolumeType!=null?cfn_parse().FromCloudFormation.getString(properties.VolumeType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDomainEncryptionAtRestOptionsPropertyValidator(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().validateBoolean)(properties.enabled)),errors.collect(cdk().propertyValidator("kmsKeyId",cdk().validateString)(properties.kmsKeyId)),errors.wrap('supplied properties not correct for "EncryptionAtRestOptionsProperty"')}function convertCfnDomainEncryptionAtRestOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDomainEncryptionAtRestOptionsPropertyValidator(properties).assertSuccess(),{Enabled:cdk().booleanToCloudFormation(properties.enabled),KmsKeyId:cdk().stringToCloudFormation(properties.kmsKeyId)}):properties}function CfnDomainEncryptionAtRestOptionsPropertyFromCloudFormation(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("kmsKeyId","KmsKeyId",properties.KmsKeyId!=null?cfn_parse().FromCloudFormation.getString(properties.KmsKeyId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDomainWindowStartTimePropertyValidator(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("hours",cdk().requiredValidator)(properties.hours)),errors.collect(cdk().propertyValidator("hours",cdk().validateNumber)(properties.hours)),errors.collect(cdk().propertyValidator("minutes",cdk().requiredValidator)(properties.minutes)),errors.collect(cdk().propertyValidator("minutes",cdk().validateNumber)(properties.minutes)),errors.wrap('supplied properties not correct for "WindowStartTimeProperty"')}function convertCfnDomainWindowStartTimePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDomainWindowStartTimePropertyValidator(properties).assertSuccess(),{Hours:cdk().numberToCloudFormation(properties.hours),Minutes:cdk().numberToCloudFormation(properties.minutes)}):properties}function CfnDomainWindowStartTimePropertyFromCloudFormation(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("hours","Hours",properties.Hours!=null?cfn_parse().FromCloudFormation.getNumber(properties.Hours):void 0),ret.addPropertyResult("minutes","Minutes",properties.Minutes!=null?cfn_parse().FromCloudFormation.getNumber(properties.Minutes):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDomainOffPeakWindowPropertyValidator(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("windowStartTime",CfnDomainWindowStartTimePropertyValidator)(properties.windowStartTime)),errors.wrap('supplied properties not correct for "OffPeakWindowProperty"')}function convertCfnDomainOffPeakWindowPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDomainOffPeakWindowPropertyValidator(properties).assertSuccess(),{WindowStartTime:convertCfnDomainWindowStartTimePropertyToCloudFormation(properties.windowStartTime)}):properties}function CfnDomainOffPeakWindowPropertyFromCloudFormation(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("windowStartTime","WindowStartTime",properties.WindowStartTime!=null?CfnDomainWindowStartTimePropertyFromCloudFormation(properties.WindowStartTime):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDomainOffPeakWindowOptionsPropertyValidator(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().validateBoolean)(properties.enabled)),errors.collect(cdk().propertyValidator("offPeakWindow",CfnDomainOffPeakWindowPropertyValidator)(properties.offPeakWindow)),errors.wrap('supplied properties not correct for "OffPeakWindowOptionsProperty"')}function convertCfnDomainOffPeakWindowOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDomainOffPeakWindowOptionsPropertyValidator(properties).assertSuccess(),{Enabled:cdk().booleanToCloudFormation(properties.enabled),OffPeakWindow:convertCfnDomainOffPeakWindowPropertyToCloudFormation(properties.offPeakWindow)}):properties}function CfnDomainOffPeakWindowOptionsPropertyFromCloudFormation(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("offPeakWindow","OffPeakWindow",properties.OffPeakWindow!=null?CfnDomainOffPeakWindowPropertyFromCloudFormation(properties.OffPeakWindow):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDomainZoneAwarenessConfigPropertyValidator(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("availabilityZoneCount",cdk().validateNumber)(properties.availabilityZoneCount)),errors.wrap('supplied properties not correct for "ZoneAwarenessConfigProperty"')}function convertCfnDomainZoneAwarenessConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDomainZoneAwarenessConfigPropertyValidator(properties).assertSuccess(),{AvailabilityZoneCount:cdk().numberToCloudFormation(properties.availabilityZoneCount)}):properties}function CfnDomainZoneAwarenessConfigPropertyFromCloudFormation(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("availabilityZoneCount","AvailabilityZoneCount",properties.AvailabilityZoneCount!=null?cfn_parse().FromCloudFormation.getNumber(properties.AvailabilityZoneCount):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDomainColdStorageOptionsPropertyValidator(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().validateBoolean)(properties.enabled)),errors.wrap('supplied properties not correct for "ColdStorageOptionsProperty"')}function convertCfnDomainColdStorageOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDomainColdStorageOptionsPropertyValidator(properties).assertSuccess(),{Enabled:cdk().booleanToCloudFormation(properties.enabled)}):properties}function CfnDomainColdStorageOptionsPropertyFromCloudFormation(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.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDomainNodeConfigPropertyValidator(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("count",cdk().validateNumber)(properties.count)),errors.collect(cdk().propertyValidator("enabled",cdk().validateBoolean)(properties.enabled)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "NodeConfigProperty"')}function convertCfnDomainNodeConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDomainNodeConfigPropertyValidator(properties).assertSuccess(),{Count:cdk().numberToCloudFormation(properties.count),Enabled:cdk().booleanToCloudFormation(properties.enabled),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnDomainNodeConfigPropertyFromCloudFormation(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("count","Count",properties.Count!=null?cfn_parse().FromCloudFormation.getNumber(properties.Count):void 0),ret.addPropertyResult("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDomainNodeOptionPropertyValidator(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("nodeConfig",CfnDomainNodeConfigPropertyValidator)(properties.nodeConfig)),errors.collect(cdk().propertyValidator("nodeType",cdk().validateString)(properties.nodeType)),errors.wrap('supplied properties not correct for "NodeOptionProperty"')}function convertCfnDomainNodeOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDomainNodeOptionPropertyValidator(properties).assertSuccess(),{NodeConfig:convertCfnDomainNodeConfigPropertyToCloudFormation(properties.nodeConfig),NodeType:cdk().stringToCloudFormation(properties.nodeType)}):properties}function CfnDomainNodeOptionPropertyFromCloudFormation(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("nodeConfig","NodeConfig",properties.NodeConfig!=null?CfnDomainNodeConfigPropertyFromCloudFormation(properties.NodeConfig):void 0),ret.addPropertyResult("nodeType","NodeType",properties.NodeType!=null?cfn_parse().FromCloudFormation.getString(properties.NodeType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDomainClusterConfigPropertyValidator(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("coldStorageOptions",CfnDomainColdStorageOptionsPropertyValidator)(properties.coldStorageOptions)),errors.collect(cdk().propertyValidator("dedicatedMasterCount",cdk().validateNumber)(properties.dedicatedMasterCount)),errors.collect(cdk().propertyValidator("dedicatedMasterEnabled",cdk().validateBoolean)(properties.dedicatedMasterEnabled)),errors.collect(c