UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

1 lines 60.5 kB
"use strict";var _a,_b,_c;Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnSnapshot=exports.CfnWorkgroup=exports.CfnNamespace=void 0;var jsiiDeprecationWarnings=()=>{var tmp=require("../../.warnings.jsii.js");return jsiiDeprecationWarnings=()=>tmp,tmp};const JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti");var cdk=()=>{var tmp=require("../../core");return cdk=()=>tmp,tmp},cfn_parse=()=>{var tmp=require("../../core/lib/helpers-internal");return cfn_parse=()=>tmp,tmp},cdk_errors=()=>{var tmp=require("../../core/lib/errors");return cdk_errors=()=>tmp,tmp};class CfnNamespace extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnNamespacePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnNamespace(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}constructor(scope,id,props){super(scope,id,{type:CfnNamespace.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_redshiftserverless_CfnNamespaceProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnNamespace),error}cdk().requireProperty(props,"namespaceName",this),this.attrNamespace=this.getAtt("Namespace"),this.attrNamespaceAdminUsername=cdk().Token.asString(this.getAtt("Namespace.AdminUsername",cdk().ResolutionTypeHint.STRING)),this.attrNamespaceCreationDate=cdk().Token.asString(this.getAtt("Namespace.CreationDate",cdk().ResolutionTypeHint.STRING)),this.attrNamespaceDbName=cdk().Token.asString(this.getAtt("Namespace.DbName",cdk().ResolutionTypeHint.STRING)),this.attrNamespaceDefaultIamRoleArn=cdk().Token.asString(this.getAtt("Namespace.DefaultIamRoleArn",cdk().ResolutionTypeHint.STRING)),this.attrNamespaceIamRoles=cdk().Token.asList(this.getAtt("Namespace.IamRoles",cdk().ResolutionTypeHint.STRING_LIST)),this.attrNamespaceKmsKeyId=cdk().Token.asString(this.getAtt("Namespace.KmsKeyId",cdk().ResolutionTypeHint.STRING)),this.attrNamespaceLogExports=cdk().Token.asList(this.getAtt("Namespace.LogExports",cdk().ResolutionTypeHint.STRING_LIST)),this.attrNamespaceNamespaceArn=cdk().Token.asString(this.getAtt("Namespace.NamespaceArn",cdk().ResolutionTypeHint.STRING)),this.attrNamespaceNamespaceId=cdk().Token.asString(this.getAtt("Namespace.NamespaceId",cdk().ResolutionTypeHint.STRING)),this.attrNamespaceNamespaceName=cdk().Token.asString(this.getAtt("Namespace.NamespaceName",cdk().ResolutionTypeHint.STRING)),this.attrNamespaceStatus=cdk().Token.asString(this.getAtt("Namespace.Status",cdk().ResolutionTypeHint.STRING)),this.adminPasswordSecretKmsKeyId=props.adminPasswordSecretKmsKeyId,this.adminUsername=props.adminUsername,this.adminUserPassword=props.adminUserPassword,this.dbName=props.dbName,this.defaultIamRoleArn=props.defaultIamRoleArn,this.finalSnapshotName=props.finalSnapshotName,this.finalSnapshotRetentionPeriod=props.finalSnapshotRetentionPeriod,this.iamRoles=props.iamRoles,this.kmsKeyId=props.kmsKeyId,this.logExports=props.logExports,this.manageAdminPassword=props.manageAdminPassword,this.namespaceName=props.namespaceName,this.namespaceResourcePolicy=props.namespaceResourcePolicy,this.redshiftIdcApplicationArn=props.redshiftIdcApplicationArn,this.snapshotCopyConfigurations=props.snapshotCopyConfigurations,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::RedshiftServerless::Namespace",props.tags,{tagPropertyName:"tags"}),this.tagsRaw=props.tags}get cfnProperties(){return{adminPasswordSecretKmsKeyId:this.adminPasswordSecretKmsKeyId,adminUsername:this.adminUsername,adminUserPassword:this.adminUserPassword,dbName:this.dbName,defaultIamRoleArn:this.defaultIamRoleArn,finalSnapshotName:this.finalSnapshotName,finalSnapshotRetentionPeriod:this.finalSnapshotRetentionPeriod,iamRoles:this.iamRoles,kmsKeyId:this.kmsKeyId,logExports:this.logExports,manageAdminPassword:this.manageAdminPassword,namespaceName:this.namespaceName,namespaceResourcePolicy:this.namespaceResourcePolicy,redshiftIdcApplicationArn:this.redshiftIdcApplicationArn,snapshotCopyConfigurations:this.snapshotCopyConfigurations,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",CfnNamespace.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnNamespacePropsToCloudFormation(props)}}exports.CfnNamespace=CfnNamespace,_a=JSII_RTTI_SYMBOL_1,CfnNamespace[_a]={fqn:"aws-cdk-lib.aws_redshiftserverless.CfnNamespace",version:"2.211.0"},CfnNamespace.CFN_RESOURCE_TYPE_NAME="AWS::RedshiftServerless::Namespace";function CfnNamespaceSnapshotCopyConfigurationPropertyValidator(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("destinationKmsKeyId",cdk().validateString)(properties.destinationKmsKeyId)),errors.collect(cdk().propertyValidator("destinationRegion",cdk().requiredValidator)(properties.destinationRegion)),errors.collect(cdk().propertyValidator("destinationRegion",cdk().validateString)(properties.destinationRegion)),errors.collect(cdk().propertyValidator("snapshotRetentionPeriod",cdk().validateNumber)(properties.snapshotRetentionPeriod)),errors.wrap('supplied properties not correct for "SnapshotCopyConfigurationProperty"')}function convertCfnNamespaceSnapshotCopyConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnNamespaceSnapshotCopyConfigurationPropertyValidator(properties).assertSuccess(),{DestinationKmsKeyId:cdk().stringToCloudFormation(properties.destinationKmsKeyId),DestinationRegion:cdk().stringToCloudFormation(properties.destinationRegion),SnapshotRetentionPeriod:cdk().numberToCloudFormation(properties.snapshotRetentionPeriod)}):properties}function CfnNamespaceSnapshotCopyConfigurationPropertyFromCloudFormation(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("destinationKmsKeyId","DestinationKmsKeyId",properties.DestinationKmsKeyId!=null?cfn_parse().FromCloudFormation.getString(properties.DestinationKmsKeyId):void 0),ret.addPropertyResult("destinationRegion","DestinationRegion",properties.DestinationRegion!=null?cfn_parse().FromCloudFormation.getString(properties.DestinationRegion):void 0),ret.addPropertyResult("snapshotRetentionPeriod","SnapshotRetentionPeriod",properties.SnapshotRetentionPeriod!=null?cfn_parse().FromCloudFormation.getNumber(properties.SnapshotRetentionPeriod):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnNamespaceNamespacePropertyValidator(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("adminPasswordSecretArn",cdk().validateString)(properties.adminPasswordSecretArn)),errors.collect(cdk().propertyValidator("adminPasswordSecretKmsKeyId",cdk().validateString)(properties.adminPasswordSecretKmsKeyId)),errors.collect(cdk().propertyValidator("adminUsername",cdk().validateString)(properties.adminUsername)),errors.collect(cdk().propertyValidator("creationDate",cdk().validateString)(properties.creationDate)),errors.collect(cdk().propertyValidator("dbName",cdk().validateString)(properties.dbName)),errors.collect(cdk().propertyValidator("defaultIamRoleArn",cdk().validateString)(properties.defaultIamRoleArn)),errors.collect(cdk().propertyValidator("iamRoles",cdk().listValidator(cdk().validateString))(properties.iamRoles)),errors.collect(cdk().propertyValidator("kmsKeyId",cdk().validateString)(properties.kmsKeyId)),errors.collect(cdk().propertyValidator("logExports",cdk().listValidator(cdk().validateString))(properties.logExports)),errors.collect(cdk().propertyValidator("namespaceArn",cdk().validateString)(properties.namespaceArn)),errors.collect(cdk().propertyValidator("namespaceId",cdk().validateString)(properties.namespaceId)),errors.collect(cdk().propertyValidator("namespaceName",cdk().validateString)(properties.namespaceName)),errors.collect(cdk().propertyValidator("status",cdk().validateString)(properties.status)),errors.wrap('supplied properties not correct for "NamespaceProperty"')}function convertCfnNamespaceNamespacePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnNamespaceNamespacePropertyValidator(properties).assertSuccess(),{AdminPasswordSecretArn:cdk().stringToCloudFormation(properties.adminPasswordSecretArn),AdminPasswordSecretKmsKeyId:cdk().stringToCloudFormation(properties.adminPasswordSecretKmsKeyId),AdminUsername:cdk().stringToCloudFormation(properties.adminUsername),CreationDate:cdk().stringToCloudFormation(properties.creationDate),DbName:cdk().stringToCloudFormation(properties.dbName),DefaultIamRoleArn:cdk().stringToCloudFormation(properties.defaultIamRoleArn),IamRoles:cdk().listMapper(cdk().stringToCloudFormation)(properties.iamRoles),KmsKeyId:cdk().stringToCloudFormation(properties.kmsKeyId),LogExports:cdk().listMapper(cdk().stringToCloudFormation)(properties.logExports),NamespaceArn:cdk().stringToCloudFormation(properties.namespaceArn),NamespaceId:cdk().stringToCloudFormation(properties.namespaceId),NamespaceName:cdk().stringToCloudFormation(properties.namespaceName),Status:cdk().stringToCloudFormation(properties.status)}):properties}function CfnNamespaceNamespacePropertyFromCloudFormation(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("adminPasswordSecretArn","AdminPasswordSecretArn",properties.AdminPasswordSecretArn!=null?cfn_parse().FromCloudFormation.getString(properties.AdminPasswordSecretArn):void 0),ret.addPropertyResult("adminPasswordSecretKmsKeyId","AdminPasswordSecretKmsKeyId",properties.AdminPasswordSecretKmsKeyId!=null?cfn_parse().FromCloudFormation.getString(properties.AdminPasswordSecretKmsKeyId):void 0),ret.addPropertyResult("adminUsername","AdminUsername",properties.AdminUsername!=null?cfn_parse().FromCloudFormation.getString(properties.AdminUsername):void 0),ret.addPropertyResult("creationDate","CreationDate",properties.CreationDate!=null?cfn_parse().FromCloudFormation.getString(properties.CreationDate):void 0),ret.addPropertyResult("dbName","DbName",properties.DbName!=null?cfn_parse().FromCloudFormation.getString(properties.DbName):void 0),ret.addPropertyResult("defaultIamRoleArn","DefaultIamRoleArn",properties.DefaultIamRoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.DefaultIamRoleArn):void 0),ret.addPropertyResult("iamRoles","IamRoles",properties.IamRoles!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.IamRoles):void 0),ret.addPropertyResult("kmsKeyId","KmsKeyId",properties.KmsKeyId!=null?cfn_parse().FromCloudFormation.getString(properties.KmsKeyId):void 0),ret.addPropertyResult("logExports","LogExports",properties.LogExports!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.LogExports):void 0),ret.addPropertyResult("namespaceArn","NamespaceArn",properties.NamespaceArn!=null?cfn_parse().FromCloudFormation.getString(properties.NamespaceArn):void 0),ret.addPropertyResult("namespaceId","NamespaceId",properties.NamespaceId!=null?cfn_parse().FromCloudFormation.getString(properties.NamespaceId):void 0),ret.addPropertyResult("namespaceName","NamespaceName",properties.NamespaceName!=null?cfn_parse().FromCloudFormation.getString(properties.NamespaceName):void 0),ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse().FromCloudFormation.getString(properties.Status):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnNamespacePropsValidator(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("adminPasswordSecretKmsKeyId",cdk().validateString)(properties.adminPasswordSecretKmsKeyId)),errors.collect(cdk().propertyValidator("adminUserPassword",cdk().validateString)(properties.adminUserPassword)),errors.collect(cdk().propertyValidator("adminUsername",cdk().validateString)(properties.adminUsername)),errors.collect(cdk().propertyValidator("dbName",cdk().validateString)(properties.dbName)),errors.collect(cdk().propertyValidator("defaultIamRoleArn",cdk().validateString)(properties.defaultIamRoleArn)),errors.collect(cdk().propertyValidator("finalSnapshotName",cdk().validateString)(properties.finalSnapshotName)),errors.collect(cdk().propertyValidator("finalSnapshotRetentionPeriod",cdk().validateNumber)(properties.finalSnapshotRetentionPeriod)),errors.collect(cdk().propertyValidator("iamRoles",cdk().listValidator(cdk().validateString))(properties.iamRoles)),errors.collect(cdk().propertyValidator("kmsKeyId",cdk().validateString)(properties.kmsKeyId)),errors.collect(cdk().propertyValidator("logExports",cdk().listValidator(cdk().validateString))(properties.logExports)),errors.collect(cdk().propertyValidator("manageAdminPassword",cdk().validateBoolean)(properties.manageAdminPassword)),errors.collect(cdk().propertyValidator("namespaceName",cdk().requiredValidator)(properties.namespaceName)),errors.collect(cdk().propertyValidator("namespaceName",cdk().validateString)(properties.namespaceName)),errors.collect(cdk().propertyValidator("namespaceResourcePolicy",cdk().validateObject)(properties.namespaceResourcePolicy)),errors.collect(cdk().propertyValidator("redshiftIdcApplicationArn",cdk().validateString)(properties.redshiftIdcApplicationArn)),errors.collect(cdk().propertyValidator("snapshotCopyConfigurations",cdk().listValidator(CfnNamespaceSnapshotCopyConfigurationPropertyValidator))(properties.snapshotCopyConfigurations)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnNamespaceProps"')}function convertCfnNamespacePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnNamespacePropsValidator(properties).assertSuccess(),{AdminPasswordSecretKmsKeyId:cdk().stringToCloudFormation(properties.adminPasswordSecretKmsKeyId),AdminUserPassword:cdk().stringToCloudFormation(properties.adminUserPassword),AdminUsername:cdk().stringToCloudFormation(properties.adminUsername),DbName:cdk().stringToCloudFormation(properties.dbName),DefaultIamRoleArn:cdk().stringToCloudFormation(properties.defaultIamRoleArn),FinalSnapshotName:cdk().stringToCloudFormation(properties.finalSnapshotName),FinalSnapshotRetentionPeriod:cdk().numberToCloudFormation(properties.finalSnapshotRetentionPeriod),IamRoles:cdk().listMapper(cdk().stringToCloudFormation)(properties.iamRoles),KmsKeyId:cdk().stringToCloudFormation(properties.kmsKeyId),LogExports:cdk().listMapper(cdk().stringToCloudFormation)(properties.logExports),ManageAdminPassword:cdk().booleanToCloudFormation(properties.manageAdminPassword),NamespaceName:cdk().stringToCloudFormation(properties.namespaceName),NamespaceResourcePolicy:cdk().objectToCloudFormation(properties.namespaceResourcePolicy),RedshiftIdcApplicationArn:cdk().stringToCloudFormation(properties.redshiftIdcApplicationArn),SnapshotCopyConfigurations:cdk().listMapper(convertCfnNamespaceSnapshotCopyConfigurationPropertyToCloudFormation)(properties.snapshotCopyConfigurations),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnNamespacePropsFromCloudFormation(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("adminPasswordSecretKmsKeyId","AdminPasswordSecretKmsKeyId",properties.AdminPasswordSecretKmsKeyId!=null?cfn_parse().FromCloudFormation.getString(properties.AdminPasswordSecretKmsKeyId):void 0),ret.addPropertyResult("adminUsername","AdminUsername",properties.AdminUsername!=null?cfn_parse().FromCloudFormation.getString(properties.AdminUsername):void 0),ret.addPropertyResult("adminUserPassword","AdminUserPassword",properties.AdminUserPassword!=null?cfn_parse().FromCloudFormation.getString(properties.AdminUserPassword):void 0),ret.addPropertyResult("dbName","DbName",properties.DbName!=null?cfn_parse().FromCloudFormation.getString(properties.DbName):void 0),ret.addPropertyResult("defaultIamRoleArn","DefaultIamRoleArn",properties.DefaultIamRoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.DefaultIamRoleArn):void 0),ret.addPropertyResult("finalSnapshotName","FinalSnapshotName",properties.FinalSnapshotName!=null?cfn_parse().FromCloudFormation.getString(properties.FinalSnapshotName):void 0),ret.addPropertyResult("finalSnapshotRetentionPeriod","FinalSnapshotRetentionPeriod",properties.FinalSnapshotRetentionPeriod!=null?cfn_parse().FromCloudFormation.getNumber(properties.FinalSnapshotRetentionPeriod):void 0),ret.addPropertyResult("iamRoles","IamRoles",properties.IamRoles!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.IamRoles):void 0),ret.addPropertyResult("kmsKeyId","KmsKeyId",properties.KmsKeyId!=null?cfn_parse().FromCloudFormation.getString(properties.KmsKeyId):void 0),ret.addPropertyResult("logExports","LogExports",properties.LogExports!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.LogExports):void 0),ret.addPropertyResult("manageAdminPassword","ManageAdminPassword",properties.ManageAdminPassword!=null?cfn_parse().FromCloudFormation.getBoolean(properties.ManageAdminPassword):void 0),ret.addPropertyResult("namespaceName","NamespaceName",properties.NamespaceName!=null?cfn_parse().FromCloudFormation.getString(properties.NamespaceName):void 0),ret.addPropertyResult("namespaceResourcePolicy","NamespaceResourcePolicy",properties.NamespaceResourcePolicy!=null?cfn_parse().FromCloudFormation.getAny(properties.NamespaceResourcePolicy):void 0),ret.addPropertyResult("redshiftIdcApplicationArn","RedshiftIdcApplicationArn",properties.RedshiftIdcApplicationArn!=null?cfn_parse().FromCloudFormation.getString(properties.RedshiftIdcApplicationArn):void 0),ret.addPropertyResult("snapshotCopyConfigurations","SnapshotCopyConfigurations",properties.SnapshotCopyConfigurations!=null?cfn_parse().FromCloudFormation.getArray(CfnNamespaceSnapshotCopyConfigurationPropertyFromCloudFormation)(properties.SnapshotCopyConfigurations):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 CfnWorkgroup extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnWorkgroupPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnWorkgroup(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}constructor(scope,id,props){super(scope,id,{type:CfnWorkgroup.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_redshiftserverless_CfnWorkgroupProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnWorkgroup),error}cdk().requireProperty(props,"workgroupName",this),this.attrWorkgroup=this.getAtt("Workgroup"),this.attrWorkgroupBaseCapacity=cdk().Token.asNumber(this.getAtt("Workgroup.BaseCapacity",cdk().ResolutionTypeHint.NUMBER)),this.attrWorkgroupConfigParameters=this.getAtt("Workgroup.ConfigParameters"),this.attrWorkgroupCreationDate=cdk().Token.asString(this.getAtt("Workgroup.CreationDate",cdk().ResolutionTypeHint.STRING)),this.attrWorkgroupEndpoint=this.getAtt("Workgroup.Endpoint"),this.attrWorkgroupEndpointAddress=cdk().Token.asString(this.getAtt("Workgroup.Endpoint.Address",cdk().ResolutionTypeHint.STRING)),this.attrWorkgroupEndpointPort=cdk().Token.asNumber(this.getAtt("Workgroup.Endpoint.Port",cdk().ResolutionTypeHint.NUMBER)),this.attrWorkgroupEndpointVpcEndpoints=this.getAtt("Workgroup.Endpoint.VpcEndpoints"),this.attrWorkgroupEnhancedVpcRouting=this.getAtt("Workgroup.EnhancedVpcRouting"),this.attrWorkgroupMaxCapacity=cdk().Token.asNumber(this.getAtt("Workgroup.MaxCapacity",cdk().ResolutionTypeHint.NUMBER)),this.attrWorkgroupNamespaceName=cdk().Token.asString(this.getAtt("Workgroup.NamespaceName",cdk().ResolutionTypeHint.STRING)),this.attrWorkgroupPubliclyAccessible=this.getAtt("Workgroup.PubliclyAccessible"),this.attrWorkgroupSecurityGroupIds=cdk().Token.asList(this.getAtt("Workgroup.SecurityGroupIds",cdk().ResolutionTypeHint.STRING_LIST)),this.attrWorkgroupStatus=cdk().Token.asString(this.getAtt("Workgroup.Status",cdk().ResolutionTypeHint.STRING)),this.attrWorkgroupSubnetIds=cdk().Token.asList(this.getAtt("Workgroup.SubnetIds",cdk().ResolutionTypeHint.STRING_LIST)),this.attrWorkgroupTrackName=cdk().Token.asString(this.getAtt("Workgroup.TrackName",cdk().ResolutionTypeHint.STRING)),this.attrWorkgroupWorkgroupArn=cdk().Token.asString(this.getAtt("Workgroup.WorkgroupArn",cdk().ResolutionTypeHint.STRING)),this.attrWorkgroupWorkgroupId=cdk().Token.asString(this.getAtt("Workgroup.WorkgroupId",cdk().ResolutionTypeHint.STRING)),this.attrWorkgroupWorkgroupName=cdk().Token.asString(this.getAtt("Workgroup.WorkgroupName",cdk().ResolutionTypeHint.STRING)),this.baseCapacity=props.baseCapacity,this.configParameters=props.configParameters,this.enhancedVpcRouting=props.enhancedVpcRouting,this.maxCapacity=props.maxCapacity,this.namespaceName=props.namespaceName,this.port=props.port,this.pricePerformanceTarget=props.pricePerformanceTarget,this.publiclyAccessible=props.publiclyAccessible,this.recoveryPointId=props.recoveryPointId,this.securityGroupIds=props.securityGroupIds,this.snapshotArn=props.snapshotArn,this.snapshotName=props.snapshotName,this.snapshotOwnerAccount=props.snapshotOwnerAccount,this.subnetIds=props.subnetIds,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::RedshiftServerless::Workgroup",props.tags,{tagPropertyName:"tags"}),this.tagsRaw=props.tags,this.trackName=props.trackName,this.workgroup=props.workgroup,this.workgroupName=props.workgroupName}get cfnProperties(){return{baseCapacity:this.baseCapacity,configParameters:this.configParameters,enhancedVpcRouting:this.enhancedVpcRouting,maxCapacity:this.maxCapacity,namespaceName:this.namespaceName,port:this.port,pricePerformanceTarget:this.pricePerformanceTarget,publiclyAccessible:this.publiclyAccessible,recoveryPointId:this.recoveryPointId,securityGroupIds:this.securityGroupIds,snapshotArn:this.snapshotArn,snapshotName:this.snapshotName,snapshotOwnerAccount:this.snapshotOwnerAccount,subnetIds:this.subnetIds,tags:this.tags.renderTags(),trackName:this.trackName,workgroup:this.workgroup,workgroupName:this.workgroupName}}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",CfnWorkgroup.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnWorkgroupPropsToCloudFormation(props)}}exports.CfnWorkgroup=CfnWorkgroup,_b=JSII_RTTI_SYMBOL_1,CfnWorkgroup[_b]={fqn:"aws-cdk-lib.aws_redshiftserverless.CfnWorkgroup",version:"2.211.0"},CfnWorkgroup.CFN_RESOURCE_TYPE_NAME="AWS::RedshiftServerless::Workgroup";function CfnWorkgroupConfigParameterPropertyValidator(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("parameterKey",cdk().validateString)(properties.parameterKey)),errors.collect(cdk().propertyValidator("parameterValue",cdk().validateString)(properties.parameterValue)),errors.wrap('supplied properties not correct for "ConfigParameterProperty"')}function convertCfnWorkgroupConfigParameterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnWorkgroupConfigParameterPropertyValidator(properties).assertSuccess(),{ParameterKey:cdk().stringToCloudFormation(properties.parameterKey),ParameterValue:cdk().stringToCloudFormation(properties.parameterValue)}):properties}function CfnWorkgroupConfigParameterPropertyFromCloudFormation(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("parameterKey","ParameterKey",properties.ParameterKey!=null?cfn_parse().FromCloudFormation.getString(properties.ParameterKey):void 0),ret.addPropertyResult("parameterValue","ParameterValue",properties.ParameterValue!=null?cfn_parse().FromCloudFormation.getString(properties.ParameterValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnWorkgroupPerformanceTargetPropertyValidator(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("level",cdk().validateNumber)(properties.level)),errors.collect(cdk().propertyValidator("status",cdk().validateString)(properties.status)),errors.wrap('supplied properties not correct for "PerformanceTargetProperty"')}function convertCfnWorkgroupPerformanceTargetPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnWorkgroupPerformanceTargetPropertyValidator(properties).assertSuccess(),{Level:cdk().numberToCloudFormation(properties.level),Status:cdk().stringToCloudFormation(properties.status)}):properties}function CfnWorkgroupPerformanceTargetPropertyFromCloudFormation(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("level","Level",properties.Level!=null?cfn_parse().FromCloudFormation.getNumber(properties.Level):void 0),ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse().FromCloudFormation.getString(properties.Status):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnWorkgroupNetworkInterfacePropertyValidator(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("availabilityZone",cdk().validateString)(properties.availabilityZone)),errors.collect(cdk().propertyValidator("networkInterfaceId",cdk().validateString)(properties.networkInterfaceId)),errors.collect(cdk().propertyValidator("privateIpAddress",cdk().validateString)(properties.privateIpAddress)),errors.collect(cdk().propertyValidator("subnetId",cdk().validateString)(properties.subnetId)),errors.wrap('supplied properties not correct for "NetworkInterfaceProperty"')}function convertCfnWorkgroupNetworkInterfacePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnWorkgroupNetworkInterfacePropertyValidator(properties).assertSuccess(),{AvailabilityZone:cdk().stringToCloudFormation(properties.availabilityZone),NetworkInterfaceId:cdk().stringToCloudFormation(properties.networkInterfaceId),PrivateIpAddress:cdk().stringToCloudFormation(properties.privateIpAddress),SubnetId:cdk().stringToCloudFormation(properties.subnetId)}):properties}function CfnWorkgroupNetworkInterfacePropertyFromCloudFormation(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("availabilityZone","AvailabilityZone",properties.AvailabilityZone!=null?cfn_parse().FromCloudFormation.getString(properties.AvailabilityZone):void 0),ret.addPropertyResult("networkInterfaceId","NetworkInterfaceId",properties.NetworkInterfaceId!=null?cfn_parse().FromCloudFormation.getString(properties.NetworkInterfaceId):void 0),ret.addPropertyResult("privateIpAddress","PrivateIpAddress",properties.PrivateIpAddress!=null?cfn_parse().FromCloudFormation.getString(properties.PrivateIpAddress):void 0),ret.addPropertyResult("subnetId","SubnetId",properties.SubnetId!=null?cfn_parse().FromCloudFormation.getString(properties.SubnetId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnWorkgroupVpcEndpointPropertyValidator(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("networkInterfaces",cdk().listValidator(CfnWorkgroupNetworkInterfacePropertyValidator))(properties.networkInterfaces)),errors.collect(cdk().propertyValidator("vpcEndpointId",cdk().validateString)(properties.vpcEndpointId)),errors.collect(cdk().propertyValidator("vpcId",cdk().validateString)(properties.vpcId)),errors.wrap('supplied properties not correct for "VpcEndpointProperty"')}function convertCfnWorkgroupVpcEndpointPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnWorkgroupVpcEndpointPropertyValidator(properties).assertSuccess(),{NetworkInterfaces:cdk().listMapper(convertCfnWorkgroupNetworkInterfacePropertyToCloudFormation)(properties.networkInterfaces),VpcEndpointId:cdk().stringToCloudFormation(properties.vpcEndpointId),VpcId:cdk().stringToCloudFormation(properties.vpcId)}):properties}function CfnWorkgroupVpcEndpointPropertyFromCloudFormation(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("networkInterfaces","NetworkInterfaces",properties.NetworkInterfaces!=null?cfn_parse().FromCloudFormation.getArray(CfnWorkgroupNetworkInterfacePropertyFromCloudFormation)(properties.NetworkInterfaces):void 0),ret.addPropertyResult("vpcEndpointId","VpcEndpointId",properties.VpcEndpointId!=null?cfn_parse().FromCloudFormation.getString(properties.VpcEndpointId):void 0),ret.addPropertyResult("vpcId","VpcId",properties.VpcId!=null?cfn_parse().FromCloudFormation.getString(properties.VpcId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnWorkgroupEndpointPropertyValidator(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("address",cdk().validateString)(properties.address)),errors.collect(cdk().propertyValidator("port",cdk().validateNumber)(properties.port)),errors.collect(cdk().propertyValidator("vpcEndpoints",cdk().listValidator(CfnWorkgroupVpcEndpointPropertyValidator))(properties.vpcEndpoints)),errors.wrap('supplied properties not correct for "EndpointProperty"')}function convertCfnWorkgroupEndpointPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnWorkgroupEndpointPropertyValidator(properties).assertSuccess(),{Address:cdk().stringToCloudFormation(properties.address),Port:cdk().numberToCloudFormation(properties.port),VpcEndpoints:cdk().listMapper(convertCfnWorkgroupVpcEndpointPropertyToCloudFormation)(properties.vpcEndpoints)}):properties}function CfnWorkgroupEndpointPropertyFromCloudFormation(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("address","Address",properties.Address!=null?cfn_parse().FromCloudFormation.getString(properties.Address):void 0),ret.addPropertyResult("port","Port",properties.Port!=null?cfn_parse().FromCloudFormation.getNumber(properties.Port):void 0),ret.addPropertyResult("vpcEndpoints","VpcEndpoints",properties.VpcEndpoints!=null?cfn_parse().FromCloudFormation.getArray(CfnWorkgroupVpcEndpointPropertyFromCloudFormation)(properties.VpcEndpoints):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnWorkgroupWorkgroupPropertyValidator(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("baseCapacity",cdk().validateNumber)(properties.baseCapacity)),errors.collect(cdk().propertyValidator("configParameters",cdk().listValidator(CfnWorkgroupConfigParameterPropertyValidator))(properties.configParameters)),errors.collect(cdk().propertyValidator("creationDate",cdk().validateString)(properties.creationDate)),errors.collect(cdk().propertyValidator("endpoint",CfnWorkgroupEndpointPropertyValidator)(properties.endpoint)),errors.collect(cdk().propertyValidator("enhancedVpcRouting",cdk().validateBoolean)(properties.enhancedVpcRouting)),errors.collect(cdk().propertyValidator("maxCapacity",cdk().validateNumber)(properties.maxCapacity)),errors.collect(cdk().propertyValidator("namespaceName",cdk().validateString)(properties.namespaceName)),errors.collect(cdk().propertyValidator("pricePerformanceTarget",CfnWorkgroupPerformanceTargetPropertyValidator)(properties.pricePerformanceTarget)),errors.collect(cdk().propertyValidator("publiclyAccessible",cdk().validateBoolean)(properties.publiclyAccessible)),errors.collect(cdk().propertyValidator("securityGroupIds",cdk().listValidator(cdk().validateString))(properties.securityGroupIds)),errors.collect(cdk().propertyValidator("status",cdk().validateString)(properties.status)),errors.collect(cdk().propertyValidator("subnetIds",cdk().listValidator(cdk().validateString))(properties.subnetIds)),errors.collect(cdk().propertyValidator("trackName",cdk().validateString)(properties.trackName)),errors.collect(cdk().propertyValidator("workgroupArn",cdk().validateString)(properties.workgroupArn)),errors.collect(cdk().propertyValidator("workgroupId",cdk().validateString)(properties.workgroupId)),errors.collect(cdk().propertyValidator("workgroupName",cdk().validateString)(properties.workgroupName)),errors.wrap('supplied properties not correct for "WorkgroupProperty"')}function convertCfnWorkgroupWorkgroupPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnWorkgroupWorkgroupPropertyValidator(properties).assertSuccess(),{BaseCapacity:cdk().numberToCloudFormation(properties.baseCapacity),ConfigParameters:cdk().listMapper(convertCfnWorkgroupConfigParameterPropertyToCloudFormation)(properties.configParameters),CreationDate:cdk().stringToCloudFormation(properties.creationDate),Endpoint:convertCfnWorkgroupEndpointPropertyToCloudFormation(properties.endpoint),EnhancedVpcRouting:cdk().booleanToCloudFormation(properties.enhancedVpcRouting),MaxCapacity:cdk().numberToCloudFormation(properties.maxCapacity),NamespaceName:cdk().stringToCloudFormation(properties.namespaceName),PricePerformanceTarget:convertCfnWorkgroupPerformanceTargetPropertyToCloudFormation(properties.pricePerformanceTarget),PubliclyAccessible:cdk().booleanToCloudFormation(properties.publiclyAccessible),SecurityGroupIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.securityGroupIds),Status:cdk().stringToCloudFormation(properties.status),SubnetIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.subnetIds),TrackName:cdk().stringToCloudFormation(properties.trackName),WorkgroupArn:cdk().stringToCloudFormation(properties.workgroupArn),WorkgroupId:cdk().stringToCloudFormation(properties.workgroupId),WorkgroupName:cdk().stringToCloudFormation(properties.workgroupName)}):properties}function CfnWorkgroupWorkgroupPropertyFromCloudFormation(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("baseCapacity","BaseCapacity",properties.BaseCapacity!=null?cfn_parse().FromCloudFormation.getNumber(properties.BaseCapacity):void 0),ret.addPropertyResult("configParameters","ConfigParameters",properties.ConfigParameters!=null?cfn_parse().FromCloudFormation.getArray(CfnWorkgroupConfigParameterPropertyFromCloudFormation)(properties.ConfigParameters):void 0),ret.addPropertyResult("creationDate","CreationDate",properties.CreationDate!=null?cfn_parse().FromCloudFormation.getString(properties.CreationDate):void 0),ret.addPropertyResult("endpoint","Endpoint",properties.Endpoint!=null?CfnWorkgroupEndpointPropertyFromCloudFormation(properties.Endpoint):void 0),ret.addPropertyResult("enhancedVpcRouting","EnhancedVpcRouting",properties.EnhancedVpcRouting!=null?cfn_parse().FromCloudFormation.getBoolean(properties.EnhancedVpcRouting):void 0),ret.addPropertyResult("maxCapacity","MaxCapacity",properties.MaxCapacity!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxCapacity):void 0),ret.addPropertyResult("namespaceName","NamespaceName",properties.NamespaceName!=null?cfn_parse().FromCloudFormation.getString(properties.NamespaceName):void 0),ret.addPropertyResult("pricePerformanceTarget","PricePerformanceTarget",properties.PricePerformanceTarget!=null?CfnWorkgroupPerformanceTargetPropertyFromCloudFormation(properties.PricePerformanceTarget):void 0),ret.addPropertyResult("publiclyAccessible","PubliclyAccessible",properties.PubliclyAccessible!=null?cfn_parse().FromCloudFormation.getBoolean(properties.PubliclyAccessible):void 0),ret.addPropertyResult("securityGroupIds","SecurityGroupIds",properties.SecurityGroupIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SecurityGroupIds):void 0),ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse().FromCloudFormation.getString(properties.Status):void 0),ret.addPropertyResult("subnetIds","SubnetIds",properties.SubnetIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SubnetIds):void 0),ret.addPropertyResult("trackName","TrackName",properties.TrackName!=null?cfn_parse().FromCloudFormation.getString(properties.TrackName):void 0),ret.addPropertyResult("workgroupArn","WorkgroupArn",properties.WorkgroupArn!=null?cfn_parse().FromCloudFormation.getString(properties.WorkgroupArn):void 0),ret.addPropertyResult("workgroupId","WorkgroupId",properties.WorkgroupId!=null?cfn_parse().FromCloudFormation.getString(properties.WorkgroupId):void 0),ret.addPropertyResult("workgroupName","WorkgroupName",properties.WorkgroupName!=null?cfn_parse().FromCloudFormation.getString(properties.WorkgroupName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnWorkgroupPropsValidator(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("baseCapacity",cdk().validateNumber)(properties.baseCapacity)),errors.collect(cdk().propertyValidator("configParameters",cdk().listValidator(CfnWorkgroupConfigParameterPropertyValidator))(properties.configParameters)),errors.collect(cdk().propertyValidator("enhancedVpcRouting",cdk().validateBoolean)(properties.enhancedVpcRouting)),errors.collect(cdk().propertyValidator("maxCapacity",cdk().validateNumber)(properties.maxCapacity)),errors.collect(cdk().propertyValidator("namespaceName",cdk().validateString)(properties.namespaceName)),errors.collect(cdk().propertyValidator("port",cdk().validateNumber)(properties.port)),errors.collect(cdk().propertyValidator("pricePerformanceTarget",CfnWorkgroupPerformanceTargetPropertyValidator)(properties.pricePerformanceTarget)),errors.collect(cdk().propertyValidator("publiclyAccessible",cdk().validateBoolean)(properties.publiclyAccessible)),errors.collect(cdk().propertyValidator("recoveryPointId",cdk().validateString)(properties.recoveryPointId)),errors.collect(cdk().propertyValidator("securityGroupIds",cdk().listValidator(cdk().validateString))(properties.securityGroupIds)),errors.collect(cdk().propertyValidator("snapshotArn",cdk().validateString)(properties.snapshotArn)),errors.collect(cdk().propertyValidator("snapshotName",cdk().validateString)(properties.snapshotName)),errors.collect(cdk().propertyValidator("snapshotOwnerAccount",cdk().validateString)(properties.snapshotOwnerAccount)),errors.collect(cdk().propertyValidator("subnetIds",cdk().listValidator(cdk().validateString))(properties.subnetIds)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("trackName",cdk().validateString)(properties.trackName)),errors.collect(cdk().propertyValidator("workgroup",CfnWorkgroupWorkgroupPropertyValidator)(properties.workgroup)),errors.collect(cdk().propertyValidator("workgroupName",cdk().requiredValidator)(properties.workgroupName)),errors.collect(cdk().propertyValidator("workgroupName",cdk().validateString)(properties.workgroupName)),errors.wrap('supplied properties not correct for "CfnWorkgroupProps"')}function convertCfnWorkgroupPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnWorkgroupPropsValidator(properties).assertSuccess(),{BaseCapacity:cdk().numberToCloudFormation(properties.baseCapacity),ConfigParameters:cdk().listMapper(convertCfnWorkgroupConfigParameterPropertyToCloudFormation)(properties.configParameters),EnhancedVpcRouting:cdk().booleanToCloudFormation(properties.enhancedVpcRouting),MaxCapacity:cdk().numberToCloudFormation(properties.maxCapacity),NamespaceName:cdk().stringToCloudFormation(properties.namespaceName),Port:cdk().numberToCloudFormation(properties.port),PricePerformanceTarget:convertCfnWorkgroupPerformanceTargetPropertyToCloudFormation(properties.pricePerformanceTarget),PubliclyAccessible:cdk().booleanToCloudFormation(properties.publiclyAccessible),RecoveryPointId:cdk().stringToCloudFormation(properties.recoveryPointId),SecurityGroupIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.securityGroupIds),SnapshotArn:cdk().stringToCloudFormation(properties.snapshotArn),SnapshotName:cdk().stringToCloudFormation(properties.snapshotName),SnapshotOwnerAccount:cdk().stringToCloudFormation(properties.snapshotOwnerAccount),SubnetIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.subnetIds),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),TrackName:cdk().stringToCloudFormation(properties.trackName),Workgroup:convertCfnWorkgroupWorkgroupPropertyToCloudFormation(properties.workgroup),WorkgroupName:cdk().stringToCloudFormation(properties.workgroupName)}):properties}function CfnWorkgroupPropsFromCloudFormation(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("baseCapacity","BaseCapacity",properties.BaseCapacity!=null?cfn_parse().FromCloudFormation.getNumber(properties.BaseCapacity):void 0),ret.addPropertyResult("configParameters","ConfigParameters",properties.ConfigParameters!=null?cfn_parse().FromCloudFormation.getArray(CfnWorkgroupConfigParameterPropertyFromCloudFormation)(properties.ConfigParameters):void 0),ret.addPropertyResult("enhancedVpcRouting","EnhancedVpcRouting",properties.EnhancedVpcRouting!=null?cfn_parse().FromCloudFormation.getBoolean(properties.EnhancedVpcRouting):void 0),ret.addPropertyResult("maxCapacity","MaxCapacity",properties.MaxCapacity!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxCapacity):void 0),ret.addPropertyResult("namespaceName","NamespaceName",properties.NamespaceName!=null?cfn_parse().FromCloudFormation.getString(properties.NamespaceName):void 0),ret.addPropertyResult("port","Port",properties.Port!=null?cfn_parse().FromCloudFormation.getNumber(properties.Port):void 0),ret.addPropertyResult("pricePerformanceTarget","PricePerformanceTarget",properties.PricePerformanceTarget!=null?CfnWorkgroupPerformanceTargetPropertyFromCloudFormation(properties.PricePerformanceTarget):void 0),ret.addPropertyResult("publiclyAccessible","PubliclyAccessible",properties.PubliclyAccessible!=null?cfn_parse().FromCloudFormation.getBoolean(properties.PubliclyAccessible):void 0),ret.addPropertyResult("recoveryPointId","RecoveryPointId",properties.RecoveryPointId!=null?cfn_parse().FromCloudFormation.getString(properties.RecoveryPointId):void 0),ret.addPropertyResult("securityGroupIds","SecurityGroupIds",properties.SecurityGroupIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SecurityGroupIds):void 0),ret.addPropertyResult("snapshotArn","SnapshotArn",properties.SnapshotArn!=null?cfn_parse().FromCloudFormation.getString(properties.SnapshotArn):void 0),ret.addPropertyResult("snapshotName","SnapshotName",properties.SnapshotName!=null?cfn_parse().FromCloudFormation.getString(properties.SnapshotName):void 0),ret.addPropertyResult("snapshotOwnerAccount","SnapshotOwnerAccount",properties.SnapshotOwnerAccount!=null?cfn_parse().FromCloudFormation.getString(properties.SnapshotOwnerAccount):void 0),ret.addPropertyResult("subnetIds","SubnetIds",properties.SubnetIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SubnetIds):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("trackName","TrackName",properties.TrackName!=null?cfn_parse().FromCloudFormation.getString(properties.TrackName):void 0),ret.addPropertyResult("workgroup","Workgroup",properties.Workgroup!=null?CfnWorkgroupWorkgroupPropertyFromCloudFormation(properties.Workgroup):v