UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

1,318 lines 202 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h; Object.defineProperty(exports, "__esModule", { value: true }); exports.OpsworksInstance = exports.OpsworksInstanceTimeoutsOutputReference = exports.opsworksInstanceTimeoutsToHclTerraform = exports.opsworksInstanceTimeoutsToTerraform = exports.OpsworksInstanceRootBlockDeviceList = exports.OpsworksInstanceRootBlockDeviceOutputReference = exports.opsworksInstanceRootBlockDeviceToHclTerraform = exports.opsworksInstanceRootBlockDeviceToTerraform = exports.OpsworksInstanceEphemeralBlockDeviceList = exports.OpsworksInstanceEphemeralBlockDeviceOutputReference = exports.opsworksInstanceEphemeralBlockDeviceToHclTerraform = exports.opsworksInstanceEphemeralBlockDeviceToTerraform = exports.OpsworksInstanceEbsBlockDeviceList = exports.OpsworksInstanceEbsBlockDeviceOutputReference = exports.opsworksInstanceEbsBlockDeviceToHclTerraform = exports.opsworksInstanceEbsBlockDeviceToTerraform = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function opsworksInstanceEbsBlockDeviceToTerraform(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 { delete_on_termination: cdktf.booleanToTerraform(struct.deleteOnTermination), device_name: cdktf.stringToTerraform(struct.deviceName), iops: cdktf.numberToTerraform(struct.iops), snapshot_id: cdktf.stringToTerraform(struct.snapshotId), volume_size: cdktf.numberToTerraform(struct.volumeSize), volume_type: cdktf.stringToTerraform(struct.volumeType), }; } exports.opsworksInstanceEbsBlockDeviceToTerraform = opsworksInstanceEbsBlockDeviceToTerraform; function opsworksInstanceEbsBlockDeviceToHclTerraform(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 = { delete_on_termination: { value: cdktf.booleanToHclTerraform(struct.deleteOnTermination), isBlock: false, type: "simple", storageClassType: "boolean", }, device_name: { value: cdktf.stringToHclTerraform(struct.deviceName), isBlock: false, type: "simple", storageClassType: "string", }, iops: { value: cdktf.numberToHclTerraform(struct.iops), isBlock: false, type: "simple", storageClassType: "number", }, snapshot_id: { value: cdktf.stringToHclTerraform(struct.snapshotId), isBlock: false, type: "simple", storageClassType: "string", }, volume_size: { value: cdktf.numberToHclTerraform(struct.volumeSize), isBlock: false, type: "simple", storageClassType: "number", }, volume_type: { value: cdktf.stringToHclTerraform(struct.volumeType), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.opsworksInstanceEbsBlockDeviceToHclTerraform = opsworksInstanceEbsBlockDeviceToHclTerraform; class OpsworksInstanceEbsBlockDeviceOutputReference 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._deleteOnTermination !== undefined) { hasAnyValues = true; internalValueResult.deleteOnTermination = this._deleteOnTermination; } if (this._deviceName !== undefined) { hasAnyValues = true; internalValueResult.deviceName = this._deviceName; } if (this._iops !== undefined) { hasAnyValues = true; internalValueResult.iops = this._iops; } if (this._snapshotId !== undefined) { hasAnyValues = true; internalValueResult.snapshotId = this._snapshotId; } if (this._volumeSize !== undefined) { hasAnyValues = true; internalValueResult.volumeSize = this._volumeSize; } if (this._volumeType !== undefined) { hasAnyValues = true; internalValueResult.volumeType = this._volumeType; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._deleteOnTermination = undefined; this._deviceName = undefined; this._iops = undefined; this._snapshotId = undefined; this._volumeSize = undefined; this._volumeType = 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._deleteOnTermination = value.deleteOnTermination; this._deviceName = value.deviceName; this._iops = value.iops; this._snapshotId = value.snapshotId; this._volumeSize = value.volumeSize; this._volumeType = value.volumeType; } } get deleteOnTermination() { return this.getBooleanAttribute('delete_on_termination'); } set deleteOnTermination(value) { this._deleteOnTermination = value; } resetDeleteOnTermination() { this._deleteOnTermination = undefined; } // Temporarily expose input value. Use with caution. get deleteOnTerminationInput() { return this._deleteOnTermination; } get deviceName() { return this.getStringAttribute('device_name'); } set deviceName(value) { this._deviceName = value; } // Temporarily expose input value. Use with caution. get deviceNameInput() { return this._deviceName; } get iops() { return this.getNumberAttribute('iops'); } set iops(value) { this._iops = value; } resetIops() { this._iops = undefined; } // Temporarily expose input value. Use with caution. get iopsInput() { return this._iops; } get snapshotId() { return this.getStringAttribute('snapshot_id'); } set snapshotId(value) { this._snapshotId = value; } resetSnapshotId() { this._snapshotId = undefined; } // Temporarily expose input value. Use with caution. get snapshotIdInput() { return this._snapshotId; } get volumeSize() { return this.getNumberAttribute('volume_size'); } set volumeSize(value) { this._volumeSize = value; } resetVolumeSize() { this._volumeSize = undefined; } // Temporarily expose input value. Use with caution. get volumeSizeInput() { return this._volumeSize; } get volumeType() { return this.getStringAttribute('volume_type'); } set volumeType(value) { this._volumeType = value; } resetVolumeType() { this._volumeType = undefined; } // Temporarily expose input value. Use with caution. get volumeTypeInput() { return this._volumeType; } } exports.OpsworksInstanceEbsBlockDeviceOutputReference = OpsworksInstanceEbsBlockDeviceOutputReference; _a = JSII_RTTI_SYMBOL_1; OpsworksInstanceEbsBlockDeviceOutputReference[_a] = { fqn: "@cdktf/provider-aws.opsworksInstance.OpsworksInstanceEbsBlockDeviceOutputReference", version: "19.50.0" }; class OpsworksInstanceEbsBlockDeviceList 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 OpsworksInstanceEbsBlockDeviceOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.OpsworksInstanceEbsBlockDeviceList = OpsworksInstanceEbsBlockDeviceList; _b = JSII_RTTI_SYMBOL_1; OpsworksInstanceEbsBlockDeviceList[_b] = { fqn: "@cdktf/provider-aws.opsworksInstance.OpsworksInstanceEbsBlockDeviceList", version: "19.50.0" }; function opsworksInstanceEphemeralBlockDeviceToTerraform(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 { device_name: cdktf.stringToTerraform(struct.deviceName), virtual_name: cdktf.stringToTerraform(struct.virtualName), }; } exports.opsworksInstanceEphemeralBlockDeviceToTerraform = opsworksInstanceEphemeralBlockDeviceToTerraform; function opsworksInstanceEphemeralBlockDeviceToHclTerraform(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 = { device_name: { value: cdktf.stringToHclTerraform(struct.deviceName), isBlock: false, type: "simple", storageClassType: "string", }, virtual_name: { value: cdktf.stringToHclTerraform(struct.virtualName), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.opsworksInstanceEphemeralBlockDeviceToHclTerraform = opsworksInstanceEphemeralBlockDeviceToHclTerraform; class OpsworksInstanceEphemeralBlockDeviceOutputReference 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._deviceName !== undefined) { hasAnyValues = true; internalValueResult.deviceName = this._deviceName; } if (this._virtualName !== undefined) { hasAnyValues = true; internalValueResult.virtualName = this._virtualName; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._deviceName = undefined; this._virtualName = 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._deviceName = value.deviceName; this._virtualName = value.virtualName; } } get deviceName() { return this.getStringAttribute('device_name'); } set deviceName(value) { this._deviceName = value; } // Temporarily expose input value. Use with caution. get deviceNameInput() { return this._deviceName; } get virtualName() { return this.getStringAttribute('virtual_name'); } set virtualName(value) { this._virtualName = value; } // Temporarily expose input value. Use with caution. get virtualNameInput() { return this._virtualName; } } exports.OpsworksInstanceEphemeralBlockDeviceOutputReference = OpsworksInstanceEphemeralBlockDeviceOutputReference; _c = JSII_RTTI_SYMBOL_1; OpsworksInstanceEphemeralBlockDeviceOutputReference[_c] = { fqn: "@cdktf/provider-aws.opsworksInstance.OpsworksInstanceEphemeralBlockDeviceOutputReference", version: "19.50.0" }; class OpsworksInstanceEphemeralBlockDeviceList 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 OpsworksInstanceEphemeralBlockDeviceOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.OpsworksInstanceEphemeralBlockDeviceList = OpsworksInstanceEphemeralBlockDeviceList; _d = JSII_RTTI_SYMBOL_1; OpsworksInstanceEphemeralBlockDeviceList[_d] = { fqn: "@cdktf/provider-aws.opsworksInstance.OpsworksInstanceEphemeralBlockDeviceList", version: "19.50.0" }; function opsworksInstanceRootBlockDeviceToTerraform(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 { delete_on_termination: cdktf.booleanToTerraform(struct.deleteOnTermination), iops: cdktf.numberToTerraform(struct.iops), volume_size: cdktf.numberToTerraform(struct.volumeSize), volume_type: cdktf.stringToTerraform(struct.volumeType), }; } exports.opsworksInstanceRootBlockDeviceToTerraform = opsworksInstanceRootBlockDeviceToTerraform; function opsworksInstanceRootBlockDeviceToHclTerraform(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 = { delete_on_termination: { value: cdktf.booleanToHclTerraform(struct.deleteOnTermination), isBlock: false, type: "simple", storageClassType: "boolean", }, iops: { value: cdktf.numberToHclTerraform(struct.iops), isBlock: false, type: "simple", storageClassType: "number", }, volume_size: { value: cdktf.numberToHclTerraform(struct.volumeSize), isBlock: false, type: "simple", storageClassType: "number", }, volume_type: { value: cdktf.stringToHclTerraform(struct.volumeType), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.opsworksInstanceRootBlockDeviceToHclTerraform = opsworksInstanceRootBlockDeviceToHclTerraform; class OpsworksInstanceRootBlockDeviceOutputReference 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._deleteOnTermination !== undefined) { hasAnyValues = true; internalValueResult.deleteOnTermination = this._deleteOnTermination; } if (this._iops !== undefined) { hasAnyValues = true; internalValueResult.iops = this._iops; } if (this._volumeSize !== undefined) { hasAnyValues = true; internalValueResult.volumeSize = this._volumeSize; } if (this._volumeType !== undefined) { hasAnyValues = true; internalValueResult.volumeType = this._volumeType; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._deleteOnTermination = undefined; this._iops = undefined; this._volumeSize = undefined; this._volumeType = 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._deleteOnTermination = value.deleteOnTermination; this._iops = value.iops; this._volumeSize = value.volumeSize; this._volumeType = value.volumeType; } } get deleteOnTermination() { return this.getBooleanAttribute('delete_on_termination'); } set deleteOnTermination(value) { this._deleteOnTermination = value; } resetDeleteOnTermination() { this._deleteOnTermination = undefined; } // Temporarily expose input value. Use with caution. get deleteOnTerminationInput() { return this._deleteOnTermination; } get iops() { return this.getNumberAttribute('iops'); } set iops(value) { this._iops = value; } resetIops() { this._iops = undefined; } // Temporarily expose input value. Use with caution. get iopsInput() { return this._iops; } get volumeSize() { return this.getNumberAttribute('volume_size'); } set volumeSize(value) { this._volumeSize = value; } resetVolumeSize() { this._volumeSize = undefined; } // Temporarily expose input value. Use with caution. get volumeSizeInput() { return this._volumeSize; } get volumeType() { return this.getStringAttribute('volume_type'); } set volumeType(value) { this._volumeType = value; } resetVolumeType() { this._volumeType = undefined; } // Temporarily expose input value. Use with caution. get volumeTypeInput() { return this._volumeType; } } exports.OpsworksInstanceRootBlockDeviceOutputReference = OpsworksInstanceRootBlockDeviceOutputReference; _e = JSII_RTTI_SYMBOL_1; OpsworksInstanceRootBlockDeviceOutputReference[_e] = { fqn: "@cdktf/provider-aws.opsworksInstance.OpsworksInstanceRootBlockDeviceOutputReference", version: "19.50.0" }; class OpsworksInstanceRootBlockDeviceList 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 OpsworksInstanceRootBlockDeviceOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.OpsworksInstanceRootBlockDeviceList = OpsworksInstanceRootBlockDeviceList; _f = JSII_RTTI_SYMBOL_1; OpsworksInstanceRootBlockDeviceList[_f] = { fqn: "@cdktf/provider-aws.opsworksInstance.OpsworksInstanceRootBlockDeviceList", version: "19.50.0" }; function opsworksInstanceTimeoutsToTerraform(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.opsworksInstanceTimeoutsToTerraform = opsworksInstanceTimeoutsToTerraform; function opsworksInstanceTimeoutsToHclTerraform(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.opsworksInstanceTimeoutsToHclTerraform = opsworksInstanceTimeoutsToHclTerraform; class OpsworksInstanceTimeoutsOutputReference 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.OpsworksInstanceTimeoutsOutputReference = OpsworksInstanceTimeoutsOutputReference; _g = JSII_RTTI_SYMBOL_1; OpsworksInstanceTimeoutsOutputReference[_g] = { fqn: "@cdktf/provider-aws.opsworksInstance.OpsworksInstanceTimeoutsOutputReference", version: "19.50.0" }; /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/opsworks_instance aws_opsworks_instance} */ class OpsworksInstance extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a OpsworksInstance 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 OpsworksInstance to import * @param importFromId The id of the existing OpsworksInstance that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/opsworks_instance#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the OpsworksInstance to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aws_opsworks_instance", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/opsworks_instance aws_opsworks_instance} 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 OpsworksInstanceConfig */ constructor(scope, id, config) { super(scope, id, { terraformResourceType: 'aws_opsworks_instance', 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 }); // ebs_block_device - computed: false, optional: true, required: false this._ebsBlockDevice = new OpsworksInstanceEbsBlockDeviceList(this, "ebs_block_device", true); // ephemeral_block_device - computed: false, optional: true, required: false this._ephemeralBlockDevice = new OpsworksInstanceEphemeralBlockDeviceList(this, "ephemeral_block_device", true); // root_block_device - computed: false, optional: true, required: false this._rootBlockDevice = new OpsworksInstanceRootBlockDeviceList(this, "root_block_device", true); // timeouts - computed: false, optional: true, required: false this._timeouts = new OpsworksInstanceTimeoutsOutputReference(this, "timeouts"); this._agentVersion = config.agentVersion; this._amiId = config.amiId; this._architecture = config.architecture; this._autoScalingType = config.autoScalingType; this._availabilityZone = config.availabilityZone; this._createdAt = config.createdAt; this._deleteEbs = config.deleteEbs; this._deleteEip = config.deleteEip; this._ebsOptimized = config.ebsOptimized; this._ecsClusterArn = config.ecsClusterArn; this._elasticIp = config.elasticIp; this._hostname = config.hostname; this._id = config.id; this._infrastructureClass = config.infrastructureClass; this._installUpdatesOnBoot = config.installUpdatesOnBoot; this._instanceProfileArn = config.instanceProfileArn; this._instanceType = config.instanceType; this._layerIds = config.layerIds; this._os = config.os; this._rootDeviceType = config.rootDeviceType; this._securityGroupIds = config.securityGroupIds; this._sshKeyName = config.sshKeyName; this._stackId = config.stackId; this._state = config.state; this._status = config.status; this._subnetId = config.subnetId; this._tenancy = config.tenancy; this._virtualizationType = config.virtualizationType; this._ebsBlockDevice.internalValue = config.ebsBlockDevice; this._ephemeralBlockDevice.internalValue = config.ephemeralBlockDevice; this._rootBlockDevice.internalValue = config.rootBlockDevice; this._timeouts.internalValue = config.timeouts; } get agentVersion() { return this.getStringAttribute('agent_version'); } set agentVersion(value) { this._agentVersion = value; } resetAgentVersion() { this._agentVersion = undefined; } // Temporarily expose input value. Use with caution. get agentVersionInput() { return this._agentVersion; } get amiId() { return this.getStringAttribute('ami_id'); } set amiId(value) { this._amiId = value; } resetAmiId() { this._amiId = undefined; } // Temporarily expose input value. Use with caution. get amiIdInput() { return this._amiId; } get architecture() { return this.getStringAttribute('architecture'); } set architecture(value) { this._architecture = value; } resetArchitecture() { this._architecture = undefined; } // Temporarily expose input value. Use with caution. get architectureInput() { return this._architecture; } get autoScalingType() { return this.getStringAttribute('auto_scaling_type'); } set autoScalingType(value) { this._autoScalingType = value; } resetAutoScalingType() { this._autoScalingType = undefined; } // Temporarily expose input value. Use with caution. get autoScalingTypeInput() { return this._autoScalingType; } 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 createdAt() { return this.getStringAttribute('created_at'); } set createdAt(value) { this._createdAt = value; } resetCreatedAt() { this._createdAt = undefined; } // Temporarily expose input value. Use with caution. get createdAtInput() { return this._createdAt; } get deleteEbs() { return this.getBooleanAttribute('delete_ebs'); } set deleteEbs(value) { this._deleteEbs = value; } resetDeleteEbs() { this._deleteEbs = undefined; } // Temporarily expose input value. Use with caution. get deleteEbsInput() { return this._deleteEbs; } get deleteEip() { return this.getBooleanAttribute('delete_eip'); } set deleteEip(value) { this._deleteEip = value; } resetDeleteEip() { this._deleteEip = undefined; } // Temporarily expose input value. Use with caution. get deleteEipInput() { return this._deleteEip; } get ebsOptimized() { return this.getBooleanAttribute('ebs_optimized'); } set ebsOptimized(value) { this._ebsOptimized = value; } resetEbsOptimized() { this._ebsOptimized = undefined; } // Temporarily expose input value. Use with caution. get ebsOptimizedInput() { return this._ebsOptimized; } // ec2_instance_id - computed: true, optional: false, required: false get ec2InstanceId() { return this.getStringAttribute('ec2_instance_id'); } get ecsClusterArn() { return this.getStringAttribute('ecs_cluster_arn'); } set ecsClusterArn(value) { this._ecsClusterArn = value; } resetEcsClusterArn() { this._ecsClusterArn = undefined; } // Temporarily expose input value. Use with caution. get ecsClusterArnInput() { return this._ecsClusterArn; } 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 hostname() { return this.getStringAttribute('hostname'); } set hostname(value) { this._hostname = value; } resetHostname() { this._hostname = undefined; } // Temporarily expose input value. Use with caution. get hostnameInput() { return this._hostname; } 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 infrastructureClass() { return this.getStringAttribute('infrastructure_class'); } set infrastructureClass(value) { this._infrastructureClass = value; } resetInfrastructureClass() { this._infrastructureClass = undefined; } // Temporarily expose input value. Use with caution. get infrastructureClassInput() { return this._infrastructureClass; } get installUpdatesOnBoot() { return this.getBooleanAttribute('install_updates_on_boot'); } set installUpdatesOnBoot(value) { this._installUpdatesOnBoot = value; } resetInstallUpdatesOnBoot() { this._installUpdatesOnBoot = undefined; } // Temporarily expose input value. Use with caution. get installUpdatesOnBootInput() { return this._installUpdatesOnBoot; } get instanceProfileArn() { return this.getStringAttribute('instance_profile_arn'); } set instanceProfileArn(value) { this._instanceProfileArn = value; } resetInstanceProfileArn() { this._instanceProfileArn = undefined; } // Temporarily expose input value. Use with caution. get instanceProfileArnInput() { return this._instanceProfileArn; } get instanceType() { return this.getStringAttribute('instance_type'); } set instanceType(value) { this._instanceType = value; } resetInstanceType() { this._instanceType = undefined; } // Temporarily expose input value. Use with caution. get instanceTypeInput() { return this._instanceType; } // last_service_error_id - computed: true, optional: false, required: false get lastServiceErrorId() { return this.getStringAttribute('last_service_error_id'); } get layerIds() { return this.getListAttribute('layer_ids'); } set layerIds(value) { this._layerIds = value; } // Temporarily expose input value. Use with caution. get layerIdsInput() { return this._layerIds; } get os() { return this.getStringAttribute('os'); } set os(value) { this._os = value; } resetOs() { this._os = undefined; } // Temporarily expose input value. Use with caution. get osInput() { return this._os; } // platform - computed: true, optional: false, required: false get platform() { return this.getStringAttribute('platform'); } // private_dns - computed: true, optional: false, required: false get privateDns() { return this.getStringAttribute('private_dns'); } // private_ip - computed: true, optional: false, required: false get privateIp() { return this.getStringAttribute('private_ip'); } // public_dns - computed: true, optional: false, required: false get publicDns() { return this.getStringAttribute('public_dns'); } // public_ip - computed: true, optional: false, required: false get publicIp() { return this.getStringAttribute('public_ip'); } // registered_by - computed: true, optional: false, required: false get registeredBy() { return this.getStringAttribute('registered_by'); } // reported_agent_version - computed: true, optional: false, required: false get reportedAgentVersion() { return this.getStringAttribute('reported_agent_version'); } // reported_os_family - computed: true, optional: false, required: false get reportedOsFamily() { return this.getStringAttribute('reported_os_family'); } // reported_os_name - computed: true, optional: false, required: false get reportedOsName() { return this.getStringAttribute('reported_os_name'); } // reported_os_version - computed: true, optional: false, required: false get reportedOsVersion() { return this.getStringAttribute('reported_os_version'); } get rootDeviceType() { return this.getStringAttribute('root_device_type'); } set rootDeviceType(value) { this._rootDeviceType = value; } resetRootDeviceType() { this._rootDeviceType = undefined; } // Temporarily expose input value. Use with caution. get rootDeviceTypeInput() { return this._rootDeviceType; } // root_device_volume_id - computed: true, optional: false, required: false get rootDeviceVolumeId() { return this.getStringAttribute('root_device_volume_id'); } get securityGroupIds() { return 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; } // ssh_host_dsa_key_fingerprint - computed: true, optional: false, required: false get sshHostDsaKeyFingerprint() { return this.getStringAttribute('ssh_host_dsa_key_fingerprint'); } // ssh_host_rsa_key_fingerprint - computed: true, optional: false, required: false get sshHostRsaKeyFingerprint() { return this.getStringAttribute('ssh_host_rsa_key_fingerprint'); } get sshKeyName() { return this.getStringAttribute('ssh_key_name'); } set sshKeyName(value) { this._sshKeyName = value; } resetSshKeyName() { this._sshKeyName = undefined; } // Temporarily expose input value. Use with caution. get sshKeyNameInput() { return this._sshKeyName; } get stackId() { return this.getStringAttribute('stack_id'); } set stackId(value) { this._stackId = value; } // Temporarily expose input value. Use with caution. get stackIdInput() { return this._stackId; } get state() { return this.getStringAttribute('state'); } set state(value) { this._state = value; } resetState() { this._state = undefined; } // Temporarily expose input value. Use with caution. get stateInput() { return this._state; } get status() { return this.getStringAttribute('status'); } set status(value) { this._status = value; } resetStatus() { this._status = undefined; } // Temporarily expose input value. Use with caution. get statusInput() { return this._status; } get subnetId() { return this.getStringAttribute('subnet_id'); } set subnetId(value) { this._subnetId = value; } resetSubnetId() { this._subnetId = undefined; } // Temporarily expose input value. Use with caution. get subnetIdInput() { return this._subnetId; } get tenancy() { return this.getStringAttribute('tenancy'); } set tenancy(value) { this._tenancy = value; } resetTenancy() { this._tenancy = undefined; } // Temporarily expose input value. Use with caution. get tenancyInput() { return this._tenancy; } get virtualizationType() { return this.getStringAttribute('virtualization_type'); } set virtualizationType(value) { this._virtualizationType = value; } resetVirtualizationType() { this._virtualizationType = undefined; } // Temporarily expose input value. Use with caution. get virtualizationTypeInput() { return this._virtualizationType; } get ebsBlockDevice() { return this._ebsBlockDevice; } putEbsBlockDevice(value) { this._ebsBlockDevice.internalValue = value; } resetEbsBlockDevice() { this._ebsBlockDevice.internalValue = undefined; } // Temporarily expose input value. Use with caution. get ebsBlockDeviceInput() { return this._ebsBlockDevice.internalValue; } get ephemeralBlockDevice() { return this._ephemeralBlockDevice; } putEphemeralBlockDevice(value) { this._ephemeralBlockDevice.internalValue = value; } resetEphemeralBlockDevice() { this._ephemeralBlockDevice.internalValue = undefined; } // Temporarily expose input value. Use with caution. get ephemeralBlockDeviceInput() { return this._ephemeralBlockDevice.internalValue; } get rootBlockDevice() { return this._rootBlockDevice; } putRootBlockDevice(value) { this._rootBlockDevice.internalValue = value; } resetRootBlockDevice() { this._rootBlockDevice.internalValue = undefined; } // Temporarily expose input value. Use with caution. get rootBlockDeviceInput() { return this._rootBlockDevice.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 { agent_version: cdktf.stringToTerraform(this._agentVersion), ami_id: cdktf.stringToTerraform(this._amiId), architecture: cdktf.stringToTerraform(this._architecture), auto_scaling_type: cdktf.stringToTerraform(this._autoScalingType), availability_zone: cdktf.stringToTerraform(this._availabilityZone), created_at: cdktf.stringToTerraform(this._createdAt), delete_ebs: cdktf.booleanToTerraform(this._deleteEbs), delete_eip: cdktf.booleanToTerraform(this._deleteEip), ebs_optimized: cdktf.booleanToTerraform(this._ebsOptimized), ecs_cluster_arn: cdktf.stringToTerraform(this._ecsClusterArn), elastic_ip: cdktf.stringToTerraform(this._elasticIp), hostname: cdktf.stringToTerraform(this._hostname), id: cdktf.stringToTerraform(this._id), infrastructure_class: cdktf.stringToTerraform(this._infrastructureClass), install_updates_on_boot: cdktf.booleanToTerraform(this._installUpdatesOnBoot), instance_profile_arn: cdktf.stringToTerraform(this._instanceProfileArn), instance_type: cdktf.stringToTerraform(this._instanceType), layer_ids: cdktf.listMapper(cdktf.stringToTerraform, false)(this._layerIds), os: cdktf.stringToTerraform(this._os), root_device_type: cdktf.stringToTerraform(this._rootDeviceType), security_group_ids: cdktf.listMapper(cdktf.stringToTerraform, false)(this._securityGroupIds), ssh_key_name: cdktf.stringToTerraform(this._sshKeyName), stack_id: cdktf.stringToTerraform(this._stackId), state: cdktf.stringToTerraform(this._state), status: cdktf.stringToTerraform(this._status), subnet_id: cdktf.stringToTerraform(this._subnetId), tenancy: cdktf.stringToTerraform(this._tenancy), virtualization_type: cdktf.stringToTerraform(this._virtualizationType), ebs_block_device: cdktf.listMapper(opsworksInstanceEbsBlockDeviceToTerraform, true)(this._ebsBlockDevice.internalValue), ephemeral_block_device: cdktf.listMapper(opsworksInstanceEphemeralBlockDeviceToTerraform, true)(this._ephemeralBlockDevice.internalValue), root_block_device: cdktf.listMapper(opsworksInstanceRootBlockDeviceToTerraform, true)(this._rootBlockDevice.internalValue), timeouts: opsworksInstanceTimeoutsToTerraform(this._timeouts.internalValue), }; } synthesizeHclAttributes() { const attrs = { agent_version: { value: cdktf.stringToHclTerraform(this._agentVersion), isBlock: false, type: "simple", storageClassType: "string", }, ami_id: { value: cdktf.stringToHclTerraform(this._amiId), isBlock: false, type: "simple", storageClassType: "string", }, architecture: { value: cdktf.stringToHclTerraform(this._architecture), isBlock: false, type: "simple", storageClassType: "string", }, auto_scaling_type: { value: cdktf.stringToHclTerraform(this._autoScalingType), isBlock: false, type: "simple", storageClassType: "string", }, availability_zone: { value: cdktf.stringToHclTerraform(this._availabilityZone), isBlock: false, type: "simp