UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

1 lines 116 kB
"use strict";var _a,_b,_c,_d,_e,_f,_g;Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnPodIdentityAssociation=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");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 _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("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}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.attrArn=cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING)),this.addonName=props.addonName,this.addonVersion=props.addonVersion,this.clusterName=props.clusterName,this.configurationValues=props.configurationValues,this.podIdentityAssociations=props.podIdentityAssociations,this.preserveOnDelete=props.preserveOnDelete,this.resolveConflicts=props.resolveConflicts,this.serviceAccountRoleArn=props.serviceAccountRoleArn,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::EKS::Addon",props.tags,{tagPropertyName:"tags"}),this.tagsRaw=props.tags}get cfnProperties(){return{addonName:this.addonName,addonVersion:this.addonVersion,clusterName:this.clusterName,configurationValues:this.configurationValues,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:props",this.cfnProperties)}renderProperties(props){return convertCfnAddonPropsToCloudFormation(props)}}exports.CfnAddon=CfnAddon,_a=JSII_RTTI_SYMBOL_1,CfnAddon[_a]={fqn:"aws-cdk-lib.aws_eks.CfnAddon",version:"2.202.0"},CfnAddon.CFN_RESOURCE_TYPE_NAME="AWS::EKS::Addon";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 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("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),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("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 _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("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}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.attrArn=cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING)),this.attrCertificateAuthorityData=cdk().Token.asString(this.getAtt("CertificateAuthorityData",cdk().ResolutionTypeHint.STRING)),this.attrClusterSecurityGroupId=cdk().Token.asString(this.getAtt("ClusterSecurityGroupId",cdk().ResolutionTypeHint.STRING)),this.attrEncryptionConfigKeyArn=cdk().Token.asString(this.getAtt("EncryptionConfigKeyArn",cdk().ResolutionTypeHint.STRING)),this.attrEndpoint=cdk().Token.asString(this.getAtt("Endpoint",cdk().ResolutionTypeHint.STRING)),this.attrId=cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING)),this.attrKubernetesNetworkConfigServiceIpv6Cidr=cdk().Token.asString(this.getAtt("KubernetesNetworkConfig.ServiceIpv6Cidr",cdk().ResolutionTypeHint.STRING)),this.attrOpenIdConnectIssuerUrl=cdk().Token.asString(this.getAtt("OpenIdConnectIssuerUrl",cdk().ResolutionTypeHint.STRING)),this.accessConfig=props.accessConfig,this.bootstrapSelfManagedAddons=props.bootstrapSelfManagedAddons,this.computeConfig=props.computeConfig,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=props.roleArn,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 cfnProperties(){return{accessConfig:this.accessConfig,bootstrapSelfManagedAddons:this.bootstrapSelfManagedAddons,computeConfig:this.computeConfig,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:props",this.cfnProperties)}renderProperties(props){return convertCfnClusterPropsToCloudFormation(props)}}exports.CfnCluster=CfnCluster,_b=JSII_RTTI_SYMBOL_1,CfnCluster[_b]={fqn:"aws-cdk-lib.aws_eks.CfnCluster",version:"2.202.0"},CfnCluster.CFN_RESOURCE_TYPE_NAME="AWS::EKS::Cluster";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 CfnClusterUpgradePolicyPropertyValidator(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("supportType",cdk().validateString)(properties.supportType)),errors.wrap('supplied properties not correct for "UpgradePolicyProperty"')}function convertCfnClusterUpgradePolicyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClusterUpgradePolicyPropertyValidator(properties).assertSuccess(),{SupportType:cdk().stringToCloudFormation(properties.supportType)}):properties}function CfnClusterUpgradePolicyPropertyFromCloudFormation(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("supportType","SupportType",properties.SupportType!=null?cfn_parse().FromCloudFormation.getString(properties.SupportType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnClusterRemoteNodeNetworkPropertyValidator(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("cidrs",cdk().requiredValidator)(properties.cidrs)),errors.collect(cdk().propertyValidator("cidrs",cdk().listValidator(cdk().validateString))(properties.cidrs)),errors.wrap('supplied properties not correct for "RemoteNodeNetworkProperty"')}function convertCfnClusterRemoteNodeNetworkPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClusterRemoteNodeNetworkPropertyValidator(properties).assertSuccess(),{Cidrs:cdk().listMapper(cdk().stringToCloudFormation)(properties.cidrs)}):properties}function CfnClusterRemoteNodeNetworkPropertyFromCloudFormation(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("cidrs","Cidrs",properties.Cidrs!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Cidrs):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnClusterRemotePodNetworkPropertyValidator(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("cidrs",cdk().requiredValidator)(properties.cidrs)),errors.collect(cdk().propertyValidator("cidrs",cdk().listValidator(cdk().validateString))(properties.cidrs)),errors.wrap('supplied properties not correct for "RemotePodNetworkProperty"')}function convertCfnClusterRemotePodNetworkPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClusterRemotePodNetworkPropertyValidator(properties).assertSuccess(),{Cidrs:cdk().listMapper(cdk().stringToCloudFormation)(properties.cidrs)}):properties}function CfnClusterRemotePodNetworkPropertyFromCloudFormation(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("cidrs","Cidrs",properties.Cidrs!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Cidrs):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnClusterRemoteNetworkConfigPropertyValidator(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("remoteNodeNetworks",cdk().requiredValidator)(properties.remoteNodeNetworks)),errors.collect(cdk().propertyValidator("remoteNodeNetworks",cdk().listValidator(CfnClusterRemoteNodeNetworkPropertyValidator))(properties.remoteNodeNetworks)),errors.collect(cdk().propertyValidator("remotePodNetworks",cdk().listValidator(CfnClusterRemotePodNetworkPropertyValidator))(properties.remotePodNetworks)),errors.wrap('supplied properties not correct for "RemoteNetworkConfigProperty"')}function convertCfnClusterRemoteNetworkConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClusterRemoteNetworkConfigPropertyValidator(properties).assertSuccess(),{RemoteNodeNetworks:cdk().listMapper(convertCfnClusterRemoteNodeNetworkPropertyToCloudFormation)(properties.remoteNodeNetworks),RemotePodNetworks:cdk().listMapper(convertCfnClusterRemotePodNetworkPropertyToCloudFormation)(properties.remotePodNetworks)}):properties}function CfnClusterRemoteNetworkConfigPropertyFromCloudFormation(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("remoteNodeNetworks","RemoteNodeNetworks",properties.RemoteNodeNetworks!=null?cfn_parse().FromCloudFormation.getArray(CfnClusterRemoteNodeNetworkPropertyFromCloudFormation)(properties.RemoteNodeNetworks):void 0),ret.addPropertyResult("remotePodNetworks","RemotePodNetworks",properties.RemotePodNetworks!=null?cfn_parse().FromCloudFormation.getArray(CfnClusterRemotePodNetworkPropertyFromCloudFormation)(properties.RemotePodNetworks):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??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("blockStorage","BlockStorage",properties.BlockStorage!=null?CfnClusterBlockStoragePropertyFromCloudFormation(properties.BlockStorage):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnClusterZonalShiftConfigPropertyValidator(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 "ZonalShiftConfigProperty"')}function convertCfnClusterZonalShiftConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClusterZonalShiftConfigPropertyValidator(properties).assertSuccess(),{Enabled:cdk().booleanToCloudFormation(properties.enabled)}):properties}function CfnClusterZonalShiftConfigPropertyFromCloudFormation(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 CfnClusterPropsValidator(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("accessConfig",CfnClusterAccessConfigPropertyValidator)(properties.accessConfig)),errors.collect(cdk().propertyValidator("bootstrapSelfManagedAddons",cdk().validateBoolean)(properties.bootstrapSelfManagedAddons)),errors.collect(cdk().propertyValidator("computeConfig",CfnClusterComputeConfigPropertyValidator)(properties.computeConfig)),errors.collect(cdk().propertyValidator("encryptionConfig",cdk().listValidator(CfnClusterEncryptionConfigPropertyValidator))(properties.encryptionConfig)),errors.collect(cdk().propertyValidator("force",cdk().validateBoolean)(properties.force)),errors.collect(cdk().propertyValidator("kubernetesNetworkConfig",CfnClusterKubernetesNetworkConfigPropertyValidator)(properties.kubernetesNetworkConfig)),errors.collect(cdk().propertyValidator("logging",CfnClusterLoggingPropertyValidator)(properties.logging)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("outpostConfig",CfnClusterOutpostConfigPropertyValidator)(properties.outpostConfig)),errors.collect(cdk().propertyValidator("remoteNetworkConfig",CfnClusterRemoteNetworkConfigPropertyValidator)(properties.remoteNetworkConfig)),errors.collect(cdk().propertyValidator("resourcesVpcConfig",cdk().requiredValidator)(properties.resourcesVpcConfig)),errors.collect(cdk().propertyValidator("resourcesVpcConfig",CfnClusterResourcesVpcConfigPropertyValidator)(properties.resourcesVpcConfig)),errors.collect(cdk().propertyValidator("roleArn",cdk().requiredValidator)(properties.roleArn)),errors.collect(cdk().propertyValidator("roleArn",cdk().validateString)(properties.roleArn)),errors.collect(cdk().propertyValidator("storageConfig",CfnClusterStorageConfigPropertyValidator)(properties.storageConfig)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("upgradePolicy",CfnClusterUpgradePolicyPropertyValidator)(properties.upgradePolicy)),errors.collect(cdk().propertyValidator("version",cdk().validateString)(properties.version)),errors.collect(cdk().propertyValidator("