@cdktf/provider-aws
Version:
Prebuilt aws Provider for Terraform CDK (cdktf)
1,159 lines • 161 kB
JavaScript
"use strict";
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ImagebuilderImageRecipe = exports.ImagebuilderImageRecipeSystemsManagerAgentOutputReference = exports.ImagebuilderImageRecipeComponentList = exports.ImagebuilderImageRecipeComponentOutputReference = exports.ImagebuilderImageRecipeComponentParameterList = exports.ImagebuilderImageRecipeComponentParameterOutputReference = exports.ImagebuilderImageRecipeBlockDeviceMappingList = exports.ImagebuilderImageRecipeBlockDeviceMappingOutputReference = exports.ImagebuilderImageRecipeBlockDeviceMappingEbsOutputReference = void 0;
exports.imagebuilderImageRecipeBlockDeviceMappingEbsToTerraform = imagebuilderImageRecipeBlockDeviceMappingEbsToTerraform;
exports.imagebuilderImageRecipeBlockDeviceMappingEbsToHclTerraform = imagebuilderImageRecipeBlockDeviceMappingEbsToHclTerraform;
exports.imagebuilderImageRecipeBlockDeviceMappingToTerraform = imagebuilderImageRecipeBlockDeviceMappingToTerraform;
exports.imagebuilderImageRecipeBlockDeviceMappingToHclTerraform = imagebuilderImageRecipeBlockDeviceMappingToHclTerraform;
exports.imagebuilderImageRecipeComponentParameterToTerraform = imagebuilderImageRecipeComponentParameterToTerraform;
exports.imagebuilderImageRecipeComponentParameterToHclTerraform = imagebuilderImageRecipeComponentParameterToHclTerraform;
exports.imagebuilderImageRecipeComponentToTerraform = imagebuilderImageRecipeComponentToTerraform;
exports.imagebuilderImageRecipeComponentToHclTerraform = imagebuilderImageRecipeComponentToHclTerraform;
exports.imagebuilderImageRecipeSystemsManagerAgentToTerraform = imagebuilderImageRecipeSystemsManagerAgentToTerraform;
exports.imagebuilderImageRecipeSystemsManagerAgentToHclTerraform = imagebuilderImageRecipeSystemsManagerAgentToHclTerraform;
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),
};
}
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));
}
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: "21.22.1" };
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),
};
}
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));
}
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: "21.22.1" };
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: "21.22.1" };
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),
};
}
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));
}
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: "21.22.1" };
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: "21.22.1" };
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),
};
}
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));
}
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: "21.22.1" };
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: "21.22.1" };
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),
};
}
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));
}
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: "21.22.1" };
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.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/6.25.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/6.25.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: '6.25.0',
providerVersionConstraint: '~> 6.0'
},
provider: config.provider,
dependsOn: config.dependsOn,
count: config.count,
lifecycle: config.lifecycle,
provisioners: config.provisioners,
connection: config.connection,
forEach: config.forEach
});
// 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._amiTags = config.amiTags;
this._description = config.description;
this._id = config.id;
this._name = config.name;
this._parentImage = config.parentImage;
this._region = config.region;
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;
}
get amiTags() {
return this.getStringMapAttribute('ami_tags');
}
set amiTags(value) {
this._amiTags = value;
}
resetAmiTags() {
this._amiTags = undefined;
}
// Temporarily expose input value. Use with caution.
get amiTagsInput() {
return this._amiTags;
}
// 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 region() {
return this.getStringAttribute('region');
}
set region(value) {
this._region = value;
}
resetRegion() {
this._region = undefined;
}
// Temporarily expose input value. Use with caution.
get regionInput() {
return this._region;
}
get 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 {
ami_tags: cdktf.hashMapper(cdktf.stringToTerraform)(this._amiTags),
description: cdktf.stringToTerraform(this._description),
id: cdktf.stringToTerraform(this._id),
name: cdktf.stringToTerraform(this._name),
parent_image: cdktf.stringToTerraform(this._parentImage),
region: cdktf.stringToTerraform(this._region),
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 = {
ami_tags: {
value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(this._amiTags),
isBlock: false,
type: "map",
storageClassType: "stringMap",
},
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",
},
region: {
value: cdktf.stringToHclTerraform(this._region),
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: "21.22.1" };
// =================
// STATIC PROPERTIES
// =================
ImagebuilderImageRecipe.tfResourceType = "aws_imagebuilder_image_recipe";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW1hZ2VidWlsZGVyLWltYWdlLXJlY2lwZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBcUhBLDBIQWVDO0FBR0QsZ0lBMERDO0FBaU9ELG9IQVdDO0FBR0QsMEhBa0NDO0FBK0pELG9IQVNDO0FBR0QsMEhBc0JDO0FBK0dELGtHQVNDO0FBR0Qsd0dBc0JDO0FBNEdELHNIQVFDO0FBR0QsNEhBZ0JDOztBQWw2QkQsK0JBQStCO0FBNEcvQixTQUFnQix1REFBdUQsQ0FBQyxNQUFtSDtJQUN6TCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxPQUFPO1FBQ0wscUJBQXFCLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE1BQU8sQ0FBQyxtQkFBbUIsQ0FBQztRQUMzRSxTQUFTLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE1BQU8sQ0FBQyxTQUFTLENBQUM7UUFDckQsSUFBSSxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsSUFBSSxDQUFDO1FBQzNDLFVBQVUsRUFBRSxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTyxDQUFDLFFBQVEsQ0FBQztRQUNyRCxXQUFXLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE1BQU8sQ0FBQyxVQUFVLENBQUM7UUFDeEQsVUFBVSxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsVUFBVSxDQUFDO1FB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