UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

1,187 lines 158 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k; Object.defineProperty(exports, "__esModule", { value: true }); exports.MemorydbCluster = exports.MemorydbClusterTimeoutsOutputReference = exports.MemorydbClusterShardsList = exports.MemorydbClusterShardsOutputReference = exports.MemorydbClusterShardsNodesList = exports.MemorydbClusterShardsNodesOutputReference = exports.MemorydbClusterShardsNodesEndpointList = exports.MemorydbClusterShardsNodesEndpointOutputReference = exports.MemorydbClusterClusterEndpointList = exports.MemorydbClusterClusterEndpointOutputReference = void 0; exports.memorydbClusterClusterEndpointToTerraform = memorydbClusterClusterEndpointToTerraform; exports.memorydbClusterClusterEndpointToHclTerraform = memorydbClusterClusterEndpointToHclTerraform; exports.memorydbClusterShardsNodesEndpointToTerraform = memorydbClusterShardsNodesEndpointToTerraform; exports.memorydbClusterShardsNodesEndpointToHclTerraform = memorydbClusterShardsNodesEndpointToHclTerraform; exports.memorydbClusterShardsNodesToTerraform = memorydbClusterShardsNodesToTerraform; exports.memorydbClusterShardsNodesToHclTerraform = memorydbClusterShardsNodesToHclTerraform; exports.memorydbClusterShardsToTerraform = memorydbClusterShardsToTerraform; exports.memorydbClusterShardsToHclTerraform = memorydbClusterShardsToHclTerraform; exports.memorydbClusterTimeoutsToTerraform = memorydbClusterTimeoutsToTerraform; exports.memorydbClusterTimeoutsToHclTerraform = memorydbClusterTimeoutsToHclTerraform; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function memorydbClusterClusterEndpointToTerraform(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 memorydbClusterClusterEndpointToHclTerraform(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 MemorydbClusterClusterEndpointOutputReference 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; } } // address - computed: true, optional: false, required: false get address() { return this.getStringAttribute('address'); } // port - computed: true, optional: false, required: false get port() { return this.getNumberAttribute('port'); } } exports.MemorydbClusterClusterEndpointOutputReference = MemorydbClusterClusterEndpointOutputReference; _a = JSII_RTTI_SYMBOL_1; MemorydbClusterClusterEndpointOutputReference[_a] = { fqn: "@cdktf/provider-aws.memorydbCluster.MemorydbClusterClusterEndpointOutputReference", version: "21.22.1" }; class MemorydbClusterClusterEndpointList 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 MemorydbClusterClusterEndpointOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.MemorydbClusterClusterEndpointList = MemorydbClusterClusterEndpointList; _b = JSII_RTTI_SYMBOL_1; MemorydbClusterClusterEndpointList[_b] = { fqn: "@cdktf/provider-aws.memorydbCluster.MemorydbClusterClusterEndpointList", version: "21.22.1" }; function memorydbClusterShardsNodesEndpointToTerraform(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 memorydbClusterShardsNodesEndpointToHclTerraform(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 MemorydbClusterShardsNodesEndpointOutputReference 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; } } // address - computed: true, optional: false, required: false get address() { return this.getStringAttribute('address'); } // port - computed: true, optional: false, required: false get port() { return this.getNumberAttribute('port'); } } exports.MemorydbClusterShardsNodesEndpointOutputReference = MemorydbClusterShardsNodesEndpointOutputReference; _c = JSII_RTTI_SYMBOL_1; MemorydbClusterShardsNodesEndpointOutputReference[_c] = { fqn: "@cdktf/provider-aws.memorydbCluster.MemorydbClusterShardsNodesEndpointOutputReference", version: "21.22.1" }; class MemorydbClusterShardsNodesEndpointList 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 MemorydbClusterShardsNodesEndpointOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.MemorydbClusterShardsNodesEndpointList = MemorydbClusterShardsNodesEndpointList; _d = JSII_RTTI_SYMBOL_1; MemorydbClusterShardsNodesEndpointList[_d] = { fqn: "@cdktf/provider-aws.memorydbCluster.MemorydbClusterShardsNodesEndpointList", version: "21.22.1" }; function memorydbClusterShardsNodesToTerraform(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 memorydbClusterShardsNodesToHclTerraform(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 MemorydbClusterShardsNodesOutputReference 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; // endpoint - computed: true, optional: false, required: false this._endpoint = new MemorydbClusterShardsNodesEndpointList(this, "endpoint", 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; } } // availability_zone - computed: true, optional: false, required: false get availabilityZone() { return this.getStringAttribute('availability_zone'); } // create_time - computed: true, optional: false, required: false get createTime() { return this.getStringAttribute('create_time'); } get endpoint() { return this._endpoint; } // name - computed: true, optional: false, required: false get name() { return this.getStringAttribute('name'); } } exports.MemorydbClusterShardsNodesOutputReference = MemorydbClusterShardsNodesOutputReference; _e = JSII_RTTI_SYMBOL_1; MemorydbClusterShardsNodesOutputReference[_e] = { fqn: "@cdktf/provider-aws.memorydbCluster.MemorydbClusterShardsNodesOutputReference", version: "21.22.1" }; class MemorydbClusterShardsNodesList 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 MemorydbClusterShardsNodesOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.MemorydbClusterShardsNodesList = MemorydbClusterShardsNodesList; _f = JSII_RTTI_SYMBOL_1; MemorydbClusterShardsNodesList[_f] = { fqn: "@cdktf/provider-aws.memorydbCluster.MemorydbClusterShardsNodesList", version: "21.22.1" }; function memorydbClusterShardsToTerraform(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 memorydbClusterShardsToHclTerraform(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 MemorydbClusterShardsOutputReference 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; // nodes - computed: true, optional: false, required: false this._nodes = new MemorydbClusterShardsNodesList(this, "nodes", true); } 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; } } // name - computed: true, optional: false, required: false get name() { return this.getStringAttribute('name'); } get nodes() { return this._nodes; } // num_nodes - computed: true, optional: false, required: false get numNodes() { return this.getNumberAttribute('num_nodes'); } // slots - computed: true, optional: false, required: false get slots() { return this.getStringAttribute('slots'); } } exports.MemorydbClusterShardsOutputReference = MemorydbClusterShardsOutputReference; _g = JSII_RTTI_SYMBOL_1; MemorydbClusterShardsOutputReference[_g] = { fqn: "@cdktf/provider-aws.memorydbCluster.MemorydbClusterShardsOutputReference", version: "21.22.1" }; class MemorydbClusterShardsList 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 MemorydbClusterShardsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.MemorydbClusterShardsList = MemorydbClusterShardsList; _h = JSII_RTTI_SYMBOL_1; MemorydbClusterShardsList[_h] = { fqn: "@cdktf/provider-aws.memorydbCluster.MemorydbClusterShardsList", version: "21.22.1" }; function memorydbClusterTimeoutsToTerraform(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 memorydbClusterTimeoutsToHclTerraform(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 MemorydbClusterTimeoutsOutputReference 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.MemorydbClusterTimeoutsOutputReference = MemorydbClusterTimeoutsOutputReference; _j = JSII_RTTI_SYMBOL_1; MemorydbClusterTimeoutsOutputReference[_j] = { fqn: "@cdktf/provider-aws.memorydbCluster.MemorydbClusterTimeoutsOutputReference", version: "21.22.1" }; /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/memorydb_cluster aws_memorydb_cluster} */ class MemorydbCluster extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a MemorydbCluster 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 MemorydbCluster to import * @param importFromId The id of the existing MemorydbCluster that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/memorydb_cluster#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the MemorydbCluster to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aws_memorydb_cluster", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/memorydb_cluster aws_memorydb_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 MemorydbClusterConfig */ constructor(scope, id, config) { super(scope, id, { terraformResourceType: 'aws_memorydb_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_endpoint - computed: true, optional: false, required: false this._clusterEndpoint = new MemorydbClusterClusterEndpointList(this, "cluster_endpoint", false); // shards - computed: true, optional: false, required: false this._shards = new MemorydbClusterShardsList(this, "shards", true); // timeouts - computed: false, optional: true, required: false this._timeouts = new MemorydbClusterTimeoutsOutputReference(this, "timeouts"); this._aclName = config.aclName; this._autoMinorVersionUpgrade = config.autoMinorVersionUpgrade; this._dataTiering = config.dataTiering; this._description = config.description; this._engine = config.engine; this._engineVersion = config.engineVersion; this._finalSnapshotName = config.finalSnapshotName; this._id = config.id; this._kmsKeyArn = config.kmsKeyArn; this._maintenanceWindow = config.maintenanceWindow; this._multiRegionClusterName = config.multiRegionClusterName; this._name = config.name; this._namePrefix = config.namePrefix; this._nodeType = config.nodeType; this._numReplicasPerShard = config.numReplicasPerShard; this._numShards = config.numShards; this._parameterGroupName = config.parameterGroupName; this._port = config.port; this._region = config.region; this._securityGroupIds = config.securityGroupIds; this._snapshotArns = config.snapshotArns; this._snapshotName = config.snapshotName; this._snapshotRetentionLimit = config.snapshotRetentionLimit; this._snapshotWindow = config.snapshotWindow; this._snsTopicArn = config.snsTopicArn; this._subnetGroupName = config.subnetGroupName; this._tags = config.tags; this._tagsAll = config.tagsAll; this._tlsEnabled = config.tlsEnabled; this._timeouts.internalValue = config.timeouts; } get aclName() { return this.getStringAttribute('acl_name'); } set aclName(value) { this._aclName = value; } // Temporarily expose input value. Use with caution. get aclNameInput() { return this._aclName; } // arn - computed: true, optional: false, required: false get arn() { return this.getStringAttribute('arn'); } get autoMinorVersionUpgrade() { return this.getBooleanAttribute('auto_minor_version_upgrade'); } set autoMinorVersionUpgrade(value) { this._autoMinorVersionUpgrade = value; } resetAutoMinorVersionUpgrade() { this._autoMinorVersionUpgrade = undefined; } // Temporarily expose input value. Use with caution. get autoMinorVersionUpgradeInput() { return this._autoMinorVersionUpgrade; } get clusterEndpoint() { return this._clusterEndpoint; } get dataTiering() { return this.getBooleanAttribute('data_tiering'); } set dataTiering(value) { this._dataTiering = value; } resetDataTiering() { this._dataTiering = undefined; } // Temporarily expose input value. Use with caution. get dataTieringInput() { return this._dataTiering; } get description() { return this.getStringAttribute('description'); } set description(value) { this._description = value; } resetDescription() { this._description = undefined; } // Temporarily expose input value. Use with caution. get descriptionInput() { return this._description; } get engine() { return this.getStringAttribute('engine'); } set engine(value) { this._engine = value; } resetEngine() { this._engine = undefined; } // Temporarily expose input value. Use with caution. get engineInput() { return this._engine; } // engine_patch_version - computed: true, optional: false, required: false get enginePatchVersion() { return this.getStringAttribute('engine_patch_version'); } get engineVersion() { return this.getStringAttribute('engine_version'); } set engineVersion(value) { this._engineVersion = value; } resetEngineVersion() { this._engineVersion = undefined; } // Temporarily expose input value. Use with caution. get engineVersionInput() { return this._engineVersion; } get finalSnapshotName() { return this.getStringAttribute('final_snapshot_name'); } set finalSnapshotName(value) { this._finalSnapshotName = value; } resetFinalSnapshotName() { this._finalSnapshotName = undefined; } // Temporarily expose input value. Use with caution. get finalSnapshotNameInput() { return this._finalSnapshotName; } 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 kmsKeyArn() { return this.getStringAttribute('kms_key_arn'); } set kmsKeyArn(value) { this._kmsKeyArn = value; } resetKmsKeyArn() { this._kmsKeyArn = undefined; } // Temporarily expose input value. Use with caution. get kmsKeyArnInput() { return this._kmsKeyArn; } get maintenanceWindow() { return this.getStringAttribute('maintenance_window'); } set maintenanceWindow(value) { this._maintenanceWindow = value; } resetMaintenanceWindow() { this._maintenanceWindow = undefined; } // Temporarily expose input value. Use with caution. get maintenanceWindowInput() { return this._maintenanceWindow; } get multiRegionClusterName() { return this.getStringAttribute('multi_region_cluster_name'); } set multiRegionClusterName(value) { this._multiRegionClusterName = value; } resetMultiRegionClusterName() { this._multiRegionClusterName = undefined; } // Temporarily expose input value. Use with caution. get multiRegionClusterNameInput() { return this._multiRegionClusterName; } get name() { return this.getStringAttribute('name'); } set name(value) { this._name = value; } resetName() { this._name = undefined; } // Temporarily expose input value. Use with caution. get nameInput() { return this._name; } get namePrefix() { return this.getStringAttribute('name_prefix'); } set namePrefix(value) { this._namePrefix = value; } resetNamePrefix() { this._namePrefix = undefined; } // Temporarily expose input value. Use with caution. get namePrefixInput() { return this._namePrefix; } 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 numReplicasPerShard() { return this.getNumberAttribute('num_replicas_per_shard'); } set numReplicasPerShard(value) { this._numReplicasPerShard = value; } resetNumReplicasPerShard() { this._numReplicasPerShard = undefined; } // Temporarily expose input value. Use with caution. get numReplicasPerShardInput() { return this._numReplicasPerShard; } get numShards() { return this.getNumberAttribute('num_shards'); } set numShards(value) { this._numShards = value; } resetNumShards() { this._numShards = undefined; } // Temporarily expose input value. Use with caution. get numShardsInput() { return this._numShards; } get parameterGroupName() { return this.getStringAttribute('parameter_group_name'); } set parameterGroupName(value) { this._parameterGroupName = value; } resetParameterGroupName() { this._parameterGroupName = undefined; } // Temporarily expose input value. Use with caution. get parameterGroupNameInput() { return this._parameterGroupName; } 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 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 securityGroupIds() { return cdktf.Fn.tolist(this.getListAttribute('security_group_ids')); } set securityGroupIds(value) { this._securityGroupIds = value; } resetSecurityGroupIds() { this._securityGroupIds = undefined; } // Temporarily expose input value. Use with caution. get securityGroupIdsInput() { return this._securityGroupIds; } get shards() { return this._shards; } get snapshotArns() { return this.getListAttribute('snapshot_arns'); } set snapshotArns(value) { this._snapshotArns = value; } resetSnapshotArns() { this._snapshotArns = undefined; } // Temporarily expose input value. Use with caution. get snapshotArnsInput() { return this._snapshotArns; } get snapshotName() { return this.getStringAttribute('snapshot_name'); } set snapshotName(value) { this._snapshotName = value; } resetSnapshotName() { this._snapshotName = undefined; } // Temporarily expose input value. Use with caution. get snapshotNameInput() { return this._snapshotName; } get snapshotRetentionLimit() { return this.getNumberAttribute('snapshot_retention_limit'); } set snapshotRetentionLimit(value) { this._snapshotRetentionLimit = value; } resetSnapshotRetentionLimit() { this._snapshotRetentionLimit = undefined; } // Temporarily expose input value. Use with caution. get snapshotRetentionLimitInput() { return this._snapshotRetentionLimit; } get snapshotWindow() { return this.getStringAttribute('snapshot_window'); } set snapshotWindow(value) { this._snapshotWindow = value; } resetSnapshotWindow() { this._snapshotWindow = undefined; } // Temporarily expose input value. Use with caution. get snapshotWindowInput() { return this._snapshotWindow; } get snsTopicArn() { return this.getStringAttribute('sns_topic_arn'); } set snsTopicArn(value) { this._snsTopicArn = value; } resetSnsTopicArn() { this._snsTopicArn = undefined; } // Temporarily expose input value. Use with caution. get snsTopicArnInput() { return this._snsTopicArn; } get subnetGroupName() { return this.getStringAttribute('subnet_group_name'); } set subnetGroupName(value) { this._subnetGroupName = value; } resetSubnetGroupName() { this._subnetGroupName = undefined; } // Temporarily expose input value. Use with caution. get subnetGroupNameInput() { return this._subnetGroupName; } 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 tlsEnabled() { return this.getBooleanAttribute('tls_enabled'); } set tlsEnabled(value) { this._tlsEnabled = value; } resetTlsEnabled() { this._tlsEnabled = undefined; } // Temporarily expose input value. Use with caution. get tlsEnabledInput() { return this._tlsEnabled; } 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 { acl_name: cdktf.stringToTerraform(this._aclName), auto_minor_version_upgrade: cdktf.booleanToTerraform(this._autoMinorVersionUpgrade), data_tiering: cdktf.booleanToTerraform(this._dataTiering), description: cdktf.stringToTerraform(this._description), engine: cdktf.stringToTerraform(this._engine), engine_version: cdktf.stringToTerraform(this._engineVersion), final_snapshot_name: cdktf.stringToTerraform(this._finalSnapshotName), id: cdktf.stringToTerraform(this._id), kms_key_arn: cdktf.stringToTerraform(this._kmsKeyArn), maintenance_window: cdktf.stringToTerraform(this._maintenanceWindow), multi_region_cluster_name: cdktf.stringToTerraform(this._multiRegionClusterName), name: cdktf.stringToTerraform(this._name), name_prefix: cdktf.stringToTerraform(this._namePrefix), node_type: cdktf.stringToTerraform(this._nodeType), num_replicas_per_shard: cdktf.numberToTerraform(this._numReplicasPerShard), num_shards: cdktf.numberToTerraform(this._numShards), parameter_group_name: cdktf.stringToTerraform(this._parameterGroupName), port: cdktf.numberToTerraform(this._port), region: cdktf.stringToTerraform(this._region), security_group_ids: cdktf.listMapper(cdktf.stringToTerraform, false)(this._securityGroupIds), snapshot_arns: cdktf.listMapper(cdktf.stringToTerraform, false)(this._snapshotArns), snapshot_name: cdktf.stringToTerraform(this._snapshotName), snapshot_retention_limit: cdktf.numberToTerraform(this._snapshotRetentionLimit), snapshot_window: cdktf.stringToTerraform(this._snapshotWindow), sns_topic_arn: cdktf.stringToTerraform(this._snsTopicArn), subnet_group_name: cdktf.stringToTerraform(this._subnetGroupName), tags: cdktf.hashMapper(cdktf.stringToTerraform)(this._tags), tags_all: cdktf.hashMapper(cdktf.stringToTerraform)(this._tagsAll), tls_enabled: cdktf.booleanToTerraform(this._tlsEnabled), timeouts: memorydbClusterTimeoutsToTerraform(this._timeouts.internalValue), }; } synthesizeHclAttributes() { const attrs = { acl_name: { value: cdktf.stringToHclTerraform(this._aclName), isBlock: false, type: "simple", storageClassType: "string", }, auto_minor_version_upgrade: { value: cdktf.booleanToHclTerraform(this._autoMinorVersionUpgrade), isBlock: false, type: "simple", storageClassType: "boolean", }, data_tiering: { value: cdktf.booleanToHclTerraform(this._dataTiering), isBlock: false, type: "simple", storageClassType: "boolean", }, description: { value: cdktf.stringToHclTerraform(this._description), isBlock: false, type: "simple", storageClassType: "string", }, engine: { value: cdktf.stringToHclTerraform(this._engine), isBlock: false, type: "simple", storageClassType: "string", }, engine_version: { value: cdktf.stringToHclTerraform(this._engineVersion), isBlock: false, type: "simple", storageClassType: "string", }, final_snapshot_name: { value: cdktf.stringToHclTerraform(this._finalSnapshotName), isBlock: false, type: "simple", storageClassType: "string", }, id: { value: cdktf.stringToHclTerraform(this._id), isBlock: false, type: "simple", storageClassType: "string", }, kms_key_arn: { value: cdktf.stringToHclTerraform(this._kmsKeyArn), isBlock: false, type: "simple", storageClassType: "string", }, maintenance_window: { value: cdktf.stringToHclTerraform(this._maintenanceWindow), isBlock: false, type: "simple", storageClassType: "string", }, multi_region_cluster_name: { value: cdktf.stringToHclTerraform(this._multiRegionClusterName), isBlock: false, type: "simple", storageClassType: "string", }, name: { value: cdktf.stringToHclTerraform(this._name), isBlock: false, type: "simple", storageClassType: "string", }, name_prefix: { value: cdktf.stringToHclTerraform(this._namePrefix), isBlock: false, type: "simple", storageClassType: "string", }, node_type: { value: cdktf.stringToHclTerraform(this._nodeType), isBlock: false, type: "simple", storageClassType: "string", }, num_replicas_per_shard: { value: cdktf.numberToHclTerraform(this._numReplicasPerShard), isBlock: false, type: "simple", storageClassType: "number", }, num_shards: { value: cdktf.numberToHclTerraform(this._numShards), isBlock: false, type: "simple", storageClassType: "number", }, parameter_group_name: { value: cdktf.stringToHclTerraform(this._parameterGroupName), isBlock: false, type: "simple", storageClassType: "string", }, port: { value: cdktf.numberToHclTerraform(this._port), isBlock: false, type: "simple", storageClassType: "number", }, region: { value: cdktf.stringToHclTerraform(this._region), isBlock: false, type: "simple", storageClassType: "string", }, security_group_ids: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._securityGroupIds), isBlock: false, type: "set", storageClassType: "stringList", }, snapshot_arns: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._snapshotArns), isBlock: false, type: "list", storageClassType: "stringList", }, snapshot_name: { value: cdktf.stringToHclTerraform(this._snapshotName), isBlock: false, type: "simple", storageClassType: "string", }, snapshot_retention_limit: { value: cdktf.numberToHclTerraform(this._snapshotRetentionLimit), isBlock: false, type: "simple", storageClassType: "number", }, snapshot_window: { value: cdktf.stringToHclTerraform(this._snapshotWindow), isBlock: false, type: "simple", storageClassType: "string", }, sns_topic_arn: { value: cdktf.stringToHclTerraform(this._snsTopicArn), isBlock: false, type: "simple", storageClassType: "string", }, subnet_group_name: { value: cdktf.stringToHclTerraform(this._subnetGroupName), 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", }, tls_enabled: { value: cdktf.booleanToHclTerraform(this._tlsEnabled), isBlock: false, type: "simple", storageClassType: "boolean", }, timeouts: { value: memorydbClusterTimeoutsToHclTerraform(this._timeouts.internalValue), isBlock: true, type: "struct", storageClassType: "MemorydbClusterTimeouts", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } } exports.MemorydbCluster = MemorydbCluster; _k = JSII_RTTI_SYMBOL_1; MemorydbCluster[_k] = { fqn: "@cdktf/provider-aws.memorydbCluster.MemorydbCluster", version: "21.22.1" }; // ================= // STATIC PROPERTIES // ================= MemorydbCluster.tfResourceType = "aws_memorydb_cluster"; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbWVtb3J5ZGItY2x1c3Rlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBaUpBLDhGQU9DO0FBR0Qsb0dBUUM7QUE4REQsc0dBT0M7QUFHRCw0R0FRQztBQThERCxzRkFPQztBQUdELDRGQVFDO0FBeUVELDRFQU9DO0FBR0Qsa0ZBUUM7QUFxRkQsZ0ZBVUM7QUFHRCxzRkE0QkM7O0FBbmhCRCwrQkFBK0I7QUF3SS9CLFNBQWdCLHlDQUF5QyxDQUFDLE1BQXVDO0lBQy9GLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFBQyxPQUFPLE1BQU0sQ0FBQztJQUFDLENBQUM7SUFDNUYsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLG9IQUFvSCxDQUFDLENBQUM7SUFDeEksQ0FBQztJQUNELE9BQU8sRUFDTixDQUFBO0FBQ0gsQ0FBQztBQUdELFNBQWdCLDRDQUE0QyxDQUFDLE1BQXVDO0lBQ2xHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFBQyxPQUFPLE1BQU0sQ0FBQztJQUFDLENBQUM7SUFDNUYsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLG9IQUFvSCxDQUFDLENBQUM7SUFDeEksQ0FBQztJQUNELE1BQU0sS0FBSyxHQUFHLEVBQ2IsQ0FBQztJQUNGLE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVELE1BQWEsNkNBQThDLFNB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