UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

1 lines 168 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnPodIdentityAssociation=exports.CfnCapability=exports.CfnAccessEntry=exports.CfnNodegroup=exports.CfnIdentityProviderConfig=exports.CfnFargateProfile=exports.CfnCluster=exports.CfnAddon=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 CfnAddon extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_eks.CfnAddon",version:"2.251.0"};static CFN_RESOURCE_TYPE_NAME="AWS::EKS::Addon";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnAddonPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnAddon(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 isCfnAddon(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnAddon.CFN_RESOURCE_TYPE_NAME}static arnForAddon(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_eks_IAddonRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForAddon),error}return resource.addonRef.addonArn}_addonName;_addonVersion;_clusterName;_configurationValues;_namespaceConfig;_podIdentityAssociations;_preserveOnDelete;_resolveConflicts;_serviceAccountRoleArn;tags;_tagsRaw;constructor(scope,id,props){super(scope,id,{type:CfnAddon.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_eks_CfnAddonProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnAddon),error}cdk().requireProperty(props,"addonName",this),cdk().requireProperty(props,"clusterName",this),this._addonName=props.addonName,this._addonVersion=props.addonVersion,this._clusterName=props.clusterName,this._configurationValues=props.configurationValues,this._namespaceConfig=props.namespaceConfig,this._podIdentityAssociations=props.podIdentityAssociations,this._preserveOnDelete=props.preserveOnDelete,this._resolveConflicts=props.resolveConflicts,this._serviceAccountRoleArn=cdk().getRefProperty(props.serviceAccountRoleArn?.roleRef,"roleArn")??cdk().ensureStringOrUndefined(props.serviceAccountRoleArn,"serviceAccountRoleArn","iam.IRoleRef | string"),this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::EKS::Addon",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get addonRef(){return{clusterName:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),addonName:cdk().Fn.select(1,cdk().Fn.split("|",this.ref)),addonArn:this.attrArn}}get addonName(){return this._addonName}set addonName(value){cdk().traceProperty(this.node,"AddonName"),this._addonName=value}get addonVersion(){return this._addonVersion}set addonVersion(value){cdk().traceProperty(this.node,"AddonVersion"),this._addonVersion=value}get clusterName(){return this._clusterName}set clusterName(value){cdk().traceProperty(this.node,"ClusterName"),this._clusterName=value}get configurationValues(){return this._configurationValues}set configurationValues(value){cdk().traceProperty(this.node,"ConfigurationValues"),this._configurationValues=value}get namespaceConfig(){return this._namespaceConfig}set namespaceConfig(value){cdk().traceProperty(this.node,"NamespaceConfig"),this._namespaceConfig=value}get podIdentityAssociations(){return this._podIdentityAssociations}set podIdentityAssociations(value){cdk().traceProperty(this.node,"PodIdentityAssociations"),this._podIdentityAssociations=value}get preserveOnDelete(){return this._preserveOnDelete}set preserveOnDelete(value){cdk().traceProperty(this.node,"PreserveOnDelete"),this._preserveOnDelete=value}get resolveConflicts(){return this._resolveConflicts}set resolveConflicts(value){cdk().traceProperty(this.node,"ResolveConflicts"),this._resolveConflicts=value}get serviceAccountRoleArn(){return this._serviceAccountRoleArn}set serviceAccountRoleArn(value){cdk().traceProperty(this.node,"ServiceAccountRoleArn"),this._serviceAccountRoleArn=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{addonName:this._addonName,addonVersion:this._addonVersion,clusterName:this._clusterName,configurationValues:this._configurationValues,namespaceConfig:this._namespaceConfig,podIdentityAssociations:this._podIdentityAssociations,preserveOnDelete:this._preserveOnDelete,resolveConflicts:this._resolveConflicts,serviceAccountRoleArn:this._serviceAccountRoleArn,tags:this.tags.renderTags()}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnAddon.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnAddonPropsToCloudFormation(props)}}exports.CfnAddon=CfnAddon;function CfnAddonPodIdentityAssociationPropertyValidator(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("roleArn",cdk().requiredValidator)(properties.roleArn)),errors.collect(cdk().propertyValidator("roleArn",cdk().validateString)(properties.roleArn)),errors.collect(cdk().propertyValidator("serviceAccount",cdk().requiredValidator)(properties.serviceAccount)),errors.collect(cdk().propertyValidator("serviceAccount",cdk().validateString)(properties.serviceAccount)),errors.wrap('supplied properties not correct for "PodIdentityAssociationProperty"')}function convertCfnAddonPodIdentityAssociationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAddonPodIdentityAssociationPropertyValidator(properties).assertSuccess(),{RoleArn:cdk().stringToCloudFormation(properties.roleArn),ServiceAccount:cdk().stringToCloudFormation(properties.serviceAccount)}):properties}function CfnAddonPodIdentityAssociationPropertyFromCloudFormation(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("roleArn","RoleArn",properties.RoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.RoleArn):void 0),ret.addPropertyResult("serviceAccount","ServiceAccount",properties.ServiceAccount!=null?cfn_parse().FromCloudFormation.getString(properties.ServiceAccount):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAddonNamespaceConfigPropertyValidator(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("namespace",cdk().requiredValidator)(properties.namespace)),errors.collect(cdk().propertyValidator("namespace",cdk().validateString)(properties.namespace)),errors.wrap('supplied properties not correct for "NamespaceConfigProperty"')}function convertCfnAddonNamespaceConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAddonNamespaceConfigPropertyValidator(properties).assertSuccess(),{Namespace:cdk().stringToCloudFormation(properties.namespace)}):properties}function CfnAddonNamespaceConfigPropertyFromCloudFormation(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("namespace","Namespace",properties.Namespace!=null?cfn_parse().FromCloudFormation.getString(properties.Namespace):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAddonPropsValidator(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("addonName",cdk().requiredValidator)(properties.addonName)),errors.collect(cdk().propertyValidator("addonName",cdk().validateString)(properties.addonName)),errors.collect(cdk().propertyValidator("addonVersion",cdk().validateString)(properties.addonVersion)),errors.collect(cdk().propertyValidator("clusterName",cdk().requiredValidator)(properties.clusterName)),errors.collect(cdk().propertyValidator("clusterName",cdk().validateString)(properties.clusterName)),errors.collect(cdk().propertyValidator("configurationValues",cdk().validateString)(properties.configurationValues)),errors.collect(cdk().propertyValidator("namespaceConfig",CfnAddonNamespaceConfigPropertyValidator)(properties.namespaceConfig)),errors.collect(cdk().propertyValidator("podIdentityAssociations",cdk().listValidator(CfnAddonPodIdentityAssociationPropertyValidator))(properties.podIdentityAssociations)),errors.collect(cdk().propertyValidator("preserveOnDelete",cdk().validateBoolean)(properties.preserveOnDelete)),errors.collect(cdk().propertyValidator("resolveConflicts",cdk().validateString)(properties.resolveConflicts)),errors.collect(cdk().propertyValidator("serviceAccountRoleArn",cdk().validateString)(properties.serviceAccountRoleArn)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnAddonProps"')}function convertCfnAddonPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAddonPropsValidator(properties).assertSuccess(),{AddonName:cdk().stringToCloudFormation(properties.addonName),AddonVersion:cdk().stringToCloudFormation(properties.addonVersion),ClusterName:cdk().stringToCloudFormation(properties.clusterName),ConfigurationValues:cdk().stringToCloudFormation(properties.configurationValues),NamespaceConfig:convertCfnAddonNamespaceConfigPropertyToCloudFormation(properties.namespaceConfig),PodIdentityAssociations:cdk().listMapper(convertCfnAddonPodIdentityAssociationPropertyToCloudFormation)(properties.podIdentityAssociations),PreserveOnDelete:cdk().booleanToCloudFormation(properties.preserveOnDelete),ResolveConflicts:cdk().stringToCloudFormation(properties.resolveConflicts),ServiceAccountRoleArn:cdk().stringToCloudFormation(properties.serviceAccountRoleArn),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnAddonPropsFromCloudFormation(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("addonName","AddonName",properties.AddonName!=null?cfn_parse().FromCloudFormation.getString(properties.AddonName):void 0),ret.addPropertyResult("addonVersion","AddonVersion",properties.AddonVersion!=null?cfn_parse().FromCloudFormation.getString(properties.AddonVersion):void 0),ret.addPropertyResult("clusterName","ClusterName",properties.ClusterName!=null?cfn_parse().FromCloudFormation.getString(properties.ClusterName):void 0),ret.addPropertyResult("configurationValues","ConfigurationValues",properties.ConfigurationValues!=null?cfn_parse().FromCloudFormation.getString(properties.ConfigurationValues):void 0),ret.addPropertyResult("namespaceConfig","NamespaceConfig",properties.NamespaceConfig!=null?CfnAddonNamespaceConfigPropertyFromCloudFormation(properties.NamespaceConfig):void 0),ret.addPropertyResult("podIdentityAssociations","PodIdentityAssociations",properties.PodIdentityAssociations!=null?cfn_parse().FromCloudFormation.getArray(CfnAddonPodIdentityAssociationPropertyFromCloudFormation)(properties.PodIdentityAssociations):void 0),ret.addPropertyResult("preserveOnDelete","PreserveOnDelete",properties.PreserveOnDelete!=null?cfn_parse().FromCloudFormation.getBoolean(properties.PreserveOnDelete):void 0),ret.addPropertyResult("resolveConflicts","ResolveConflicts",properties.ResolveConflicts!=null?cfn_parse().FromCloudFormation.getString(properties.ResolveConflicts):void 0),ret.addPropertyResult("serviceAccountRoleArn","ServiceAccountRoleArn",properties.ServiceAccountRoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.ServiceAccountRoleArn):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnCluster extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_eks.CfnCluster",version:"2.251.0"};static CFN_RESOURCE_TYPE_NAME="AWS::EKS::Cluster";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnClusterPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnCluster(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 isCfnCluster(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnCluster.CFN_RESOURCE_TYPE_NAME}static fromClusterArn(scope,id,arn){class Import extends cdk().Resource{clusterRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:eks:${Region}:${Account}:cluster/${ClusterName}").parse(arn2);this.clusterRef={clusterName:variables.ClusterName,clusterArn:arn2}}}return new Import(scope,id,arn)}static fromClusterName(scope,id,clusterName){class Import extends cdk().Resource{clusterRef;constructor(scope2,id2,clusterName2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:eks:${Region}:${Account}:cluster/${ClusterName}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,ClusterName:clusterName2});super(scope2,id2,{environmentFromArn:arn}),this.clusterRef={clusterName:clusterName2,clusterArn:arn}}}return new Import(scope,id,clusterName)}static arnForCluster(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_eks_IClusterRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForCluster),error}return resource.clusterRef.clusterArn}_accessConfig;_bootstrapSelfManagedAddons;_computeConfig;_controlPlaneScalingConfig;_deletionProtection;_encryptionConfig;_force;_kubernetesNetworkConfig;_logging;_name;_outpostConfig;_remoteNetworkConfig;_resourcesVpcConfig;_roleArn;_storageConfig;tags;_tagsRaw;_upgradePolicy;_version;_zonalShiftConfig;constructor(scope,id,props){super(scope,id,{type:CfnCluster.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_eks_CfnClusterProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnCluster),error}cdk().requireProperty(props,"resourcesVpcConfig",this),cdk().requireProperty(props,"roleArn",this),this._accessConfig=props.accessConfig,this._bootstrapSelfManagedAddons=props.bootstrapSelfManagedAddons,this._computeConfig=props.computeConfig,this._controlPlaneScalingConfig=props.controlPlaneScalingConfig,this._deletionProtection=props.deletionProtection,this._encryptionConfig=props.encryptionConfig,this._force=props.force,this._kubernetesNetworkConfig=props.kubernetesNetworkConfig,this._logging=props.logging,this._name=props.name,this._outpostConfig=props.outpostConfig,this._remoteNetworkConfig=props.remoteNetworkConfig,this._resourcesVpcConfig=props.resourcesVpcConfig,this._roleArn=cdk().getRefProperty(props.roleArn?.roleRef,"roleArn")??cdk().ensureStringOrUndefined(props.roleArn,"roleArn","iam.IRoleRef | string"),this._storageConfig=props.storageConfig,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::EKS::Cluster",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._upgradePolicy=props.upgradePolicy,this._version=props.version,this._zonalShiftConfig=props.zonalShiftConfig}get clusterRef(){return{clusterName:this.ref,clusterArn:this.attrArn}}get accessConfig(){return this._accessConfig}set accessConfig(value){cdk().traceProperty(this.node,"AccessConfig"),this._accessConfig=value}get bootstrapSelfManagedAddons(){return this._bootstrapSelfManagedAddons}set bootstrapSelfManagedAddons(value){cdk().traceProperty(this.node,"BootstrapSelfManagedAddons"),this._bootstrapSelfManagedAddons=value}get computeConfig(){return this._computeConfig}set computeConfig(value){cdk().traceProperty(this.node,"ComputeConfig"),this._computeConfig=value}get controlPlaneScalingConfig(){return this._controlPlaneScalingConfig}set controlPlaneScalingConfig(value){cdk().traceProperty(this.node,"ControlPlaneScalingConfig"),this._controlPlaneScalingConfig=value}get deletionProtection(){return this._deletionProtection}set deletionProtection(value){cdk().traceProperty(this.node,"DeletionProtection"),this._deletionProtection=value}get encryptionConfig(){return this._encryptionConfig}set encryptionConfig(value){cdk().traceProperty(this.node,"EncryptionConfig"),this._encryptionConfig=value}get force(){return this._force}set force(value){cdk().traceProperty(this.node,"Force"),this._force=value}get kubernetesNetworkConfig(){return this._kubernetesNetworkConfig}set kubernetesNetworkConfig(value){cdk().traceProperty(this.node,"KubernetesNetworkConfig"),this._kubernetesNetworkConfig=value}get logging(){return this._logging}set logging(value){cdk().traceProperty(this.node,"Logging"),this._logging=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get outpostConfig(){return this._outpostConfig}set outpostConfig(value){cdk().traceProperty(this.node,"OutpostConfig"),this._outpostConfig=value}get remoteNetworkConfig(){return this._remoteNetworkConfig}set remoteNetworkConfig(value){cdk().traceProperty(this.node,"RemoteNetworkConfig"),this._remoteNetworkConfig=value}get resourcesVpcConfig(){return this._resourcesVpcConfig}set resourcesVpcConfig(value){cdk().traceProperty(this.node,"ResourcesVpcConfig"),this._resourcesVpcConfig=value}get roleArn(){return this._roleArn}set roleArn(value){cdk().traceProperty(this.node,"RoleArn"),this._roleArn=value}get storageConfig(){return this._storageConfig}set storageConfig(value){cdk().traceProperty(this.node,"StorageConfig"),this._storageConfig=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get upgradePolicy(){return this._upgradePolicy}set upgradePolicy(value){cdk().traceProperty(this.node,"UpgradePolicy"),this._upgradePolicy=value}get version(){return this._version}set version(value){cdk().traceProperty(this.node,"Version"),this._version=value}get zonalShiftConfig(){return this._zonalShiftConfig}set zonalShiftConfig(value){cdk().traceProperty(this.node,"ZonalShiftConfig"),this._zonalShiftConfig=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrCertificateAuthorityData(){return cdk().Token.asString(this.getAtt("CertificateAuthorityData",cdk().ResolutionTypeHint.STRING))}get attrClusterSecurityGroupId(){return cdk().Token.asString(this.getAtt("ClusterSecurityGroupId",cdk().ResolutionTypeHint.STRING))}get attrEncryptionConfigKeyArn(){return cdk().Token.asString(this.getAtt("EncryptionConfigKeyArn",cdk().ResolutionTypeHint.STRING))}get attrEndpoint(){return cdk().Token.asString(this.getAtt("Endpoint",cdk().ResolutionTypeHint.STRING))}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get attrKubernetesNetworkConfigServiceIpv6Cidr(){return cdk().Token.asString(this.getAtt("KubernetesNetworkConfig.ServiceIpv6Cidr",cdk().ResolutionTypeHint.STRING))}get attrOpenIdConnectIssuerUrl(){return cdk().Token.asString(this.getAtt("OpenIdConnectIssuerUrl",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{accessConfig:this._accessConfig,bootstrapSelfManagedAddons:this._bootstrapSelfManagedAddons,computeConfig:this._computeConfig,controlPlaneScalingConfig:this._controlPlaneScalingConfig,deletionProtection:this._deletionProtection,encryptionConfig:this._encryptionConfig,force:this._force,kubernetesNetworkConfig:this._kubernetesNetworkConfig,logging:this._logging,name:this._name,outpostConfig:this._outpostConfig,remoteNetworkConfig:this._remoteNetworkConfig,resourcesVpcConfig:this._resourcesVpcConfig,roleArn:this._roleArn,storageConfig:this._storageConfig,tags:this.tags.renderTags(),upgradePolicy:this._upgradePolicy,version:this._version,zonalShiftConfig:this._zonalShiftConfig}}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",CfnCluster.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnClusterPropsToCloudFormation(props)}}exports.CfnCluster=CfnCluster;function CfnClusterLoggingTypeConfigPropertyValidator(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().validateString)(properties.type)),errors.wrap('supplied properties not correct for "LoggingTypeConfigProperty"')}function convertCfnClusterLoggingTypeConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClusterLoggingTypeConfigPropertyValidator(properties).assertSuccess(),{Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnClusterLoggingTypeConfigPropertyFromCloudFormation(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.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnClusterClusterLoggingPropertyValidator(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("enabledTypes",cdk().listValidator(CfnClusterLoggingTypeConfigPropertyValidator))(properties.enabledTypes)),errors.wrap('supplied properties not correct for "ClusterLoggingProperty"')}function convertCfnClusterClusterLoggingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClusterClusterLoggingPropertyValidator(properties).assertSuccess(),{EnabledTypes:cdk().listMapper(convertCfnClusterLoggingTypeConfigPropertyToCloudFormation)(properties.enabledTypes)}):properties}function CfnClusterClusterLoggingPropertyFromCloudFormation(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("enabledTypes","EnabledTypes",properties.EnabledTypes!=null?cfn_parse().FromCloudFormation.getArray(CfnClusterLoggingTypeConfigPropertyFromCloudFormation)(properties.EnabledTypes):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnClusterLoggingPropertyValidator(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("clusterLogging",CfnClusterClusterLoggingPropertyValidator)(properties.clusterLogging)),errors.wrap('supplied properties not correct for "LoggingProperty"')}function convertCfnClusterLoggingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClusterLoggingPropertyValidator(properties).assertSuccess(),{ClusterLogging:convertCfnClusterClusterLoggingPropertyToCloudFormation(properties.clusterLogging)}):properties}function CfnClusterLoggingPropertyFromCloudFormation(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("clusterLogging","ClusterLogging",properties.ClusterLogging!=null?CfnClusterClusterLoggingPropertyFromCloudFormation(properties.ClusterLogging):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnClusterControlPlanePlacementPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("groupName",cdk().validateString)(properties.groupName)),errors.wrap('supplied properties not correct for "ControlPlanePlacementProperty"')}function convertCfnClusterControlPlanePlacementPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClusterControlPlanePlacementPropertyValidator(properties).assertSuccess(),{GroupName:cdk().stringToCloudFormation(properties.groupName)}):properties}function CfnClusterControlPlanePlacementPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("groupName","GroupName",properties.GroupName!=null?cfn_parse().FromCloudFormation.getString(properties.GroupName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnClusterOutpostConfigPropertyValidator(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("controlPlaneInstanceType",cdk().requiredValidator)(properties.controlPlaneInstanceType)),errors.collect(cdk().propertyValidator("controlPlaneInstanceType",cdk().validateString)(properties.controlPlaneInstanceType)),errors.collect(cdk().propertyValidator("controlPlanePlacement",CfnClusterControlPlanePlacementPropertyValidator)(properties.controlPlanePlacement)),errors.collect(cdk().propertyValidator("outpostArns",cdk().requiredValidator)(properties.outpostArns)),errors.collect(cdk().propertyValidator("outpostArns",cdk().listValidator(cdk().validateString))(properties.outpostArns)),errors.wrap('supplied properties not correct for "OutpostConfigProperty"')}function convertCfnClusterOutpostConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClusterOutpostConfigPropertyValidator(properties).assertSuccess(),{ControlPlaneInstanceType:cdk().stringToCloudFormation(properties.controlPlaneInstanceType),ControlPlanePlacement:convertCfnClusterControlPlanePlacementPropertyToCloudFormation(properties.controlPlanePlacement),OutpostArns:cdk().listMapper(cdk().stringToCloudFormation)(properties.outpostArns)}):properties}function CfnClusterOutpostConfigPropertyFromCloudFormation(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("controlPlaneInstanceType","ControlPlaneInstanceType",properties.ControlPlaneInstanceType!=null?cfn_parse().FromCloudFormation.getString(properties.ControlPlaneInstanceType):void 0),ret.addPropertyResult("controlPlanePlacement","ControlPlanePlacement",properties.ControlPlanePlacement!=null?CfnClusterControlPlanePlacementPropertyFromCloudFormation(properties.ControlPlanePlacement):void 0),ret.addPropertyResult("outpostArns","OutpostArns",properties.OutpostArns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.OutpostArns):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnClusterProviderPropertyValidator(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("keyArn",cdk().validateString)(properties.keyArn)),errors.wrap('supplied properties not correct for "ProviderProperty"')}function convertCfnClusterProviderPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClusterProviderPropertyValidator(properties).assertSuccess(),{KeyArn:cdk().stringToCloudFormation(properties.keyArn)}):properties}function CfnClusterProviderPropertyFromCloudFormation(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("keyArn","KeyArn",properties.KeyArn!=null?cfn_parse().FromCloudFormation.getString(properties.KeyArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnClusterEncryptionConfigPropertyValidator(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("provider",CfnClusterProviderPropertyValidator)(properties.provider)),errors.collect(cdk().propertyValidator("resources",cdk().listValidator(cdk().validateString))(properties.resources)),errors.wrap('supplied properties not correct for "EncryptionConfigProperty"')}function convertCfnClusterEncryptionConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClusterEncryptionConfigPropertyValidator(properties).assertSuccess(),{Provider:convertCfnClusterProviderPropertyToCloudFormation(properties.provider),Resources:cdk().listMapper(cdk().stringToCloudFormation)(properties.resources)}):properties}function CfnClusterEncryptionConfigPropertyFromCloudFormation(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("provider","Provider",properties.Provider!=null?CfnClusterProviderPropertyFromCloudFormation(properties.Provider):void 0),ret.addPropertyResult("resources","Resources",properties.Resources!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Resources):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnClusterElasticLoadBalancingPropertyValidator(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 "ElasticLoadBalancingProperty"')}function convertCfnClusterElasticLoadBalancingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClusterElasticLoadBalancingPropertyValidator(properties).assertSuccess(),{Enabled:cdk().booleanToCloudFormation(properties.enabled)}):properties}function CfnClusterElasticLoadBalancingPropertyFromCloudFormation(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 CfnClusterKubernetesNetworkConfigPropertyValidator(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("elasticLoadBalancing",CfnClusterElasticLoadBalancingPropertyValidator)(properties.elasticLoadBalancing)),errors.collect(cdk().propertyValidator("ipFamily",cdk().validateString)(properties.ipFamily)),errors.collect(cdk().propertyValidator("serviceIpv4Cidr",cdk().validateString)(properties.serviceIpv4Cidr)),errors.collect(cdk().propertyValidator("serviceIpv6Cidr",cdk().validateString)(properties.serviceIpv6Cidr)),errors.wrap('supplied properties not correct for "KubernetesNetworkConfigProperty"')}function convertCfnClusterKubernetesNetworkConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClusterKubernetesNetworkConfigPropertyValidator(properties).assertSuccess(),{ElasticLoadBalancing:convertCfnClusterElasticLoadBalancingPropertyToCloudFormation(properties.elasticLoadBalancing),IpFamily:cdk().stringToCloudFormation(properties.ipFamily),ServiceIpv4Cidr:cdk().stringToCloudFormation(properties.serviceIpv4Cidr),ServiceIpv6Cidr:cdk().stringToCloudFormation(properties.serviceIpv6Cidr)}):properties}function CfnClusterKubernetesNetworkConfigPropertyFromCloudFormation(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("elasticLoadBalancing","ElasticLoadBalancing",properties.ElasticLoadBalancing!=null?CfnClusterElasticLoadBalancingPropertyFromCloudFormation(properties.ElasticLoadBalancing):void 0),ret.addPropertyResult("ipFamily","IpFamily",properties.IpFamily!=null?cfn_parse().FromCloudFormation.getString(properties.IpFamily):void 0),ret.addPropertyResult("serviceIpv4Cidr","ServiceIpv4Cidr",properties.ServiceIpv4Cidr!=null?cfn_parse().FromCloudFormation.getString(properties.ServiceIpv4Cidr):void 0),ret.addPropertyResult("serviceIpv6Cidr","ServiceIpv6Cidr",properties.ServiceIpv6Cidr!=null?cfn_parse().FromCloudFormation.getString(properties.ServiceIpv6Cidr):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnClusterResourcesVpcConfigPropertyValidator(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("endpointPrivateAccess",cdk().validateBoolean)(properties.endpointPrivateAccess)),errors.collect(cdk().propertyValidator("endpointPublicAccess",cdk().validateBoolean)(properties.endpointPublicAccess)),errors.collect(cdk().propertyValidator("publicAccessCidrs",cdk().listValidator(cdk().validateString))(properties.publicAccessCidrs)),errors.collect(cdk().propertyValidator("securityGroupIds",cdk().listValidator(cdk().validateString))(properties.securityGroupIds)),errors.collect(cdk().propertyValidator("subnetIds",cdk().requiredValidator)(properties.subnetIds)),errors.collect(cdk().propertyValidator("subnetIds",cdk().listValidator(cdk().validateString))(properties.subnetIds)),errors.wrap('supplied properties not correct for "ResourcesVpcConfigProperty"')}function convertCfnClusterResourcesVpcConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClusterResourcesVpcConfigPropertyValidator(properties).assertSuccess(),{EndpointPrivateAccess:cdk().booleanToCloudFormation(properties.endpointPrivateAccess),EndpointPublicAccess:cdk().booleanToCloudFormation(properties.endpointPublicAccess),PublicAccessCidrs:cdk().listMapper(cdk().stringToCloudFormation)(properties.publicAccessCidrs),SecurityGroupIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.securityGroupIds),SubnetIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.subnetIds)}):properties}function CfnClusterResourcesVpcConfigPropertyFromCloudFormation(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("endpointPrivateAccess","EndpointPrivateAccess",properties.EndpointPrivateAccess!=null?cfn_parse().FromCloudFormation.getBoolean(properties.EndpointPrivateAccess):void 0),ret.addPropertyResult("endpointPublicAccess","EndpointPublicAccess",properties.EndpointPublicAccess!=null?cfn_parse().FromCloudFormation.getBoolean(properties.EndpointPublicAccess):void 0),ret.addPropertyResult("publicAccessCidrs","PublicAccessCidrs",properties.PublicAccessCidrs!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.PublicAccessCidrs):void 0),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 CfnClusterAccessConfigPropertyValidator(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("authenticationMode",cdk().validateString)(properties.authenticationMode)),errors.collect(cdk().propertyValidator("bootstrapClusterCreatorAdminPermissions",cdk().validateBoolean)(properties.bootstrapClusterCreatorAdminPermissions)),errors.wrap('supplied properties not correct for "AccessConfigProperty"')}function convertCfnClusterAccessConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClusterAccessConfigPropertyValidator(properties).assertSuccess(),{AuthenticationMode:cdk().stringToCloudFormation(properties.authenticationMode),BootstrapClusterCreatorAdminPermissions:cdk().booleanToCloudFormation(properties.bootstrapClusterCreatorAdminPermissions)}):properties}function CfnClusterAccessConfigPropertyFromCloudFormation(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("authenticationMode","AuthenticationMode",properties.AuthenticationMode!=null?cfn_parse().FromCloudFormation.getString(properties.AuthenticationMode):void 0),ret.addPropertyResult("bootstrapClusterCreatorAdminPermissions","BootstrapClusterCreatorAdminPermissions",properties.BootstrapClusterCreatorAdminPermissions!=null?cfn_parse().FromCloudFormation.getBoolean(properties.BootstrapClusterCreatorAdminPermissions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnClusterControlPlaneScalingConfigPropertyValidator(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("tier",cdk().validateString)(properties.tier)),errors.wrap('supplied properties not correct for "ControlPlaneScalingConfigProperty"')}function convertCfnClusterControlPlaneScalingConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClusterControlPlaneScalingConfigPropertyValidator(properties).assertSuccess(),{Tier:cdk().stringToCloudFormation(properties.tier)}):properties}function CfnClusterControlPlaneScalingConfigPropertyFromCloudFormation(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("tier","Tier",properties.Tier!=null?cfn_parse().FromCloudFormation.getString(properties.Tier):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnClusterComputeConfigPropertyValidator(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("nodePools",cdk().listValidator(cdk().validateString))(properties.nodePools)),errors.collect(cdk().propertyValidator("nodeRoleArn",cdk().validateString)(properties.nodeRoleArn)),errors.wrap('supplied properties not correct for "ComputeConfigProperty"')}function convertCfnClusterComputeConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClusterComputeConfigPropertyValidator(properties).assertSuccess(),{Enabled:cdk().booleanToCloudFormation(properties.enabled),NodePools:cdk().listMapper(cdk().stringToCloudFormation)(properties.nodePools),NodeRoleArn:cdk().stringToCloudFormation(properties.nodeRoleArn)}):properties}function CfnClusterComputeConfigPropertyFromCloudFormation(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("nodePools","NodePools",properties.NodePools!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.NodePools):void 0),ret.addPropertyResult("nodeRoleArn","NodeRoleArn",properties.NodeRoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.NodeRoleArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnClusterBlockStoragePropertyValidator(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 "BlockStorageProperty"')}function convertCfnClusterBlockStoragePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClusterBlockStoragePropertyValidator(properties).assertSuccess(),{Enabled:cdk().booleanToCloudFormation(properties.enabled)}):properties}function CfnClusterBlockStoragePropertyFromCloudFormation(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 CfnClusterStorageConfigPropertyValidator(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("blockStorage",CfnClusterBlockStoragePropertyValidator)(properties.blockStorage)),errors.wrap('supplied properties not correct for "StorageConfigProperty"')}function convertCfnClusterStorageConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClusterStorageConfigPropertyValidator(properties).assertSuccess(),{BlockStorage:convertCfnClusterBlockStoragePropertyToCloudFormation(properties.blockStorage)}):properties}function CfnClusterStorageConfigPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(