@cdktf/provider-aws
Version:
Prebuilt aws Provider for Terraform CDK (cdktf)
1,315 lines (1,314 loc) • 220 kB
JavaScript
"use strict";
var _a, _b, _c, _d, _e, _f;
Object.defineProperty(exports, "__esModule", { value: true });
exports.RedshiftCluster = exports.RedshiftClusterTimeoutsOutputReference = exports.redshiftClusterTimeoutsToHclTerraform = exports.redshiftClusterTimeoutsToTerraform = exports.RedshiftClusterSnapshotCopyOutputReference = exports.redshiftClusterSnapshotCopyToHclTerraform = exports.redshiftClusterSnapshotCopyToTerraform = exports.RedshiftClusterLoggingOutputReference = exports.redshiftClusterLoggingToHclTerraform = exports.redshiftClusterLoggingToTerraform = exports.RedshiftClusterClusterNodesList = exports.RedshiftClusterClusterNodesOutputReference = exports.redshiftClusterClusterNodesToHclTerraform = exports.redshiftClusterClusterNodesToTerraform = void 0;
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 {};
}
exports.redshiftClusterClusterNodesToTerraform = redshiftClusterClusterNodesToTerraform;
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;
}
exports.redshiftClusterClusterNodesToHclTerraform = redshiftClusterClusterNodesToHclTerraform;
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: "19.50.0" };
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: "19.50.0" };
function redshiftClusterLoggingToTerraform(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 {
bucket_name: cdktf.stringToTerraform(struct.bucketName),
enable: cdktf.booleanToTerraform(struct.enable),
log_destination_type: cdktf.stringToTerraform(struct.logDestinationType),
log_exports: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.logExports),
s3_key_prefix: cdktf.stringToTerraform(struct.s3KeyPrefix),
};
}
exports.redshiftClusterLoggingToTerraform = redshiftClusterLoggingToTerraform;
function redshiftClusterLoggingToHclTerraform(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 = {
bucket_name: {
value: cdktf.stringToHclTerraform(struct.bucketName),
isBlock: false,
type: "simple",
storageClassType: "string",
},
enable: {
value: cdktf.booleanToHclTerraform(struct.enable),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
log_destination_type: {
value: cdktf.stringToHclTerraform(struct.logDestinationType),
isBlock: false,
type: "simple",
storageClassType: "string",
},
log_exports: {
value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.logExports),
isBlock: false,
type: "set",
storageClassType: "stringList",
},
s3_key_prefix: {
value: cdktf.stringToHclTerraform(struct.s3KeyPrefix),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.redshiftClusterLoggingToHclTerraform = redshiftClusterLoggingToHclTerraform;
class RedshiftClusterLoggingOutputReference 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, 0);
this.isEmptyObject = false;
}
get internalValue() {
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._bucketName !== undefined) {
hasAnyValues = true;
internalValueResult.bucketName = this._bucketName;
}
if (this._enable !== undefined) {
hasAnyValues = true;
internalValueResult.enable = this._enable;
}
if (this._logDestinationType !== undefined) {
hasAnyValues = true;
internalValueResult.logDestinationType = this._logDestinationType;
}
if (this._logExports !== undefined) {
hasAnyValues = true;
internalValueResult.logExports = this._logExports;
}
if (this._s3KeyPrefix !== undefined) {
hasAnyValues = true;
internalValueResult.s3KeyPrefix = this._s3KeyPrefix;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._bucketName = undefined;
this._enable = undefined;
this._logDestinationType = undefined;
this._logExports = undefined;
this._s3KeyPrefix = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._bucketName = value.bucketName;
this._enable = value.enable;
this._logDestinationType = value.logDestinationType;
this._logExports = value.logExports;
this._s3KeyPrefix = value.s3KeyPrefix;
}
}
get bucketName() {
return this.getStringAttribute('bucket_name');
}
set bucketName(value) {
this._bucketName = value;
}
resetBucketName() {
this._bucketName = undefined;
}
// Temporarily expose input value. Use with caution.
get bucketNameInput() {
return this._bucketName;
}
get enable() {
return this.getBooleanAttribute('enable');
}
set enable(value) {
this._enable = value;
}
// Temporarily expose input value. Use with caution.
get enableInput() {
return this._enable;
}
get logDestinationType() {
return this.getStringAttribute('log_destination_type');
}
set logDestinationType(value) {
this._logDestinationType = value;
}
resetLogDestinationType() {
this._logDestinationType = undefined;
}
// Temporarily expose input value. Use with caution.
get logDestinationTypeInput() {
return this._logDestinationType;
}
get logExports() {
return cdktf.Fn.tolist(this.getListAttribute('log_exports'));
}
set logExports(value) {
this._logExports = value;
}
resetLogExports() {
this._logExports = undefined;
}
// Temporarily expose input value. Use with caution.
get logExportsInput() {
return this._logExports;
}
get s3KeyPrefix() {
return this.getStringAttribute('s3_key_prefix');
}
set s3KeyPrefix(value) {
this._s3KeyPrefix = value;
}
resetS3KeyPrefix() {
this._s3KeyPrefix = undefined;
}
// Temporarily expose input value. Use with caution.
get s3KeyPrefixInput() {
return this._s3KeyPrefix;
}
}
exports.RedshiftClusterLoggingOutputReference = RedshiftClusterLoggingOutputReference;
_c = JSII_RTTI_SYMBOL_1;
RedshiftClusterLoggingOutputReference[_c] = { fqn: "@cdktf/provider-aws.redshiftCluster.RedshiftClusterLoggingOutputReference", version: "19.50.0" };
function redshiftClusterSnapshotCopyToTerraform(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 {
destination_region: cdktf.stringToTerraform(struct.destinationRegion),
grant_name: cdktf.stringToTerraform(struct.grantName),
retention_period: cdktf.numberToTerraform(struct.retentionPeriod),
};
}
exports.redshiftClusterSnapshotCopyToTerraform = redshiftClusterSnapshotCopyToTerraform;
function redshiftClusterSnapshotCopyToHclTerraform(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 = {
destination_region: {
value: cdktf.stringToHclTerraform(struct.destinationRegion),
isBlock: false,
type: "simple",
storageClassType: "string",
},
grant_name: {
value: cdktf.stringToHclTerraform(struct.grantName),
isBlock: false,
type: "simple",
storageClassType: "string",
},
retention_period: {
value: cdktf.numberToHclTerraform(struct.retentionPeriod),
isBlock: false,
type: "simple",
storageClassType: "number",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.redshiftClusterSnapshotCopyToHclTerraform = redshiftClusterSnapshotCopyToHclTerraform;
class RedshiftClusterSnapshotCopyOutputReference 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, 0);
this.isEmptyObject = false;
}
get internalValue() {
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._destinationRegion !== undefined) {
hasAnyValues = true;
internalValueResult.destinationRegion = this._destinationRegion;
}
if (this._grantName !== undefined) {
hasAnyValues = true;
internalValueResult.grantName = this._grantName;
}
if (this._retentionPeriod !== undefined) {
hasAnyValues = true;
internalValueResult.retentionPeriod = this._retentionPeriod;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._destinationRegion = undefined;
this._grantName = undefined;
this._retentionPeriod = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._destinationRegion = value.destinationRegion;
this._grantName = value.grantName;
this._retentionPeriod = value.retentionPeriod;
}
}
get destinationRegion() {
return this.getStringAttribute('destination_region');
}
set destinationRegion(value) {
this._destinationRegion = value;
}
// Temporarily expose input value. Use with caution.
get destinationRegionInput() {
return this._destinationRegion;
}
get grantName() {
return this.getStringAttribute('grant_name');
}
set grantName(value) {
this._grantName = value;
}
resetGrantName() {
this._grantName = undefined;
}
// Temporarily expose input value. Use with caution.
get grantNameInput() {
return this._grantName;
}
get retentionPeriod() {
return this.getNumberAttribute('retention_period');
}
set retentionPeriod(value) {
this._retentionPeriod = value;
}
resetRetentionPeriod() {
this._retentionPeriod = undefined;
}
// Temporarily expose input value. Use with caution.
get retentionPeriodInput() {
return this._retentionPeriod;
}
}
exports.RedshiftClusterSnapshotCopyOutputReference = RedshiftClusterSnapshotCopyOutputReference;
_d = JSII_RTTI_SYMBOL_1;
RedshiftClusterSnapshotCopyOutputReference[_d] = { fqn: "@cdktf/provider-aws.redshiftCluster.RedshiftClusterSnapshotCopyOutputReference", version: "19.50.0" };
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),
};
}
exports.redshiftClusterTimeoutsToTerraform = redshiftClusterTimeoutsToTerraform;
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));
}
exports.redshiftClusterTimeoutsToHclTerraform = redshiftClusterTimeoutsToHclTerraform;
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;
_e = JSII_RTTI_SYMBOL_1;
RedshiftClusterTimeoutsOutputReference[_e] = { fqn: "@cdktf/provider-aws.redshiftCluster.RedshiftClusterTimeoutsOutputReference", version: "19.50.0" };
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.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/5.84.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/5.84.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: '5.84.0',
providerVersionConstraint: '~> 5.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);
// logging - computed: false, optional: true, required: false
this._logging = new RedshiftClusterLoggingOutputReference(this, "logging");
// snapshot_copy - computed: false, optional: true, required: false
this._snapshotCopy = new RedshiftClusterSnapshotCopyOutputReference(this, "snapshot_copy");
// 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._clusterPublicKey = config.clusterPublicKey;
this._clusterRevisionNumber = config.clusterRevisionNumber;
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._endpoint = config.endpoint;
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._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._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._logging.internalValue = config.logging;
this._snapshotCopy.internalValue = config.snapshotCopy;
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;
}
get clusterPublicKey() {
return this.getStringAttribute('cluster_public_key');
}
set clusterPublicKey(value) {
this._clusterPublicKey = value;
}
resetClusterPublicKey() {
this._clusterPublicKey = undefined;
}
// Temporarily expose input value. Use with caution.
get clusterPublicKeyInput() {
return this._clusterPublicKey;
}
get clusterRevisionNumber() {
return this.getStringAttribute('cluster_revision_number');
}
set clusterRevisionNumber(value) {
this._clusterRevisionNumber = value;
}
resetClusterRevisionNumber() {
this._clusterRevisionNumber = undefined;
}
// Temporarily expose input value. Use with caution.
get clusterRevisionNumberInput() {
return this._clusterRevisionNumber;
}
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.getBooleanAttribute('encrypted');
}
set encrypted(value) {
this._encrypted = value;
}
resetEncrypted() {
this._encrypted = undefined;
}
// Temporarily expose input value. Use with caution.
get encryptedInput() {
return this._encrypted;
}
get endpoint() {
return this.getStringAttribute('endpoint');
}
set endpoint(value) {
this._endpoint = value;
}
resetEndpoint() {
this._endpoint = undefined;
}
// Temporarily expose input value. Use with caution.
get endpointInput() {
return this._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 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 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 logging() {
return this._logging;
}
putLogging(value) {
this._logging.internalValue = value;
}
resetLogging() {
this._logging.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get loggingInput() {
return this._logging.internalValue;
}
get snapshotCopy() {
return this._snapshotCopy;
}
putSnapshotCopy(value) {
this._snapshotCopy.internalValue = value;
}
resetSnapshotCopy() {
this._snapshotCopy.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get snapshotCopyInput() {
return this._snapshotCopy.internalValue;
}
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_public_key: cdktf.stringToTerraform(this._clusterPublicKey),
cluster_revision_number: cdktf.stringToTerraform(this._clusterRevisionNumber),
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.booleanToTerraform(this._encrypted),
endpoint: cdktf.stringToTerraform(this._endpoint),
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_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),
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),
logging: redshiftClusterLoggingToTerraform(this._logging.internalValue),
snapshot_copy: redshiftClusterSnapshotCopyToTerraform(this._snapshotCopy.internalValue),
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",