UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

1,245 lines 174 kB
"use strict"; var _a, _b, _c, _d; Object.defineProperty(exports, "__esModule", { value: true }); exports.RedshiftCluster = exports.RedshiftClusterTimeoutsOutputReference = exports.RedshiftClusterClusterNodesList = exports.RedshiftClusterClusterNodesOutputReference = void 0; exports.redshiftClusterClusterNodesToTerraform = redshiftClusterClusterNodesToTerraform; exports.redshiftClusterClusterNodesToHclTerraform = redshiftClusterClusterNodesToHclTerraform; exports.redshiftClusterTimeoutsToTerraform = redshiftClusterTimeoutsToTerraform; exports.redshiftClusterTimeoutsToHclTerraform = redshiftClusterTimeoutsToHclTerraform; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function redshiftClusterClusterNodesToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return {}; } function redshiftClusterClusterNodesToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = {}; return attrs; } class RedshiftClusterClusterNodesOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; } else { this.isEmptyObject = Object.keys(value).length === 0; } } // node_role - computed: true, optional: false, required: false get nodeRole() { return this.getStringAttribute('node_role'); } // private_ip_address - computed: true, optional: false, required: false get privateIpAddress() { return this.getStringAttribute('private_ip_address'); } // public_ip_address - computed: true, optional: false, required: false get publicIpAddress() { return this.getStringAttribute('public_ip_address'); } } exports.RedshiftClusterClusterNodesOutputReference = RedshiftClusterClusterNodesOutputReference; _a = JSII_RTTI_SYMBOL_1; RedshiftClusterClusterNodesOutputReference[_a] = { fqn: "@cdktf/provider-aws.redshiftCluster.RedshiftClusterClusterNodesOutputReference", version: "21.22.1" }; class RedshiftClusterClusterNodesList extends cdktf.ComplexList { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new RedshiftClusterClusterNodesOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.RedshiftClusterClusterNodesList = RedshiftClusterClusterNodesList; _b = JSII_RTTI_SYMBOL_1; RedshiftClusterClusterNodesList[_b] = { fqn: "@cdktf/provider-aws.redshiftCluster.RedshiftClusterClusterNodesList", version: "21.22.1" }; function redshiftClusterTimeoutsToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { create: cdktf.stringToTerraform(struct.create), delete: cdktf.stringToTerraform(struct.delete), update: cdktf.stringToTerraform(struct.update), }; } function redshiftClusterTimeoutsToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { create: { value: cdktf.stringToHclTerraform(struct.create), isBlock: false, type: "simple", storageClassType: "string", }, delete: { value: cdktf.stringToHclTerraform(struct.delete), isBlock: false, type: "simple", storageClassType: "string", }, update: { value: cdktf.stringToHclTerraform(struct.update), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class RedshiftClusterTimeoutsOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false); this.isEmptyObject = false; } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._create !== undefined) { hasAnyValues = true; internalValueResult.create = this._create; } if (this._delete !== undefined) { hasAnyValues = true; internalValueResult.delete = this._delete; } if (this._update !== undefined) { hasAnyValues = true; internalValueResult.update = this._update; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._create = undefined; this._delete = undefined; this._update = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; this._create = value.create; this._delete = value.delete; this._update = value.update; } } get create() { return this.getStringAttribute('create'); } set create(value) { this._create = value; } resetCreate() { this._create = undefined; } // Temporarily expose input value. Use with caution. get createInput() { return this._create; } get delete() { return this.getStringAttribute('delete'); } set delete(value) { this._delete = value; } resetDelete() { this._delete = undefined; } // Temporarily expose input value. Use with caution. get deleteInput() { return this._delete; } get update() { return this.getStringAttribute('update'); } set update(value) { this._update = value; } resetUpdate() { this._update = undefined; } // Temporarily expose input value. Use with caution. get updateInput() { return this._update; } } exports.RedshiftClusterTimeoutsOutputReference = RedshiftClusterTimeoutsOutputReference; _c = JSII_RTTI_SYMBOL_1; RedshiftClusterTimeoutsOutputReference[_c] = { fqn: "@cdktf/provider-aws.redshiftCluster.RedshiftClusterTimeoutsOutputReference", version: "21.22.1" }; /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/redshift_cluster aws_redshift_cluster} */ class RedshiftCluster extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a RedshiftCluster resource upon running "cdktf plan <stack-name>" * @param scope The scope in which to define this construct * @param importToId The construct id used in the generated config for the RedshiftCluster to import * @param importFromId The id of the existing RedshiftCluster that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/redshift_cluster#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the RedshiftCluster to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aws_redshift_cluster", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/redshift_cluster aws_redshift_cluster} Resource * * @param scope The scope in which to define this construct * @param id The scoped construct ID. Must be unique amongst siblings in the same scope * @param options RedshiftClusterConfig */ constructor(scope, id, config) { super(scope, id, { terraformResourceType: 'aws_redshift_cluster', terraformGeneratorMetadata: { providerName: 'aws', providerVersion: '6.25.0', providerVersionConstraint: '~> 6.0' }, provider: config.provider, dependsOn: config.dependsOn, count: config.count, lifecycle: config.lifecycle, provisioners: config.provisioners, connection: config.connection, forEach: config.forEach }); // cluster_nodes - computed: true, optional: false, required: false this._clusterNodes = new RedshiftClusterClusterNodesList(this, "cluster_nodes", false); // timeouts - computed: false, optional: true, required: false this._timeouts = new RedshiftClusterTimeoutsOutputReference(this, "timeouts"); this._allowVersionUpgrade = config.allowVersionUpgrade; this._applyImmediately = config.applyImmediately; this._aquaConfigurationStatus = config.aquaConfigurationStatus; this._automatedSnapshotRetentionPeriod = config.automatedSnapshotRetentionPeriod; this._availabilityZone = config.availabilityZone; this._availabilityZoneRelocationEnabled = config.availabilityZoneRelocationEnabled; this._clusterIdentifier = config.clusterIdentifier; this._clusterParameterGroupName = config.clusterParameterGroupName; this._clusterSubnetGroupName = config.clusterSubnetGroupName; this._clusterType = config.clusterType; this._clusterVersion = config.clusterVersion; this._databaseName = config.databaseName; this._defaultIamRoleArn = config.defaultIamRoleArn; this._elasticIp = config.elasticIp; this._encrypted = config.encrypted; this._enhancedVpcRouting = config.enhancedVpcRouting; this._finalSnapshotIdentifier = config.finalSnapshotIdentifier; this._iamRoles = config.iamRoles; this._id = config.id; this._kmsKeyId = config.kmsKeyId; this._maintenanceTrackName = config.maintenanceTrackName; this._manageMasterPassword = config.manageMasterPassword; this._manualSnapshotRetentionPeriod = config.manualSnapshotRetentionPeriod; this._masterPassword = config.masterPassword; this._masterPasswordSecretKmsKeyId = config.masterPasswordSecretKmsKeyId; this._masterPasswordWo = config.masterPasswordWo; this._masterPasswordWoVersion = config.masterPasswordWoVersion; this._masterUsername = config.masterUsername; this._multiAz = config.multiAz; this._nodeType = config.nodeType; this._numberOfNodes = config.numberOfNodes; this._ownerAccount = config.ownerAccount; this._port = config.port; this._preferredMaintenanceWindow = config.preferredMaintenanceWindow; this._publiclyAccessible = config.publiclyAccessible; this._region = config.region; this._skipFinalSnapshot = config.skipFinalSnapshot; this._snapshotArn = config.snapshotArn; this._snapshotClusterIdentifier = config.snapshotClusterIdentifier; this._snapshotIdentifier = config.snapshotIdentifier; this._tags = config.tags; this._tagsAll = config.tagsAll; this._vpcSecurityGroupIds = config.vpcSecurityGroupIds; this._timeouts.internalValue = config.timeouts; } get allowVersionUpgrade() { return this.getBooleanAttribute('allow_version_upgrade'); } set allowVersionUpgrade(value) { this._allowVersionUpgrade = value; } resetAllowVersionUpgrade() { this._allowVersionUpgrade = undefined; } // Temporarily expose input value. Use with caution. get allowVersionUpgradeInput() { return this._allowVersionUpgrade; } get applyImmediately() { return this.getBooleanAttribute('apply_immediately'); } set applyImmediately(value) { this._applyImmediately = value; } resetApplyImmediately() { this._applyImmediately = undefined; } // Temporarily expose input value. Use with caution. get applyImmediatelyInput() { return this._applyImmediately; } get aquaConfigurationStatus() { return this.getStringAttribute('aqua_configuration_status'); } set aquaConfigurationStatus(value) { this._aquaConfigurationStatus = value; } resetAquaConfigurationStatus() { this._aquaConfigurationStatus = undefined; } // Temporarily expose input value. Use with caution. get aquaConfigurationStatusInput() { return this._aquaConfigurationStatus; } // arn - computed: true, optional: false, required: false get arn() { return this.getStringAttribute('arn'); } get automatedSnapshotRetentionPeriod() { return this.getNumberAttribute('automated_snapshot_retention_period'); } set automatedSnapshotRetentionPeriod(value) { this._automatedSnapshotRetentionPeriod = value; } resetAutomatedSnapshotRetentionPeriod() { this._automatedSnapshotRetentionPeriod = undefined; } // Temporarily expose input value. Use with caution. get automatedSnapshotRetentionPeriodInput() { return this._automatedSnapshotRetentionPeriod; } get availabilityZone() { return this.getStringAttribute('availability_zone'); } set availabilityZone(value) { this._availabilityZone = value; } resetAvailabilityZone() { this._availabilityZone = undefined; } // Temporarily expose input value. Use with caution. get availabilityZoneInput() { return this._availabilityZone; } get availabilityZoneRelocationEnabled() { return this.getBooleanAttribute('availability_zone_relocation_enabled'); } set availabilityZoneRelocationEnabled(value) { this._availabilityZoneRelocationEnabled = value; } resetAvailabilityZoneRelocationEnabled() { this._availabilityZoneRelocationEnabled = undefined; } // Temporarily expose input value. Use with caution. get availabilityZoneRelocationEnabledInput() { return this._availabilityZoneRelocationEnabled; } get clusterIdentifier() { return this.getStringAttribute('cluster_identifier'); } set clusterIdentifier(value) { this._clusterIdentifier = value; } // Temporarily expose input value. Use with caution. get clusterIdentifierInput() { return this._clusterIdentifier; } // cluster_namespace_arn - computed: true, optional: false, required: false get clusterNamespaceArn() { return this.getStringAttribute('cluster_namespace_arn'); } get clusterNodes() { return this._clusterNodes; } get clusterParameterGroupName() { return this.getStringAttribute('cluster_parameter_group_name'); } set clusterParameterGroupName(value) { this._clusterParameterGroupName = value; } resetClusterParameterGroupName() { this._clusterParameterGroupName = undefined; } // Temporarily expose input value. Use with caution. get clusterParameterGroupNameInput() { return this._clusterParameterGroupName; } // cluster_public_key - computed: true, optional: false, required: false get clusterPublicKey() { return this.getStringAttribute('cluster_public_key'); } // cluster_revision_number - computed: true, optional: false, required: false get clusterRevisionNumber() { return this.getStringAttribute('cluster_revision_number'); } get clusterSubnetGroupName() { return this.getStringAttribute('cluster_subnet_group_name'); } set clusterSubnetGroupName(value) { this._clusterSubnetGroupName = value; } resetClusterSubnetGroupName() { this._clusterSubnetGroupName = undefined; } // Temporarily expose input value. Use with caution. get clusterSubnetGroupNameInput() { return this._clusterSubnetGroupName; } get clusterType() { return this.getStringAttribute('cluster_type'); } set clusterType(value) { this._clusterType = value; } resetClusterType() { this._clusterType = undefined; } // Temporarily expose input value. Use with caution. get clusterTypeInput() { return this._clusterType; } get clusterVersion() { return this.getStringAttribute('cluster_version'); } set clusterVersion(value) { this._clusterVersion = value; } resetClusterVersion() { this._clusterVersion = undefined; } // Temporarily expose input value. Use with caution. get clusterVersionInput() { return this._clusterVersion; } get databaseName() { return this.getStringAttribute('database_name'); } set databaseName(value) { this._databaseName = value; } resetDatabaseName() { this._databaseName = undefined; } // Temporarily expose input value. Use with caution. get databaseNameInput() { return this._databaseName; } get defaultIamRoleArn() { return this.getStringAttribute('default_iam_role_arn'); } set defaultIamRoleArn(value) { this._defaultIamRoleArn = value; } resetDefaultIamRoleArn() { this._defaultIamRoleArn = undefined; } // Temporarily expose input value. Use with caution. get defaultIamRoleArnInput() { return this._defaultIamRoleArn; } // dns_name - computed: true, optional: false, required: false get dnsName() { return this.getStringAttribute('dns_name'); } get elasticIp() { return this.getStringAttribute('elastic_ip'); } set elasticIp(value) { this._elasticIp = value; } resetElasticIp() { this._elasticIp = undefined; } // Temporarily expose input value. Use with caution. get elasticIpInput() { return this._elasticIp; } get encrypted() { return this.getStringAttribute('encrypted'); } set encrypted(value) { this._encrypted = value; } resetEncrypted() { this._encrypted = undefined; } // Temporarily expose input value. Use with caution. get encryptedInput() { return this._encrypted; } // endpoint - computed: true, optional: false, required: false get endpoint() { return this.getStringAttribute('endpoint'); } get enhancedVpcRouting() { return this.getBooleanAttribute('enhanced_vpc_routing'); } set enhancedVpcRouting(value) { this._enhancedVpcRouting = value; } resetEnhancedVpcRouting() { this._enhancedVpcRouting = undefined; } // Temporarily expose input value. Use with caution. get enhancedVpcRoutingInput() { return this._enhancedVpcRouting; } get finalSnapshotIdentifier() { return this.getStringAttribute('final_snapshot_identifier'); } set finalSnapshotIdentifier(value) { this._finalSnapshotIdentifier = value; } resetFinalSnapshotIdentifier() { this._finalSnapshotIdentifier = undefined; } // Temporarily expose input value. Use with caution. get finalSnapshotIdentifierInput() { return this._finalSnapshotIdentifier; } get iamRoles() { return cdktf.Fn.tolist(this.getListAttribute('iam_roles')); } set iamRoles(value) { this._iamRoles = value; } resetIamRoles() { this._iamRoles = undefined; } // Temporarily expose input value. Use with caution. get iamRolesInput() { return this._iamRoles; } get id() { return this.getStringAttribute('id'); } set id(value) { this._id = value; } resetId() { this._id = undefined; } // Temporarily expose input value. Use with caution. get idInput() { return this._id; } get kmsKeyId() { return this.getStringAttribute('kms_key_id'); } set kmsKeyId(value) { this._kmsKeyId = value; } resetKmsKeyId() { this._kmsKeyId = undefined; } // Temporarily expose input value. Use with caution. get kmsKeyIdInput() { return this._kmsKeyId; } get maintenanceTrackName() { return this.getStringAttribute('maintenance_track_name'); } set maintenanceTrackName(value) { this._maintenanceTrackName = value; } resetMaintenanceTrackName() { this._maintenanceTrackName = undefined; } // Temporarily expose input value. Use with caution. get maintenanceTrackNameInput() { return this._maintenanceTrackName; } get manageMasterPassword() { return this.getBooleanAttribute('manage_master_password'); } set manageMasterPassword(value) { this._manageMasterPassword = value; } resetManageMasterPassword() { this._manageMasterPassword = undefined; } // Temporarily expose input value. Use with caution. get manageMasterPasswordInput() { return this._manageMasterPassword; } get manualSnapshotRetentionPeriod() { return this.getNumberAttribute('manual_snapshot_retention_period'); } set manualSnapshotRetentionPeriod(value) { this._manualSnapshotRetentionPeriod = value; } resetManualSnapshotRetentionPeriod() { this._manualSnapshotRetentionPeriod = undefined; } // Temporarily expose input value. Use with caution. get manualSnapshotRetentionPeriodInput() { return this._manualSnapshotRetentionPeriod; } get masterPassword() { return this.getStringAttribute('master_password'); } set masterPassword(value) { this._masterPassword = value; } resetMasterPassword() { this._masterPassword = undefined; } // Temporarily expose input value. Use with caution. get masterPasswordInput() { return this._masterPassword; } // master_password_secret_arn - computed: true, optional: false, required: false get masterPasswordSecretArn() { return this.getStringAttribute('master_password_secret_arn'); } get masterPasswordSecretKmsKeyId() { return this.getStringAttribute('master_password_secret_kms_key_id'); } set masterPasswordSecretKmsKeyId(value) { this._masterPasswordSecretKmsKeyId = value; } resetMasterPasswordSecretKmsKeyId() { this._masterPasswordSecretKmsKeyId = undefined; } // Temporarily expose input value. Use with caution. get masterPasswordSecretKmsKeyIdInput() { return this._masterPasswordSecretKmsKeyId; } get masterPasswordWo() { return this.getStringAttribute('master_password_wo'); } set masterPasswordWo(value) { this._masterPasswordWo = value; } resetMasterPasswordWo() { this._masterPasswordWo = undefined; } // Temporarily expose input value. Use with caution. get masterPasswordWoInput() { return this._masterPasswordWo; } get masterPasswordWoVersion() { return this.getNumberAttribute('master_password_wo_version'); } set masterPasswordWoVersion(value) { this._masterPasswordWoVersion = value; } resetMasterPasswordWoVersion() { this._masterPasswordWoVersion = undefined; } // Temporarily expose input value. Use with caution. get masterPasswordWoVersionInput() { return this._masterPasswordWoVersion; } get masterUsername() { return this.getStringAttribute('master_username'); } set masterUsername(value) { this._masterUsername = value; } resetMasterUsername() { this._masterUsername = undefined; } // Temporarily expose input value. Use with caution. get masterUsernameInput() { return this._masterUsername; } get multiAz() { return this.getBooleanAttribute('multi_az'); } set multiAz(value) { this._multiAz = value; } resetMultiAz() { this._multiAz = undefined; } // Temporarily expose input value. Use with caution. get multiAzInput() { return this._multiAz; } get nodeType() { return this.getStringAttribute('node_type'); } set nodeType(value) { this._nodeType = value; } // Temporarily expose input value. Use with caution. get nodeTypeInput() { return this._nodeType; } get numberOfNodes() { return this.getNumberAttribute('number_of_nodes'); } set numberOfNodes(value) { this._numberOfNodes = value; } resetNumberOfNodes() { this._numberOfNodes = undefined; } // Temporarily expose input value. Use with caution. get numberOfNodesInput() { return this._numberOfNodes; } get ownerAccount() { return this.getStringAttribute('owner_account'); } set ownerAccount(value) { this._ownerAccount = value; } resetOwnerAccount() { this._ownerAccount = undefined; } // Temporarily expose input value. Use with caution. get ownerAccountInput() { return this._ownerAccount; } get port() { return this.getNumberAttribute('port'); } set port(value) { this._port = value; } resetPort() { this._port = undefined; } // Temporarily expose input value. Use with caution. get portInput() { return this._port; } get preferredMaintenanceWindow() { return this.getStringAttribute('preferred_maintenance_window'); } set preferredMaintenanceWindow(value) { this._preferredMaintenanceWindow = value; } resetPreferredMaintenanceWindow() { this._preferredMaintenanceWindow = undefined; } // Temporarily expose input value. Use with caution. get preferredMaintenanceWindowInput() { return this._preferredMaintenanceWindow; } get publiclyAccessible() { return this.getBooleanAttribute('publicly_accessible'); } set publiclyAccessible(value) { this._publiclyAccessible = value; } resetPubliclyAccessible() { this._publiclyAccessible = undefined; } // Temporarily expose input value. Use with caution. get publiclyAccessibleInput() { return this._publiclyAccessible; } get region() { return this.getStringAttribute('region'); } set region(value) { this._region = value; } resetRegion() { this._region = undefined; } // Temporarily expose input value. Use with caution. get regionInput() { return this._region; } get skipFinalSnapshot() { return this.getBooleanAttribute('skip_final_snapshot'); } set skipFinalSnapshot(value) { this._skipFinalSnapshot = value; } resetSkipFinalSnapshot() { this._skipFinalSnapshot = undefined; } // Temporarily expose input value. Use with caution. get skipFinalSnapshotInput() { return this._skipFinalSnapshot; } get snapshotArn() { return this.getStringAttribute('snapshot_arn'); } set snapshotArn(value) { this._snapshotArn = value; } resetSnapshotArn() { this._snapshotArn = undefined; } // Temporarily expose input value. Use with caution. get snapshotArnInput() { return this._snapshotArn; } get snapshotClusterIdentifier() { return this.getStringAttribute('snapshot_cluster_identifier'); } set snapshotClusterIdentifier(value) { this._snapshotClusterIdentifier = value; } resetSnapshotClusterIdentifier() { this._snapshotClusterIdentifier = undefined; } // Temporarily expose input value. Use with caution. get snapshotClusterIdentifierInput() { return this._snapshotClusterIdentifier; } get snapshotIdentifier() { return this.getStringAttribute('snapshot_identifier'); } set snapshotIdentifier(value) { this._snapshotIdentifier = value; } resetSnapshotIdentifier() { this._snapshotIdentifier = undefined; } // Temporarily expose input value. Use with caution. get snapshotIdentifierInput() { return this._snapshotIdentifier; } get tags() { return this.getStringMapAttribute('tags'); } set tags(value) { this._tags = value; } resetTags() { this._tags = undefined; } // Temporarily expose input value. Use with caution. get tagsInput() { return this._tags; } get tagsAll() { return this.getStringMapAttribute('tags_all'); } set tagsAll(value) { this._tagsAll = value; } resetTagsAll() { this._tagsAll = undefined; } // Temporarily expose input value. Use with caution. get tagsAllInput() { return this._tagsAll; } get vpcSecurityGroupIds() { return cdktf.Fn.tolist(this.getListAttribute('vpc_security_group_ids')); } set vpcSecurityGroupIds(value) { this._vpcSecurityGroupIds = value; } resetVpcSecurityGroupIds() { this._vpcSecurityGroupIds = undefined; } // Temporarily expose input value. Use with caution. get vpcSecurityGroupIdsInput() { return this._vpcSecurityGroupIds; } get timeouts() { return this._timeouts; } putTimeouts(value) { this._timeouts.internalValue = value; } resetTimeouts() { this._timeouts.internalValue = undefined; } // Temporarily expose input value. Use with caution. get timeoutsInput() { return this._timeouts.internalValue; } // ========= // SYNTHESIS // ========= synthesizeAttributes() { return { allow_version_upgrade: cdktf.booleanToTerraform(this._allowVersionUpgrade), apply_immediately: cdktf.booleanToTerraform(this._applyImmediately), aqua_configuration_status: cdktf.stringToTerraform(this._aquaConfigurationStatus), automated_snapshot_retention_period: cdktf.numberToTerraform(this._automatedSnapshotRetentionPeriod), availability_zone: cdktf.stringToTerraform(this._availabilityZone), availability_zone_relocation_enabled: cdktf.booleanToTerraform(this._availabilityZoneRelocationEnabled), cluster_identifier: cdktf.stringToTerraform(this._clusterIdentifier), cluster_parameter_group_name: cdktf.stringToTerraform(this._clusterParameterGroupName), cluster_subnet_group_name: cdktf.stringToTerraform(this._clusterSubnetGroupName), cluster_type: cdktf.stringToTerraform(this._clusterType), cluster_version: cdktf.stringToTerraform(this._clusterVersion), database_name: cdktf.stringToTerraform(this._databaseName), default_iam_role_arn: cdktf.stringToTerraform(this._defaultIamRoleArn), elastic_ip: cdktf.stringToTerraform(this._elasticIp), encrypted: cdktf.stringToTerraform(this._encrypted), enhanced_vpc_routing: cdktf.booleanToTerraform(this._enhancedVpcRouting), final_snapshot_identifier: cdktf.stringToTerraform(this._finalSnapshotIdentifier), iam_roles: cdktf.listMapper(cdktf.stringToTerraform, false)(this._iamRoles), id: cdktf.stringToTerraform(this._id), kms_key_id: cdktf.stringToTerraform(this._kmsKeyId), maintenance_track_name: cdktf.stringToTerraform(this._maintenanceTrackName), manage_master_password: cdktf.booleanToTerraform(this._manageMasterPassword), manual_snapshot_retention_period: cdktf.numberToTerraform(this._manualSnapshotRetentionPeriod), master_password: cdktf.stringToTerraform(this._masterPassword), master_password_secret_kms_key_id: cdktf.stringToTerraform(this._masterPasswordSecretKmsKeyId), master_password_wo: cdktf.stringToTerraform(this._masterPasswordWo), master_password_wo_version: cdktf.numberToTerraform(this._masterPasswordWoVersion), master_username: cdktf.stringToTerraform(this._masterUsername), multi_az: cdktf.booleanToTerraform(this._multiAz), node_type: cdktf.stringToTerraform(this._nodeType), number_of_nodes: cdktf.numberToTerraform(this._numberOfNodes), owner_account: cdktf.stringToTerraform(this._ownerAccount), port: cdktf.numberToTerraform(this._port), preferred_maintenance_window: cdktf.stringToTerraform(this._preferredMaintenanceWindow), publicly_accessible: cdktf.booleanToTerraform(this._publiclyAccessible), region: cdktf.stringToTerraform(this._region), skip_final_snapshot: cdktf.booleanToTerraform(this._skipFinalSnapshot), snapshot_arn: cdktf.stringToTerraform(this._snapshotArn), snapshot_cluster_identifier: cdktf.stringToTerraform(this._snapshotClusterIdentifier), snapshot_identifier: cdktf.stringToTerraform(this._snapshotIdentifier), tags: cdktf.hashMapper(cdktf.stringToTerraform)(this._tags), tags_all: cdktf.hashMapper(cdktf.stringToTerraform)(this._tagsAll), vpc_security_group_ids: cdktf.listMapper(cdktf.stringToTerraform, false)(this._vpcSecurityGroupIds), timeouts: redshiftClusterTimeoutsToTerraform(this._timeouts.internalValue), }; } synthesizeHclAttributes() { const attrs = { allow_version_upgrade: { value: cdktf.booleanToHclTerraform(this._allowVersionUpgrade), isBlock: false, type: "simple", storageClassType: "boolean", }, apply_immediately: { value: cdktf.booleanToHclTerraform(this._applyImmediately), isBlock: false, type: "simple", storageClassType: "boolean", }, aqua_configuration_status: { value: cdktf.stringToHclTerraform(this._aquaConfigurationStatus), isBlock: false, type: "simple", storageClassType: "string", }, automated_snapshot_retention_period: { value: cdktf.numberToHclTerraform(this._automatedSnapshotRetentionPeriod), isBlock: false, type: "simple", storageClassType: "number", }, availability_zone: { value: cdktf.stringToHclTerraform(this._availabilityZone), isBlock: false, type: "simple", storageClassType: "string", }, availability_zone_relocation_enabled: { value: cdktf.booleanToHclTerraform(this._availabilityZoneRelocationEnabled), isBlock: false, type: "simple", storageClassType: "boolean", }, cluster_identifier: { value: cdktf.stringToHclTerraform(this._clusterIdentifier), isBlock: false, type: "simple", storageClassType: "string", }, cluster_parameter_group_name: { value: cdktf.stringToHclTerraform(this._clusterParameterGroupName), isBlock: false, type: "simple", storageClassType: "string", }, cluster_subnet_group_name: { value: cdktf.stringToHclTerraform(this._clusterSubnetGroupName), isBlock: false, type: "simple", storageClassType: "string", }, cluster_type: { value: cdktf.stringToHclTerraform(this._clusterType), isBlock: false, type: "simple", storageClassType: "string", }, cluster_version: { value: cdktf.stringToHclTerraform(this._clusterVersion), isBlock: false, type: "simple", storageClassType: "string", }, database_name: { value: cdktf.stringToHclTerraform(this._databaseName), isBlock: false, type: "simple", storageClassType: "string", }, default_iam_role_arn: { value: cdktf.stringToHclTerraform(this._defaultIamRoleArn), isBlock: false, type: "simple", storageClassType: "string", }, elastic_ip: { value: cdktf.stringToHclTerraform(this._elasticIp), isBlock: false, type: "simple", storageClassType: "string", }, encrypted: { value: cdktf.stringToHclTerraform(this._encrypted), isBlock: false, type: "simple", storageClassType: "string", }, enhanced_vpc_routing: { value: cdktf.booleanToHclTerraform(this._enhancedVpcRouting), isBlock: false, type: "simple", storageClassType: "boolean", }, final_snapshot_identifier: { value: cdktf.stringToHclTerraform(this._finalSnapshotIdentifier), isBlock: false, type: "simple", storageClassType: "string", }, iam_roles: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._iamRoles), isBlock: false, type: "set", storageClassType: "stringList", }, id: { value: cdktf.stringToHclTerraform(this._id), isBlock: false, type: "simple", storageClassType: "string", }, kms_key_id: { value: cdktf.stringToHclTerraform(this._kmsKeyId), isBlock: false, type: "simple", storageClassType: "string", }, maintenance_track_name: { value: cdktf.stringToHclTerraform(this._maintenanceTrackName), isBlock: false, type: "simple", storageClassType: "string", }, manage_master_password: { value: cdktf.booleanToHclTerraform(this._manageMasterPassword), isBlock: false, type: "simple", storageClassType: "boolean", }, manual_snapshot_retention_period: { value: cdktf.numberToHclTerraform(this._manualSnapshotRetentionPeriod), isBlock: false, type: "simple", storageClassType: "number", }, master_password: { value: cdktf.stringToHclTerraform(this._masterPassword), isBlock: false, type: "simple", storageClassType: "string", }, master_password_secret_kms_key_id: { value: cdktf.stringToHclTerraform(this._masterPasswordSecretKmsKeyId), isBlock: false, type: "simple", storageClassType: "string", }, master_password_wo: { value: cdktf.stringToHclTerraform(this._masterPasswordWo), isBlock: false, type: "simple", storageClassType: "string", }, master_password_wo_version: { value: cdktf.numberToHclTerraform(this._masterPasswordWoVersion), isBlock: false, type: "simple", storageClassType: "number", }, master_username: { value: cdktf.stringToHclTerraform(this._masterUsername), isBlock: false, type: "simple", storageClassType: "string", }, multi_az: { value: cdktf.booleanToHclTerraform(this._multiAz), isBlock: false, type: "simple", storageClassType: "boolean", }, node_type: { value: cdktf.stringToHclTerraform(this._nodeType), isBlock: false, type: "simple", storageClassType: "string", }, number_of_nodes: { value: cdktf.numberToHclTerraform(this._numberOfNodes), isBlock: false, type: "simple", storageClassType: "number", }, owner_account: { value: cdktf.stringToHclTerraform(this._ownerAccount), isBlock: false, type: "simple", storageClassType: "string", }, port: { value: cdktf.numberToHclTerraform(this._port), isBlock: false, type: "simple", storageClassType: "number", }, preferred_maintenance_window: { value: cdktf.stringToHclTerraform(this._preferredMaintenanceWindow), isBlock: false, type: "simple", storageClassType: "string", }, publicly_accessible: { value: cdktf.booleanToHclTerraform(this._publiclyAccessible), isBlock: false, type: "simple", storageClassType: "boolean", }, region: { value: cdktf.stringToHclTerraform(this._region), isBlock: false, type: "simple", storageClassType: "string", }, skip_final_snapshot: { value: cdktf.booleanToHclTerraform(this._skipFinalSnapshot), isBlock: false, type: "simple", storageClassType: "boolean", }, snapshot_arn: { value: cdktf.stringToHclTerraform(this._snapshotArn), isBlock: false, type: "simple", storageClassType: "string", }, snapshot_cluster_identifier: { value: cdktf.stringToHclTerraform(this._snapshotClusterIdentifier), isBlock: false, type: "simple", storageClassType: "string", }, snapshot_identifier: { value: cdktf.stringToHclTerraform(this._snapshotIdentifier), isBlock: false, type: "simple", storageClassType: "string", }, tags: { value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(this._tags), isBlock: false, type: "map", storageClassType: "stringMap", }, tags_all: { value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(this._tagsAll), isBlock: false, type: "map", storageClassType: "stringMap", }, vpc_security_group_ids: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._vpcSecurityGroupIds), isBlock: false, type: "set", storageClassType: "stringList", }, timeouts: { value: redshiftClusterTimeoutsToHclTerraform(this._timeouts.internalValue), isBlock: true, type: "struct", storageClassType: "RedshiftClusterTimeouts", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } } exports.RedshiftCluster = RedshiftCluster; _d = JSII_RTTI_SYMBOL_1; RedshiftCluster[_d] = { fqn: "@cdktf/provider-aws.redshiftCluster.RedshiftCluster", version: "21.22.1" }; // ================= // STATIC PROPERTIES // ================= RedshiftCluster.tfResourceType = "aws_redshift_cluster"; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVkc2hpZnQtY2x1c3Rlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBeU1BLHdGQU9DO0FBR0QsOEZBUUM7QUErRUQsZ0ZBVUM7QUFHRCxzRkE0QkM7O0FBMVVELCtCQUErQjtBQWdNL0IsU0FBZ0Isc0NBQXNDLENBQUMsTUFBb0M7SUFDekYsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsb0hBQW9ILENBQUMsQ0FBQztJQUN4SSxDQUFDO0lBQ0QsT0FBTyxFQUNOLENBQUE7QUFDSCxDQUFDO0FBR0QsU0FBZ0IseUNBQXlDLENBQUMsTUFBb0M7SUFDNUYsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsb0hBQW9ILENBQUMsQ0FBQztJQUN4SSxDQUFDO0lBQ0QsTUFBTSxLQUFLLEdBQUcsRUFDYixDQUFDO0lBQ0YsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBRUQsTUFBYSwwQ0FBMkMsU0FBUSxLQUFLLENBQUMsYUFBYTtJQUdqRjs7Ozs7TUFLRTtJQUNGLFlBQW1CLGlCQUE2QyxFQUFFLGtCQUEwQixFQUFFLGtCQUEwQixFQUFFLHNCQUErQjtRQUN2SixLQUFLLENBQUMsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsc0JBQXNCLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztRQVRuRixrQkFBYSxHQUFHLEtBQUssQ0FBQztJQVU5QixDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3RCLElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDdEMsTUFBTSxtQkFBbUIsR0FBUSxFQUFFLENBQUM7UUFDcEMsT0FBTyxZQUFZLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQVcsYUFBYSxDQUFDLEtBQThDO1FBQ3JFLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1FBQzdCLENBQUM7YUFDSSxDQUFDO1lBQ0osSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7UUFDdkQsQ0FBQztJQUNILENBQUM7SUFFRCwrREFBK0Q7SUFDL0QsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCx3RUFBd0U7SUFDeEUsSUFBVyxnQkFBZ0I7UUFDekIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsdUVBQXVFO0lBQ3ZFLElBQVcsZUFBZTtRQUN4QixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3RELENBQUM7O0FBekNILGdHQTBDQzs7O0FBRUQsTUFBYSwrQkFBZ0MsU0FBUSxLQUFLLENBQUMsV0FBVztJQUVwRTs7OztNQUlFO0lBQ0YsWUFBc0IsaUJBQTZDLEVBQVksa0JBQTBCLEVBQVksUUFBaUI7UUFDcEksS0FBSyxDQUFDLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLFFBQVEsQ0FBQyxDQUFBO1FBRGxDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBNEI7UUFBWSx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQVE7UUFBWSxhQUFRLEdBQVIsUUFBUSxDQUFTO0lBRXRJLENBQUM7SUFFRDs7TUFFRTtJQUNLLEdBQUcsQ0FBQyxLQUFhO1FBQ3RCLE9BQU8sSUFBSSwwQ0FBMEMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixFQUFFLEtBQUssRUFBRSxJQUFJLEN