aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
1 lines • 85.7 kB
JavaScript
"use strict";var _a,_b,_c,_d,_e,_f,_g,_h,_j;Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnScheduledAction=exports.CfnEventSubscription=exports.CfnEndpointAuthorization=exports.CfnEndpointAccess=exports.CfnClusterSubnetGroup=exports.CfnClusterSecurityGroupIngress=exports.CfnClusterSecurityGroup=exports.CfnClusterParameterGroup=exports.CfnCluster=void 0;const jsiiDeprecationWarnings=require("../../.warnings.jsii.js"),JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti"),cdk=require("../../core"),cfn_parse=require("../../core/lib/helpers-internal");function CfnClusterPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("allowVersionUpgrade",cdk.validateBoolean)(properties.allowVersionUpgrade)),errors.collect(cdk.propertyValidator("aquaConfigurationStatus",cdk.validateString)(properties.aquaConfigurationStatus)),errors.collect(cdk.propertyValidator("automatedSnapshotRetentionPeriod",cdk.validateNumber)(properties.automatedSnapshotRetentionPeriod)),errors.collect(cdk.propertyValidator("availabilityZone",cdk.validateString)(properties.availabilityZone)),errors.collect(cdk.propertyValidator("availabilityZoneRelocation",cdk.validateBoolean)(properties.availabilityZoneRelocation)),errors.collect(cdk.propertyValidator("availabilityZoneRelocationStatus",cdk.validateString)(properties.availabilityZoneRelocationStatus)),errors.collect(cdk.propertyValidator("classic",cdk.validateBoolean)(properties.classic)),errors.collect(cdk.propertyValidator("clusterIdentifier",cdk.validateString)(properties.clusterIdentifier)),errors.collect(cdk.propertyValidator("clusterParameterGroupName",cdk.validateString)(properties.clusterParameterGroupName)),errors.collect(cdk.propertyValidator("clusterSecurityGroups",cdk.listValidator(cdk.validateString))(properties.clusterSecurityGroups)),errors.collect(cdk.propertyValidator("clusterSubnetGroupName",cdk.validateString)(properties.clusterSubnetGroupName)),errors.collect(cdk.propertyValidator("clusterType",cdk.requiredValidator)(properties.clusterType)),errors.collect(cdk.propertyValidator("clusterType",cdk.validateString)(properties.clusterType)),errors.collect(cdk.propertyValidator("clusterVersion",cdk.validateString)(properties.clusterVersion)),errors.collect(cdk.propertyValidator("dbName",cdk.requiredValidator)(properties.dbName)),errors.collect(cdk.propertyValidator("dbName",cdk.validateString)(properties.dbName)),errors.collect(cdk.propertyValidator("deferMaintenance",cdk.validateBoolean)(properties.deferMaintenance)),errors.collect(cdk.propertyValidator("deferMaintenanceDuration",cdk.validateNumber)(properties.deferMaintenanceDuration)),errors.collect(cdk.propertyValidator("deferMaintenanceEndTime",cdk.validateString)(properties.deferMaintenanceEndTime)),errors.collect(cdk.propertyValidator("deferMaintenanceStartTime",cdk.validateString)(properties.deferMaintenanceStartTime)),errors.collect(cdk.propertyValidator("destinationRegion",cdk.validateString)(properties.destinationRegion)),errors.collect(cdk.propertyValidator("elasticIp",cdk.validateString)(properties.elasticIp)),errors.collect(cdk.propertyValidator("encrypted",cdk.validateBoolean)(properties.encrypted)),errors.collect(cdk.propertyValidator("endpoint",CfnCluster_EndpointPropertyValidator)(properties.endpoint)),errors.collect(cdk.propertyValidator("enhancedVpcRouting",cdk.validateBoolean)(properties.enhancedVpcRouting)),errors.collect(cdk.propertyValidator("hsmClientCertificateIdentifier",cdk.validateString)(properties.hsmClientCertificateIdentifier)),errors.collect(cdk.propertyValidator("hsmConfigurationIdentifier",cdk.validateString)(properties.hsmConfigurationIdentifier)),errors.collect(cdk.propertyValidator("iamRoles",cdk.listValidator(cdk.validateString))(properties.iamRoles)),errors.collect(cdk.propertyValidator("kmsKeyId",cdk.validateString)(properties.kmsKeyId)),errors.collect(cdk.propertyValidator("loggingProperties",CfnCluster_LoggingPropertiesPropertyValidator)(properties.loggingProperties)),errors.collect(cdk.propertyValidator("maintenanceTrackName",cdk.validateString)(properties.maintenanceTrackName)),errors.collect(cdk.propertyValidator("manualSnapshotRetentionPeriod",cdk.validateNumber)(properties.manualSnapshotRetentionPeriod)),errors.collect(cdk.propertyValidator("masterUserPassword",cdk.requiredValidator)(properties.masterUserPassword)),errors.collect(cdk.propertyValidator("masterUserPassword",cdk.validateString)(properties.masterUserPassword)),errors.collect(cdk.propertyValidator("masterUsername",cdk.requiredValidator)(properties.masterUsername)),errors.collect(cdk.propertyValidator("masterUsername",cdk.validateString)(properties.masterUsername)),errors.collect(cdk.propertyValidator("nodeType",cdk.requiredValidator)(properties.nodeType)),errors.collect(cdk.propertyValidator("nodeType",cdk.validateString)(properties.nodeType)),errors.collect(cdk.propertyValidator("numberOfNodes",cdk.validateNumber)(properties.numberOfNodes)),errors.collect(cdk.propertyValidator("ownerAccount",cdk.validateString)(properties.ownerAccount)),errors.collect(cdk.propertyValidator("port",cdk.validateNumber)(properties.port)),errors.collect(cdk.propertyValidator("preferredMaintenanceWindow",cdk.validateString)(properties.preferredMaintenanceWindow)),errors.collect(cdk.propertyValidator("publiclyAccessible",cdk.validateBoolean)(properties.publiclyAccessible)),errors.collect(cdk.propertyValidator("resourceAction",cdk.validateString)(properties.resourceAction)),errors.collect(cdk.propertyValidator("revisionTarget",cdk.validateString)(properties.revisionTarget)),errors.collect(cdk.propertyValidator("rotateEncryptionKey",cdk.validateBoolean)(properties.rotateEncryptionKey)),errors.collect(cdk.propertyValidator("snapshotClusterIdentifier",cdk.validateString)(properties.snapshotClusterIdentifier)),errors.collect(cdk.propertyValidator("snapshotCopyGrantName",cdk.validateString)(properties.snapshotCopyGrantName)),errors.collect(cdk.propertyValidator("snapshotCopyManual",cdk.validateBoolean)(properties.snapshotCopyManual)),errors.collect(cdk.propertyValidator("snapshotCopyRetentionPeriod",cdk.validateNumber)(properties.snapshotCopyRetentionPeriod)),errors.collect(cdk.propertyValidator("snapshotIdentifier",cdk.validateString)(properties.snapshotIdentifier)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.collect(cdk.propertyValidator("vpcSecurityGroupIds",cdk.listValidator(cdk.validateString))(properties.vpcSecurityGroupIds)),errors.wrap('supplied properties not correct for "CfnClusterProps"')}function cfnClusterPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnClusterPropsValidator(properties).assertSuccess(),{ClusterType:cdk.stringToCloudFormation(properties.clusterType),DBName:cdk.stringToCloudFormation(properties.dbName),MasterUsername:cdk.stringToCloudFormation(properties.masterUsername),MasterUserPassword:cdk.stringToCloudFormation(properties.masterUserPassword),NodeType:cdk.stringToCloudFormation(properties.nodeType),AllowVersionUpgrade:cdk.booleanToCloudFormation(properties.allowVersionUpgrade),AquaConfigurationStatus:cdk.stringToCloudFormation(properties.aquaConfigurationStatus),AutomatedSnapshotRetentionPeriod:cdk.numberToCloudFormation(properties.automatedSnapshotRetentionPeriod),AvailabilityZone:cdk.stringToCloudFormation(properties.availabilityZone),AvailabilityZoneRelocation:cdk.booleanToCloudFormation(properties.availabilityZoneRelocation),AvailabilityZoneRelocationStatus:cdk.stringToCloudFormation(properties.availabilityZoneRelocationStatus),Classic:cdk.booleanToCloudFormation(properties.classic),ClusterIdentifier:cdk.stringToCloudFormation(properties.clusterIdentifier),ClusterParameterGroupName:cdk.stringToCloudFormation(properties.clusterParameterGroupName),ClusterSecurityGroups:cdk.listMapper(cdk.stringToCloudFormation)(properties.clusterSecurityGroups),ClusterSubnetGroupName:cdk.stringToCloudFormation(properties.clusterSubnetGroupName),ClusterVersion:cdk.stringToCloudFormation(properties.clusterVersion),DeferMaintenance:cdk.booleanToCloudFormation(properties.deferMaintenance),DeferMaintenanceDuration:cdk.numberToCloudFormation(properties.deferMaintenanceDuration),DeferMaintenanceEndTime:cdk.stringToCloudFormation(properties.deferMaintenanceEndTime),DeferMaintenanceStartTime:cdk.stringToCloudFormation(properties.deferMaintenanceStartTime),DestinationRegion:cdk.stringToCloudFormation(properties.destinationRegion),ElasticIp:cdk.stringToCloudFormation(properties.elasticIp),Encrypted:cdk.booleanToCloudFormation(properties.encrypted),Endpoint:cfnClusterEndpointPropertyToCloudFormation(properties.endpoint),EnhancedVpcRouting:cdk.booleanToCloudFormation(properties.enhancedVpcRouting),HsmClientCertificateIdentifier:cdk.stringToCloudFormation(properties.hsmClientCertificateIdentifier),HsmConfigurationIdentifier:cdk.stringToCloudFormation(properties.hsmConfigurationIdentifier),IamRoles:cdk.listMapper(cdk.stringToCloudFormation)(properties.iamRoles),KmsKeyId:cdk.stringToCloudFormation(properties.kmsKeyId),LoggingProperties:cfnClusterLoggingPropertiesPropertyToCloudFormation(properties.loggingProperties),MaintenanceTrackName:cdk.stringToCloudFormation(properties.maintenanceTrackName),ManualSnapshotRetentionPeriod:cdk.numberToCloudFormation(properties.manualSnapshotRetentionPeriod),NumberOfNodes:cdk.numberToCloudFormation(properties.numberOfNodes),OwnerAccount:cdk.stringToCloudFormation(properties.ownerAccount),Port:cdk.numberToCloudFormation(properties.port),PreferredMaintenanceWindow:cdk.stringToCloudFormation(properties.preferredMaintenanceWindow),PubliclyAccessible:cdk.booleanToCloudFormation(properties.publiclyAccessible),ResourceAction:cdk.stringToCloudFormation(properties.resourceAction),RevisionTarget:cdk.stringToCloudFormation(properties.revisionTarget),RotateEncryptionKey:cdk.booleanToCloudFormation(properties.rotateEncryptionKey),SnapshotClusterIdentifier:cdk.stringToCloudFormation(properties.snapshotClusterIdentifier),SnapshotCopyGrantName:cdk.stringToCloudFormation(properties.snapshotCopyGrantName),SnapshotCopyManual:cdk.booleanToCloudFormation(properties.snapshotCopyManual),SnapshotCopyRetentionPeriod:cdk.numberToCloudFormation(properties.snapshotCopyRetentionPeriod),SnapshotIdentifier:cdk.stringToCloudFormation(properties.snapshotIdentifier),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags),VpcSecurityGroupIds:cdk.listMapper(cdk.stringToCloudFormation)(properties.vpcSecurityGroupIds)}):properties}function CfnClusterPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("clusterType","ClusterType",cfn_parse.FromCloudFormation.getString(properties.ClusterType)),ret.addPropertyResult("dbName","DBName",cfn_parse.FromCloudFormation.getString(properties.DBName)),ret.addPropertyResult("masterUsername","MasterUsername",cfn_parse.FromCloudFormation.getString(properties.MasterUsername)),ret.addPropertyResult("masterUserPassword","MasterUserPassword",cfn_parse.FromCloudFormation.getString(properties.MasterUserPassword)),ret.addPropertyResult("nodeType","NodeType",cfn_parse.FromCloudFormation.getString(properties.NodeType)),ret.addPropertyResult("allowVersionUpgrade","AllowVersionUpgrade",properties.AllowVersionUpgrade!=null?cfn_parse.FromCloudFormation.getBoolean(properties.AllowVersionUpgrade):void 0),ret.addPropertyResult("aquaConfigurationStatus","AquaConfigurationStatus",properties.AquaConfigurationStatus!=null?cfn_parse.FromCloudFormation.getString(properties.AquaConfigurationStatus):void 0),ret.addPropertyResult("automatedSnapshotRetentionPeriod","AutomatedSnapshotRetentionPeriod",properties.AutomatedSnapshotRetentionPeriod!=null?cfn_parse.FromCloudFormation.getNumber(properties.AutomatedSnapshotRetentionPeriod):void 0),ret.addPropertyResult("availabilityZone","AvailabilityZone",properties.AvailabilityZone!=null?cfn_parse.FromCloudFormation.getString(properties.AvailabilityZone):void 0),ret.addPropertyResult("availabilityZoneRelocation","AvailabilityZoneRelocation",properties.AvailabilityZoneRelocation!=null?cfn_parse.FromCloudFormation.getBoolean(properties.AvailabilityZoneRelocation):void 0),ret.addPropertyResult("availabilityZoneRelocationStatus","AvailabilityZoneRelocationStatus",properties.AvailabilityZoneRelocationStatus!=null?cfn_parse.FromCloudFormation.getString(properties.AvailabilityZoneRelocationStatus):void 0),ret.addPropertyResult("classic","Classic",properties.Classic!=null?cfn_parse.FromCloudFormation.getBoolean(properties.Classic):void 0),ret.addPropertyResult("clusterIdentifier","ClusterIdentifier",properties.ClusterIdentifier!=null?cfn_parse.FromCloudFormation.getString(properties.ClusterIdentifier):void 0),ret.addPropertyResult("clusterParameterGroupName","ClusterParameterGroupName",properties.ClusterParameterGroupName!=null?cfn_parse.FromCloudFormation.getString(properties.ClusterParameterGroupName):void 0),ret.addPropertyResult("clusterSecurityGroups","ClusterSecurityGroups",properties.ClusterSecurityGroups!=null?cfn_parse.FromCloudFormation.getStringArray(properties.ClusterSecurityGroups):void 0),ret.addPropertyResult("clusterSubnetGroupName","ClusterSubnetGroupName",properties.ClusterSubnetGroupName!=null?cfn_parse.FromCloudFormation.getString(properties.ClusterSubnetGroupName):void 0),ret.addPropertyResult("clusterVersion","ClusterVersion",properties.ClusterVersion!=null?cfn_parse.FromCloudFormation.getString(properties.ClusterVersion):void 0),ret.addPropertyResult("deferMaintenance","DeferMaintenance",properties.DeferMaintenance!=null?cfn_parse.FromCloudFormation.getBoolean(properties.DeferMaintenance):void 0),ret.addPropertyResult("deferMaintenanceDuration","DeferMaintenanceDuration",properties.DeferMaintenanceDuration!=null?cfn_parse.FromCloudFormation.getNumber(properties.DeferMaintenanceDuration):void 0),ret.addPropertyResult("deferMaintenanceEndTime","DeferMaintenanceEndTime",properties.DeferMaintenanceEndTime!=null?cfn_parse.FromCloudFormation.getString(properties.DeferMaintenanceEndTime):void 0),ret.addPropertyResult("deferMaintenanceStartTime","DeferMaintenanceStartTime",properties.DeferMaintenanceStartTime!=null?cfn_parse.FromCloudFormation.getString(properties.DeferMaintenanceStartTime):void 0),ret.addPropertyResult("destinationRegion","DestinationRegion",properties.DestinationRegion!=null?cfn_parse.FromCloudFormation.getString(properties.DestinationRegion):void 0),ret.addPropertyResult("elasticIp","ElasticIp",properties.ElasticIp!=null?cfn_parse.FromCloudFormation.getString(properties.ElasticIp):void 0),ret.addPropertyResult("encrypted","Encrypted",properties.Encrypted!=null?cfn_parse.FromCloudFormation.getBoolean(properties.Encrypted):void 0),ret.addPropertyResult("endpoint","Endpoint",properties.Endpoint!=null?CfnClusterEndpointPropertyFromCloudFormation(properties.Endpoint):void 0),ret.addPropertyResult("enhancedVpcRouting","EnhancedVpcRouting",properties.EnhancedVpcRouting!=null?cfn_parse.FromCloudFormation.getBoolean(properties.EnhancedVpcRouting):void 0),ret.addPropertyResult("hsmClientCertificateIdentifier","HsmClientCertificateIdentifier",properties.HsmClientCertificateIdentifier!=null?cfn_parse.FromCloudFormation.getString(properties.HsmClientCertificateIdentifier):void 0),ret.addPropertyResult("hsmConfigurationIdentifier","HsmConfigurationIdentifier",properties.HsmConfigurationIdentifier!=null?cfn_parse.FromCloudFormation.getString(properties.HsmConfigurationIdentifier):void 0),ret.addPropertyResult("iamRoles","IamRoles",properties.IamRoles!=null?cfn_parse.FromCloudFormation.getStringArray(properties.IamRoles):void 0),ret.addPropertyResult("kmsKeyId","KmsKeyId",properties.KmsKeyId!=null?cfn_parse.FromCloudFormation.getString(properties.KmsKeyId):void 0),ret.addPropertyResult("loggingProperties","LoggingProperties",properties.LoggingProperties!=null?CfnClusterLoggingPropertiesPropertyFromCloudFormation(properties.LoggingProperties):void 0),ret.addPropertyResult("maintenanceTrackName","MaintenanceTrackName",properties.MaintenanceTrackName!=null?cfn_parse.FromCloudFormation.getString(properties.MaintenanceTrackName):void 0),ret.addPropertyResult("manualSnapshotRetentionPeriod","ManualSnapshotRetentionPeriod",properties.ManualSnapshotRetentionPeriod!=null?cfn_parse.FromCloudFormation.getNumber(properties.ManualSnapshotRetentionPeriod):void 0),ret.addPropertyResult("numberOfNodes","NumberOfNodes",properties.NumberOfNodes!=null?cfn_parse.FromCloudFormation.getNumber(properties.NumberOfNodes):void 0),ret.addPropertyResult("ownerAccount","OwnerAccount",properties.OwnerAccount!=null?cfn_parse.FromCloudFormation.getString(properties.OwnerAccount):void 0),ret.addPropertyResult("port","Port",properties.Port!=null?cfn_parse.FromCloudFormation.getNumber(properties.Port):void 0),ret.addPropertyResult("preferredMaintenanceWindow","PreferredMaintenanceWindow",properties.PreferredMaintenanceWindow!=null?cfn_parse.FromCloudFormation.getString(properties.PreferredMaintenanceWindow):void 0),ret.addPropertyResult("publiclyAccessible","PubliclyAccessible",properties.PubliclyAccessible!=null?cfn_parse.FromCloudFormation.getBoolean(properties.PubliclyAccessible):void 0),ret.addPropertyResult("resourceAction","ResourceAction",properties.ResourceAction!=null?cfn_parse.FromCloudFormation.getString(properties.ResourceAction):void 0),ret.addPropertyResult("revisionTarget","RevisionTarget",properties.RevisionTarget!=null?cfn_parse.FromCloudFormation.getString(properties.RevisionTarget):void 0),ret.addPropertyResult("rotateEncryptionKey","RotateEncryptionKey",properties.RotateEncryptionKey!=null?cfn_parse.FromCloudFormation.getBoolean(properties.RotateEncryptionKey):void 0),ret.addPropertyResult("snapshotClusterIdentifier","SnapshotClusterIdentifier",properties.SnapshotClusterIdentifier!=null?cfn_parse.FromCloudFormation.getString(properties.SnapshotClusterIdentifier):void 0),ret.addPropertyResult("snapshotCopyGrantName","SnapshotCopyGrantName",properties.SnapshotCopyGrantName!=null?cfn_parse.FromCloudFormation.getString(properties.SnapshotCopyGrantName):void 0),ret.addPropertyResult("snapshotCopyManual","SnapshotCopyManual",properties.SnapshotCopyManual!=null?cfn_parse.FromCloudFormation.getBoolean(properties.SnapshotCopyManual):void 0),ret.addPropertyResult("snapshotCopyRetentionPeriod","SnapshotCopyRetentionPeriod",properties.SnapshotCopyRetentionPeriod!=null?cfn_parse.FromCloudFormation.getNumber(properties.SnapshotCopyRetentionPeriod):void 0),ret.addPropertyResult("snapshotIdentifier","SnapshotIdentifier",properties.SnapshotIdentifier!=null?cfn_parse.FromCloudFormation.getString(properties.SnapshotIdentifier):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse.FromCloudFormation.getArray(cfn_parse.FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("vpcSecurityGroupIds","VpcSecurityGroupIds",properties.VpcSecurityGroupIds!=null?cfn_parse.FromCloudFormation.getStringArray(properties.VpcSecurityGroupIds):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnCluster extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnCluster.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_redshift_CfnClusterProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnCluster),error}cdk.requireProperty(props,"clusterType",this),cdk.requireProperty(props,"dbName",this),cdk.requireProperty(props,"masterUserPassword",this),cdk.requireProperty(props,"masterUsername",this),cdk.requireProperty(props,"nodeType",this),this.attrDeferMaintenanceIdentifier=cdk.Token.asString(this.getAtt("DeferMaintenanceIdentifier",cdk.ResolutionTypeHint.STRING)),this.attrEndpointAddress=cdk.Token.asString(this.getAtt("Endpoint.Address",cdk.ResolutionTypeHint.STRING)),this.attrEndpointPort=cdk.Token.asString(this.getAtt("Endpoint.Port",cdk.ResolutionTypeHint.STRING)),this.attrId=cdk.Token.asString(this.getAtt("Id",cdk.ResolutionTypeHint.STRING)),this.clusterType=props.clusterType,this.dbName=props.dbName,this.masterUsername=props.masterUsername,this.masterUserPassword=props.masterUserPassword,this.nodeType=props.nodeType,this.allowVersionUpgrade=props.allowVersionUpgrade,this.aquaConfigurationStatus=props.aquaConfigurationStatus,this.automatedSnapshotRetentionPeriod=props.automatedSnapshotRetentionPeriod,this.availabilityZone=props.availabilityZone,this.availabilityZoneRelocation=props.availabilityZoneRelocation,this.availabilityZoneRelocationStatus=props.availabilityZoneRelocationStatus,this.classic=props.classic,this.clusterIdentifier=props.clusterIdentifier,this.clusterParameterGroupName=props.clusterParameterGroupName,this.clusterSecurityGroups=props.clusterSecurityGroups,this.clusterSubnetGroupName=props.clusterSubnetGroupName,this.clusterVersion=props.clusterVersion,this.deferMaintenance=props.deferMaintenance,this.deferMaintenanceDuration=props.deferMaintenanceDuration,this.deferMaintenanceEndTime=props.deferMaintenanceEndTime,this.deferMaintenanceStartTime=props.deferMaintenanceStartTime,this.destinationRegion=props.destinationRegion,this.elasticIp=props.elasticIp,this.encrypted=props.encrypted,this.endpoint=props.endpoint,this.enhancedVpcRouting=props.enhancedVpcRouting,this.hsmClientCertificateIdentifier=props.hsmClientCertificateIdentifier,this.hsmConfigurationIdentifier=props.hsmConfigurationIdentifier,this.iamRoles=props.iamRoles,this.kmsKeyId=props.kmsKeyId,this.loggingProperties=props.loggingProperties,this.maintenanceTrackName=props.maintenanceTrackName,this.manualSnapshotRetentionPeriod=props.manualSnapshotRetentionPeriod,this.numberOfNodes=props.numberOfNodes,this.ownerAccount=props.ownerAccount,this.port=props.port,this.preferredMaintenanceWindow=props.preferredMaintenanceWindow,this.publiclyAccessible=props.publiclyAccessible,this.resourceAction=props.resourceAction,this.revisionTarget=props.revisionTarget,this.rotateEncryptionKey=props.rotateEncryptionKey,this.snapshotClusterIdentifier=props.snapshotClusterIdentifier,this.snapshotCopyGrantName=props.snapshotCopyGrantName,this.snapshotCopyManual=props.snapshotCopyManual,this.snapshotCopyRetentionPeriod=props.snapshotCopyRetentionPeriod,this.snapshotIdentifier=props.snapshotIdentifier,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::Redshift::Cluster",props.tags,{tagPropertyName:"tags"}),this.vpcSecurityGroupIds=props.vpcSecurityGroupIds,this.node.scope&&cdk.Resource.isResource(this.node.scope)&&this.node.addValidation({validate:()=>this.cfnOptions.deletionPolicy===void 0?["'AWS::Redshift::Cluster' is a stateful resource type, and you must specify a Removal Policy for it. Call 'resource.applyRemovalPolicy()'."]:[]})}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnClusterPropsFromCloudFormation(resourceProperties),ret=new CfnCluster(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}inspect(inspector){try{jsiiDeprecationWarnings.aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnCluster.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{clusterType:this.clusterType,dbName:this.dbName,masterUsername:this.masterUsername,masterUserPassword:this.masterUserPassword,nodeType:this.nodeType,allowVersionUpgrade:this.allowVersionUpgrade,aquaConfigurationStatus:this.aquaConfigurationStatus,automatedSnapshotRetentionPeriod:this.automatedSnapshotRetentionPeriod,availabilityZone:this.availabilityZone,availabilityZoneRelocation:this.availabilityZoneRelocation,availabilityZoneRelocationStatus:this.availabilityZoneRelocationStatus,classic:this.classic,clusterIdentifier:this.clusterIdentifier,clusterParameterGroupName:this.clusterParameterGroupName,clusterSecurityGroups:this.clusterSecurityGroups,clusterSubnetGroupName:this.clusterSubnetGroupName,clusterVersion:this.clusterVersion,deferMaintenance:this.deferMaintenance,deferMaintenanceDuration:this.deferMaintenanceDuration,deferMaintenanceEndTime:this.deferMaintenanceEndTime,deferMaintenanceStartTime:this.deferMaintenanceStartTime,destinationRegion:this.destinationRegion,elasticIp:this.elasticIp,encrypted:this.encrypted,endpoint:this.endpoint,enhancedVpcRouting:this.enhancedVpcRouting,hsmClientCertificateIdentifier:this.hsmClientCertificateIdentifier,hsmConfigurationIdentifier:this.hsmConfigurationIdentifier,iamRoles:this.iamRoles,kmsKeyId:this.kmsKeyId,loggingProperties:this.loggingProperties,maintenanceTrackName:this.maintenanceTrackName,manualSnapshotRetentionPeriod:this.manualSnapshotRetentionPeriod,numberOfNodes:this.numberOfNodes,ownerAccount:this.ownerAccount,port:this.port,preferredMaintenanceWindow:this.preferredMaintenanceWindow,publiclyAccessible:this.publiclyAccessible,resourceAction:this.resourceAction,revisionTarget:this.revisionTarget,rotateEncryptionKey:this.rotateEncryptionKey,snapshotClusterIdentifier:this.snapshotClusterIdentifier,snapshotCopyGrantName:this.snapshotCopyGrantName,snapshotCopyManual:this.snapshotCopyManual,snapshotCopyRetentionPeriod:this.snapshotCopyRetentionPeriod,snapshotIdentifier:this.snapshotIdentifier,tags:this.tags.renderTags(),vpcSecurityGroupIds:this.vpcSecurityGroupIds}}renderProperties(props){return cfnClusterPropsToCloudFormation(props)}}exports.CfnCluster=CfnCluster,_a=JSII_RTTI_SYMBOL_1,CfnCluster[_a]={fqn:"aws-cdk-lib.aws_redshift.CfnCluster",version:"2.70.0"},CfnCluster.CFN_RESOURCE_TYPE_NAME="AWS::Redshift::Cluster";function CfnCluster_EndpointPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&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.validateString)(properties.port)),errors.wrap('supplied properties not correct for "EndpointProperty"')}function cfnClusterEndpointPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_EndpointPropertyValidator(properties).assertSuccess(),{Address:cdk.stringToCloudFormation(properties.address),Port:cdk.stringToCloudFormation(properties.port)}):properties}function CfnClusterEndpointPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")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.getString(properties.Port):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_LoggingPropertiesPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("bucketName",cdk.requiredValidator)(properties.bucketName)),errors.collect(cdk.propertyValidator("bucketName",cdk.validateString)(properties.bucketName)),errors.collect(cdk.propertyValidator("s3KeyPrefix",cdk.validateString)(properties.s3KeyPrefix)),errors.wrap('supplied properties not correct for "LoggingPropertiesProperty"')}function cfnClusterLoggingPropertiesPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_LoggingPropertiesPropertyValidator(properties).assertSuccess(),{BucketName:cdk.stringToCloudFormation(properties.bucketName),S3KeyPrefix:cdk.stringToCloudFormation(properties.s3KeyPrefix)}):properties}function CfnClusterLoggingPropertiesPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("bucketName","BucketName",cfn_parse.FromCloudFormation.getString(properties.BucketName)),ret.addPropertyResult("s3KeyPrefix","S3KeyPrefix",properties.S3KeyPrefix!=null?cfn_parse.FromCloudFormation.getString(properties.S3KeyPrefix):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnClusterParameterGroupPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("description",cdk.requiredValidator)(properties.description)),errors.collect(cdk.propertyValidator("description",cdk.validateString)(properties.description)),errors.collect(cdk.propertyValidator("parameterGroupFamily",cdk.requiredValidator)(properties.parameterGroupFamily)),errors.collect(cdk.propertyValidator("parameterGroupFamily",cdk.validateString)(properties.parameterGroupFamily)),errors.collect(cdk.propertyValidator("parameterGroupName",cdk.validateString)(properties.parameterGroupName)),errors.collect(cdk.propertyValidator("parameters",cdk.listValidator(CfnClusterParameterGroup_ParameterPropertyValidator))(properties.parameters)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnClusterParameterGroupProps"')}function cfnClusterParameterGroupPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnClusterParameterGroupPropsValidator(properties).assertSuccess(),{Description:cdk.stringToCloudFormation(properties.description),ParameterGroupFamily:cdk.stringToCloudFormation(properties.parameterGroupFamily),ParameterGroupName:cdk.stringToCloudFormation(properties.parameterGroupName),Parameters:cdk.listMapper(cfnClusterParameterGroupParameterPropertyToCloudFormation)(properties.parameters),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags)}):properties}function CfnClusterParameterGroupPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("description","Description",cfn_parse.FromCloudFormation.getString(properties.Description)),ret.addPropertyResult("parameterGroupFamily","ParameterGroupFamily",cfn_parse.FromCloudFormation.getString(properties.ParameterGroupFamily)),ret.addPropertyResult("parameterGroupName","ParameterGroupName",properties.ParameterGroupName!=null?cfn_parse.FromCloudFormation.getString(properties.ParameterGroupName):void 0),ret.addPropertyResult("parameters","Parameters",properties.Parameters!=null?cfn_parse.FromCloudFormation.getArray(CfnClusterParameterGroupParameterPropertyFromCloudFormation)(properties.Parameters):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 CfnClusterParameterGroup extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnClusterParameterGroup.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_redshift_CfnClusterParameterGroupProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnClusterParameterGroup),error}cdk.requireProperty(props,"description",this),cdk.requireProperty(props,"parameterGroupFamily",this),this.description=props.description,this.parameterGroupFamily=props.parameterGroupFamily,this.parameterGroupName=props.parameterGroupName,this.parameters=props.parameters,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::Redshift::ClusterParameterGroup",props.tags,{tagPropertyName:"tags"})}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnClusterParameterGroupPropsFromCloudFormation(resourceProperties),ret=new CfnClusterParameterGroup(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}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",CfnClusterParameterGroup.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{description:this.description,parameterGroupFamily:this.parameterGroupFamily,parameterGroupName:this.parameterGroupName,parameters:this.parameters,tags:this.tags.renderTags()}}renderProperties(props){return cfnClusterParameterGroupPropsToCloudFormation(props)}}exports.CfnClusterParameterGroup=CfnClusterParameterGroup,_b=JSII_RTTI_SYMBOL_1,CfnClusterParameterGroup[_b]={fqn:"aws-cdk-lib.aws_redshift.CfnClusterParameterGroup",version:"2.70.0"},CfnClusterParameterGroup.CFN_RESOURCE_TYPE_NAME="AWS::Redshift::ClusterParameterGroup";function CfnClusterParameterGroup_ParameterPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("parameterName",cdk.requiredValidator)(properties.parameterName)),errors.collect(cdk.propertyValidator("parameterName",cdk.validateString)(properties.parameterName)),errors.collect(cdk.propertyValidator("parameterValue",cdk.requiredValidator)(properties.parameterValue)),errors.collect(cdk.propertyValidator("parameterValue",cdk.validateString)(properties.parameterValue)),errors.wrap('supplied properties not correct for "ParameterProperty"')}function cfnClusterParameterGroupParameterPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnClusterParameterGroup_ParameterPropertyValidator(properties).assertSuccess(),{ParameterName:cdk.stringToCloudFormation(properties.parameterName),ParameterValue:cdk.stringToCloudFormation(properties.parameterValue)}):properties}function CfnClusterParameterGroupParameterPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("parameterName","ParameterName",cfn_parse.FromCloudFormation.getString(properties.ParameterName)),ret.addPropertyResult("parameterValue","ParameterValue",cfn_parse.FromCloudFormation.getString(properties.ParameterValue)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnClusterSecurityGroupPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("description",cdk.requiredValidator)(properties.description)),errors.collect(cdk.propertyValidator("description",cdk.validateString)(properties.description)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnClusterSecurityGroupProps"')}function cfnClusterSecurityGroupPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnClusterSecurityGroupPropsValidator(properties).assertSuccess(),{Description:cdk.stringToCloudFormation(properties.description),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags)}):properties}function CfnClusterSecurityGroupPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("description","Description",cfn_parse.FromCloudFormation.getString(properties.Description)),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse.FromCloudFormation.getArray(cfn_parse.FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnClusterSecurityGroup extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnClusterSecurityGroup.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_redshift_CfnClusterSecurityGroupProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnClusterSecurityGroup),error}cdk.requireProperty(props,"description",this),this.description=props.description,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::Redshift::ClusterSecurityGroup",props.tags,{tagPropertyName:"tags"})}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnClusterSecurityGroupPropsFromCloudFormation(resourceProperties),ret=new CfnClusterSecurityGroup(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}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",CfnClusterSecurityGroup.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{description:this.description,tags:this.tags.renderTags()}}renderProperties(props){return cfnClusterSecurityGroupPropsToCloudFormation(props)}}exports.CfnClusterSecurityGroup=CfnClusterSecurityGroup,_c=JSII_RTTI_SYMBOL_1,CfnClusterSecurityGroup[_c]={fqn:"aws-cdk-lib.aws_redshift.CfnClusterSecurityGroup",version:"2.70.0"},CfnClusterSecurityGroup.CFN_RESOURCE_TYPE_NAME="AWS::Redshift::ClusterSecurityGroup";function CfnClusterSecurityGroupIngressPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("cidrip",cdk.validateString)(properties.cidrip)),errors.collect(cdk.propertyValidator("clusterSecurityGroupName",cdk.requiredValidator)(properties.clusterSecurityGroupName)),errors.collect(cdk.propertyValidator("clusterSecurityGroupName",cdk.validateString)(properties.clusterSecurityGroupName)),errors.collect(cdk.propertyValidator("ec2SecurityGroupName",cdk.validateString)(properties.ec2SecurityGroupName)),errors.collect(cdk.propertyValidator("ec2SecurityGroupOwnerId",cdk.validateString)(properties.ec2SecurityGroupOwnerId)),errors.wrap('supplied properties not correct for "CfnClusterSecurityGroupIngressProps"')}function cfnClusterSecurityGroupIngressPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnClusterSecurityGroupIngressPropsValidator(properties).assertSuccess(),{ClusterSecurityGroupName:cdk.stringToCloudFormation(properties.clusterSecurityGroupName),CIDRIP:cdk.stringToCloudFormation(properties.cidrip),EC2SecurityGroupName:cdk.stringToCloudFormation(properties.ec2SecurityGroupName),EC2SecurityGroupOwnerId:cdk.stringToCloudFormation(properties.ec2SecurityGroupOwnerId)}):properties}function CfnClusterSecurityGroupIngressPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("clusterSecurityGroupName","ClusterSecurityGroupName",cfn_parse.FromCloudFormation.getString(properties.ClusterSecurityGroupName)),ret.addPropertyResult("cidrip","CIDRIP",properties.CIDRIP!=null?cfn_parse.FromCloudFormation.getString(properties.CIDRIP):void 0),ret.addPropertyResult("ec2SecurityGroupName","EC2SecurityGroupName",properties.EC2SecurityGroupName!=null?cfn_parse.FromCloudFormation.getString(properties.EC2SecurityGroupName):void 0),ret.addPropertyResult("ec2SecurityGroupOwnerId","EC2SecurityGroupOwnerId",properties.EC2SecurityGroupOwnerId!=null?cfn_parse.FromCloudFormation.getString(properties.EC2SecurityGroupOwnerId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnClusterSecurityGroupIngress extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnClusterSecurityGroupIngress.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_redshift_CfnClusterSecurityGroupIngressProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnClusterSecurityGroupIngress),error}cdk.requireProperty(props,"clusterSecurityGroupName",this),this.clusterSecurityGroupName=props.clusterSecurityGroupName,this.cidrip=props.cidrip,this.ec2SecurityGroupName=props.ec2SecurityGroupName,this.ec2SecurityGroupOwnerId=props.ec2SecurityGroupOwnerId}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnClusterSecurityGroupIngressPropsFromCloudFormation(resourceProperties),ret=new CfnClusterSecurityGroupIngress(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}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",CfnClusterSecurityGroupIngress.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{clusterSecurityGroupName:this.clusterSecurityGroupName,cidrip:this.cidrip,ec2SecurityGroupName:this.ec2SecurityGroupName,ec2SecurityGroupOwnerId:this.ec2SecurityGroupOwnerId}}renderProperties(props){return cfnClusterSecurityGroupIngressPropsToCloudFormation(props)}}exports.CfnClusterSecurityGroupIngress=CfnClusterSecurityGroupIngress,_d=JSII_RTTI_SYMBOL_1,CfnClusterSecurityGroupIngress[_d]={fqn:"aws-cdk-lib.aws_redshift.CfnClusterSecurityGroupIngress",version:"2.70.0"},CfnClusterSecurityGroupIngress.CFN_RESOURCE_TYPE_NAME="AWS::Redshift::ClusterSecurityGroupIngress";function CfnClusterSubnetGroupPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("description",cdk.requiredValidator)(properties.description)),errors.collect(cdk.propertyValidator("description",cdk.validateString)(properties.description)),errors.collect(cdk.propertyValidator("subnetIds",cdk.requiredValidator)(properties.subnetIds)),errors.collect(cdk.propertyValidator("subnetIds",cdk.listValidator(cdk.validateString))(properties.subnetIds)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnClusterSubnetGroupProps"')}function cfnClusterSubnetGroupPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnClusterSubnetGroupPropsValidator(properties).assertSuccess(),{Description:cdk.stringToCloudFormation(properties.description),SubnetIds:cdk.listMapper(cdk.stringToCloudFormation)(properties.subnetIds),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags)}):properties}function CfnClusterSubnetGroupPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("description","Description",cfn_parse.FromCloudFormation.getString(properties.Description)),ret.addPropertyResult("subnetIds","SubnetIds",cfn_parse.FromCloudFormation.getStringArray(properties.SubnetIds)),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse.FromCloudFormation.getArray(cfn_parse.FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnClusterSubnetGroup extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnClusterSubnetGroup.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_redshift_CfnClusterSubnetGroupProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnClusterSubnetGroup),error}cdk.requireProperty(props,"description",this),cdk.requireProperty(props,"subnetIds",this),this.attrClusterSubnetGroupName=cdk.Token.asString(this.getAtt("ClusterSubnetGroupName",cdk.ResolutionTypeHint.STRING)),this.description=props.description,this.subnetIds=props.subnetIds,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::Redshift::ClusterSubnetGroup",props.tags,{tagPropertyName:"tags"})}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnClusterSubnetGroupPropsFromCloudFormation(resourceProperties),ret=new CfnClusterSubnetGroup(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}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",CfnClusterSubnetGroup.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{description:this.description,subnetIds:this.subnetIds,tags:this.tags.renderTags()}}renderProperties(props){return cfnClusterSubnetGroupPropsToCloudFormation(props)}}exports.CfnClusterSubnetGroup=CfnClusterSubnetGroup,_e=JSII_RTTI_SYMBOL_1,CfnClusterSubnetGroup[_e]={fqn:"aws-cdk-lib.aws_redshift.CfnClusterSubnetGroup",version:"2.70.0"},CfnClusterSubnetGroup.CFN_RESOURCE_TYPE_NAME="AWS::Redshift::ClusterSubnetGroup";function CfnEndpointAccessPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("clusterIdentifier",cdk.requiredValidator)(properties.clusterIdentifier)),errors.collect(cdk.propertyValidator("clusterIdentifier",cdk.validateString)(properties.clusterIdentifier)),errors.collect(cdk.propertyValidator("endpointName",cdk.requiredValidator)(properties.endpointName)),errors.collect(cdk.propertyValidator("endpointName",cdk.validateString)(properties.endpointName)),errors.collect(cdk.propertyValidator("resourceOwner",cdk.validateString)(properties.resourceOwner)),errors.collect(cdk.propertyValidator("subnetGroupName",cdk.requiredValidator)(properties.subnetGroupName)),errors.collect(cdk.propertyValidator("subnetGroupName",cdk.validateString)(properties.subnetGroupName)),errors.collect(cdk.propertyValidator("vpcSecurityGroupIds",cdk.requiredValidator)(properties.vpcSecurityGroupIds)),errors.collect(cdk.propertyValidator("vpcSecurityGroupIds",cdk.listValidator(cdk.validateString))(properties.vpcSecurityGroupIds)),errors.wrap('supplied properties not correct for "CfnEndpointAccessProps"')}function cfnEndpointAccessPropsToCloudFormation(properties){return cdk.canI