@cdktf/provider-aws
Version:
Prebuilt aws Provider for Terraform CDK (cdktf)
882 lines • 129 kB
JavaScript
"use strict";
var _a, _b, _c, _d, _e, _f, _g;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CodedeployDeploymentConfig = exports.CodedeployDeploymentConfigZonalConfigOutputReference = exports.codedeployDeploymentConfigZonalConfigToHclTerraform = exports.codedeployDeploymentConfigZonalConfigToTerraform = exports.CodedeployDeploymentConfigZonalConfigMinimumHealthyHostsPerZoneOutputReference = exports.codedeployDeploymentConfigZonalConfigMinimumHealthyHostsPerZoneToHclTerraform = exports.codedeployDeploymentConfigZonalConfigMinimumHealthyHostsPerZoneToTerraform = exports.CodedeployDeploymentConfigTrafficRoutingConfigOutputReference = exports.codedeployDeploymentConfigTrafficRoutingConfigToHclTerraform = exports.codedeployDeploymentConfigTrafficRoutingConfigToTerraform = exports.CodedeployDeploymentConfigTrafficRoutingConfigTimeBasedLinearOutputReference = exports.codedeployDeploymentConfigTrafficRoutingConfigTimeBasedLinearToHclTerraform = exports.codedeployDeploymentConfigTrafficRoutingConfigTimeBasedLinearToTerraform = exports.CodedeployDeploymentConfigTrafficRoutingConfigTimeBasedCanaryOutputReference = exports.codedeployDeploymentConfigTrafficRoutingConfigTimeBasedCanaryToHclTerraform = exports.codedeployDeploymentConfigTrafficRoutingConfigTimeBasedCanaryToTerraform = exports.CodedeployDeploymentConfigMinimumHealthyHostsOutputReference = exports.codedeployDeploymentConfigMinimumHealthyHostsToHclTerraform = exports.codedeployDeploymentConfigMinimumHealthyHostsToTerraform = void 0;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const cdktf = require("cdktf");
function codedeployDeploymentConfigMinimumHealthyHostsToTerraform(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 {
type: cdktf.stringToTerraform(struct.type),
value: cdktf.numberToTerraform(struct.value),
};
}
exports.codedeployDeploymentConfigMinimumHealthyHostsToTerraform = codedeployDeploymentConfigMinimumHealthyHostsToTerraform;
function codedeployDeploymentConfigMinimumHealthyHostsToHclTerraform(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 = {
type: {
value: cdktf.stringToHclTerraform(struct.type),
isBlock: false,
type: "simple",
storageClassType: "string",
},
value: {
value: cdktf.numberToHclTerraform(struct.value),
isBlock: false,
type: "simple",
storageClassType: "number",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.codedeployDeploymentConfigMinimumHealthyHostsToHclTerraform = codedeployDeploymentConfigMinimumHealthyHostsToHclTerraform;
class CodedeployDeploymentConfigMinimumHealthyHostsOutputReference 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._type !== undefined) {
hasAnyValues = true;
internalValueResult.type = this._type;
}
if (this._value !== undefined) {
hasAnyValues = true;
internalValueResult.value = this._value;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._type = undefined;
this._value = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._type = value.type;
this._value = value.value;
}
}
get type() {
return this.getStringAttribute('type');
}
set type(value) {
this._type = value;
}
resetType() {
this._type = undefined;
}
// Temporarily expose input value. Use with caution.
get typeInput() {
return this._type;
}
get value() {
return this.getNumberAttribute('value');
}
set value(value) {
this._value = value;
}
resetValue() {
this._value = undefined;
}
// Temporarily expose input value. Use with caution.
get valueInput() {
return this._value;
}
}
exports.CodedeployDeploymentConfigMinimumHealthyHostsOutputReference = CodedeployDeploymentConfigMinimumHealthyHostsOutputReference;
_a = JSII_RTTI_SYMBOL_1;
CodedeployDeploymentConfigMinimumHealthyHostsOutputReference[_a] = { fqn: "@cdktf/provider-aws.codedeployDeploymentConfig.CodedeployDeploymentConfigMinimumHealthyHostsOutputReference", version: "19.50.0" };
function codedeployDeploymentConfigTrafficRoutingConfigTimeBasedCanaryToTerraform(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 {
interval: cdktf.numberToTerraform(struct.interval),
percentage: cdktf.numberToTerraform(struct.percentage),
};
}
exports.codedeployDeploymentConfigTrafficRoutingConfigTimeBasedCanaryToTerraform = codedeployDeploymentConfigTrafficRoutingConfigTimeBasedCanaryToTerraform;
function codedeployDeploymentConfigTrafficRoutingConfigTimeBasedCanaryToHclTerraform(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 = {
interval: {
value: cdktf.numberToHclTerraform(struct.interval),
isBlock: false,
type: "simple",
storageClassType: "number",
},
percentage: {
value: cdktf.numberToHclTerraform(struct.percentage),
isBlock: false,
type: "simple",
storageClassType: "number",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.codedeployDeploymentConfigTrafficRoutingConfigTimeBasedCanaryToHclTerraform = codedeployDeploymentConfigTrafficRoutingConfigTimeBasedCanaryToHclTerraform;
class CodedeployDeploymentConfigTrafficRoutingConfigTimeBasedCanaryOutputReference 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._interval !== undefined) {
hasAnyValues = true;
internalValueResult.interval = this._interval;
}
if (this._percentage !== undefined) {
hasAnyValues = true;
internalValueResult.percentage = this._percentage;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._interval = undefined;
this._percentage = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._interval = value.interval;
this._percentage = value.percentage;
}
}
get interval() {
return this.getNumberAttribute('interval');
}
set interval(value) {
this._interval = value;
}
resetInterval() {
this._interval = undefined;
}
// Temporarily expose input value. Use with caution.
get intervalInput() {
return this._interval;
}
get percentage() {
return this.getNumberAttribute('percentage');
}
set percentage(value) {
this._percentage = value;
}
resetPercentage() {
this._percentage = undefined;
}
// Temporarily expose input value. Use with caution.
get percentageInput() {
return this._percentage;
}
}
exports.CodedeployDeploymentConfigTrafficRoutingConfigTimeBasedCanaryOutputReference = CodedeployDeploymentConfigTrafficRoutingConfigTimeBasedCanaryOutputReference;
_b = JSII_RTTI_SYMBOL_1;
CodedeployDeploymentConfigTrafficRoutingConfigTimeBasedCanaryOutputReference[_b] = { fqn: "@cdktf/provider-aws.codedeployDeploymentConfig.CodedeployDeploymentConfigTrafficRoutingConfigTimeBasedCanaryOutputReference", version: "19.50.0" };
function codedeployDeploymentConfigTrafficRoutingConfigTimeBasedLinearToTerraform(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 {
interval: cdktf.numberToTerraform(struct.interval),
percentage: cdktf.numberToTerraform(struct.percentage),
};
}
exports.codedeployDeploymentConfigTrafficRoutingConfigTimeBasedLinearToTerraform = codedeployDeploymentConfigTrafficRoutingConfigTimeBasedLinearToTerraform;
function codedeployDeploymentConfigTrafficRoutingConfigTimeBasedLinearToHclTerraform(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 = {
interval: {
value: cdktf.numberToHclTerraform(struct.interval),
isBlock: false,
type: "simple",
storageClassType: "number",
},
percentage: {
value: cdktf.numberToHclTerraform(struct.percentage),
isBlock: false,
type: "simple",
storageClassType: "number",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.codedeployDeploymentConfigTrafficRoutingConfigTimeBasedLinearToHclTerraform = codedeployDeploymentConfigTrafficRoutingConfigTimeBasedLinearToHclTerraform;
class CodedeployDeploymentConfigTrafficRoutingConfigTimeBasedLinearOutputReference 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._interval !== undefined) {
hasAnyValues = true;
internalValueResult.interval = this._interval;
}
if (this._percentage !== undefined) {
hasAnyValues = true;
internalValueResult.percentage = this._percentage;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._interval = undefined;
this._percentage = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._interval = value.interval;
this._percentage = value.percentage;
}
}
get interval() {
return this.getNumberAttribute('interval');
}
set interval(value) {
this._interval = value;
}
resetInterval() {
this._interval = undefined;
}
// Temporarily expose input value. Use with caution.
get intervalInput() {
return this._interval;
}
get percentage() {
return this.getNumberAttribute('percentage');
}
set percentage(value) {
this._percentage = value;
}
resetPercentage() {
this._percentage = undefined;
}
// Temporarily expose input value. Use with caution.
get percentageInput() {
return this._percentage;
}
}
exports.CodedeployDeploymentConfigTrafficRoutingConfigTimeBasedLinearOutputReference = CodedeployDeploymentConfigTrafficRoutingConfigTimeBasedLinearOutputReference;
_c = JSII_RTTI_SYMBOL_1;
CodedeployDeploymentConfigTrafficRoutingConfigTimeBasedLinearOutputReference[_c] = { fqn: "@cdktf/provider-aws.codedeployDeploymentConfig.CodedeployDeploymentConfigTrafficRoutingConfigTimeBasedLinearOutputReference", version: "19.50.0" };
function codedeployDeploymentConfigTrafficRoutingConfigToTerraform(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 {
type: cdktf.stringToTerraform(struct.type),
time_based_canary: codedeployDeploymentConfigTrafficRoutingConfigTimeBasedCanaryToTerraform(struct.timeBasedCanary),
time_based_linear: codedeployDeploymentConfigTrafficRoutingConfigTimeBasedLinearToTerraform(struct.timeBasedLinear),
};
}
exports.codedeployDeploymentConfigTrafficRoutingConfigToTerraform = codedeployDeploymentConfigTrafficRoutingConfigToTerraform;
function codedeployDeploymentConfigTrafficRoutingConfigToHclTerraform(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 = {
type: {
value: cdktf.stringToHclTerraform(struct.type),
isBlock: false,
type: "simple",
storageClassType: "string",
},
time_based_canary: {
value: codedeployDeploymentConfigTrafficRoutingConfigTimeBasedCanaryToHclTerraform(struct.timeBasedCanary),
isBlock: true,
type: "list",
storageClassType: "CodedeployDeploymentConfigTrafficRoutingConfigTimeBasedCanaryList",
},
time_based_linear: {
value: codedeployDeploymentConfigTrafficRoutingConfigTimeBasedLinearToHclTerraform(struct.timeBasedLinear),
isBlock: true,
type: "list",
storageClassType: "CodedeployDeploymentConfigTrafficRoutingConfigTimeBasedLinearList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.codedeployDeploymentConfigTrafficRoutingConfigToHclTerraform = codedeployDeploymentConfigTrafficRoutingConfigToHclTerraform;
class CodedeployDeploymentConfigTrafficRoutingConfigOutputReference 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;
// time_based_canary - computed: false, optional: true, required: false
this._timeBasedCanary = new CodedeployDeploymentConfigTrafficRoutingConfigTimeBasedCanaryOutputReference(this, "time_based_canary");
// time_based_linear - computed: false, optional: true, required: false
this._timeBasedLinear = new CodedeployDeploymentConfigTrafficRoutingConfigTimeBasedLinearOutputReference(this, "time_based_linear");
}
get internalValue() {
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._type !== undefined) {
hasAnyValues = true;
internalValueResult.type = this._type;
}
if (this._timeBasedCanary?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.timeBasedCanary = this._timeBasedCanary?.internalValue;
}
if (this._timeBasedLinear?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.timeBasedLinear = this._timeBasedLinear?.internalValue;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._type = undefined;
this._timeBasedCanary.internalValue = undefined;
this._timeBasedLinear.internalValue = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._type = value.type;
this._timeBasedCanary.internalValue = value.timeBasedCanary;
this._timeBasedLinear.internalValue = value.timeBasedLinear;
}
}
get type() {
return this.getStringAttribute('type');
}
set type(value) {
this._type = value;
}
resetType() {
this._type = undefined;
}
// Temporarily expose input value. Use with caution.
get typeInput() {
return this._type;
}
get timeBasedCanary() {
return this._timeBasedCanary;
}
putTimeBasedCanary(value) {
this._timeBasedCanary.internalValue = value;
}
resetTimeBasedCanary() {
this._timeBasedCanary.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get timeBasedCanaryInput() {
return this._timeBasedCanary.internalValue;
}
get timeBasedLinear() {
return this._timeBasedLinear;
}
putTimeBasedLinear(value) {
this._timeBasedLinear.internalValue = value;
}
resetTimeBasedLinear() {
this._timeBasedLinear.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get timeBasedLinearInput() {
return this._timeBasedLinear.internalValue;
}
}
exports.CodedeployDeploymentConfigTrafficRoutingConfigOutputReference = CodedeployDeploymentConfigTrafficRoutingConfigOutputReference;
_d = JSII_RTTI_SYMBOL_1;
CodedeployDeploymentConfigTrafficRoutingConfigOutputReference[_d] = { fqn: "@cdktf/provider-aws.codedeployDeploymentConfig.CodedeployDeploymentConfigTrafficRoutingConfigOutputReference", version: "19.50.0" };
function codedeployDeploymentConfigZonalConfigMinimumHealthyHostsPerZoneToTerraform(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 {
type: cdktf.stringToTerraform(struct.type),
value: cdktf.numberToTerraform(struct.value),
};
}
exports.codedeployDeploymentConfigZonalConfigMinimumHealthyHostsPerZoneToTerraform = codedeployDeploymentConfigZonalConfigMinimumHealthyHostsPerZoneToTerraform;
function codedeployDeploymentConfigZonalConfigMinimumHealthyHostsPerZoneToHclTerraform(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 = {
type: {
value: cdktf.stringToHclTerraform(struct.type),
isBlock: false,
type: "simple",
storageClassType: "string",
},
value: {
value: cdktf.numberToHclTerraform(struct.value),
isBlock: false,
type: "simple",
storageClassType: "number",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.codedeployDeploymentConfigZonalConfigMinimumHealthyHostsPerZoneToHclTerraform = codedeployDeploymentConfigZonalConfigMinimumHealthyHostsPerZoneToHclTerraform;
class CodedeployDeploymentConfigZonalConfigMinimumHealthyHostsPerZoneOutputReference 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._type !== undefined) {
hasAnyValues = true;
internalValueResult.type = this._type;
}
if (this._value !== undefined) {
hasAnyValues = true;
internalValueResult.value = this._value;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._type = undefined;
this._value = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._type = value.type;
this._value = value.value;
}
}
get type() {
return this.getStringAttribute('type');
}
set type(value) {
this._type = value;
}
resetType() {
this._type = undefined;
}
// Temporarily expose input value. Use with caution.
get typeInput() {
return this._type;
}
get value() {
return this.getNumberAttribute('value');
}
set value(value) {
this._value = value;
}
resetValue() {
this._value = undefined;
}
// Temporarily expose input value. Use with caution.
get valueInput() {
return this._value;
}
}
exports.CodedeployDeploymentConfigZonalConfigMinimumHealthyHostsPerZoneOutputReference = CodedeployDeploymentConfigZonalConfigMinimumHealthyHostsPerZoneOutputReference;
_e = JSII_RTTI_SYMBOL_1;
CodedeployDeploymentConfigZonalConfigMinimumHealthyHostsPerZoneOutputReference[_e] = { fqn: "@cdktf/provider-aws.codedeployDeploymentConfig.CodedeployDeploymentConfigZonalConfigMinimumHealthyHostsPerZoneOutputReference", version: "19.50.0" };
function codedeployDeploymentConfigZonalConfigToTerraform(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 {
first_zone_monitor_duration_in_seconds: cdktf.numberToTerraform(struct.firstZoneMonitorDurationInSeconds),
monitor_duration_in_seconds: cdktf.numberToTerraform(struct.monitorDurationInSeconds),
minimum_healthy_hosts_per_zone: codedeployDeploymentConfigZonalConfigMinimumHealthyHostsPerZoneToTerraform(struct.minimumHealthyHostsPerZone),
};
}
exports.codedeployDeploymentConfigZonalConfigToTerraform = codedeployDeploymentConfigZonalConfigToTerraform;
function codedeployDeploymentConfigZonalConfigToHclTerraform(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 = {
first_zone_monitor_duration_in_seconds: {
value: cdktf.numberToHclTerraform(struct.firstZoneMonitorDurationInSeconds),
isBlock: false,
type: "simple",
storageClassType: "number",
},
monitor_duration_in_seconds: {
value: cdktf.numberToHclTerraform(struct.monitorDurationInSeconds),
isBlock: false,
type: "simple",
storageClassType: "number",
},
minimum_healthy_hosts_per_zone: {
value: codedeployDeploymentConfigZonalConfigMinimumHealthyHostsPerZoneToHclTerraform(struct.minimumHealthyHostsPerZone),
isBlock: true,
type: "list",
storageClassType: "CodedeployDeploymentConfigZonalConfigMinimumHealthyHostsPerZoneList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.codedeployDeploymentConfigZonalConfigToHclTerraform = codedeployDeploymentConfigZonalConfigToHclTerraform;
class CodedeployDeploymentConfigZonalConfigOutputReference 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;
// minimum_healthy_hosts_per_zone - computed: false, optional: true, required: false
this._minimumHealthyHostsPerZone = new CodedeployDeploymentConfigZonalConfigMinimumHealthyHostsPerZoneOutputReference(this, "minimum_healthy_hosts_per_zone");
}
get internalValue() {
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._firstZoneMonitorDurationInSeconds !== undefined) {
hasAnyValues = true;
internalValueResult.firstZoneMonitorDurationInSeconds = this._firstZoneMonitorDurationInSeconds;
}
if (this._monitorDurationInSeconds !== undefined) {
hasAnyValues = true;
internalValueResult.monitorDurationInSeconds = this._monitorDurationInSeconds;
}
if (this._minimumHealthyHostsPerZone?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.minimumHealthyHostsPerZone = this._minimumHealthyHostsPerZone?.internalValue;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._firstZoneMonitorDurationInSeconds = undefined;
this._monitorDurationInSeconds = undefined;
this._minimumHealthyHostsPerZone.internalValue = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._firstZoneMonitorDurationInSeconds = value.firstZoneMonitorDurationInSeconds;
this._monitorDurationInSeconds = value.monitorDurationInSeconds;
this._minimumHealthyHostsPerZone.internalValue = value.minimumHealthyHostsPerZone;
}
}
get firstZoneMonitorDurationInSeconds() {
return this.getNumberAttribute('first_zone_monitor_duration_in_seconds');
}
set firstZoneMonitorDurationInSeconds(value) {
this._firstZoneMonitorDurationInSeconds = value;
}
resetFirstZoneMonitorDurationInSeconds() {
this._firstZoneMonitorDurationInSeconds = undefined;
}
// Temporarily expose input value. Use with caution.
get firstZoneMonitorDurationInSecondsInput() {
return this._firstZoneMonitorDurationInSeconds;
}
get monitorDurationInSeconds() {
return this.getNumberAttribute('monitor_duration_in_seconds');
}
set monitorDurationInSeconds(value) {
this._monitorDurationInSeconds = value;
}
resetMonitorDurationInSeconds() {
this._monitorDurationInSeconds = undefined;
}
// Temporarily expose input value. Use with caution.
get monitorDurationInSecondsInput() {
return this._monitorDurationInSeconds;
}
get minimumHealthyHostsPerZone() {
return this._minimumHealthyHostsPerZone;
}
putMinimumHealthyHostsPerZone(value) {
this._minimumHealthyHostsPerZone.internalValue = value;
}
resetMinimumHealthyHostsPerZone() {
this._minimumHealthyHostsPerZone.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get minimumHealthyHostsPerZoneInput() {
return this._minimumHealthyHostsPerZone.internalValue;
}
}
exports.CodedeployDeploymentConfigZonalConfigOutputReference = CodedeployDeploymentConfigZonalConfigOutputReference;
_f = JSII_RTTI_SYMBOL_1;
CodedeployDeploymentConfigZonalConfigOutputReference[_f] = { fqn: "@cdktf/provider-aws.codedeployDeploymentConfig.CodedeployDeploymentConfigZonalConfigOutputReference", version: "19.50.0" };
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/codedeploy_deployment_config aws_codedeploy_deployment_config}
*/
class CodedeployDeploymentConfig extends cdktf.TerraformResource {
// ==============
// STATIC Methods
// ==============
/**
* Generates CDKTF code for importing a CodedeployDeploymentConfig 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 CodedeployDeploymentConfig to import
* @param importFromId The id of the existing CodedeployDeploymentConfig that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/codedeploy_deployment_config#import import section} in the documentation of this resource for the id to use
* @param provider? Optional instance of the provider where the CodedeployDeploymentConfig to import is found
*/
static generateConfigForImport(scope, importToId, importFromId, provider) {
return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aws_codedeploy_deployment_config", importId: importFromId, provider });
}
// ===========
// INITIALIZER
// ===========
/**
* Create a new {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/codedeploy_deployment_config aws_codedeploy_deployment_config} 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 CodedeployDeploymentConfigConfig
*/
constructor(scope, id, config) {
super(scope, id, {
terraformResourceType: 'aws_codedeploy_deployment_config',
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
});
// minimum_healthy_hosts - computed: false, optional: true, required: false
this._minimumHealthyHosts = new CodedeployDeploymentConfigMinimumHealthyHostsOutputReference(this, "minimum_healthy_hosts");
// traffic_routing_config - computed: false, optional: true, required: false
this._trafficRoutingConfig = new CodedeployDeploymentConfigTrafficRoutingConfigOutputReference(this, "traffic_routing_config");
// zonal_config - computed: false, optional: true, required: false
this._zonalConfig = new CodedeployDeploymentConfigZonalConfigOutputReference(this, "zonal_config");
this._computePlatform = config.computePlatform;
this._deploymentConfigName = config.deploymentConfigName;
this._id = config.id;
this._minimumHealthyHosts.internalValue = config.minimumHealthyHosts;
this._trafficRoutingConfig.internalValue = config.trafficRoutingConfig;
this._zonalConfig.internalValue = config.zonalConfig;
}
// ==========
// ATTRIBUTES
// ==========
// arn - computed: true, optional: false, required: false
get arn() {
return this.getStringAttribute('arn');
}
get computePlatform() {
return this.getStringAttribute('compute_platform');
}
set computePlatform(value) {
this._computePlatform = value;
}
resetComputePlatform() {
this._computePlatform = undefined;
}
// Temporarily expose input value. Use with caution.
get computePlatformInput() {
return this._computePlatform;
}
// deployment_config_id - computed: true, optional: false, required: false
get deploymentConfigId() {
return this.getStringAttribute('deployment_config_id');
}
get deploymentConfigName() {
return this.getStringAttribute('deployment_config_name');
}
set deploymentConfigName(value) {
this._deploymentConfigName = value;
}
// Temporarily expose input value. Use with caution.
get deploymentConfigNameInput() {
return this._deploymentConfigName;
}
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 minimumHealthyHosts() {
return this._minimumHealthyHosts;
}
putMinimumHealthyHosts(value) {
this._minimumHealthyHosts.internalValue = value;
}
resetMinimumHealthyHosts() {
this._minimumHealthyHosts.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get minimumHealthyHostsInput() {
return this._minimumHealthyHosts.internalValue;
}
get trafficRoutingConfig() {
return this._trafficRoutingConfig;
}
putTrafficRoutingConfig(value) {
this._trafficRoutingConfig.internalValue = value;
}
resetTrafficRoutingConfig() {
this._trafficRoutingConfig.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get trafficRoutingConfigInput() {
return this._trafficRoutingConfig.internalValue;
}
get zonalConfig() {
return this._zonalConfig;
}
putZonalConfig(value) {
this._zonalConfig.internalValue = value;
}
resetZonalConfig() {
this._zonalConfig.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get zonalConfigInput() {
return this._zonalConfig.internalValue;
}
// =========
// SYNTHESIS
// =========
synthesizeAttributes() {
return {
compute_platform: cdktf.stringToTerraform(this._computePlatform),
deployment_config_name: cdktf.stringToTerraform(this._deploymentConfigName),
id: cdktf.stringToTerraform(this._id),
minimum_healthy_hosts: codedeployDeploymentConfigMinimumHealthyHostsToTerraform(this._minimumHealthyHosts.internalValue),
traffic_routing_config: codedeployDeploymentConfigTrafficRoutingConfigToTerraform(this._trafficRoutingConfig.internalValue),
zonal_config: codedeployDeploymentConfigZonalConfigToTerraform(this._zonalConfig.internalValue),
};
}
synthesizeHclAttributes() {
const attrs = {
compute_platform: {
value: cdktf.stringToHclTerraform(this._computePlatform),
isBlock: false,
type: "simple",
storageClassType: "string",
},
deployment_config_name: {
value: cdktf.stringToHclTerraform(this._deploymentConfigName),
isBlock: false,
type: "simple",
storageClassType: "string",
},
id: {
value: cdktf.stringToHclTerraform(this._id),
isBlock: false,
type: "simple",
storageClassType: "string",
},
minimum_healthy_hosts: {
value: codedeployDeploymentConfigMinimumHealthyHostsToHclTerraform(this._minimumHealthyHosts.internalValue),
isBlock: true,
type: "list",
storageClassType: "CodedeployDeploymentConfigMinimumHealthyHostsList",
},
traffic_routing_config: {
value: codedeployDeploymentConfigTrafficRoutingConfigToHclTerraform(this._trafficRoutingConfig.internalValue),
isBlock: true,
type: "list",
storageClassType: "CodedeployDeploymentConfigTrafficRoutingConfigList",
},
zonal_config: {
value: codedeployDeploymentConfigZonalConfigToHclTerraform(this._zonalConfig.internalValue),
isBlock: true,
type: "list",
storageClassType: "CodedeployDeploymentConfigZonalConfigList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
}
exports.CodedeployDeploymentConfig = CodedeployDeploymentConfig;
_g = JSII_RTTI_SYMBOL_1;
CodedeployDeploymentConfig[_g] = { fqn: "@cdktf/provider-aws.codedeployDeploymentConfig.CodedeployDeploymentConfig", version: "19.50.0" };
// =================
// STATIC PROPERTIES
// =================
CodedeployDeploymentConfig.tfResourceType = "aws_codedeploy_deployment_config";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29kZWRlcGxveS1kZXBsb3ltZW50LWNvbmZpZy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQVNBLCtCQUErQjtBQWtEL0IsU0FBZ0Isd0RBQXdELENBQUMsTUFBcUg7SUFDNUwsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsb0hBQW9ILENBQUMsQ0FBQztJQUN4SSxDQUFDO0lBQ0QsT0FBTztRQUNMLElBQUksRUFBRSxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTyxDQUFDLElBQUksQ0FBQztRQUMzQyxLQUFLLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE1BQU8sQ0FBQyxLQUFLLENBQUM7S0FDOUMsQ0FBQTtBQUNILENBQUM7QUFURCw0SEFTQztBQUdELFNBQWdCLDJEQUEyRCxDQUFDLE1BQXFIO0lBQy9MLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFBQyxPQUFPLE1BQU0sQ0FBQztJQUFDLENBQUM7SUFDNUYsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLG9IQUFvSCxDQUFDLENBQUM7SUFDeEksQ0FBQztJQUNELE1BQU0sS0FBSyxHQUFHO1FBQ1osSUFBSSxFQUFFO1lBQ0osS0FBSyxFQUFFLEtBQUssQ0FB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