aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
1 lines • 68.9 kB
JavaScript
"use strict";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/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 CfnNamespace extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_redshiftserverless.CfnNamespace",version:"2.251.0"};static CFN_RESOURCE_TYPE_NAME="AWS::RedshiftServerless::Namespace";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(cfn_parse().lit`UnexpectedIResolvable`,"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}static isCfnNamespace(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnNamespace.CFN_RESOURCE_TYPE_NAME}_adminPasswordSecretKmsKeyId;_adminUsername;_adminUserPassword;_dbName;_defaultIamRoleArn;_finalSnapshotName;_finalSnapshotRetentionPeriod;_iamRoles;_kmsKeyId;_logExports;_manageAdminPassword;_namespaceName;_namespaceResourcePolicy;_redshiftIdcApplicationArn;_snapshotCopyConfigurations;tags;_tagsRaw;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._adminPasswordSecretKmsKeyId=props.adminPasswordSecretKmsKeyId,this._adminUsername=props.adminUsername,this._adminUserPassword=props.adminUserPassword,this._dbName=props.dbName,this._defaultIamRoleArn=cdk().getRefProperty(props.defaultIamRoleArn?.roleRef,"roleArn")??cdk().ensureStringOrUndefined(props.defaultIamRoleArn,"defaultIamRoleArn","iam.IRoleRef | string"),this._finalSnapshotName=props.finalSnapshotName,this._finalSnapshotRetentionPeriod=props.finalSnapshotRetentionPeriod,this._iamRoles=cdk().mapArrayInPlace(props.iamRoles,item=>cdk().getRefProperty(item?.roleRef,"roleArn")??cdk().ensureStringOrUndefined(item,"iamRoles","iam.IRoleRef | string")),this._kmsKeyId=cdk().getRefProperty(props.kmsKeyId?.keyRef,"keyId")??cdk().ensureStringOrUndefined(props.kmsKeyId,"kmsKeyId","kms.IKeyRef | string"),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 namespaceRef(){return{namespaceName:this.ref}}get adminPasswordSecretKmsKeyId(){return this._adminPasswordSecretKmsKeyId}set adminPasswordSecretKmsKeyId(value){cdk().traceProperty(this.node,"AdminPasswordSecretKmsKeyId"),this._adminPasswordSecretKmsKeyId=value}get adminUsername(){return this._adminUsername}set adminUsername(value){cdk().traceProperty(this.node,"AdminUsername"),this._adminUsername=value}get adminUserPassword(){return this._adminUserPassword}set adminUserPassword(value){cdk().traceProperty(this.node,"AdminUserPassword"),this._adminUserPassword=value}get dbName(){return this._dbName}set dbName(value){cdk().traceProperty(this.node,"DbName"),this._dbName=value}get defaultIamRoleArn(){return this._defaultIamRoleArn}set defaultIamRoleArn(value){cdk().traceProperty(this.node,"DefaultIamRoleArn"),this._defaultIamRoleArn=value}get finalSnapshotName(){return this._finalSnapshotName}set finalSnapshotName(value){cdk().traceProperty(this.node,"FinalSnapshotName"),this._finalSnapshotName=value}get finalSnapshotRetentionPeriod(){return this._finalSnapshotRetentionPeriod}set finalSnapshotRetentionPeriod(value){cdk().traceProperty(this.node,"FinalSnapshotRetentionPeriod"),this._finalSnapshotRetentionPeriod=value}get iamRoles(){return this._iamRoles}set iamRoles(value){cdk().traceProperty(this.node,"IamRoles"),this._iamRoles=value}get kmsKeyId(){return this._kmsKeyId}set kmsKeyId(value){cdk().traceProperty(this.node,"KmsKeyId"),this._kmsKeyId=value}get logExports(){return this._logExports}set logExports(value){cdk().traceProperty(this.node,"LogExports"),this._logExports=value}get manageAdminPassword(){return this._manageAdminPassword}set manageAdminPassword(value){cdk().traceProperty(this.node,"ManageAdminPassword"),this._manageAdminPassword=value}get namespaceName(){return this._namespaceName}set namespaceName(value){cdk().traceProperty(this.node,"NamespaceName"),this._namespaceName=value}get namespaceResourcePolicy(){return this._namespaceResourcePolicy}set namespaceResourcePolicy(value){cdk().traceProperty(this.node,"NamespaceResourcePolicy"),this._namespaceResourcePolicy=value}get redshiftIdcApplicationArn(){return this._redshiftIdcApplicationArn}set redshiftIdcApplicationArn(value){cdk().traceProperty(this.node,"RedshiftIdcApplicationArn"),this._redshiftIdcApplicationArn=value}get snapshotCopyConfigurations(){return this._snapshotCopyConfigurations}set snapshotCopyConfigurations(value){cdk().traceProperty(this.node,"SnapshotCopyConfigurations"),this._snapshotCopyConfigurations=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get attrNamespace(){return this.getAtt("Namespace")}get attrNamespaceAdminUsername(){return cdk().Token.asString(this.getAtt("Namespace.AdminUsername",cdk().ResolutionTypeHint.STRING))}get attrNamespaceCreationDate(){return cdk().Token.asString(this.getAtt("Namespace.CreationDate",cdk().ResolutionTypeHint.STRING))}get attrNamespaceDbName(){return cdk().Token.asString(this.getAtt("Namespace.DbName",cdk().ResolutionTypeHint.STRING))}get attrNamespaceDefaultIamRoleArn(){return cdk().Token.asString(this.getAtt("Namespace.DefaultIamRoleArn",cdk().ResolutionTypeHint.STRING))}get attrNamespaceIamRoles(){return cdk().Token.asList(this.getAtt("Namespace.IamRoles",cdk().ResolutionTypeHint.STRING_LIST))}get attrNamespaceKmsKeyId(){return cdk().Token.asString(this.getAtt("Namespace.KmsKeyId",cdk().ResolutionTypeHint.STRING))}get attrNamespaceLogExports(){return cdk().Token.asList(this.getAtt("Namespace.LogExports",cdk().ResolutionTypeHint.STRING_LIST))}get attrNamespaceNamespaceArn(){return cdk().Token.asString(this.getAtt("Namespace.NamespaceArn",cdk().ResolutionTypeHint.STRING))}get attrNamespaceNamespaceId(){return cdk().Token.asString(this.getAtt("Namespace.NamespaceId",cdk().ResolutionTypeHint.STRING))}get attrNamespaceNamespaceName(){return cdk().Token.asString(this.getAtt("Namespace.NamespaceName",cdk().ResolutionTypeHint.STRING))}get attrNamespaceStatus(){return cdk().Token.asString(this.getAtt("Namespace.Status",cdk().ResolutionTypeHint.STRING))}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:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnNamespacePropsToCloudFormation(props)}}exports.CfnNamespace=CfnNamespace;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[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_redshiftserverless.CfnWorkgroup",version:"2.251.0"};static CFN_RESOURCE_TYPE_NAME="AWS::RedshiftServerless::Workgroup";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(cfn_parse().lit`UnexpectedIResolvable`,"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}static isCfnWorkgroup(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnWorkgroup.CFN_RESOURCE_TYPE_NAME}_baseCapacity;_configParameters;_enhancedVpcRouting;_maxCapacity;_namespaceName;_port;_pricePerformanceTarget;_publiclyAccessible;_recoveryPointId;_securityGroupIds;_snapshotArn;_snapshotName;_snapshotOwnerAccount;_subnetIds;tags;_tagsRaw;_trackName;_workgroup;_workgroupName;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._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=cdk().mapArrayInPlace(props.securityGroupIds,item=>cdk().getRefProperty(item?.securityGroupRef,"securityGroupId")??cdk().ensureStringOrUndefined(item,"securityGroupIds","ec2.ISecurityGroupRef | string")),this._snapshotArn=props.snapshotArn,this._snapshotName=props.snapshotName,this._snapshotOwnerAccount=props.snapshotOwnerAccount,this._subnetIds=cdk().mapArrayInPlace(props.subnetIds,item=>cdk().getRefProperty(item?.subnetRef,"subnetId")??cdk().ensureStringOrUndefined(item,"subnetIds","ec2.ISubnetRef | string")),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 workgroupRef(){return{workgroupName:this.ref}}get baseCapacity(){return this._baseCapacity}set baseCapacity(value){cdk().traceProperty(this.node,"BaseCapacity"),this._baseCapacity=value}get configParameters(){return this._configParameters}set configParameters(value){cdk().traceProperty(this.node,"ConfigParameters"),this._configParameters=value}get enhancedVpcRouting(){return this._enhancedVpcRouting}set enhancedVpcRouting(value){cdk().traceProperty(this.node,"EnhancedVpcRouting"),this._enhancedVpcRouting=value}get maxCapacity(){return this._maxCapacity}set maxCapacity(value){cdk().traceProperty(this.node,"MaxCapacity"),this._maxCapacity=value}get namespaceName(){return this._namespaceName}set namespaceName(value){cdk().traceProperty(this.node,"NamespaceName"),this._namespaceName=value}get port(){return this._port}set port(value){cdk().traceProperty(this.node,"Port"),this._port=value}get pricePerformanceTarget(){return this._pricePerformanceTarget}set pricePerformanceTarget(value){cdk().traceProperty(this.node,"PricePerformanceTarget"),this._pricePerformanceTarget=value}get publiclyAccessible(){return this._publiclyAccessible}set publiclyAccessible(value){cdk().traceProperty(this.node,"PubliclyAccessible"),this._publiclyAccessible=value}get recoveryPointId(){return this._recoveryPointId}set recoveryPointId(value){cdk().traceProperty(this.node,"RecoveryPointId"),this._recoveryPointId=value}get securityGroupIds(){return this._securityGroupIds}set securityGroupIds(value){cdk().traceProperty(this.node,"SecurityGroupIds"),this._securityGroupIds=value}get snapshotArn(){return this._snapshotArn}set snapshotArn(value){cdk().traceProperty(this.node,"SnapshotArn"),this._snapshotArn=value}get snapshotName(){return this._snapshotName}set snapshotName(value){cdk().traceProperty(this.node,"SnapshotName"),this._snapshotName=value}get snapshotOwnerAccount(){return this._snapshotOwnerAccount}set snapshotOwnerAccount(value){cdk().traceProperty(this.node,"SnapshotOwnerAccount"),this._snapshotOwnerAccount=value}get subnetIds(){return this._subnetIds}set subnetIds(value){cdk().traceProperty(this.node,"SubnetIds"),this._subnetIds=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get trackName(){return this._trackName}set trackName(value){cdk().traceProperty(this.node,"TrackName"),this._trackName=value}get workgroup(){return this._workgroup}set workgroup(value){cdk().traceProperty(this.node,"Workgroup"),this._workgroup=value}get workgroupName(){return this._workgroupName}set workgroupName(value){cdk().traceProperty(this.node,"WorkgroupName"),this._workgroupName=value}get attrWorkgroup(){return this.getAtt("Workgroup")}get attrWorkgroupBaseCapacity(){return cdk().Token.asNumber(this.getAtt("Workgroup.BaseCapacity",cdk().ResolutionTypeHint.NUMBER))}get attrWorkgroupConfigParameters(){return this.getAtt("Workgroup.ConfigParameters")}get attrWorkgroupCreationDate(){return cdk().Token.asString(this.getAtt("Workgroup.CreationDate",cdk().ResolutionTypeHint.STRING))}get attrWorkgroupEndpoint(){return this.getAtt("Workgroup.Endpoint")}get attrWorkgroupEndpointAddress(){return cdk().Token.asString(this.getAtt("Workgroup.Endpoint.Address",cdk().ResolutionTypeHint.STRING))}get attrWorkgroupEndpointPort(){return cdk().Token.asNumber(this.getAtt("Workgroup.Endpoint.Port",cdk().ResolutionTypeHint.NUMBER))}get attrWorkgroupEndpointVpcEndpoints(){return this.getAtt("Workgroup.Endpoint.VpcEndpoints")}get attrWorkgroupEnhancedVpcRouting(){return this.getAtt("Workgroup.EnhancedVpcRouting")}get attrWorkgroupMaxCapacity(){return cdk().Token.asNumber(this.getAtt("Workgroup.MaxCapacity",cdk().ResolutionTypeHint.NUMBER))}get attrWorkgroupNamespaceName(){return cdk().Token.asString(this.getAtt("Workgroup.NamespaceName",cdk().ResolutionTypeHint.STRING))}get attrWorkgroupPubliclyAccessible(){return this.getAtt("Workgroup.PubliclyAccessible")}get attrWorkgroupSecurityGroupIds(){return cdk().Token.asList(this.getAtt("Workgroup.SecurityGroupIds",cdk().ResolutionTypeHint.STRING_LIST))}get attrWorkgroupStatus(){return cdk().Token.asString(this.getAtt("Workgroup.Status",cdk().ResolutionTypeHint.STRING))}get attrWorkgroupSubnetIds(){return cdk().Token.asList(this.getAtt("Workgroup.SubnetIds",cdk().ResolutionTypeHint.STRING_LIST))}get attrWorkgroupTrackName(){return cdk().Token.asString(this.getAtt("Workgroup.TrackName",cdk().ResolutionTypeHint.STRING))}get attrWorkgroupWorkgroupArn(){return cdk().Token.asString(this.getAtt("Workgroup.WorkgroupArn",cdk().ResolutionTypeHint.STRING))}get attrWorkgroupWorkgroupId(){return cdk().Token.asString(this.getAtt("Workgroup.WorkgroupId",cdk().ResolutionTypeHint.STRING))}get attrWorkgroupWorkgroupName(){return cdk().Token.asString(this.getAtt("Workgroup.WorkgroupName",cdk().ResolutionTypeHint.STRING))}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:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnWorkgroupPropsToCloudFormation(props)}}exports.CfnWorkgroup=CfnWorkgroup;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}fu