UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

1,120 lines 156 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j; Object.defineProperty(exports, "__esModule", { value: true }); exports.ImagebuilderImageRecipe = exports.ImagebuilderImageRecipeSystemsManagerAgentOutputReference = exports.imagebuilderImageRecipeSystemsManagerAgentToHclTerraform = exports.imagebuilderImageRecipeSystemsManagerAgentToTerraform = exports.ImagebuilderImageRecipeComponentList = exports.ImagebuilderImageRecipeComponentOutputReference = exports.imagebuilderImageRecipeComponentToHclTerraform = exports.imagebuilderImageRecipeComponentToTerraform = exports.ImagebuilderImageRecipeComponentParameterList = exports.ImagebuilderImageRecipeComponentParameterOutputReference = exports.imagebuilderImageRecipeComponentParameterToHclTerraform = exports.imagebuilderImageRecipeComponentParameterToTerraform = exports.ImagebuilderImageRecipeBlockDeviceMappingList = exports.ImagebuilderImageRecipeBlockDeviceMappingOutputReference = exports.imagebuilderImageRecipeBlockDeviceMappingToHclTerraform = exports.imagebuilderImageRecipeBlockDeviceMappingToTerraform = exports.ImagebuilderImageRecipeBlockDeviceMappingEbsOutputReference = exports.imagebuilderImageRecipeBlockDeviceMappingEbsToHclTerraform = exports.imagebuilderImageRecipeBlockDeviceMappingEbsToTerraform = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function imagebuilderImageRecipeBlockDeviceMappingEbsToTerraform(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.stringToTerraform(struct.deleteOnTermination), encrypted: cdktf.stringToTerraform(struct.encrypted), iops: cdktf.numberToTerraform(struct.iops), kms_key_id: cdktf.stringToTerraform(struct.kmsKeyId), snapshot_id: cdktf.stringToTerraform(struct.snapshotId), throughput: cdktf.numberToTerraform(struct.throughput), volume_size: cdktf.numberToTerraform(struct.volumeSize), volume_type: cdktf.stringToTerraform(struct.volumeType), }; } exports.imagebuilderImageRecipeBlockDeviceMappingEbsToTerraform = imagebuilderImageRecipeBlockDeviceMappingEbsToTerraform; function imagebuilderImageRecipeBlockDeviceMappingEbsToHclTerraform(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.stringToHclTerraform(struct.deleteOnTermination), isBlock: false, type: "simple", storageClassType: "string", }, encrypted: { value: cdktf.stringToHclTerraform(struct.encrypted), isBlock: false, type: "simple", storageClassType: "string", }, iops: { value: cdktf.numberToHclTerraform(struct.iops), isBlock: false, type: "simple", storageClassType: "number", }, kms_key_id: { value: cdktf.stringToHclTerraform(struct.kmsKeyId), isBlock: false, type: "simple", storageClassType: "string", }, snapshot_id: { value: cdktf.stringToHclTerraform(struct.snapshotId), isBlock: false, type: "simple", storageClassType: "string", }, throughput: { value: cdktf.numberToHclTerraform(struct.throughput), 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.imagebuilderImageRecipeBlockDeviceMappingEbsToHclTerraform = imagebuilderImageRecipeBlockDeviceMappingEbsToHclTerraform; class ImagebuilderImageRecipeBlockDeviceMappingEbsOutputReference 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._deleteOnTermination !== undefined) { hasAnyValues = true; internalValueResult.deleteOnTermination = this._deleteOnTermination; } if (this._encrypted !== undefined) { hasAnyValues = true; internalValueResult.encrypted = this._encrypted; } if (this._iops !== undefined) { hasAnyValues = true; internalValueResult.iops = this._iops; } if (this._kmsKeyId !== undefined) { hasAnyValues = true; internalValueResult.kmsKeyId = this._kmsKeyId; } if (this._snapshotId !== undefined) { hasAnyValues = true; internalValueResult.snapshotId = this._snapshotId; } if (this._throughput !== undefined) { hasAnyValues = true; internalValueResult.throughput = this._throughput; } 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._deleteOnTermination = undefined; this._encrypted = undefined; this._iops = undefined; this._kmsKeyId = undefined; this._snapshotId = undefined; this._throughput = undefined; this._volumeSize = undefined; this._volumeType = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._deleteOnTermination = value.deleteOnTermination; this._encrypted = value.encrypted; this._iops = value.iops; this._kmsKeyId = value.kmsKeyId; this._snapshotId = value.snapshotId; this._throughput = value.throughput; this._volumeSize = value.volumeSize; this._volumeType = value.volumeType; } } get deleteOnTermination() { return this.getStringAttribute('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 encrypted() { return this.getStringAttribute('encrypted'); } set encrypted(value) { this._encrypted = value; } resetEncrypted() { this._encrypted = undefined; } // Temporarily expose input value. Use with caution. get encryptedInput() { return this._encrypted; } 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 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 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 throughput() { return this.getNumberAttribute('throughput'); } set throughput(value) { this._throughput = value; } resetThroughput() { this._throughput = undefined; } // Temporarily expose input value. Use with caution. get throughputInput() { return this._throughput; } 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.ImagebuilderImageRecipeBlockDeviceMappingEbsOutputReference = ImagebuilderImageRecipeBlockDeviceMappingEbsOutputReference; _a = JSII_RTTI_SYMBOL_1; ImagebuilderImageRecipeBlockDeviceMappingEbsOutputReference[_a] = { fqn: "@cdktf/provider-aws.imagebuilderImageRecipe.ImagebuilderImageRecipeBlockDeviceMappingEbsOutputReference", version: "19.50.0" }; function imagebuilderImageRecipeBlockDeviceMappingToTerraform(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), no_device: cdktf.booleanToTerraform(struct.noDevice), virtual_name: cdktf.stringToTerraform(struct.virtualName), ebs: imagebuilderImageRecipeBlockDeviceMappingEbsToTerraform(struct.ebs), }; } exports.imagebuilderImageRecipeBlockDeviceMappingToTerraform = imagebuilderImageRecipeBlockDeviceMappingToTerraform; function imagebuilderImageRecipeBlockDeviceMappingToHclTerraform(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", }, no_device: { value: cdktf.booleanToHclTerraform(struct.noDevice), isBlock: false, type: "simple", storageClassType: "boolean", }, virtual_name: { value: cdktf.stringToHclTerraform(struct.virtualName), isBlock: false, type: "simple", storageClassType: "string", }, ebs: { value: imagebuilderImageRecipeBlockDeviceMappingEbsToHclTerraform(struct.ebs), isBlock: true, type: "list", storageClassType: "ImagebuilderImageRecipeBlockDeviceMappingEbsList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.imagebuilderImageRecipeBlockDeviceMappingToHclTerraform = imagebuilderImageRecipeBlockDeviceMappingToHclTerraform; class ImagebuilderImageRecipeBlockDeviceMappingOutputReference 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; // ebs - computed: false, optional: true, required: false this._ebs = new ImagebuilderImageRecipeBlockDeviceMappingEbsOutputReference(this, "ebs"); } 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._noDevice !== undefined) { hasAnyValues = true; internalValueResult.noDevice = this._noDevice; } if (this._virtualName !== undefined) { hasAnyValues = true; internalValueResult.virtualName = this._virtualName; } if (this._ebs?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.ebs = this._ebs?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._deviceName = undefined; this._noDevice = undefined; this._virtualName = undefined; this._ebs.internalValue = 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._noDevice = value.noDevice; this._virtualName = value.virtualName; this._ebs.internalValue = value.ebs; } } get deviceName() { return this.getStringAttribute('device_name'); } set deviceName(value) { this._deviceName = value; } resetDeviceName() { this._deviceName = undefined; } // Temporarily expose input value. Use with caution. get deviceNameInput() { return this._deviceName; } get noDevice() { return this.getBooleanAttribute('no_device'); } set noDevice(value) { this._noDevice = value; } resetNoDevice() { this._noDevice = undefined; } // Temporarily expose input value. Use with caution. get noDeviceInput() { return this._noDevice; } get virtualName() { return this.getStringAttribute('virtual_name'); } set virtualName(value) { this._virtualName = value; } resetVirtualName() { this._virtualName = undefined; } // Temporarily expose input value. Use with caution. get virtualNameInput() { return this._virtualName; } get ebs() { return this._ebs; } putEbs(value) { this._ebs.internalValue = value; } resetEbs() { this._ebs.internalValue = undefined; } // Temporarily expose input value. Use with caution. get ebsInput() { return this._ebs.internalValue; } } exports.ImagebuilderImageRecipeBlockDeviceMappingOutputReference = ImagebuilderImageRecipeBlockDeviceMappingOutputReference; _b = JSII_RTTI_SYMBOL_1; ImagebuilderImageRecipeBlockDeviceMappingOutputReference[_b] = { fqn: "@cdktf/provider-aws.imagebuilderImageRecipe.ImagebuilderImageRecipeBlockDeviceMappingOutputReference", version: "19.50.0" }; class ImagebuilderImageRecipeBlockDeviceMappingList 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 ImagebuilderImageRecipeBlockDeviceMappingOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.ImagebuilderImageRecipeBlockDeviceMappingList = ImagebuilderImageRecipeBlockDeviceMappingList; _c = JSII_RTTI_SYMBOL_1; ImagebuilderImageRecipeBlockDeviceMappingList[_c] = { fqn: "@cdktf/provider-aws.imagebuilderImageRecipe.ImagebuilderImageRecipeBlockDeviceMappingList", version: "19.50.0" }; function imagebuilderImageRecipeComponentParameterToTerraform(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 { name: cdktf.stringToTerraform(struct.name), value: cdktf.stringToTerraform(struct.value), }; } exports.imagebuilderImageRecipeComponentParameterToTerraform = imagebuilderImageRecipeComponentParameterToTerraform; function imagebuilderImageRecipeComponentParameterToHclTerraform(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 = { name: { value: cdktf.stringToHclTerraform(struct.name), isBlock: false, type: "simple", storageClassType: "string", }, value: { value: cdktf.stringToHclTerraform(struct.value), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.imagebuilderImageRecipeComponentParameterToHclTerraform = imagebuilderImageRecipeComponentParameterToHclTerraform; class ImagebuilderImageRecipeComponentParameterOutputReference 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._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } if (this._value !== undefined) { hasAnyValues = true; internalValueResult.value = this._value; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._name = undefined; this._value = 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._name = value.name; this._value = value.value; } } get name() { return this.getStringAttribute('name'); } set name(value) { this._name = value; } // Temporarily expose input value. Use with caution. get nameInput() { return this._name; } get value() { return this.getStringAttribute('value'); } set value(value) { this._value = value; } // Temporarily expose input value. Use with caution. get valueInput() { return this._value; } } exports.ImagebuilderImageRecipeComponentParameterOutputReference = ImagebuilderImageRecipeComponentParameterOutputReference; _d = JSII_RTTI_SYMBOL_1; ImagebuilderImageRecipeComponentParameterOutputReference[_d] = { fqn: "@cdktf/provider-aws.imagebuilderImageRecipe.ImagebuilderImageRecipeComponentParameterOutputReference", version: "19.50.0" }; class ImagebuilderImageRecipeComponentParameterList 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 ImagebuilderImageRecipeComponentParameterOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.ImagebuilderImageRecipeComponentParameterList = ImagebuilderImageRecipeComponentParameterList; _e = JSII_RTTI_SYMBOL_1; ImagebuilderImageRecipeComponentParameterList[_e] = { fqn: "@cdktf/provider-aws.imagebuilderImageRecipe.ImagebuilderImageRecipeComponentParameterList", version: "19.50.0" }; function imagebuilderImageRecipeComponentToTerraform(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 { component_arn: cdktf.stringToTerraform(struct.componentArn), parameter: cdktf.listMapper(imagebuilderImageRecipeComponentParameterToTerraform, true)(struct.parameter), }; } exports.imagebuilderImageRecipeComponentToTerraform = imagebuilderImageRecipeComponentToTerraform; function imagebuilderImageRecipeComponentToHclTerraform(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 = { component_arn: { value: cdktf.stringToHclTerraform(struct.componentArn), isBlock: false, type: "simple", storageClassType: "string", }, parameter: { value: cdktf.listMapperHcl(imagebuilderImageRecipeComponentParameterToHclTerraform, true)(struct.parameter), isBlock: true, type: "set", storageClassType: "ImagebuilderImageRecipeComponentParameterList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.imagebuilderImageRecipeComponentToHclTerraform = imagebuilderImageRecipeComponentToHclTerraform; class ImagebuilderImageRecipeComponentOutputReference 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; // parameter - computed: false, optional: true, required: false this._parameter = new ImagebuilderImageRecipeComponentParameterList(this, "parameter", true); } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._componentArn !== undefined) { hasAnyValues = true; internalValueResult.componentArn = this._componentArn; } if (this._parameter?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.parameter = this._parameter?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._componentArn = undefined; this._parameter.internalValue = 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._componentArn = value.componentArn; this._parameter.internalValue = value.parameter; } } get componentArn() { return this.getStringAttribute('component_arn'); } set componentArn(value) { this._componentArn = value; } // Temporarily expose input value. Use with caution. get componentArnInput() { return this._componentArn; } get parameter() { return this._parameter; } putParameter(value) { this._parameter.internalValue = value; } resetParameter() { this._parameter.internalValue = undefined; } // Temporarily expose input value. Use with caution. get parameterInput() { return this._parameter.internalValue; } } exports.ImagebuilderImageRecipeComponentOutputReference = ImagebuilderImageRecipeComponentOutputReference; _f = JSII_RTTI_SYMBOL_1; ImagebuilderImageRecipeComponentOutputReference[_f] = { fqn: "@cdktf/provider-aws.imagebuilderImageRecipe.ImagebuilderImageRecipeComponentOutputReference", version: "19.50.0" }; class ImagebuilderImageRecipeComponentList 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 ImagebuilderImageRecipeComponentOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.ImagebuilderImageRecipeComponentList = ImagebuilderImageRecipeComponentList; _g = JSII_RTTI_SYMBOL_1; ImagebuilderImageRecipeComponentList[_g] = { fqn: "@cdktf/provider-aws.imagebuilderImageRecipe.ImagebuilderImageRecipeComponentList", version: "19.50.0" }; function imagebuilderImageRecipeSystemsManagerAgentToTerraform(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 { uninstall_after_build: cdktf.booleanToTerraform(struct.uninstallAfterBuild), }; } exports.imagebuilderImageRecipeSystemsManagerAgentToTerraform = imagebuilderImageRecipeSystemsManagerAgentToTerraform; function imagebuilderImageRecipeSystemsManagerAgentToHclTerraform(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 = { uninstall_after_build: { value: cdktf.booleanToHclTerraform(struct.uninstallAfterBuild), isBlock: false, type: "simple", storageClassType: "boolean", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.imagebuilderImageRecipeSystemsManagerAgentToHclTerraform = imagebuilderImageRecipeSystemsManagerAgentToHclTerraform; class ImagebuilderImageRecipeSystemsManagerAgentOutputReference 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._uninstallAfterBuild !== undefined) { hasAnyValues = true; internalValueResult.uninstallAfterBuild = this._uninstallAfterBuild; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._uninstallAfterBuild = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._uninstallAfterBuild = value.uninstallAfterBuild; } } get uninstallAfterBuild() { return this.getBooleanAttribute('uninstall_after_build'); } set uninstallAfterBuild(value) { this._uninstallAfterBuild = value; } // Temporarily expose input value. Use with caution. get uninstallAfterBuildInput() { return this._uninstallAfterBuild; } } exports.ImagebuilderImageRecipeSystemsManagerAgentOutputReference = ImagebuilderImageRecipeSystemsManagerAgentOutputReference; _h = JSII_RTTI_SYMBOL_1; ImagebuilderImageRecipeSystemsManagerAgentOutputReference[_h] = { fqn: "@cdktf/provider-aws.imagebuilderImageRecipe.ImagebuilderImageRecipeSystemsManagerAgentOutputReference", version: "19.50.0" }; /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/imagebuilder_image_recipe aws_imagebuilder_image_recipe} */ class ImagebuilderImageRecipe extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a ImagebuilderImageRecipe 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 ImagebuilderImageRecipe to import * @param importFromId The id of the existing ImagebuilderImageRecipe that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/imagebuilder_image_recipe#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the ImagebuilderImageRecipe to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aws_imagebuilder_image_recipe", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/imagebuilder_image_recipe aws_imagebuilder_image_recipe} 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 ImagebuilderImageRecipeConfig */ constructor(scope, id, config) { super(scope, id, { terraformResourceType: 'aws_imagebuilder_image_recipe', 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 }); // block_device_mapping - computed: false, optional: true, required: false this._blockDeviceMapping = new ImagebuilderImageRecipeBlockDeviceMappingList(this, "block_device_mapping", true); // component - computed: false, optional: false, required: true this._component = new ImagebuilderImageRecipeComponentList(this, "component", false); // systems_manager_agent - computed: false, optional: true, required: false this._systemsManagerAgent = new ImagebuilderImageRecipeSystemsManagerAgentOutputReference(this, "systems_manager_agent"); this._description = config.description; this._id = config.id; this._name = config.name; this._parentImage = config.parentImage; this._tags = config.tags; this._tagsAll = config.tagsAll; this._userDataBase64 = config.userDataBase64; this._version = config.version; this._workingDirectory = config.workingDirectory; this._blockDeviceMapping.internalValue = config.blockDeviceMapping; this._component.internalValue = config.component; this._systemsManagerAgent.internalValue = config.systemsManagerAgent; } // ========== // ATTRIBUTES // ========== // arn - computed: true, optional: false, required: false get arn() { return this.getStringAttribute('arn'); } // date_created - computed: true, optional: false, required: false get dateCreated() { return this.getStringAttribute('date_created'); } 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 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 name() { return this.getStringAttribute('name'); } set name(value) { this._name = value; } // Temporarily expose input value. Use with caution. get nameInput() { return this._name; } // owner - computed: true, optional: false, required: false get owner() { return this.getStringAttribute('owner'); } get parentImage() { return this.getStringAttribute('parent_image'); } set parentImage(value) { this._parentImage = value; } // Temporarily expose input value. Use with caution. get parentImageInput() { return this._parentImage; } // platform - computed: true, optional: false, required: false get platform() { return this.getStringAttribute('platform'); } 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 userDataBase64() { return this.getStringAttribute('user_data_base64'); } set userDataBase64(value) { this._userDataBase64 = value; } resetUserDataBase64() { this._userDataBase64 = undefined; } // Temporarily expose input value. Use with caution. get userDataBase64Input() { return this._userDataBase64; } get version() { return this.getStringAttribute('version'); } set version(value) { this._version = value; } // Temporarily expose input value. Use with caution. get versionInput() { return this._version; } get workingDirectory() { return this.getStringAttribute('working_directory'); } set workingDirectory(value) { this._workingDirectory = value; } resetWorkingDirectory() { this._workingDirectory = undefined; } // Temporarily expose input value. Use with caution. get workingDirectoryInput() { return this._workingDirectory; } get blockDeviceMapping() { return this._blockDeviceMapping; } putBlockDeviceMapping(value) { this._blockDeviceMapping.internalValue = value; } resetBlockDeviceMapping() { this._blockDeviceMapping.internalValue = undefined; } // Temporarily expose input value. Use with caution. get blockDeviceMappingInput() { return this._blockDeviceMapping.internalValue; } get component() { return this._component; } putComponent(value) { this._component.internalValue = value; } // Temporarily expose input value. Use with caution. get componentInput() { return this._component.internalValue; } get systemsManagerAgent() { return this._systemsManagerAgent; } putSystemsManagerAgent(value) { this._systemsManagerAgent.internalValue = value; } resetSystemsManagerAgent() { this._systemsManagerAgent.internalValue = undefined; } // Temporarily expose input value. Use with caution. get systemsManagerAgentInput() { return this._systemsManagerAgent.internalValue; } // ========= // SYNTHESIS // ========= synthesizeAttributes() { return { description: cdktf.stringToTerraform(this._description), id: cdktf.stringToTerraform(this._id), name: cdktf.stringToTerraform(this._name), parent_image: cdktf.stringToTerraform(this._parentImage), tags: cdktf.hashMapper(cdktf.stringToTerraform)(this._tags), tags_all: cdktf.hashMapper(cdktf.stringToTerraform)(this._tagsAll), user_data_base64: cdktf.stringToTerraform(this._userDataBase64), version: cdktf.stringToTerraform(this._version), working_directory: cdktf.stringToTerraform(this._workingDirectory), block_device_mapping: cdktf.listMapper(imagebuilderImageRecipeBlockDeviceMappingToTerraform, true)(this._blockDeviceMapping.internalValue), component: cdktf.listMapper(imagebuilderImageRecipeComponentToTerraform, true)(this._component.internalValue), systems_manager_agent: imagebuilderImageRecipeSystemsManagerAgentToTerraform(this._systemsManagerAgent.internalValue), }; } synthesizeHclAttributes() { const attrs = { description: { value: cdktf.stringToHclTerraform(this._description), isBlock: false, type: "simple", storageClassType: "string", }, id: { value: cdktf.stringToHclTerraform(this._id), isBlock: false, type: "simple", storageClassType: "string", }, name: { value: cdktf.stringToHclTerraform(this._name), isBlock: false, type: "simple", storageClassType: "string", }, parent_image: { value: cdktf.stringToHclTerraform(this._parentImage), 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", }, user_data_base64: { value: cdktf.stringToHclTerraform(this._userDataBase64), isBlock: false, type: "simple", storageClassType: "string", }, version: { value: cdktf.stringToHclTerraform(this._version), isBlock: false, type: "simple", storageClassType: "string", }, working_directory: { value: cdktf.stringToHclTerraform(this._workingDirectory), isBlock: false, type: "simple", storageClassType: "string", }, block_device_mapping: { value: cdktf.listMapperHcl(imagebuilderImageRecipeBlockDeviceMappingToHclTerraform, true)(this._blockDeviceMapping.internalValue), isBlock: true, type: "set", storageClassType: "ImagebuilderImageRecipeBlockDeviceMappingList", }, component: { value: cdktf.listMapperHcl(imagebuilderImageRecipeComponentToHclTerraform, true)(this._component.internalValue), isBlock: true, type: "list", storageClassType: "ImagebuilderImageRecipeComponentList", }, systems_manager_agent: { value: imagebuilderImageRecipeSystemsManagerAgentToHclTerraform(this._systemsManagerAgent.internalValue), isBlock: true, type: "list", storageClassType: "ImagebuilderImageRecipeSystemsManagerAgentList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } } exports.ImagebuilderImageRecipe = ImagebuilderImageRecipe; _j = JSII_RTTI_SYMBOL_1; ImagebuilderImageRecipe[_j] = { fqn: "@cdktf/provider-aws.imagebuilderImageRecipe.ImagebuilderImageRecipe", version: "19.50.0" }; // ================= // STATIC PROPERTIES // ================= ImagebuilderImageRecipe.tfResourceType = "aws_imagebuilder_image_recipe"; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW1hZ2VidWlsZGVyLWltYWdlLXJlY2lwZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQVNBLCtCQUErQjtBQWtHL0IsU0FBZ0IsdURBQXVELENBQUMsTUFBbUg7SUFDekwsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsb0hBQW9ILENBQUMsQ0FBQztJQUN4SSxDQUFDO0lBQ0QsT0FBTztRQUNMLHFCQUFxQixFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsbUJBQW1CLENBQUM7UUFDM0UsU0FBUyxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsU0FBUyxDQUFDO1FBQ3JELElBQUksRUFBRSxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTyxDQUFDLElBQUksQ0FBQztRQUMzQyxVQUFVLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE1BQU8sQ0FBQyxRQUFRLENBQUM7UUFDckQsV0FBVyxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsVUFBVSxDQUFDO1FBQ3hELFVBQVUsRUFBRSxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTyxDQUFDLFVBQVUsQ0FBQztRQUN2RCxXQUFXLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE1BQU8sQ0FBQyxVQUFVLENBQUM7UUFDeEQsV0FBVyxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsVUFBVSxDQUFDO0tBQ3pELENB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