2 lines
166 KiB
JavaScript
2 lines
166 KiB
JavaScript
"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.252.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;cfnPropertyNames={addonName:"AddonName",addonVersion:"AddonVersion",clusterName:"ClusterName",configurationValues:"ConfigurationValues",namespaceConfig:"NamespaceConfig",podIdentityAssociations:"PodIdentityAssociations",preserveOnDelete:"PreserveOnDelete",resolveConflicts:"ResolveConflicts",serviceAccountRoleArn:"ServiceAccountRoleArn",tags:"Tags"};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.252.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;cfnPropertyNames={accessConfig:"AccessConfig",bootstrapSelfManagedAddons:"BootstrapSelfManagedAddons",computeConfig:"ComputeConfig",controlPlaneScalingConfig:"ControlPlaneScalingConfig",deletionProtection:"DeletionProtection",encryptionConfig:"EncryptionConfig",force:"Force",kubernetesNetworkConfig:"KubernetesNetworkConfig",logging:"Logging",name:"Name",outpostConfig:"OutpostConfig",remoteNetworkConfig:"RemoteNetworkConfig",resourcesVpcConfig:"ResourcesVpcConfig",roleArn:"RoleArn",storageConfig:"StorageConfig",tags:"Tags",upgradePolicy:"UpgradePolicy",version:"Version",zonalShiftConfig:"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??{},!(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 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().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 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("controlPlaneScalingConfig",CfnClusterControlPlaneScalingConfigPropertyValidator)(properties.controlPlaneScalingConfig)),errors.collect(cdk().propertyValidator("deletionProtection",cdk().validateBoolean)(properties.deletionProtection)),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("zonalShiftConfig",CfnClusterZonalShiftConfigPropertyValidator)(properties.zonalShiftConfig)),errors.wrap('supplied properties not correct for "CfnClusterProps"')}function convertCfnClusterPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClusterPropsValidator(properties).assertSuccess(),{AccessConfig:convertCfnClusterAccessConfigPropertyToCloudFormation(properties.accessConfig),BootstrapSelfManagedAddons:cdk().booleanToCloudFormation(properties.bootstrapSelfManagedAddons),ComputeConfig:convertCfnClusterComputeConfigPropertyToCloudFormation(properties.computeConfig),ControlPlaneScalingConfig:convertCfnClusterControlPlaneScalingConfigPropertyToCloudFormation(properties.controlPlaneScalingConfig),DeletionProtection:cdk().booleanToCloudFormation(properties.deletionProtection),EncryptionConfig:cdk().listMapper(convertCfnClusterEncryptionConfigPropertyToCloudFormation)(properties.encryptionConfig),Force:cdk().booleanToCloudFormation(properties.force),KubernetesNetworkConfig:convertCfnClusterKubernetesNetworkConfigPropertyToCloudFormation(properties.kubernetesNetworkConfig),Logging:convertCfnClusterLoggingPropertyToCloudFormation(properties.logging),Name:cdk().stringToCloudFormation(properties.name),OutpostConfig:convertCfnClusterOutpostConfigPropertyToCloudFormation(properties.outpostConfig),RemoteNetworkConfig:convertCfnClusterRemoteNetworkConfigPropertyToCloudFormation(properties.remoteNetworkConfig),ResourcesVpcConfig:convertCfnClusterResourcesVpcConfigPropertyToCloudFormation(properties.resourcesVpcConfig),RoleArn:cdk().stringToCloudFormation(properties.roleArn),StorageConfig:convertCfnClusterStorageConfigPropertyToCloudFormation(properties.storageConfig),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),UpgradePolicy:convertCfnClusterUpgradePolicyPropertyToCloudFormation(properties.upgradePolicy),Version:cdk().stringToCloudFormation(properties.version),ZonalShiftConfig:convertCfnClusterZonalShiftConfigPropertyToCloudFormation(properties.zonalShiftConfig)}):properties}function CfnClusterPropsFromCloudFormation(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("accessConfig","AccessConfig",properties.AccessConfig!=null?CfnClusterAccessConfigPropertyFromCloudFormation(properties.AccessConfig):void 0),ret.addPropertyResult("bootstrapSelfManagedAddons","BootstrapSelfManagedAddons",properties.BootstrapSelfManagedAddons!=null?cfn_parse().FromCloudFormation.getBoolean(properties.BootstrapSelfManagedAddons):void 0),ret.addPropertyResult("computeConfig","ComputeConfig",properties.ComputeConfig!=null?CfnClusterComputeConfigPropertyFromCloudFormation(properties.ComputeConfig):void 0),ret.addPropertyResult("controlPlaneScalingConfig","ControlPlaneScalingConfig",properties.ControlPlaneScalingConfig!=null?CfnClusterControlPlaneScalingConfigPropertyFromCloudFormation(properties.ControlPlaneScalingConfig):void 0),ret.addPropertyResult("deletionProtection","DeletionProtection",properties.DeletionProtection!=null?cfn_parse().FromCloudFormation.getBoolean(properties.DeletionProtection):void 0),ret.addPropertyResult("encryptionConfig","EncryptionConfig",properties.EncryptionConfig!=null?cfn_parse().FromCloudFormation.getArray(CfnClusterEncryptionConfigPropertyFromCloudFormation)(properties.EncryptionConfig):void 0),ret.addPropertyResult("force","Force",properties.Force!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Force):void 0),ret.addPropertyResult("kubernetesNetworkConfig","KubernetesNetworkConfig",properties.KubernetesNetworkConfig!=null?CfnClusterKubernetesNetworkConfigPropertyFromCloudFormation(properties.KubernetesNetworkConfig):void 0),ret.addPropertyResult("logging","Logging",properties.Logging!=null?CfnClusterLoggingPropertyFromCloudFormation(properties.Logging):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("outpostConfig","OutpostConfig",properties.OutpostConfig!=null?CfnClusterOutpostConfigPropertyFromCloudFormation(properties.OutpostConfig):void 0),ret.addPropertyResult("remoteNetworkConfig","RemoteNetworkConfig",properties.RemoteNetworkConfig!=null?CfnClusterRemoteNetworkConfigPropertyFromCloudFormation(properties.RemoteNetworkConfig):void 0),ret.addPropertyResult("resourcesVpcConfig","ResourcesVpcConfig",properties.ResourcesVpcConfig!=null?CfnClusterResourcesVpcConfigPropertyFromCloudFormation(properties.ResourcesVpcConfig):void 0),ret.addPropertyResult("roleArn","RoleArn",properties.RoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.RoleArn):void 0),ret.addPropertyResult("storageConfig","StorageConfig",properties.StorageConfig!=null?CfnClusterStorageConfigPropertyFromCloudFormation(properties.StorageConfig):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("upgradePolicy","UpgradePolicy",properties.UpgradePolicy!=null?CfnClusterUpgradePolicyPropertyFromCloudFormation(properties.UpgradePolicy):void 0),ret.addPropertyResult("version","Version",properties.Version!=null?cfn_parse().FromCloudFormation.getString(properties.Version):void 0),ret.addPropertyResult("zonalShiftConfig","ZonalShiftConfig",properties.ZonalShiftConfig!=null?CfnClusterZonalShiftConfigPropertyFromCloudFormation(properties.ZonalShiftConfig):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnFargateProfile extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_eks.CfnFargateProfile",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::EKS::FargateProfile";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnFargateProfilePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnFargateProfile(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 isCfnFargateProfile(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnFargateProfile.CFN_RESOURCE_TYPE_NAME}static arnForFargateProfile(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_eks_IFargateProfileRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForFargateProfile),error}return resource.fargateProfileRef.fargateProfileArn}_clusterName;_fargateProfileName;_podExecutionRoleArn;_selectors;_subnets;tags;_tagsRaw;cfnPropertyNames={clusterName:"ClusterName",fargateProfileName:"FargateProfileName",podExecutionRoleArn:"PodExecutionRoleArn",selectors:"Selectors",subnets:"Subnets",tags:"Tags"};constructor(scope,id,props){super(scope,id,{type:CfnFargateProfile.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_eks_CfnFargateProfileProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnFargateProfile),error}cdk().requireProperty(props,"clusterName",this),cdk().requireProperty(props,"podExecutionRoleArn",this),cdk().requireProperty(props,"selectors",this),this._clusterName=props.clusterName,this._fargateProfileName=props.fargateProfileName,this._podExecutionRoleArn=props.podExecutionRoleArn,this._selectors=props.selectors,this._subnets=props.subnets,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::EKS::FargateProfile",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get fargateProfileRef(){return{clusterName:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),fargateProfileName:cdk().Fn.select(1,cdk().Fn.split("|",this.ref)),fargateProfileArn:this.attrArn}}get clusterName(){return this._clusterName}set clusterName(value){cdk().traceProperty(this.node,"ClusterName"),this._clusterName=value}get fargateProfileName(){return this._fargateProfileName}set fargateProfileName(value){cdk().traceProperty(this.node,"FargateProfileName"),this._fargateProfileName=value}get podExecutionRoleArn(){return this._podExecutionRoleArn}set podExecutionRoleArn(value){cdk().traceProperty(this.node,"PodExecutionRoleArn"),this._podExecutionRoleArn=value}get selectors(){return this._selectors}set selectors(value){cdk().traceProperty(this.node,"Selectors"),this._selectors=value}get subnets(){return this._subnets}set subnets(value){cdk().traceProperty(this.node,"Subnets"),this._subnets=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{clusterName:this._clusterName,fargateProfileName:this._fargateProfileName,podExecutionRoleArn:this._podExecutionRoleArn,selectors:this._selectors,subnets:this._subnets,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",CfnFargateProfile.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnFargateProfilePropsToCloudFormation(props)}}exports.CfnFargateProfile=CfnFargateProfile;function CfnFargateProfileLabelPropertyValidator(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("key",cdk().requiredValidator)(properties.key)),errors.collect(cdk().propertyValidator("key",cdk().validateString)(properties.key)),errors.collect(cdk().propertyValidator("value",cdk().requiredValidator)(properties.value)),errors.collect(cdk().propertyValidator("value",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "LabelProperty"')}function convertCfnFargateProfileLabelPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFargateProfileLabelPropertyValidator(properties).assertSuccess(),{Key:cdk().stringToCloudFormation(properties.key),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnFargateProfileLabelPropertyFromCloudFormation(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("key","Key",properties.Key!=null?cfn_parse().FromCloudFormation.getString(properties.Key):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFargateProfileSelectorPropertyValidator(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("labels",cdk().listValidator(CfnFargateProfileLabelPropertyValidator))(properties.labels)),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 "SelectorProperty"')}function convertCfnFargateProfileSelectorPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFargateProfileSelectorPropertyValidator(properties).assertSuccess(),{Labels:cdk().listMapper(convertCfnFargateProfileLabelPropertyToCloudFormation)(properties.labels),Namespace:cdk().stringToCloudFormation(properties.namespace)}):properties}function CfnFargateProfileSelectorPropertyFromCloudFormation(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("labels","Labels",properties.Labels!=null?cfn_parse().FromCloudFormation.getArray(CfnFargateProfileLabelPropertyFromCloudFormation)(properties.Labels):void 0),ret.addPropertyResult("namespace","Namespace",properties.Namespace!=null?cfn_parse().FromCloudFormation.getString(properties.Namespace):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFargateProfilePropsValidator(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("clusterName",cdk().requiredValidator)(properties.clusterName)),errors.collect(cdk().propertyValidator("clusterName",cdk().validateString)(properties.clusterName)),errors.collect(cdk().propertyValidator("fargateProfileName",cdk().validateString)(properties.fargateProfileName)),errors.collect(cdk().propertyValidator("podExecutionRoleArn",cdk().requiredValidator)(properties.podExecutionRoleArn)),errors.collect(cdk().propertyValidator("podExecutionRoleArn",cdk().validateString)(properties.podExecutionRoleArn)),errors.collect(cdk().propertyValidator("selectors",cdk().requiredValidator)(properties.selectors)),errors.collect(cdk().propertyValidator("selectors",cdk().listValidator(CfnFargateProfileSelectorPropertyValidator))(properties.selectors)),errors.collect(cdk().propertyValidator("subnets",cdk().listValidator(cdk().validateString))(properties.subnets)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnFargateProfileProps"')}function convertCfnFargateProfilePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFargateProfilePropsValidator(properties).assertSuccess(),{ClusterName:cdk().stringToCloudFormation(properties.clusterName),FargateProfileName:cdk().stringToCloudFormation(properties.fargateProfileName),PodExecutionRoleArn:cdk().stringToCloudFormation(properties.podExecutionRoleArn),Selectors:cdk().listMapper(convertCfnFargateProfileSelectorPropertyToCloudFormation)(properties.selectors),Subnets:cdk().listMapper(cdk().stringToCloudFormation)(properties.subnets),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnFargateProfilePropsFromCloudFormation(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("clusterName","ClusterName",properties.ClusterName!=null?cfn_parse().FromCloudFormation.getString(properties.ClusterName):void 0),ret.addPropertyResult("fargateProfileName","FargateProfileName",properties.FargateProfileName!=null?cfn_parse().FromCloudFormation.getString(properties.FargateProfileName):void 0),ret.addPropertyResult("podExecutionRoleArn","PodExecutionRoleArn",properties.PodExecutionRoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.PodExecutionRoleArn):void 0),ret.addPropertyResult("selectors","Selectors",properties.Selectors!=null?cfn_parse().FromCloudFormation.getArray(CfnFargateProfileSelectorPropertyFromCloudFormation)(properties.Selectors):void 0),ret.addPropertyResult("subnets","Subnets",properties.Subnets!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Subnets):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 CfnIdentityProviderConfig extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_eks.CfnIdentityProviderConfig",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::EKS::IdentityProviderConfig";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnIdentityProviderConfigPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnIdentityProviderConfig(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 isCfnIdentityProviderConfig(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnIdentityProviderConfig.CFN_RESOURCE_TYPE_NAME}static arnForIdentityProviderConfig(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_eks_IIdentityProviderConfigRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForIdentityProviderConfig),error}return resource.identityProviderConfigRef.identityProviderConfigArn}_clusterName;_identityProviderConfigName;_oidc;tags;_tagsRaw;_type;cfnPropertyNames={clusterName:"ClusterName",identityProviderConfigName:"IdentityProviderConfigName",oidc:"Oidc",tags:"Tags",type:"Type"};constructor(scope,id,props){super(scope,id,{type:CfnIdentityProviderConfig.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_eks_CfnIdentityProviderConfigProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnIdentityProviderConfig),error}cdk().requireProperty(props,"clusterName",this),cdk().requireProperty(props,"type",this),this._clusterName=props.clusterName,this._identityProviderConfigName=props.identityProviderConfigName,this._oidc=props.oidc,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::EKS::IdentityProviderConfig",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._type=props.type}get identityProviderConfigRef(){return{identityProviderConfigName:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),clusterName:cdk().Fn.select(1,cdk().Fn.split("|",this.ref)),type:cdk().Fn.select(2,cdk().Fn.split("|",this.ref)),identityProviderConfigArn:this.attrIdentityProviderConfigArn}}get clusterName(){return this._clusterName}set clusterName(value){cdk().traceProperty(this.node,"ClusterName"),this._clusterName=value}get identityProviderConfigName(){return this._identityProviderConfigName}set identityProviderConfigName(value){cdk().traceProperty(this.node,"IdentityProviderConfigName"),this._identityProviderConfigName=value}get oidc(){return this._oidc}set oidc(value){cdk().traceProperty(this.node,"Oidc"),this._oidc=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get type(){return this._type}set type(value){cdk().traceProperty(this.node,"Type"),this._type=value}get attrIdentityProviderConfigArn(){return cdk().Token.asString(this.getAtt("IdentityProviderConfigArn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{clusterName:this._clusterName,identityProviderConfigName:this._identityProviderConfigName,oidc:this._oidc,tags:this.tags.renderTags(),type:this._type}}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",CfnIdentityProviderConfig.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnIdentityProviderConfigPropsToCloudFormation(props)}}exports.CfnIdentityProviderConfig=CfnIdentityProviderConfig;function CfnIdentityProviderConfigRequiredClaimPropertyValidator(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("key",cdk().requiredValidator)(properties.key)),errors.collect(cdk().propertyValidator("key",cdk().validateString)(properties.key)),errors.collect(cdk().propertyValidator("value",cdk().requiredValidator)(properties.value)),errors.collect(cdk().propertyValidator("value",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "RequiredClaimProperty"')}function convertCfnIdentityProviderConfigRequiredClaimPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIdentityProviderConfigRequiredClaimPropertyValidator(properties).assertSuccess(),{Key:cdk().stringToCloudFormation(properties.key),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnIdentityProviderConfigRequiredClaimPropertyFromCloudFormation(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("key","Key",properties.Key!=null?cfn_parse().FromCloudFormation.getString(properties.Key):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnIdentityProviderConfigOidcIdentityProviderConfigPropertyValidator(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("clientId",cdk().requiredValidator)(properties.clientId)),errors.collect(cdk().propertyValidator("clientId",cdk().validateString)(properties.clientId)),errors.collect(cdk().propertyValidator("groupsClaim",cdk().validateString)(properties.groupsClaim)),errors.collect(cdk().propertyValidator("groupsPrefix",cdk().validateString)(properties.groupsPrefix)),errors.collect(cdk().propertyValidator("issuerUrl",cdk().requiredValidator)(properties.issuerUrl)),errors.collect(cdk().propertyValidator("issuerUrl",cdk().validateString)(properties.issuerUrl)),errors.collect(cdk().propertyValidator("requiredClaims",cdk().listValidator(CfnIdentityProviderConfigRequiredClaimPropertyValidator))(properties.requiredClaims)),errors.collect(cdk().propertyValidator("usernameClaim",cdk().validateString)(properties.usernameClaim)),errors.collect(cdk().propertyValidator("usernamePrefix",cdk().validateString)(properties.usernamePrefix)),errors.wrap('supplied properties not correct for "OidcIdentityProviderConfigProperty"')}function convertCfnIdentityProviderConfigOidcIdentityProviderConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIdentityProviderConfigOidcIdentityProviderConfigPropertyValidator(properties).assertSuccess(),{ClientId:cdk().stringToCloudFormation(properties.clientId),GroupsClaim:cdk().stringToCloudFormation(properties.groupsClaim),GroupsPrefix:cdk().stringToCloudFormation(properties.groupsPrefix),IssuerUrl:cdk().stringToCloudFormation(properties.issuerUrl),RequiredClaims:cdk().listMapper(convertCfnIdentityProviderConfigRequiredClaimPropertyToCloudFormation)(properties.requiredClaims),UsernameClaim:cdk().stringToCloudFormation(properties.usernameClaim),UsernamePrefix:cdk().stringToCloudFormation(properties.usernamePrefix)}):properties}function CfnIdentityProviderConfigOidcIdentityProviderConfigPropertyFromCloudFormation(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("clientId","ClientId",properties.ClientId!=null?cfn_parse().FromCloudFormation.getString(properties.ClientId):void 0),ret.addPropertyResult("groupsClaim","GroupsClaim",properties.GroupsClaim!=null?cfn_parse().FromCloudFormation.getString(properties.GroupsClaim):void 0),ret.addPropertyResult("groupsPrefix","GroupsPrefix",properties.GroupsPrefix!=null?cfn_parse().FromCloudFormation.getString(properties.GroupsPrefix):void 0),ret.addPropertyResult("issuerUrl","IssuerUrl",properties.IssuerUrl!=null?cfn_parse().FromCloudFormation.getString(properties.IssuerUrl):void 0),ret.addPropertyResult("requiredClaims","RequiredClaims",properties.RequiredClaims!=null?cfn_parse().FromCloudFormation.getArray(CfnIdentityProviderConfigRequiredClaimPropertyFromCloudFormation)(properties.RequiredClaims):void 0),ret.addPropertyResult("usernameClaim","UsernameClaim",properties.UsernameClaim!=null?cfn_parse().FromCloudFormation.getString(properties.UsernameClaim):void 0),ret.addPropertyResult("usernamePrefix","UsernamePrefix",properties.UsernamePrefix!=null?cfn_parse().FromCloudFormation.getString(properties.UsernamePrefix):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnIdentityProviderConfigPropsValidator(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("clusterName",cdk().requiredValidator)(properties.clusterName)),errors.collect(cdk().propertyValidator("clusterName",cdk().validateString)(properties.clusterName)),errors.collect(cdk().propertyValidator("identityProviderConfigName",cdk().validateString)(properties.identityProviderConfigName)),errors.collect(cdk().propertyValidator("oidc",CfnIdentityProviderConfigOidcIdentityProviderConfigPropertyValidator)(properties.oidc)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "CfnIdentityProviderConfigProps"')}function convertCfnIdentityProviderConfigPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIdentityProviderConfigPropsValidator(properties).assertSuccess(),{ClusterName:cdk().stringToCloudFormation(properties.clusterName),IdentityProviderConfigName:cdk().stringToCloudFormation(properties.identityProviderConfigName),Oidc:convertCfnIdentityProviderConfigOidcIdentityProviderConfigPropertyToCloudFormation(properties.oidc),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnIdentityProviderConfigPropsFromCloudFormation(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("clusterName","ClusterName",properties.ClusterName!=null?cfn_parse().FromCloudFormation.getString(properties.ClusterName):void 0),ret.addPropertyResult("identityProviderConfigName","IdentityProviderConfigName",properties.IdentityProviderConfigName!=null?cfn_parse().FromCloudFormation.getString(properties.IdentityProviderConfigName):void 0),ret.addPropertyResult("oidc","Oidc",properties.Oidc!=null?CfnIdentityProviderConfigOidcIdentityProviderConfigPropertyFromCloudFormation(properties.Oidc):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnNodegroup extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_eks.CfnNodegroup",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::EKS::Nodegroup";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnNodegroupPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnNodegroup(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 isCfnNodegroup(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnNodegroup.CFN_RESOURCE_TYPE_NAME}static arnForNodegroup(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_eks_INodegroupRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForNodegroup),error}return resource.nodegroupRef.nodegroupArn}_amiType;_capacityType;_clusterName;_diskSize;_forceUpdateEnabled;_instanceTypes;_labels;_launchTemplate;_nodegroupName;_nodeRepairConfig;_nodeRole;_releaseVersion;_remoteAccess;_scalingConfig;_subnets;tags;_tagsRaw;_taints;_updateConfig;_version;_warmPoolConfig;cfnPropertyNames={amiType:"AmiType",capacityType:"CapacityType",clusterName:"ClusterName",diskSize:"DiskSize",forceUpdateEnabled:"ForceUpdateEnabled",instanceTypes:"InstanceTypes",labels:"Labels",launchTemplate:"LaunchTemplate",nodegroupName:"NodegroupName",nodeRepairConfig:"NodeRepairConfig",nodeRole:"NodeRole",releaseVersion:"ReleaseVersion",remoteAccess:"RemoteAccess",scalingConfig:"ScalingConfig",subnets:"Subnets",tags:"Tags",taints:"Taints",updateConfig:"UpdateConfig",version:"Version",warmPoolConfig:"WarmPoolConfig"};constructor(scope,id,props){super(scope,id,{type:CfnNodegroup.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_eks_CfnNodegroupProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnNodegroup),error}cdk().requireProperty(props,"clusterName",this),cdk().requireProperty(props,"nodeRole",this),cdk().requireProperty(props,"subnets",this),this._amiType=props.amiType,this._capacityType=props.capacityType,this._clusterName=cdk().getRefProperty(props.clusterName?.clusterRef,"clusterName")??cdk().ensureStringOrUndefined(props.clusterName,"clusterName","eks.IClusterRef | string"),this._diskSize=props.diskSize,this._forceUpdateEnabled=props.forceUpdateEnabled,this._instanceTypes=props.instanceTypes,this._labels=props.labels,this._launchTemplate=props.launchTemplate,this._nodegroupName=props.nodegroupName,this._nodeRepairConfig=props.nodeRepairConfig,this._nodeRole=cdk().getRefProperty(props.nodeRole?.roleRef,"roleArn")??cdk().ensureStringOrUndefined(props.nodeRole,"nodeRole","iam.IRoleRef | string"),this._releaseVersion=props.releaseVersion,this._remoteAccess=props.remoteAccess,this._scalingConfig=props.scalingConfig,this._subnets=cdk().mapArrayInPlace(props.subnets,item=>cdk().getRefProperty(item?.subnetRef,"subnetId")??cdk().ensureStringOrUndefined(item,"subnets","ec2.ISubnetRef | string")),this.tags=new(cdk()).TagManager(cdk().TagType.MAP,"AWS::EKS::Nodegroup",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._taints=props.taints,this._updateConfig=props.updateConfig,this._version=props.version,this._warmPoolConfig=props.warmPoolConfig}get nodegroupRef(){return{nodegroupId:this.ref,nodegroupArn:this.attrArn}}get amiType(){return this._amiType}set amiType(value){cdk().traceProperty(this.node,"AmiType"),this._amiType=value}get capacityType(){return this._capacityType}set capacityType(value){cdk().traceProperty(this.node,"CapacityType"),this._capacityType=value}get clusterName(){return this._clusterName}set clusterName(value){cdk().traceProperty(this.node,"ClusterName"),this._clusterName=value}get diskSize(){return this._diskSize}set diskSize(value){cdk().traceProperty(this.node,"DiskSize"),this._diskSize=value}get forceUpdateEnabled(){return this._forceUpdateEnabled}set forceUpdateEnabled(value){cdk().traceProperty(this.node,"ForceUpdateEnabled"),this._forceUpdateEnabled=value}get instanceTypes(){return this._instanceTypes}set instanceTypes(value){cdk().traceProperty(this.node,"InstanceTypes"),this._instanceTypes=value}get labels(){return this._labels}set labels(value){cdk().traceProperty(this.node,"Labels"),this._labels=value}get launchTemplate(){return this._launchTemplate}set launchTemplate(value){cdk().traceProperty(this.node,"LaunchTemplate"),this._launchTemplate=value}get nodegroupName(){return this._nodegroupName}set nodegroupName(value){cdk().traceProperty(this.node,"NodegroupName"),this._nodegroupName=value}get nodeRepairConfig(){return this._nodeRepairConfig}set nodeRepairConfig(value){cdk().traceProperty(this.node,"NodeRepairConfig"),this._nodeRepairConfig=value}get nodeRole(){return this._nodeRole}set nodeRole(value){cdk().traceProperty(this.node,"NodeRole"),this._nodeRole=value}get releaseVersion(){return this._releaseVersion}set releaseVersion(value){cdk().traceProperty(this.node,"ReleaseVersion"),this._releaseVersion=value}get remoteAccess(){return this._remoteAccess}set remoteAccess(value){cdk().traceProperty(this.node,"RemoteAccess"),this._remoteAccess=value}get scalingConfig(){return this._scalingConfig}set scalingConfig(value){cdk().traceProperty(this.node,"ScalingConfig"),this._scalingConfig=value}get subnets(){return this._subnets}set subnets(value){cdk().traceProperty(this.node,"Subnets"),this._subnets=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get taints(){return this._taints}set taints(value){cdk().traceProperty(this.node,"Taints"),this._taints=value}get updateConfig(){return this._updateConfig}set updateConfig(value){cdk().traceProperty(this.node,"UpdateConfig"),this._updateConfig=value}get version(){return this._version}set version(value){cdk().traceProperty(this.node,"Version"),this._version=value}get warmPoolConfig(){return this._warmPoolConfig}set warmPoolConfig(value){cdk().traceProperty(this.node,"WarmPoolConfig"),this._warmPoolConfig=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrClusterName(){return cdk().Token.asString(this.getAtt("ClusterName",cdk().ResolutionTypeHint.STRING))}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get attrNodegroupName(){return cdk().Token.asString(this.getAtt("NodegroupName",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{amiType:this._amiType,capacityType:this._capacityType,clusterName:this._clusterName,diskSize:this._diskSize,forceUpdateEnabled:this._forceUpdateEnabled,instanceTypes:this._instanceTypes,labels:this._labels,launchTemplate:this._launchTemplate,nodegroupName:this._nodegroupName,nodeRepairConfig:this._nodeRepairConfig,nodeRole:this._nodeRole,releaseVersion:this._releaseVersion,remoteAccess:this._remoteAccess,scalingConfig:this._scalingConfig,subnets:this._subnets,tags:this.tags.renderTags(),taints:this._taints,updateConfig:this._updateConfig,version:this._version,warmPoolConfig:this._warmPoolConfig}}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",CfnNodegroup.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnNodegroupPropsToCloudFormation(props)}}exports.CfnNodegroup=CfnNodegroup;function CfnNodegroupUpdateConfigPropertyValidator(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("maxUnavailable",cdk().validateNumber)(properties.maxUnavailable)),errors.collect(cdk().propertyValidator("maxUnavailablePercentage",cdk().validateNumber)(properties.maxUnavailablePercentage)),errors.collect(cdk().propertyValidator("updateStrategy",cdk().validateString)(properties.updateStrategy)),errors.wrap('supplied properties not correct for "UpdateConfigProperty"')}function convertCfnNodegroupUpdateConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnNodegroupUpdateConfigPropertyValidator(properties).assertSuccess(),{MaxUnavailable:cdk().numberToCloudFormation(properties.maxUnavailable),MaxUnavailablePercentage:cdk().numberToCloudFormation(properties.maxUnavailablePercentage),UpdateStrategy:cdk().stringToCloudFormation(properties.updateStrategy)}):properties}function CfnNodegroupUpdateConfigPropertyFromCloudFormation(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("maxUnavailable","MaxUnavailable",properties.MaxUnavailable!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxUnavailable):void 0),ret.addPropertyResult("maxUnavailablePercentage","MaxUnavailablePercentage",properties.MaxUnavailablePercentage!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxUnavailablePercentage):void 0),ret.addPropertyResult("updateStrategy","UpdateStrategy",properties.UpdateStrategy!=null?cfn_parse().FromCloudFormation.getString(properties.UpdateStrategy):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnNodegroupScalingConfigPropertyValidator(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("desiredSize",cdk().validateNumber)(properties.desiredSize)),errors.collect(cdk().propertyValidator("maxSize",cdk().validateNumber)(properties.maxSize)),errors.collect(cdk().propertyValidator("minSize",cdk().validateNumber)(properties.minSize)),errors.wrap('supplied properties not correct for "ScalingConfigProperty"')}function convertCfnNodegroupScalingConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnNodegroupScalingConfigPropertyValidator(properties).assertSuccess(),{DesiredSize:cdk().numberToCloudFormation(properties.desiredSize),MaxSize:cdk().numberToCloudFormation(properties.maxSize),MinSize:cdk().numberToCloudFormation(properties.minSize)}):properties}function CfnNodegroupScalingConfigPropertyFromCloudFormation(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("desiredSize","DesiredSize",properties.DesiredSize!=null?cfn_parse().FromCloudFormation.getNumber(properties.DesiredSize):void 0),ret.addPropertyResult("maxSize","MaxSize",properties.MaxSize!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxSize):void 0),ret.addPropertyResult("minSize","MinSize",properties.MinSize!=null?cfn_parse().FromCloudFormation.getNumber(properties.MinSize):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnNodegroupTaintPropertyValidator(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("effect",cdk().validateString)(properties.effect)),errors.collect(cdk().propertyValidator("key",cdk().validateString)(properties.key)),errors.collect(cdk().propertyValidator("value",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "TaintProperty"')}function convertCfnNodegroupTaintPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnNodegroupTaintPropertyValidator(properties).assertSuccess(),{Effect:cdk().stringToCloudFormation(properties.effect),Key:cdk().stringToCloudFormation(properties.key),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnNodegroupTaintPropertyFromCloudFormation(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("effect","Effect",properties.Effect!=null?cfn_parse().FromCloudFormation.getString(properties.Effect):void 0),ret.addPropertyResult("key","Key",properties.Key!=null?cfn_parse().FromCloudFormation.getString(properties.Key):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnNodegroupLaunchTemplateSpecificationPropertyValidator(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("id",cdk().validateString)(properties.id)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("version",cdk().validateString)(properties.version)),errors.wrap('supplied properties not correct for "LaunchTemplateSpecificationProperty"')}function convertCfnNodegroupLaunchTemplateSpecificationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnNodegroupLaunchTemplateSpecificationPropertyValidator(properties).assertSuccess(),{Id:cdk().stringToCloudFormation(properties.id),Name:cdk().stringToCloudFormation(properties.name),Version:cdk().stringToCloudFormation(properties.version)}):properties}function CfnNodegroupLaunchTemplateSpecificationPropertyFromCloudFormation(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("id","Id",properties.Id!=null?cfn_parse().FromCloudFormation.getString(properties.Id):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("version","Version",properties.Version!=null?cfn_parse().FromCloudFormation.getString(properties.Version):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnNodegroupRemoteAccessPropertyValidator(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("ec2SshKey",cdk().requiredValidator)(properties.ec2SshKey)),errors.collect(cdk().propertyValidator("ec2SshKey",cdk().validateString)(properties.ec2SshKey)),errors.collect(cdk().propertyValidator("sourceSecurityGroups",cdk().listValidator(cdk().validateString))(properties.sourceSecurityGroups)),errors.wrap('supplied properties not correct for "RemoteAccessProperty"')}function convertCfnNodegroupRemoteAccessPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnNodegroupRemoteAccessPropertyValidator(properties).assertSuccess(),{Ec2SshKey:cdk().stringToCloudFormation(properties.ec2SshKey),SourceSecurityGroups:cdk().listMapper(cdk().stringToCloudFormation)(properties.sourceSecurityGroups)}):properties}function CfnNodegroupRemoteAccessPropertyFromCloudFormation(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("ec2SshKey","Ec2SshKey",properties.Ec2SshKey!=null?cfn_parse().FromCloudFormation.getString(properties.Ec2SshKey):void 0),ret.addPropertyResult("sourceSecurityGroups","SourceSecurityGroups",properties.SourceSecurityGroups!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SourceSecurityGroups):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnNodegroupNodeRepairConfigOverridesPropertyValidator(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("minRepairWaitTimeMins",cdk().validateNumber)(properties.minRepairWaitTimeMins)),errors.collect(cdk().propertyValidator("nodeMonitoringCondition",cdk().validateString)(properties.nodeMonitoringCondition)),errors.collect(cdk().propertyValidator("nodeUnhealthyReason",cdk().validateString)(properties.nodeUnhealthyReason)),errors.collect(cdk().propertyValidator("repairAction",cdk().validateString)(properties.repairAction)),errors.wrap('supplied properties not correct for "NodeRepairConfigOverridesProperty"')}function convertCfnNodegroupNodeRepairConfigOverridesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnNodegroupNodeRepairConfigOverridesPropertyValidator(properties).assertSuccess(),{MinRepairWaitTimeMins:cdk().numberToCloudFormation(properties.minRepairWaitTimeMins),NodeMonitoringCondition:cdk().stringToCloudFormation(properties.nodeMonitoringCondition),NodeUnhealthyReason:cdk().stringToCloudFormation(properties.nodeUnhealthyReason),RepairAction:cdk().stringToCloudFormation(properties.repairAction)}):properties}function CfnNodegroupNodeRepairConfigOverridesPropertyFromCloudFormation(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("minRepairWaitTimeMins","MinRepairWaitTimeMins",properties.MinRepairWaitTimeMins!=null?cfn_parse().FromCloudFormation.getNumber(properties.MinRepairWaitTimeMins):void 0),ret.addPropertyResult("nodeMonitoringCondition","NodeMonitoringCondition",properties.NodeMonitoringCondition!=null?cfn_parse().FromCloudFormation.getString(properties.NodeMonitoringCondition):void 0),ret.addPropertyResult("nodeUnhealthyReason","NodeUnhealthyReason",properties.NodeUnhealthyReason!=null?cfn_parse().FromCloudFormation.getString(properties.NodeUnhealthyReason):void 0),ret.addPropertyResult("repairAction","RepairAction",properties.RepairAction!=null?cfn_parse().FromCloudFormation.getString(properties.RepairAction):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnNodegroupNodeRepairConfigPropertyValidator(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("maxParallelNodesRepairedCount",cdk().validateNumber)(properties.maxParallelNodesRepairedCount)),errors.collect(cdk().propertyValidator("maxParallelNodesRepairedPercentage",cdk().validateNumber)(properties.maxParallelNodesRepairedPercentage)),errors.collect(cdk().propertyValidator("maxUnhealthyNodeThresholdCount",cdk().validateNumber)(properties.maxUnhealthyNodeThresholdCount)),errors.collect(cdk().propertyValidator("maxUnhealthyNodeThresholdPercentage",cdk().validateNumber)(properties.maxUnhealthyNodeThresholdPercentage)),errors.collect(cdk().propertyValidator("nodeRepairConfigOverrides",cdk().listValidator(CfnNodegroupNodeRepairConfigOverridesPropertyValidator))(properties.nodeRepairConfigOverrides)),errors.wrap('supplied properties not correct for "NodeRepairConfigProperty"')}function convertCfnNodegroupNodeRepairConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnNodegroupNodeRepairConfigPropertyValidator(properties).assertSuccess(),{Enabled:cdk().booleanToCloudFormation(properties.enabled),MaxParallelNodesRepairedCount:cdk().numberToCloudFormation(properties.maxParallelNodesRepairedCount),MaxParallelNodesRepairedPercentage:cdk().numberToCloudFormation(properties.maxParallelNodesRepairedPercentage),MaxUnhealthyNodeThresholdCount:cdk().numberToCloudFormation(properties.maxUnhealthyNodeThresholdCount),MaxUnhealthyNodeThresholdPercentage:cdk().numberToCloudFormation(properties.maxUnhealthyNodeThresholdPercentage),NodeRepairConfigOverrides:cdk().listMapper(convertCfnNodegroupNodeRepairConfigOverridesPropertyToCloudFormation)(properties.nodeRepairConfigOverrides)}):properties}function CfnNodegroupNodeRepairConfigPropertyFromCloudFormation(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("maxParallelNodesRepairedCount","MaxParallelNodesRepairedCount",properties.MaxParallelNodesRepairedCount!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxParallelNodesRepairedCount):void 0),ret.addPropertyResult("maxParallelNodesRepairedPercentage","MaxParallelNodesRepairedPercentage",properties.MaxParallelNodesRepairedPercentage!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxParallelNodesRepairedPercentage):void 0),ret.addPropertyResult("maxUnhealthyNodeThresholdCount","MaxUnhealthyNodeThresholdCount",properties.MaxUnhealthyNodeThresholdCount!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxUnhealthyNodeThresholdCount):void 0),ret.addPropertyResult("maxUnhealthyNodeThresholdPercentage","MaxUnhealthyNodeThresholdPercentage",properties.MaxUnhealthyNodeThresholdPercentage!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxUnhealthyNodeThresholdPercentage):void 0),ret.addPropertyResult("nodeRepairConfigOverrides","NodeRepairConfigOverrides",properties.NodeRepairConfigOverrides!=null?cfn_parse().FromCloudFormation.getArray(CfnNodegroupNodeRepairConfigOverridesPropertyFromCloudFormation)(properties.NodeRepairConfigOverrides):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnNodegroupWarmPoolConfigPropertyValidator(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("maxGroupPreparedCapacity",cdk().validateNumber)(properties.maxGroupPreparedCapacity)),errors.collect(cdk().propertyValidator("minSize",cdk().validateNumber)(properties.minSize)),errors.collect(cdk().propertyValidator("poolState",cdk().validateString)(properties.poolState)),errors.collect(cdk().propertyValidator("reuseOnScaleIn",cdk().validateBoolean)(properties.reuseOnScaleIn)),errors.wrap('supplied properties not correct for "WarmPoolConfigProperty"')}function convertCfnNodegroupWarmPoolConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnNodegroupWarmPoolConfigPropertyValidator(properties).assertSuccess(),{Enabled:cdk().booleanToCloudFormation(properties.enabled),MaxGroupPreparedCapacity:cdk().numberToCloudFormation(properties.maxGroupPreparedCapacity),MinSize:cdk().numberToCloudFormation(properties.minSize),PoolState:cdk().stringToCloudFormation(properties.poolState),ReuseOnScaleIn:cdk().booleanToCloudFormation(properties.reuseOnScaleIn)}):properties}function CfnNodegroupWarmPoolConfigPropertyFromCloudFormation(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("maxGroupPreparedCapacity","MaxGroupPreparedCapacity",properties.MaxGroupPreparedCapacity!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxGroupPreparedCapacity):void 0),ret.addPropertyResult("minSize","MinSize",properties.MinSize!=null?cfn_parse().FromCloudFormation.getNumber(properties.MinSize):void 0),ret.addPropertyResult("poolState","PoolState",properties.PoolState!=null?cfn_parse().FromCloudFormation.getString(properties.PoolState):void 0),ret.addPropertyResult("reuseOnScaleIn","ReuseOnScaleIn",properties.ReuseOnScaleIn!=null?cfn_parse().FromCloudFormation.getBoolean(properties.ReuseOnScaleIn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnNodegroupPropsValidator(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("amiType",cdk().validateString)(properties.amiType)),errors.collect(cdk().propertyValidator("capacityType",cdk().validateString)(properties.capacityType)),errors.collect(cdk().propertyValidator("clusterName",cdk().requiredValidator)(properties.clusterName)),errors.collect(cdk().propertyValidator("clusterName",cdk().validateString)(properties.clusterName)),errors.collect(cdk().propertyValidator("diskSize",cdk().validateNumber)(properties.diskSize)),errors.collect(cdk().propertyValidator("forceUpdateEnabled",cdk().validateBoolean)(properties.forceUpdateEnabled)),errors.collect(cdk().propertyValidator("instanceTypes",cdk().listValidator(cdk().validateString))(properties.instanceTypes)),errors.collect(cdk().propertyValidator("labels",cdk().hashValidator(cdk().validateString))(properties.labels)),errors.collect(cdk().propertyValidator("launchTemplate",CfnNodegroupLaunchTemplateSpecificationPropertyValidator)(properties.launchTemplate)),errors.collect(cdk().propertyValidator("nodeRepairConfig",CfnNodegroupNodeRepairConfigPropertyValidator)(properties.nodeRepairConfig)),errors.collect(cdk().propertyValidator("nodeRole",cdk().requiredValidator)(properties.nodeRole)),errors.collect(cdk().propertyValidator("nodeRole",cdk().validateString)(properties.nodeRole)),errors.collect(cdk().propertyValidator("nodegroupName",cdk().validateString)(properties.nodegroupName)),errors.collect(cdk().propertyValidator("releaseVersion",cdk().validateString)(properties.releaseVersion)),errors.collect(cdk().propertyValidator("remoteAccess",CfnNodegroupRemoteAccessPropertyValidator)(properties.remoteAccess)),errors.collect(cdk().propertyValidator("scalingConfig",CfnNodegroupScalingConfigPropertyValidator)(properties.scalingConfig)),errors.collect(cdk().propertyValidator("subnets",cdk().requiredValidator)(properties.subnets)),errors.collect(cdk().propertyValidator("subnets",cdk().listValidator(cdk().validateString))(properties.subnets)),errors.collect(cdk().propertyValidator("tags",cdk().hashValidator(cdk().validateString))(properties.tags)),errors.collect(cdk().propertyValidator("taints",cdk().listValidator(CfnNodegroupTaintPropertyValidator))(properties.taints)),errors.collect(cdk().propertyValidator("updateConfig",CfnNodegroupUpdateConfigPropertyValidator)(properties.updateConfig)),errors.collect(cdk().propertyValidator("version",cdk().validateString)(properties.version)),errors.collect(cdk().propertyValidator("warmPoolConfig",CfnNodegroupWarmPoolConfigPropertyValidator)(properties.warmPoolConfig)),errors.wrap('supplied properties not correct for "CfnNodegroupProps"')}function convertCfnNodegroupPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnNodegroupPropsValidator(properties).assertSuccess(),{AmiType:cdk().stringToCloudFormation(properties.amiType),CapacityType:cdk().stringToCloudFormation(properties.capacityType),ClusterName:cdk().stringToCloudFormation(properties.clusterName),DiskSize:cdk().numberToCloudFormation(properties.diskSize),ForceUpdateEnabled:cdk().booleanToCloudFormation(properties.forceUpdateEnabled),InstanceTypes:cdk().listMapper(cdk().stringToCloudFormation)(properties.instanceTypes),Labels:cdk().hashMapper(cdk().stringToCloudFormation)(properties.labels),LaunchTemplate:convertCfnNodegroupLaunchTemplateSpecificationPropertyToCloudFormation(properties.launchTemplate),NodeRepairConfig:convertCfnNodegroupNodeRepairConfigPropertyToCloudFormation(properties.nodeRepairConfig),NodeRole:cdk().stringToCloudFormation(properties.nodeRole),NodegroupName:cdk().stringToCloudFormation(properties.nodegroupName),ReleaseVersion:cdk().stringToCloudFormation(properties.releaseVersion),RemoteAccess:convertCfnNodegroupRemoteAccessPropertyToCloudFormation(properties.remoteAccess),ScalingConfig:convertCfnNodegroupScalingConfigPropertyToCloudFormation(properties.scalingConfig),Subnets:cdk().listMapper(cdk().stringToCloudFormation)(properties.subnets),Tags:cdk().hashMapper(cdk().stringToCloudFormation)(properties.tags),Taints:cdk().listMapper(convertCfnNodegroupTaintPropertyToCloudFormation)(properties.taints),UpdateConfig:convertCfnNodegroupUpdateConfigPropertyToCloudFormation(properties.updateConfig),Version:cdk().stringToCloudFormation(properties.version),WarmPoolConfig:convertCfnNodegroupWarmPoolConfigPropertyToCloudFormation(properties.warmPoolConfig)}):properties}function CfnNodegroupPropsFromCloudFormation(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("amiType","AmiType",properties.AmiType!=null?cfn_parse().FromCloudFormation.getString(properties.AmiType):void 0),ret.addPropertyResult("capacityType","CapacityType",properties.CapacityType!=null?cfn_parse().FromCloudFormation.getString(properties.CapacityType):void 0),ret.addPropertyResult("clusterName","ClusterName",properties.ClusterName!=null?cfn_parse().FromCloudFormation.getString(properties.ClusterName):void 0),ret.addPropertyResult("diskSize","DiskSize",properties.DiskSize!=null?cfn_parse().FromCloudFormation.getNumber(properties.DiskSize):void 0),ret.addPropertyResult("forceUpdateEnabled","ForceUpdateEnabled",properties.ForceUpdateEnabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.ForceUpdateEnabled):void 0),ret.addPropertyResult("instanceTypes","InstanceTypes",properties.InstanceTypes!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.InstanceTypes):void 0),ret.addPropertyResult("labels","Labels",properties.Labels!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.Labels):void 0),ret.addPropertyResult("launchTemplate","LaunchTemplate",properties.LaunchTemplate!=null?CfnNodegroupLaunchTemplateSpecificationPropertyFromCloudFormation(properties.LaunchTemplate):void 0),ret.addPropertyResult("nodegroupName","NodegroupName",properties.NodegroupName!=null?cfn_parse().FromCloudFormation.getString(properties.NodegroupName):void 0),ret.addPropertyResult("nodeRepairConfig","NodeRepairConfig",properties.NodeRepairConfig!=null?CfnNodegroupNodeRepairConfigPropertyFromCloudFormation(properties.NodeRepairConfig):void 0),ret.addPropertyResult("nodeRole","NodeRole",properties.NodeRole!=null?cfn_parse().FromCloudFormation.getString(properties.NodeRole):void 0),ret.addPropertyResult("releaseVersion","ReleaseVersion",properties.ReleaseVersion!=null?cfn_parse().FromCloudFormation.getString(properties.ReleaseVersion):void 0),ret.addPropertyResult("remoteAccess","RemoteAccess",properties.RemoteAccess!=null?CfnNodegroupRemoteAccessPropertyFromCloudFormation(properties.RemoteAccess):void 0),ret.addPropertyResult("scalingConfig","ScalingConfig",properties.ScalingConfig!=null?CfnNodegroupScalingConfigPropertyFromCloudFormation(properties.ScalingConfig):void 0),ret.addPropertyResult("subnets","Subnets",properties.Subnets!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Subnets):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.Tags):void 0),ret.addPropertyResult("taints","Taints",properties.Taints!=null?cfn_parse().FromCloudFormation.getArray(CfnNodegroupTaintPropertyFromCloudFormation)(properties.Taints):void 0),ret.addPropertyResult("updateConfig","UpdateConfig",properties.UpdateConfig!=null?CfnNodegroupUpdateConfigPropertyFromCloudFormation(properties.UpdateConfig):void 0),ret.addPropertyResult("version","Version",properties.Version!=null?cfn_parse().FromCloudFormation.getString(properties.Version):void 0),ret.addPropertyResult("warmPoolConfig","WarmPoolConfig",properties.WarmPoolConfig!=null?CfnNodegroupWarmPoolConfigPropertyFromCloudFormation(properties.WarmPoolConfig):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnAccessEntry extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_eks.CfnAccessEntry",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::EKS::AccessEntry";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnAccessEntryPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnAccessEntry(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 isCfnAccessEntry(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnAccessEntry.CFN_RESOURCE_TYPE_NAME}static arnForAccessEntry(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_eks_IAccessEntryRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForAccessEntry),error}return resource.accessEntryRef.accessEntryArn}_accessPolicies;cdkTagManager;_clusterName;_kubernetesGroups;_principalArn;_tags;_type;_username;cfnPropertyNames={accessPolicies:"AccessPolicies",tags:"Tags",clusterName:"ClusterName",kubernetesGroups:"KubernetesGroups",principalArn:"PrincipalArn",type:"Type",username:"Username"};constructor(scope,id,props){super(scope,id,{type:CfnAccessEntry.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_eks_CfnAccessEntryProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnAccessEntry),error}cdk().requireProperty(props,"clusterName",this),cdk().requireProperty(props,"principalArn",this),this._accessPolicies=props.accessPolicies,this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::EKS::AccessEntry",void 0,{tagPropertyName:"tags"}),this._clusterName=props.clusterName,this._kubernetesGroups=props.kubernetesGroups,this._principalArn=props.principalArn,this._tags=props.tags,this._type=props.type,this._username=props.username}get accessEntryRef(){return{principalArn:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),clusterName:cdk().Fn.select(1,cdk().Fn.split("|",this.ref)),accessEntryArn:this.attrAccessEntryArn}}get accessPolicies(){return this._accessPolicies}set accessPolicies(value){cdk().traceProperty(this.node,"AccessPolicies"),this._accessPolicies=value}get clusterName(){return this._clusterName}set clusterName(value){cdk().traceProperty(this.node,"ClusterName"),this._clusterName=value}get kubernetesGroups(){return this._kubernetesGroups}set kubernetesGroups(value){cdk().traceProperty(this.node,"KubernetesGroups"),this._kubernetesGroups=value}get principalArn(){return this._principalArn}set principalArn(value){cdk().traceProperty(this.node,"PrincipalArn"),this._principalArn=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get type(){return this._type}set type(value){cdk().traceProperty(this.node,"Type"),this._type=value}get username(){return this._username}set username(value){cdk().traceProperty(this.node,"Username"),this._username=value}get attrAccessEntryArn(){return cdk().Token.asString(this.getAtt("AccessEntryArn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{accessPolicies:this._accessPolicies,tags:this.cdkTagManager.renderTags(this._tags),clusterName:this._clusterName,kubernetesGroups:this._kubernetesGroups,principalArn:this._principalArn,type:this._type,username:this._username}}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",CfnAccessEntry.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnAccessEntryPropsToCloudFormation(props)}}exports.CfnAccessEntry=CfnAccessEntry;function CfnAccessEntryAccessScopePropertyValidator(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("namespaces",cdk().listValidator(cdk().validateString))(properties.namespaces)),errors.collect(cdk().propertyValidator("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "AccessScopeProperty"')}function convertCfnAccessEntryAccessScopePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAccessEntryAccessScopePropertyValidator(properties).assertSuccess(),{Namespaces:cdk().listMapper(cdk().stringToCloudFormation)(properties.namespaces),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnAccessEntryAccessScopePropertyFromCloudFormation(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("namespaces","Namespaces",properties.Namespaces!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Namespaces):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAccessEntryAccessPolicyPropertyValidator(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("accessScope",cdk().requiredValidator)(properties.accessScope)),errors.collect(cdk().propertyValidator("accessScope",CfnAccessEntryAccessScopePropertyValidator)(properties.accessScope)),errors.collect(cdk().propertyValidator("policyArn",cdk().requiredValidator)(properties.policyArn)),errors.collect(cdk().propertyValidator("policyArn",cdk().validateString)(properties.policyArn)),errors.wrap('supplied properties not correct for "AccessPolicyProperty"')}function convertCfnAccessEntryAccessPolicyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAccessEntryAccessPolicyPropertyValidator(properties).assertSuccess(),{AccessScope:convertCfnAccessEntryAccessScopePropertyToCloudFormation(properties.accessScope),PolicyArn:cdk().stringToCloudFormation(properties.policyArn)}):properties}function CfnAccessEntryAccessPolicyPropertyFromCloudFormation(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("accessScope","AccessScope",properties.AccessScope!=null?CfnAccessEntryAccessScopePropertyFromCloudFormation(properties.AccessScope):void 0),ret.addPropertyResult("policyArn","PolicyArn",properties.PolicyArn!=null?cfn_parse().FromCloudFormation.getString(properties.PolicyArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAccessEntryPropsValidator(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("accessPolicies",cdk().listValidator(CfnAccessEntryAccessPolicyPropertyValidator))(properties.accessPolicies)),errors.collect(cdk().propertyValidator("clusterName",cdk().requiredValidator)(properties.clusterName)),errors.collect(cdk().propertyValidator("clusterName",cdk().validateString)(properties.clusterName)),errors.collect(cdk().propertyValidator("kubernetesGroups",cdk().listValidator(cdk().validateString))(properties.kubernetesGroups)),errors.collect(cdk().propertyValidator("principalArn",cdk().requiredValidator)(properties.principalArn)),errors.collect(cdk().propertyValidator("principalArn",cdk().validateString)(properties.principalArn)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.collect(cdk().propertyValidator("username",cdk().validateString)(properties.username)),errors.wrap('supplied properties not correct for "CfnAccessEntryProps"')}function convertCfnAccessEntryPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAccessEntryPropsValidator(properties).assertSuccess(),{AccessPolicies:cdk().listMapper(convertCfnAccessEntryAccessPolicyPropertyToCloudFormation)(properties.accessPolicies),ClusterName:cdk().stringToCloudFormation(properties.clusterName),KubernetesGroups:cdk().listMapper(cdk().stringToCloudFormation)(properties.kubernetesGroups),PrincipalArn:cdk().stringToCloudFormation(properties.principalArn),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),Type:cdk().stringToCloudFormation(properties.type),Username:cdk().stringToCloudFormation(properties.username)}):properties}function CfnAccessEntryPropsFromCloudFormation(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("accessPolicies","AccessPolicies",properties.AccessPolicies!=null?cfn_parse().FromCloudFormation.getArray(CfnAccessEntryAccessPolicyPropertyFromCloudFormation)(properties.AccessPolicies):void 0),ret.addPropertyResult("clusterName","ClusterName",properties.ClusterName!=null?cfn_parse().FromCloudFormation.getString(properties.ClusterName):void 0),ret.addPropertyResult("kubernetesGroups","KubernetesGroups",properties.KubernetesGroups!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.KubernetesGroups):void 0),ret.addPropertyResult("principalArn","PrincipalArn",properties.PrincipalArn!=null?cfn_parse().FromCloudFormation.getString(properties.PrincipalArn):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addPropertyResult("username","Username",properties.Username!=null?cfn_parse().FromCloudFormation.getString(properties.Username):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnCapability extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_eks.CfnCapability",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::EKS::Capability";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnCapabilityPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnCapability(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 isCfnCapability(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnCapability.CFN_RESOURCE_TYPE_NAME}static arnForCapability(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_eks_ICapabilityRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForCapability),error}return resource.capabilityRef.capabilityArn}_capabilityName;cdkTagManager;_clusterName;_configuration;_deletePropagationPolicy;_roleArn;_tags;_type;cfnPropertyNames={capabilityName:"CapabilityName",tags:"Tags",clusterName:"ClusterName",configuration:"Configuration",deletePropagationPolicy:"DeletePropagationPolicy",roleArn:"RoleArn",type:"Type"};constructor(scope,id,props){super(scope,id,{type:CfnCapability.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_eks_CfnCapabilityProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnCapability),error}cdk().requireProperty(props,"capabilityName",this),cdk().requireProperty(props,"clusterName",this),cdk().requireProperty(props,"deletePropagationPolicy",this),cdk().requireProperty(props,"roleArn",this),cdk().requireProperty(props,"type",this),this._capabilityName=props.capabilityName,this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::EKS::Capability",void 0,{tagPropertyName:"tags"}),this._clusterName=props.clusterName,this._configuration=props.configuration,this._deletePropagationPolicy=props.deletePropagationPolicy,this._roleArn=props.roleArn,this._tags=props.tags,this._type=props.type}get capabilityRef(){return{capabilityArn:this.ref}}get capabilityName(){return this._capabilityName}set capabilityName(value){cdk().traceProperty(this.node,"CapabilityName"),this._capabilityName=value}get clusterName(){return this._clusterName}set clusterName(value){cdk().traceProperty(this.node,"ClusterName"),this._clusterName=value}get configuration(){return this._configuration}set configuration(value){cdk().traceProperty(this.node,"Configuration"),this._configuration=value}get deletePropagationPolicy(){return this._deletePropagationPolicy}set deletePropagationPolicy(value){cdk().traceProperty(this.node,"DeletePropagationPolicy"),this._deletePropagationPolicy=value}get roleArn(){return this._roleArn}set roleArn(value){cdk().traceProperty(this.node,"RoleArn"),this._roleArn=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get type(){return this._type}set type(value){cdk().traceProperty(this.node,"Type"),this._type=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrConfigurationArgoCdAwsIdcIdcManagedApplicationArn(){return cdk().Token.asString(this.getAtt("Configuration.ArgoCd.AwsIdc.IdcManagedApplicationArn",cdk().ResolutionTypeHint.STRING))}get attrConfigurationArgoCdServerUrl(){return cdk().Token.asString(this.getAtt("Configuration.ArgoCd.ServerUrl",cdk().ResolutionTypeHint.STRING))}get attrCreatedAt(){return cdk().Token.asString(this.getAtt("CreatedAt",cdk().ResolutionTypeHint.STRING))}get attrModifiedAt(){return cdk().Token.asString(this.getAtt("ModifiedAt",cdk().ResolutionTypeHint.STRING))}get attrStatus(){return cdk().Token.asString(this.getAtt("Status",cdk().ResolutionTypeHint.STRING))}get attrVersion(){return cdk().Token.asString(this.getAtt("Version",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{capabilityName:this._capabilityName,tags:this.cdkTagManager.renderTags(this._tags),clusterName:this._clusterName,configuration:this._configuration,deletePropagationPolicy:this._deletePropagationPolicy,roleArn:this._roleArn,type:this._type}}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",CfnCapability.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnCapabilityPropsToCloudFormation(props)}}exports.CfnCapability=CfnCapability;function CfnCapabilityAwsIdcPropertyValidator(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("idcInstanceArn",cdk().requiredValidator)(properties.idcInstanceArn)),errors.collect(cdk().propertyValidator("idcInstanceArn",cdk().validateString)(properties.idcInstanceArn)),errors.collect(cdk().propertyValidator("idcManagedApplicationArn",cdk().validateString)(properties.idcManagedApplicationArn)),errors.collect(cdk().propertyValidator("idcRegion",cdk().validateString)(properties.idcRegion)),errors.wrap('supplied properties not correct for "AwsIdcProperty"')}function convertCfnCapabilityAwsIdcPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCapabilityAwsIdcPropertyValidator(properties).assertSuccess(),{IdcInstanceArn:cdk().stringToCloudFormation(properties.idcInstanceArn),IdcManagedApplicationArn:cdk().stringToCloudFormation(properties.idcManagedApplicationArn),IdcRegion:cdk().stringToCloudFormation(properties.idcRegion)}):properties}function CfnCapabilityAwsIdcPropertyFromCloudFormation(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("idcInstanceArn","IdcInstanceArn",properties.IdcInstanceArn!=null?cfn_parse().FromCloudFormation.getString(properties.IdcInstanceArn):void 0),ret.addPropertyResult("idcManagedApplicationArn","IdcManagedApplicationArn",properties.IdcManagedApplicationArn!=null?cfn_parse().FromCloudFormation.getString(properties.IdcManagedApplicationArn):void 0),ret.addPropertyResult("idcRegion","IdcRegion",properties.IdcRegion!=null?cfn_parse().FromCloudFormation.getString(properties.IdcRegion):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCapabilitySsoIdentityPropertyValidator(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("id",cdk().requiredValidator)(properties.id)),errors.collect(cdk().propertyValidator("id",cdk().validateString)(properties.id)),errors.collect(cdk().propertyValidator("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "SsoIdentityProperty"')}function convertCfnCapabilitySsoIdentityPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCapabilitySsoIdentityPropertyValidator(properties).assertSuccess(),{Id:cdk().stringToCloudFormation(properties.id),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnCapabilitySsoIdentityPropertyFromCloudFormation(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("id","Id",properties.Id!=null?cfn_parse().FromCloudFormation.getString(properties.Id):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCapabilityArgoCdRoleMappingPropertyValidator(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("identities",cdk().requiredValidator)(properties.identities)),errors.collect(cdk().propertyValidator("identities",cdk().listValidator(CfnCapabilitySsoIdentityPropertyValidator))(properties.identities)),errors.collect(cdk().propertyValidator("role",cdk().requiredValidator)(properties.role)),errors.collect(cdk().propertyValidator("role",cdk().validateString)(properties.role)),errors.wrap('supplied properties not correct for "ArgoCdRoleMappingProperty"')}function convertCfnCapabilityArgoCdRoleMappingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCapabilityArgoCdRoleMappingPropertyValidator(properties).assertSuccess(),{Identities:cdk().listMapper(convertCfnCapabilitySsoIdentityPropertyToCloudFormation)(properties.identities),Role:cdk().stringToCloudFormation(properties.role)}):properties}function CfnCapabilityArgoCdRoleMappingPropertyFromCloudFormation(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("identities","Identities",properties.Identities!=null?cfn_parse().FromCloudFormation.getArray(CfnCapabilitySsoIdentityPropertyFromCloudFormation)(properties.Identities):void 0),ret.addPropertyResult("role","Role",properties.Role!=null?cfn_parse().FromCloudFormation.getString(properties.Role):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCapabilityNetworkAccessPropertyValidator(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("vpceIds",cdk().listValidator(cdk().validateString))(properties.vpceIds)),errors.wrap('supplied properties not correct for "NetworkAccessProperty"')}function convertCfnCapabilityNetworkAccessPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCapabilityNetworkAccessPropertyValidator(properties).assertSuccess(),{VpceIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.vpceIds)}):properties}function CfnCapabilityNetworkAccessPropertyFromCloudFormation(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("vpceIds","VpceIds",properties.VpceIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.VpceIds):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCapabilityArgoCdPropertyValidator(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("awsIdc",cdk().requiredValidator)(properties.awsIdc)),errors.collect(cdk().propertyValidator("awsIdc",CfnCapabilityAwsIdcPropertyValidator)(properties.awsIdc)),errors.collect(cdk().propertyValidator("namespace",cdk().validateString)(properties.namespace)),errors.collect(cdk().propertyValidator("networkAccess",CfnCapabilityNetworkAccessPropertyValidator)(properties.networkAccess)),errors.collect(cdk().propertyValidator("rbacRoleMappings",cdk().listValidator(CfnCapabilityArgoCdRoleMappingPropertyValidator))(properties.rbacRoleMappings)),errors.collect(cdk().propertyValidator("serverUrl",cdk().validateString)(properties.serverUrl)),errors.wrap('supplied properties not correct for "ArgoCdProperty"')}function convertCfnCapabilityArgoCdPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCapabilityArgoCdPropertyValidator(properties).assertSuccess(),{AwsIdc:convertCfnCapabilityAwsIdcPropertyToCloudFormation(properties.awsIdc),Namespace:cdk().stringToCloudFormation(properties.namespace),NetworkAccess:convertCfnCapabilityNetworkAccessPropertyToCloudFormation(properties.networkAccess),RbacRoleMappings:cdk().listMapper(convertCfnCapabilityArgoCdRoleMappingPropertyToCloudFormation)(properties.rbacRoleMappings),ServerUrl:cdk().stringToCloudFormation(properties.serverUrl)}):properties}function CfnCapabilityArgoCdPropertyFromCloudFormation(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("awsIdc","AwsIdc",properties.AwsIdc!=null?CfnCapabilityAwsIdcPropertyFromCloudFormation(properties.AwsIdc):void 0),ret.addPropertyResult("namespace","Namespace",properties.Namespace!=null?cfn_parse().FromCloudFormation.getString(properties.Namespace):void 0),ret.addPropertyResult("networkAccess","NetworkAccess",properties.NetworkAccess!=null?CfnCapabilityNetworkAccessPropertyFromCloudFormation(properties.NetworkAccess):void 0),ret.addPropertyResult("rbacRoleMappings","RbacRoleMappings",properties.RbacRoleMappings!=null?cfn_parse().FromCloudFormation.getArray(CfnCapabilityArgoCdRoleMappingPropertyFromCloudFormation)(properties.RbacRoleMappings):void 0),ret.addPropertyResult("serverUrl","ServerUrl",properties.ServerUrl!=null?cfn_parse().FromCloudFormation.getString(properties.ServerUrl):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCapabilityCapabilityConfigurationPropertyValidator(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("argoCd",CfnCapabilityArgoCdPropertyValidator)(properties.argoCd)),errors.wrap('supplied properties not correct for "CapabilityConfigurationProperty"')}function convertCfnCapabilityCapabilityConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCapabilityCapabilityConfigurationPropertyValidator(properties).assertSuccess(),{ArgoCd:convertCfnCapabilityArgoCdPropertyToCloudFormation(properties.argoCd)}):properties}function CfnCapabilityCapabilityConfigurationPropertyFromCloudFormation(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("argoCd","ArgoCd",properties.ArgoCd!=null?CfnCapabilityArgoCdPropertyFromCloudFormation(properties.ArgoCd):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCapabilityPropsValidator(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("capabilityName",cdk().requiredValidator)(properties.capabilityName)),errors.collect(cdk().propertyValidator("capabilityName",cdk().validateString)(properties.capabilityName)),errors.collect(cdk().propertyValidator("clusterName",cdk().requiredValidator)(properties.clusterName)),errors.collect(cdk().propertyValidator("clusterName",cdk().validateString)(properties.clusterName)),errors.collect(cdk().propertyValidator("configuration",CfnCapabilityCapabilityConfigurationPropertyValidator)(properties.configuration)),errors.collect(cdk().propertyValidator("deletePropagationPolicy",cdk().requiredValidator)(properties.deletePropagationPolicy)),errors.collect(cdk().propertyValidator("deletePropagationPolicy",cdk().validateString)(properties.deletePropagationPolicy)),errors.collect(cdk().propertyValidator("roleArn",cdk().requiredValidator)(properties.roleArn)),errors.collect(cdk().propertyValidator("roleArn",cdk().validateString)(properties.roleArn)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "CfnCapabilityProps"')}function convertCfnCapabilityPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCapabilityPropsValidator(properties).assertSuccess(),{CapabilityName:cdk().stringToCloudFormation(properties.capabilityName),ClusterName:cdk().stringToCloudFormation(properties.clusterName),Configuration:convertCfnCapabilityCapabilityConfigurationPropertyToCloudFormation(properties.configuration),DeletePropagationPolicy:cdk().stringToCloudFormation(properties.deletePropagationPolicy),RoleArn:cdk().stringToCloudFormation(properties.roleArn),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnCapabilityPropsFromCloudFormation(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("capabilityName","CapabilityName",properties.CapabilityName!=null?cfn_parse().FromCloudFormation.getString(properties.CapabilityName):void 0),ret.addPropertyResult("clusterName","ClusterName",properties.ClusterName!=null?cfn_parse().FromCloudFormation.getString(properties.ClusterName):void 0),ret.addPropertyResult("configuration","Configuration",properties.Configuration!=null?CfnCapabilityCapabilityConfigurationPropertyFromCloudFormation(properties.Configuration):void 0),ret.addPropertyResult("deletePropagationPolicy","DeletePropagationPolicy",properties.DeletePropagationPolicy!=null?cfn_parse().FromCloudFormation.getString(properties.DeletePropagationPolicy):void 0),ret.addPropertyResult("roleArn","RoleArn",properties.RoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.RoleArn):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnPodIdentityAssociation extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_eks.CfnPodIdentityAssociation",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::EKS::PodIdentityAssociation";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnPodIdentityAssociationPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnPodIdentityAssociation(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 isCfnPodIdentityAssociation(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnPodIdentityAssociation.CFN_RESOURCE_TYPE_NAME}cdkTagManager;_clusterName;_disableSessionTags;_namespace;_policy;_roleArn;_serviceAccount;_tags;_targetRoleArn;cfnPropertyNames={tags:"Tags",clusterName:"ClusterName",disableSessionTags:"DisableSessionTags",namespace:"Namespace",policy:"Policy",roleArn:"RoleArn",serviceAccount:"ServiceAccount",targetRoleArn:"TargetRoleArn"};constructor(scope,id,props){super(scope,id,{type:CfnPodIdentityAssociation.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_eks_CfnPodIdentityAssociationProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnPodIdentityAssociation),error}cdk().requireProperty(props,"clusterName",this),cdk().requireProperty(props,"namespace",this),cdk().requireProperty(props,"roleArn",this),cdk().requireProperty(props,"serviceAccount",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::EKS::PodIdentityAssociation",void 0,{tagPropertyName:"tags"}),this._clusterName=props.clusterName,this._disableSessionTags=props.disableSessionTags,this._namespace=props.namespace,this._policy=props.policy,this._roleArn=props.roleArn,this._serviceAccount=props.serviceAccount,this._tags=props.tags,this._targetRoleArn=props.targetRoleArn}get podIdentityAssociationRef(){return{associationArn:this.ref}}get clusterName(){return this._clusterName}set clusterName(value){cdk().traceProperty(this.node,"ClusterName"),this._clusterName=value}get disableSessionTags(){return this._disableSessionTags}set disableSessionTags(value){cdk().traceProperty(this.node,"DisableSessionTags"),this._disableSessionTags=value}get namespace(){return this._namespace}set namespace(value){cdk().traceProperty(this.node,"Namespace"),this._namespace=value}get policy(){return this._policy}set policy(value){cdk().traceProperty(this.node,"Policy"),this._policy=value}get roleArn(){return this._roleArn}set roleArn(value){cdk().traceProperty(this.node,"RoleArn"),this._roleArn=value}get serviceAccount(){return this._serviceAccount}set serviceAccount(value){cdk().traceProperty(this.node,"ServiceAccount"),this._serviceAccount=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get targetRoleArn(){return this._targetRoleArn}set targetRoleArn(value){cdk().traceProperty(this.node,"TargetRoleArn"),this._targetRoleArn=value}get attrAssociationArn(){return cdk().Token.asString(this.getAtt("AssociationArn",cdk().ResolutionTypeHint.STRING))}get attrAssociationId(){return cdk().Token.asString(this.getAtt("AssociationId",cdk().ResolutionTypeHint.STRING))}get attrExternalId(){return cdk().Token.asString(this.getAtt("ExternalId",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this._tags),clusterName:this._clusterName,disableSessionTags:this._disableSessionTags,namespace:this._namespace,policy:this._policy,roleArn:this._roleArn,serviceAccount:this._serviceAccount,targetRoleArn:this._targetRoleArn}}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",CfnPodIdentityAssociation.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnPodIdentityAssociationPropsToCloudFormation(props)}}exports.CfnPodIdentityAssociation=CfnPodIdentityAssociation;function CfnPodIdentityAssociationPropsValidator(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("clusterName",cdk().requiredValidator)(properties.clusterName)),errors.collect(cdk().propertyValidator("clusterName",cdk().validateString)(properties.clusterName)),errors.collect(cdk().propertyValidator("disableSessionTags",cdk().validateBoolean)(properties.disableSessionTags)),errors.collect(cdk().propertyValidator("namespace",cdk().requiredValidator)(properties.namespace)),errors.collect(cdk().propertyValidator("namespace",cdk().validateString)(properties.namespace)),errors.collect(cdk().propertyValidator("policy",cdk().validateString)(properties.policy)),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.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("targetRoleArn",cdk().validateString)(properties.targetRoleArn)),errors.wrap('supplied properties not correct for "CfnPodIdentityAssociationProps"')}function convertCfnPodIdentityAssociationPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPodIdentityAssociationPropsValidator(properties).assertSuccess(),{ClusterName:cdk().stringToCloudFormation(properties.clusterName),DisableSessionTags:cdk().booleanToCloudFormation(properties.disableSessionTags),Namespace:cdk().stringToCloudFormation(properties.namespace),Policy:cdk().stringToCloudFormation(properties.policy),RoleArn:cdk().stringToCloudFormation(properties.roleArn),ServiceAccount:cdk().stringToCloudFormation(properties.serviceAccount),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),TargetRoleArn:cdk().stringToCloudFormation(properties.targetRoleArn)}):properties}function CfnPodIdentityAssociationPropsFromCloudFormation(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("clusterName","ClusterName",properties.ClusterName!=null?cfn_parse().FromCloudFormation.getString(properties.ClusterName):void 0),ret.addPropertyResult("disableSessionTags","DisableSessionTags",properties.DisableSessionTags!=null?cfn_parse().FromCloudFormation.getBoolean(properties.DisableSessionTags):void 0),ret.addPropertyResult("namespace","Namespace",properties.Namespace!=null?cfn_parse().FromCloudFormation.getString(properties.Namespace):void 0),ret.addPropertyResult("policy","Policy",properties.Policy!=null?cfn_parse().FromCloudFormation.getString(properties.Policy):void 0),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.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("targetRoleArn","TargetRoleArn",properties.TargetRoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.TargetRoleArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}
|