UNPKG

rhizo-co-terraform-provider-oci

Version:

Prebuilt oci Provider for Terraform CDK (cdktf)

1,134 lines 154 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g; Object.defineProperty(exports, "__esModule", { value: true }); exports.CoreVolume = exports.CoreVolumeTimeoutsOutputReference = exports.coreVolumeTimeoutsToHclTerraform = exports.coreVolumeTimeoutsToTerraform = exports.CoreVolumeSourceDetailsOutputReference = exports.coreVolumeSourceDetailsToHclTerraform = exports.coreVolumeSourceDetailsToTerraform = exports.CoreVolumeBlockVolumeReplicasList = exports.CoreVolumeBlockVolumeReplicasOutputReference = exports.coreVolumeBlockVolumeReplicasToHclTerraform = exports.coreVolumeBlockVolumeReplicasToTerraform = exports.CoreVolumeAutotunePoliciesList = exports.CoreVolumeAutotunePoliciesOutputReference = exports.coreVolumeAutotunePoliciesToHclTerraform = exports.coreVolumeAutotunePoliciesToTerraform = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function coreVolumeAutotunePoliciesToTerraform(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 { autotune_type: cdktf.stringToTerraform(struct.autotuneType), max_vpus_per_gb: cdktf.stringToTerraform(struct.maxVpusPerGb), }; } exports.coreVolumeAutotunePoliciesToTerraform = coreVolumeAutotunePoliciesToTerraform; function coreVolumeAutotunePoliciesToHclTerraform(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 = { autotune_type: { value: cdktf.stringToHclTerraform(struct.autotuneType), isBlock: false, type: "simple", storageClassType: "string", }, max_vpus_per_gb: { value: cdktf.stringToHclTerraform(struct.maxVpusPerGb), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.coreVolumeAutotunePoliciesToHclTerraform = coreVolumeAutotunePoliciesToHclTerraform; class CoreVolumeAutotunePoliciesOutputReference 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() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._autotuneType !== undefined) { hasAnyValues = true; internalValueResult.autotuneType = this._autotuneType; } if (this._maxVpusPerGb !== undefined) { hasAnyValues = true; internalValueResult.maxVpusPerGb = this._maxVpusPerGb; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._autotuneType = undefined; this._maxVpusPerGb = 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._autotuneType = value.autotuneType; this._maxVpusPerGb = value.maxVpusPerGb; } } get autotuneType() { return this.getStringAttribute('autotune_type'); } set autotuneType(value) { this._autotuneType = value; } // Temporarily expose input value. Use with caution. get autotuneTypeInput() { return this._autotuneType; } get maxVpusPerGb() { return this.getStringAttribute('max_vpus_per_gb'); } set maxVpusPerGb(value) { this._maxVpusPerGb = value; } resetMaxVpusPerGb() { this._maxVpusPerGb = undefined; } // Temporarily expose input value. Use with caution. get maxVpusPerGbInput() { return this._maxVpusPerGb; } } exports.CoreVolumeAutotunePoliciesOutputReference = CoreVolumeAutotunePoliciesOutputReference; _a = JSII_RTTI_SYMBOL_1; CoreVolumeAutotunePoliciesOutputReference[_a] = { fqn: "rhizo-co-terraform-provider-oci.coreVolume.CoreVolumeAutotunePoliciesOutputReference", version: "1.0.0" }; class CoreVolumeAutotunePoliciesList 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 CoreVolumeAutotunePoliciesOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.CoreVolumeAutotunePoliciesList = CoreVolumeAutotunePoliciesList; _b = JSII_RTTI_SYMBOL_1; CoreVolumeAutotunePoliciesList[_b] = { fqn: "rhizo-co-terraform-provider-oci.coreVolume.CoreVolumeAutotunePoliciesList", version: "1.0.0" }; function coreVolumeBlockVolumeReplicasToTerraform(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 { availability_domain: cdktf.stringToTerraform(struct.availabilityDomain), display_name: cdktf.stringToTerraform(struct.displayName), xrr_kms_key_id: cdktf.stringToTerraform(struct.xrrKmsKeyId), }; } exports.coreVolumeBlockVolumeReplicasToTerraform = coreVolumeBlockVolumeReplicasToTerraform; function coreVolumeBlockVolumeReplicasToHclTerraform(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 = { availability_domain: { value: cdktf.stringToHclTerraform(struct.availabilityDomain), isBlock: false, type: "simple", storageClassType: "string", }, display_name: { value: cdktf.stringToHclTerraform(struct.displayName), isBlock: false, type: "simple", storageClassType: "string", }, xrr_kms_key_id: { value: cdktf.stringToHclTerraform(struct.xrrKmsKeyId), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.coreVolumeBlockVolumeReplicasToHclTerraform = coreVolumeBlockVolumeReplicasToHclTerraform; class CoreVolumeBlockVolumeReplicasOutputReference 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() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._availabilityDomain !== undefined) { hasAnyValues = true; internalValueResult.availabilityDomain = this._availabilityDomain; } if (this._displayName !== undefined) { hasAnyValues = true; internalValueResult.displayName = this._displayName; } if (this._xrrKmsKeyId !== undefined) { hasAnyValues = true; internalValueResult.xrrKmsKeyId = this._xrrKmsKeyId; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._availabilityDomain = undefined; this._displayName = undefined; this._xrrKmsKeyId = 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._availabilityDomain = value.availabilityDomain; this._displayName = value.displayName; this._xrrKmsKeyId = value.xrrKmsKeyId; } } get availabilityDomain() { return this.getStringAttribute('availability_domain'); } set availabilityDomain(value) { this._availabilityDomain = value; } // Temporarily expose input value. Use with caution. get availabilityDomainInput() { return this._availabilityDomain; } // block_volume_replica_id - computed: true, optional: false, required: false get blockVolumeReplicaId() { return this.getStringAttribute('block_volume_replica_id'); } get displayName() { return this.getStringAttribute('display_name'); } set displayName(value) { this._displayName = value; } resetDisplayName() { this._displayName = undefined; } // Temporarily expose input value. Use with caution. get displayNameInput() { return this._displayName; } // kms_key_id - computed: true, optional: false, required: false get kmsKeyId() { return this.getStringAttribute('kms_key_id'); } get xrrKmsKeyId() { return this.getStringAttribute('xrr_kms_key_id'); } set xrrKmsKeyId(value) { this._xrrKmsKeyId = value; } resetXrrKmsKeyId() { this._xrrKmsKeyId = undefined; } // Temporarily expose input value. Use with caution. get xrrKmsKeyIdInput() { return this._xrrKmsKeyId; } } exports.CoreVolumeBlockVolumeReplicasOutputReference = CoreVolumeBlockVolumeReplicasOutputReference; _c = JSII_RTTI_SYMBOL_1; CoreVolumeBlockVolumeReplicasOutputReference[_c] = { fqn: "rhizo-co-terraform-provider-oci.coreVolume.CoreVolumeBlockVolumeReplicasOutputReference", version: "1.0.0" }; class CoreVolumeBlockVolumeReplicasList 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 CoreVolumeBlockVolumeReplicasOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.CoreVolumeBlockVolumeReplicasList = CoreVolumeBlockVolumeReplicasList; _d = JSII_RTTI_SYMBOL_1; CoreVolumeBlockVolumeReplicasList[_d] = { fqn: "rhizo-co-terraform-provider-oci.coreVolume.CoreVolumeBlockVolumeReplicasList", version: "1.0.0" }; function coreVolumeSourceDetailsToTerraform(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 { change_block_size_in_bytes: cdktf.stringToTerraform(struct.changeBlockSizeInBytes), first_backup_id: cdktf.stringToTerraform(struct.firstBackupId), id: cdktf.stringToTerraform(struct.id), second_backup_id: cdktf.stringToTerraform(struct.secondBackupId), type: cdktf.stringToTerraform(struct.type), }; } exports.coreVolumeSourceDetailsToTerraform = coreVolumeSourceDetailsToTerraform; function coreVolumeSourceDetailsToHclTerraform(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 = { change_block_size_in_bytes: { value: cdktf.stringToHclTerraform(struct.changeBlockSizeInBytes), isBlock: false, type: "simple", storageClassType: "string", }, first_backup_id: { value: cdktf.stringToHclTerraform(struct.firstBackupId), isBlock: false, type: "simple", storageClassType: "string", }, id: { value: cdktf.stringToHclTerraform(struct.id), isBlock: false, type: "simple", storageClassType: "string", }, second_backup_id: { value: cdktf.stringToHclTerraform(struct.secondBackupId), isBlock: false, type: "simple", storageClassType: "string", }, type: { value: cdktf.stringToHclTerraform(struct.type), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.coreVolumeSourceDetailsToHclTerraform = coreVolumeSourceDetailsToHclTerraform; class CoreVolumeSourceDetailsOutputReference 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._changeBlockSizeInBytes !== undefined) { hasAnyValues = true; internalValueResult.changeBlockSizeInBytes = this._changeBlockSizeInBytes; } if (this._firstBackupId !== undefined) { hasAnyValues = true; internalValueResult.firstBackupId = this._firstBackupId; } if (this._id !== undefined) { hasAnyValues = true; internalValueResult.id = this._id; } if (this._secondBackupId !== undefined) { hasAnyValues = true; internalValueResult.secondBackupId = this._secondBackupId; } if (this._type !== undefined) { hasAnyValues = true; internalValueResult.type = this._type; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._changeBlockSizeInBytes = undefined; this._firstBackupId = undefined; this._id = undefined; this._secondBackupId = undefined; this._type = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._changeBlockSizeInBytes = value.changeBlockSizeInBytes; this._firstBackupId = value.firstBackupId; this._id = value.id; this._secondBackupId = value.secondBackupId; this._type = value.type; } } get changeBlockSizeInBytes() { return this.getStringAttribute('change_block_size_in_bytes'); } set changeBlockSizeInBytes(value) { this._changeBlockSizeInBytes = value; } resetChangeBlockSizeInBytes() { this._changeBlockSizeInBytes = undefined; } // Temporarily expose input value. Use with caution. get changeBlockSizeInBytesInput() { return this._changeBlockSizeInBytes; } get firstBackupId() { return this.getStringAttribute('first_backup_id'); } set firstBackupId(value) { this._firstBackupId = value; } resetFirstBackupId() { this._firstBackupId = undefined; } // Temporarily expose input value. Use with caution. get firstBackupIdInput() { return this._firstBackupId; } 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 secondBackupId() { return this.getStringAttribute('second_backup_id'); } set secondBackupId(value) { this._secondBackupId = value; } resetSecondBackupId() { this._secondBackupId = undefined; } // Temporarily expose input value. Use with caution. get secondBackupIdInput() { return this._secondBackupId; } get type() { return this.getStringAttribute('type'); } set type(value) { this._type = value; } // Temporarily expose input value. Use with caution. get typeInput() { return this._type; } } exports.CoreVolumeSourceDetailsOutputReference = CoreVolumeSourceDetailsOutputReference; _e = JSII_RTTI_SYMBOL_1; CoreVolumeSourceDetailsOutputReference[_e] = { fqn: "rhizo-co-terraform-provider-oci.coreVolume.CoreVolumeSourceDetailsOutputReference", version: "1.0.0" }; function coreVolumeTimeoutsToTerraform(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.coreVolumeTimeoutsToTerraform = coreVolumeTimeoutsToTerraform; function coreVolumeTimeoutsToHclTerraform(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.coreVolumeTimeoutsToHclTerraform = coreVolumeTimeoutsToHclTerraform; class CoreVolumeTimeoutsOutputReference 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.CoreVolumeTimeoutsOutputReference = CoreVolumeTimeoutsOutputReference; _f = JSII_RTTI_SYMBOL_1; CoreVolumeTimeoutsOutputReference[_f] = { fqn: "rhizo-co-terraform-provider-oci.coreVolume.CoreVolumeTimeoutsOutputReference", version: "1.0.0" }; /** * Represents a {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/core_volume oci_core_volume} */ class CoreVolume extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a CoreVolume 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 CoreVolume to import * @param importFromId The id of the existing CoreVolume that should be imported. Refer to the {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/core_volume#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the CoreVolume to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "oci_core_volume", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/core_volume oci_core_volume} 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 CoreVolumeConfig */ constructor(scope, id, config) { super(scope, id, { terraformResourceType: 'oci_core_volume', terraformGeneratorMetadata: { providerName: 'oci', providerVersion: '6.18.0', providerVersionConstraint: '~> 6.18.0' }, provider: config.provider, dependsOn: config.dependsOn, count: config.count, lifecycle: config.lifecycle, provisioners: config.provisioners, connection: config.connection, forEach: config.forEach }); // system_tags - computed: true, optional: false, required: false this._systemTags = new cdktf.StringMap(this, "system_tags"); // autotune_policies - computed: false, optional: true, required: false this._autotunePolicies = new CoreVolumeAutotunePoliciesList(this, "autotune_policies", false); // block_volume_replicas - computed: false, optional: true, required: false this._blockVolumeReplicas = new CoreVolumeBlockVolumeReplicasList(this, "block_volume_replicas", false); // source_details - computed: false, optional: true, required: false this._sourceDetails = new CoreVolumeSourceDetailsOutputReference(this, "source_details"); // timeouts - computed: false, optional: true, required: false this._timeouts = new CoreVolumeTimeoutsOutputReference(this, "timeouts"); this._availabilityDomain = config.availabilityDomain; this._backupPolicyId = config.backupPolicyId; this._blockVolumeReplicasDeletion = config.blockVolumeReplicasDeletion; this._clusterPlacementGroupId = config.clusterPlacementGroupId; this._compartmentId = config.compartmentId; this._definedTags = config.definedTags; this._displayName = config.displayName; this._freeformTags = config.freeformTags; this._id = config.id; this._isAutoTuneEnabled = config.isAutoTuneEnabled; this._kmsKeyId = config.kmsKeyId; this._sizeInGbs = config.sizeInGbs; this._sizeInMbs = config.sizeInMbs; this._volumeBackupId = config.volumeBackupId; this._vpusPerGb = config.vpusPerGb; this._xrcKmsKeyId = config.xrcKmsKeyId; this._autotunePolicies.internalValue = config.autotunePolicies; this._blockVolumeReplicas.internalValue = config.blockVolumeReplicas; this._sourceDetails.internalValue = config.sourceDetails; this._timeouts.internalValue = config.timeouts; } // ========== // ATTRIBUTES // ========== // auto_tuned_vpus_per_gb - computed: true, optional: false, required: false get autoTunedVpusPerGb() { return this.getStringAttribute('auto_tuned_vpus_per_gb'); } get availabilityDomain() { return this.getStringAttribute('availability_domain'); } set availabilityDomain(value) { this._availabilityDomain = value; } // Temporarily expose input value. Use with caution. get availabilityDomainInput() { return this._availabilityDomain; } get backupPolicyId() { return this.getStringAttribute('backup_policy_id'); } set backupPolicyId(value) { this._backupPolicyId = value; } resetBackupPolicyId() { this._backupPolicyId = undefined; } // Temporarily expose input value. Use with caution. get backupPolicyIdInput() { return this._backupPolicyId; } get blockVolumeReplicasDeletion() { return this.getBooleanAttribute('block_volume_replicas_deletion'); } set blockVolumeReplicasDeletion(value) { this._blockVolumeReplicasDeletion = value; } resetBlockVolumeReplicasDeletion() { this._blockVolumeReplicasDeletion = undefined; } // Temporarily expose input value. Use with caution. get blockVolumeReplicasDeletionInput() { return this._blockVolumeReplicasDeletion; } get clusterPlacementGroupId() { return this.getStringAttribute('cluster_placement_group_id'); } set clusterPlacementGroupId(value) { this._clusterPlacementGroupId = value; } resetClusterPlacementGroupId() { this._clusterPlacementGroupId = undefined; } // Temporarily expose input value. Use with caution. get clusterPlacementGroupIdInput() { return this._clusterPlacementGroupId; } get compartmentId() { return this.getStringAttribute('compartment_id'); } set compartmentId(value) { this._compartmentId = value; } // Temporarily expose input value. Use with caution. get compartmentIdInput() { return this._compartmentId; } get definedTags() { return this.getStringMapAttribute('defined_tags'); } set definedTags(value) { this._definedTags = value; } resetDefinedTags() { this._definedTags = undefined; } // Temporarily expose input value. Use with caution. get definedTagsInput() { return this._definedTags; } get displayName() { return this.getStringAttribute('display_name'); } set displayName(value) { this._displayName = value; } resetDisplayName() { this._displayName = undefined; } // Temporarily expose input value. Use with caution. get displayNameInput() { return this._displayName; } get freeformTags() { return this.getStringMapAttribute('freeform_tags'); } set freeformTags(value) { this._freeformTags = value; } resetFreeformTags() { this._freeformTags = undefined; } // Temporarily expose input value. Use with caution. get freeformTagsInput() { return this._freeformTags; } 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 isAutoTuneEnabled() { return this.getBooleanAttribute('is_auto_tune_enabled'); } set isAutoTuneEnabled(value) { this._isAutoTuneEnabled = value; } resetIsAutoTuneEnabled() { this._isAutoTuneEnabled = undefined; } // Temporarily expose input value. Use with caution. get isAutoTuneEnabledInput() { return this._isAutoTuneEnabled; } // is_hydrated - computed: true, optional: false, required: false get isHydrated() { return this.getBooleanAttribute('is_hydrated'); } 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 sizeInGbs() { return this.getStringAttribute('size_in_gbs'); } set sizeInGbs(value) { this._sizeInGbs = value; } resetSizeInGbs() { this._sizeInGbs = undefined; } // Temporarily expose input value. Use with caution. get sizeInGbsInput() { return this._sizeInGbs; } get sizeInMbs() { return this.getStringAttribute('size_in_mbs'); } set sizeInMbs(value) { this._sizeInMbs = value; } resetSizeInMbs() { this._sizeInMbs = undefined; } // Temporarily expose input value. Use with caution. get sizeInMbsInput() { return this._sizeInMbs; } // state - computed: true, optional: false, required: false get state() { return this.getStringAttribute('state'); } get systemTags() { return this._systemTags; } // time_created - computed: true, optional: false, required: false get timeCreated() { return this.getStringAttribute('time_created'); } get volumeBackupId() { return this.getStringAttribute('volume_backup_id'); } set volumeBackupId(value) { this._volumeBackupId = value; } resetVolumeBackupId() { this._volumeBackupId = undefined; } // Temporarily expose input value. Use with caution. get volumeBackupIdInput() { return this._volumeBackupId; } // volume_group_id - computed: true, optional: false, required: false get volumeGroupId() { return this.getStringAttribute('volume_group_id'); } get vpusPerGb() { return this.getStringAttribute('vpus_per_gb'); } set vpusPerGb(value) { this._vpusPerGb = value; } resetVpusPerGb() { this._vpusPerGb = undefined; } // Temporarily expose input value. Use with caution. get vpusPerGbInput() { return this._vpusPerGb; } get xrcKmsKeyId() { return this.getStringAttribute('xrc_kms_key_id'); } set xrcKmsKeyId(value) { this._xrcKmsKeyId = value; } resetXrcKmsKeyId() { this._xrcKmsKeyId = undefined; } // Temporarily expose input value. Use with caution. get xrcKmsKeyIdInput() { return this._xrcKmsKeyId; } get autotunePolicies() { return this._autotunePolicies; } putAutotunePolicies(value) { this._autotunePolicies.internalValue = value; } resetAutotunePolicies() { this._autotunePolicies.internalValue = undefined; } // Temporarily expose input value. Use with caution. get autotunePoliciesInput() { return this._autotunePolicies.internalValue; } get blockVolumeReplicas() { return this._blockVolumeReplicas; } putBlockVolumeReplicas(value) { this._blockVolumeReplicas.internalValue = value; } resetBlockVolumeReplicas() { this._blockVolumeReplicas.internalValue = undefined; } // Temporarily expose input value. Use with caution. get blockVolumeReplicasInput() { return this._blockVolumeReplicas.internalValue; } get sourceDetails() { return this._sourceDetails; } putSourceDetails(value) { this._sourceDetails.internalValue = value; } resetSourceDetails() { this._sourceDetails.internalValue = undefined; } // Temporarily expose input value. Use with caution. get sourceDetailsInput() { return this._sourceDetails.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 { availability_domain: cdktf.stringToTerraform(this._availabilityDomain), backup_policy_id: cdktf.stringToTerraform(this._backupPolicyId), block_volume_replicas_deletion: cdktf.booleanToTerraform(this._blockVolumeReplicasDeletion), cluster_placement_group_id: cdktf.stringToTerraform(this._clusterPlacementGroupId), compartment_id: cdktf.stringToTerraform(this._compartmentId), defined_tags: cdktf.hashMapper(cdktf.stringToTerraform)(this._definedTags), display_name: cdktf.stringToTerraform(this._displayName), freeform_tags: cdktf.hashMapper(cdktf.stringToTerraform)(this._freeformTags), id: cdktf.stringToTerraform(this._id), is_auto_tune_enabled: cdktf.booleanToTerraform(this._isAutoTuneEnabled), kms_key_id: cdktf.stringToTerraform(this._kmsKeyId), size_in_gbs: cdktf.stringToTerraform(this._sizeInGbs), size_in_mbs: cdktf.stringToTerraform(this._sizeInMbs), volume_backup_id: cdktf.stringToTerraform(this._volumeBackupId), vpus_per_gb: cdktf.stringToTerraform(this._vpusPerGb), xrc_kms_key_id: cdktf.stringToTerraform(this._xrcKmsKeyId), autotune_policies: cdktf.listMapper(coreVolumeAutotunePoliciesToTerraform, true)(this._autotunePolicies.internalValue), block_volume_replicas: cdktf.listMapper(coreVolumeBlockVolumeReplicasToTerraform, true)(this._blockVolumeReplicas.internalValue), source_details: coreVolumeSourceDetailsToTerraform(this._sourceDetails.internalValue), timeouts: coreVolumeTimeoutsToTerraform(this._timeouts.internalValue), }; } synthesizeHclAttributes() { const attrs = { availability_domain: { value: cdktf.stringToHclTerraform(this._availabilityDomain), isBlock: false, type: "simple", storageClassType: "string", }, backup_policy_id: { value: cdktf.stringToHclTerraform(this._backupPolicyId), isBlock: false, type: "simple", storageClassType: "string", }, block_volume_replicas_deletion: { value: cdktf.booleanToHclTerraform(this._blockVolumeReplicasDeletion), isBlock: false, type: "simple", storageClassType: "boolean", }, cluster_placement_group_id: { value: cdktf.stringToHclTerraform(this._clusterPlacementGroupId), isBlock: false, type: "simple", storageClassType: "string", }, compartment_id: { value: cdktf.stringToHclTerraform(this._compartmentId), isBlock: false, type: "simple", storageClassType: "string", }, defined_tags: { value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(this._definedTags), isBlock: false, type: "map", storageClassType: "stringMap", }, display_name: { value: cdktf.stringToHclTerraform(this._displayName), isBlock: false, type: "simple", storageClassType: "string", }, freeform_tags: { value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(this._freeformTags), isBlock: false, type: "map", storageClassType: "stringMap", }, id: { value: cdktf.stringToHclTerraform(this._id), isBlock: false, type: "simple", storageClassType: "string", }, is_auto_tune_enabled: { value: cdktf.booleanToHclTerraform(this._isAutoTuneEnabled), isBlock: false, type: "simple", storageClassType: "boolean", }, kms_key_id: { value: cdktf.stringToHclTerraform(this._kmsKeyId), isBlock: false, type: "simple", storageClassType: "string", }, size_in_gbs: { value: cdktf.stringToHclTerraform(this._sizeInGbs), isBlock: false, type: "simple", storageClassType: "string", }, size_in_mbs: { value: cdktf.stringToHclTerraform(this._sizeInMbs), isBlock: false, type: "simple", storageClassType: "string", }, volume_backup_id: { value: cdktf.stringToHclTerraform(this._volumeBackupId), isBlock: false, type: "simple", storageClassType: "string", }, vpus_per_gb: { value: cdktf.stringToHclTerraform(this._vpusPerGb), isBlock: false, type: "simple", storageClassType: "string", }, xrc_kms_key_id: { value: cdktf.stringToHclTerraform(this._xrcKmsKeyId), isBlock: false, type: "simple", storageClassType: "string", }, autotune_policies: { value: cdktf.listMapperHcl(coreVolumeAutotunePoliciesToHclTerraform, true)(this._autotunePolicies.internalValue), isBlock: true, type: "list", storageClassType: "CoreVolumeAutotunePoliciesList", }, block_volume_replicas: { value: cdktf.listMapperHcl(coreVolumeBlockVolumeReplicasToHclTerraform, true)(this._blockVolumeReplicas.internalValue), isBlock: true, type: "list", storageClassType: "CoreVolumeBlockVolumeReplicasList", }, source_details: { value: coreVolumeSourceDetailsToHclTerraform(this._sourceDetails.internalValue), isBlock: true, type: "list", storageClassType: "CoreVolumeSourceDetailsList", }, timeouts: { value: coreVolumeTimeoutsToHclTerraform(this._timeouts.internalValue), isBlock: true, type: "struct", storageClassType: "CoreVolumeTimeouts", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } } exports.CoreVolume = CoreVolume; _g = JSII_RTTI_SYMBOL_1; CoreVolume[_g] = { fqn: "rhizo-co-terraform-provider-oci.coreVolume.CoreVolume", version: "1.0.0" }; // ================= // STATIC PROPERTIES // ================= CoreVolume.tfResourceType = "oci_core_volume"; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29yZS12b2x1bWUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFJQSwrQkFBK0I7QUE0Ry9CLFNBQWdCLHFDQUFxQyxDQUFDLE1BQXVEO0lBQzNHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFBQyxPQUFPLE1BQU0sQ0FBQztJQUFDLENBQUM7SUFDNUYsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLG9IQUFvSCxDQUFDLENBQUM7SUFDeEksQ0FBQztJQUNELE9BQU87UUFDTCxhQUFhLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE1BQU8sQ0FBQyxZQUFZLENBQUM7UUFDNUQsZUFBZSxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsWUFBWSxDQUFDO0tBQy9ELENBQUE7QUFDSCxDQUFDO0FBVEQsc0ZBU0M7QUFHRCxTQUFnQix3Q0FBd0MsQ0FBQyxNQUF1RDtJQUM5RyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxNQUFNLEtBQUssR0FBRztRQUNaLGFBQWEsRUFBRTtZQUNiLEtBQUssRUFBRSxLQUFLLENBQUMsb0JBQW9CLENBQUMsTUFB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