UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

903 lines 131 kB
"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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