@cdktf/provider-aws
Version:
Prebuilt aws Provider for Terraform CDK (cdktf)
903 lines • 131 kB
JavaScript
"use strict";
var _a, _b, _c, _d, _e, _f, _g;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CodedeployDeploymentConfig = exports.CodedeployDeploymentConfigZonalConfigOutputReference = exports.CodedeployDeploymentConfigZonalConfigMinimumHealthyHostsPerZoneOutputReference = exports.CodedeployDeploymentConfigTrafficRoutingConfigOutputReference = exports.CodedeployDeploymentConfigTrafficRoutingConfigTimeBasedLinearOutputReference = exports.CodedeployDeploymentConfigTrafficRoutingConfigTimeBasedCanaryOutputReference = exports.CodedeployDeploymentConfigMinimumHealthyHostsOutputReference = void 0;
exports.codedeployDeploymentConfigMinimumHealthyHostsToTerraform = codedeployDeploymentConfigMinimumHealthyHostsToTerraform;
exports.codedeployDeploymentConfigMinimumHealthyHostsToHclTerraform = codedeployDeploymentConfigMinimumHealthyHostsToHclTerraform;
exports.codedeployDeploymentConfigTrafficRoutingConfigTimeBasedCanaryToTerraform = codedeployDeploymentConfigTrafficRoutingConfigTimeBasedCanaryToTerraform;
exports.codedeployDeploymentConfigTrafficRoutingConfigTimeBasedCanaryToHclTerraform = codedeployDeploymentConfigTrafficRoutingConfigTimeBasedCanaryToHclTerraform;
exports.codedeployDeploymentConfigTrafficRoutingConfigTimeBasedLinearToTerraform = codedeployDeploymentConfigTrafficRoutingConfigTimeBasedLinearToTerraform;
exports.codedeployDeploymentConfigTrafficRoutingConfigTimeBasedLinearToHclTerraform = codedeployDeploymentConfigTrafficRoutingConfigTimeBasedLinearToHclTerraform;
exports.codedeployDeploymentConfigTrafficRoutingConfigToTerraform = codedeployDeploymentConfigTrafficRoutingConfigToTerraform;
exports.codedeployDeploymentConfigTrafficRoutingConfigToHclTerraform = codedeployDeploymentConfigTrafficRoutingConfigToHclTerraform;
exports.codedeployDeploymentConfigZonalConfigMinimumHealthyHostsPerZoneToTerraform = codedeployDeploymentConfigZonalConfigMinimumHealthyHostsPerZoneToTerraform;
exports.codedeployDeploymentConfigZonalConfigMinimumHealthyHostsPerZoneToHclTerraform = codedeployDeploymentConfigZonalConfigMinimumHealthyHostsPerZoneToHclTerraform;
exports.codedeployDeploymentConfigZonalConfigToTerraform = codedeployDeploymentConfigZonalConfigToTerraform;
exports.codedeployDeploymentConfigZonalConfigToHclTerraform = codedeployDeploymentConfigZonalConfigToHclTerraform;
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),
};
}
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));
}
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: "21.22.1" };
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),
};
}
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));
}
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: "21.22.1" };
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),
};
}
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));
}
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: "21.22.1" };
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),
};
}
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));
}
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: "21.22.1" };
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),
};
}
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));
}
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: "21.22.1" };
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),
};
}
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));
}
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: "21.22.1" };
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.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/6.25.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/6.25.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: '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
});
// 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._region = config.region;
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 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 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),
region: cdktf.stringToTerraform(this._region),
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",
},
region: {
value: cdktf.stringToHclTerraform(this._region),
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: "21.22.1" };
// =================
// STATIC PROPERTIES
// =================
CodedeployDeploymentConfig.tfResourceType = "aws_codedeploy_deployment_config";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29kZWRlcGxveS1kZXBsb3ltZW50LWNvbmZpZy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBaUVBLDRIQVNDO0FBR0Qsa0lBc0JDO0FBbUZELDRKQVNDO0FBR0Qsa0tBc0JDO0FBbUZELDRKQVNDO0FBR0Qsa0tBc0JDO0FBMkZELDhIQVVDO0FBR0Qsb0lBNEJDO0FBeUdELGdLQVNDO0FBR0Qsc0tBc0JDO0FBeUZELDRHQVVDO0FBR0Qsa0hBNEJDOztBQXJ0QkQsK0JBQStCO0FBd0QvQixTQUFnQix3REFBd0QsQ0FBQyxNQUFxSDtJQUM1TCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxPQUFPO1FBQ0wsSUFBSSxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsSUFBSSxDQUFDO1FBQzNDLEtBQUssRUFBRSxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTyxDQUFDLEtBQUssQ0FBQztLQUM5QyxDQUFBO0FBQ0gsQ0FBQztBQUdELFNBQWdCLDJEQUEyRCxDQUFDLE1BQXFIO0lBQy9MLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFBQyxPQUFPLE1BQU0sQ0FBQztJQUFDLENBQUM7SUFDNUYsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENB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