UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

1,125 lines 344 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u; Object.defineProperty(exports, "__esModule", { value: true }); exports.SchedulerSchedule = exports.SchedulerScheduleTargetOutputReference = exports.SchedulerScheduleTargetSqsParametersOutputReference = exports.SchedulerScheduleTargetSagemakerPipelineParametersOutputReference = exports.SchedulerScheduleTargetSagemakerPipelineParametersPipelineParameterList = exports.SchedulerScheduleTargetSagemakerPipelineParametersPipelineParameterOutputReference = exports.SchedulerScheduleTargetRetryPolicyOutputReference = exports.SchedulerScheduleTargetKinesisParametersOutputReference = exports.SchedulerScheduleTargetEventbridgeParametersOutputReference = exports.SchedulerScheduleTargetEcsParametersOutputReference = exports.SchedulerScheduleTargetEcsParametersPlacementStrategyList = exports.SchedulerScheduleTargetEcsParametersPlacementStrategyOutputReference = exports.SchedulerScheduleTargetEcsParametersPlacementConstraintsList = exports.SchedulerScheduleTargetEcsParametersPlacementConstraintsOutputReference = exports.SchedulerScheduleTargetEcsParametersNetworkConfigurationOutputReference = exports.SchedulerScheduleTargetEcsParametersCapacityProviderStrategyList = exports.SchedulerScheduleTargetEcsParametersCapacityProviderStrategyOutputReference = exports.SchedulerScheduleTargetDeadLetterConfigOutputReference = exports.SchedulerScheduleFlexibleTimeWindowOutputReference = void 0; exports.schedulerScheduleFlexibleTimeWindowToTerraform = schedulerScheduleFlexibleTimeWindowToTerraform; exports.schedulerScheduleFlexibleTimeWindowToHclTerraform = schedulerScheduleFlexibleTimeWindowToHclTerraform; exports.schedulerScheduleTargetDeadLetterConfigToTerraform = schedulerScheduleTargetDeadLetterConfigToTerraform; exports.schedulerScheduleTargetDeadLetterConfigToHclTerraform = schedulerScheduleTargetDeadLetterConfigToHclTerraform; exports.schedulerScheduleTargetEcsParametersCapacityProviderStrategyToTerraform = schedulerScheduleTargetEcsParametersCapacityProviderStrategyToTerraform; exports.schedulerScheduleTargetEcsParametersCapacityProviderStrategyToHclTerraform = schedulerScheduleTargetEcsParametersCapacityProviderStrategyToHclTerraform; exports.schedulerScheduleTargetEcsParametersNetworkConfigurationToTerraform = schedulerScheduleTargetEcsParametersNetworkConfigurationToTerraform; exports.schedulerScheduleTargetEcsParametersNetworkConfigurationToHclTerraform = schedulerScheduleTargetEcsParametersNetworkConfigurationToHclTerraform; exports.schedulerScheduleTargetEcsParametersPlacementConstraintsToTerraform = schedulerScheduleTargetEcsParametersPlacementConstraintsToTerraform; exports.schedulerScheduleTargetEcsParametersPlacementConstraintsToHclTerraform = schedulerScheduleTargetEcsParametersPlacementConstraintsToHclTerraform; exports.schedulerScheduleTargetEcsParametersPlacementStrategyToTerraform = schedulerScheduleTargetEcsParametersPlacementStrategyToTerraform; exports.schedulerScheduleTargetEcsParametersPlacementStrategyToHclTerraform = schedulerScheduleTargetEcsParametersPlacementStrategyToHclTerraform; exports.schedulerScheduleTargetEcsParametersToTerraform = schedulerScheduleTargetEcsParametersToTerraform; exports.schedulerScheduleTargetEcsParametersToHclTerraform = schedulerScheduleTargetEcsParametersToHclTerraform; exports.schedulerScheduleTargetEventbridgeParametersToTerraform = schedulerScheduleTargetEventbridgeParametersToTerraform; exports.schedulerScheduleTargetEventbridgeParametersToHclTerraform = schedulerScheduleTargetEventbridgeParametersToHclTerraform; exports.schedulerScheduleTargetKinesisParametersToTerraform = schedulerScheduleTargetKinesisParametersToTerraform; exports.schedulerScheduleTargetKinesisParametersToHclTerraform = schedulerScheduleTargetKinesisParametersToHclTerraform; exports.schedulerScheduleTargetRetryPolicyToTerraform = schedulerScheduleTargetRetryPolicyToTerraform; exports.schedulerScheduleTargetRetryPolicyToHclTerraform = schedulerScheduleTargetRetryPolicyToHclTerraform; exports.schedulerScheduleTargetSagemakerPipelineParametersPipelineParameterToTerraform = schedulerScheduleTargetSagemakerPipelineParametersPipelineParameterToTerraform; exports.schedulerScheduleTargetSagemakerPipelineParametersPipelineParameterToHclTerraform = schedulerScheduleTargetSagemakerPipelineParametersPipelineParameterToHclTerraform; exports.schedulerScheduleTargetSagemakerPipelineParametersToTerraform = schedulerScheduleTargetSagemakerPipelineParametersToTerraform; exports.schedulerScheduleTargetSagemakerPipelineParametersToHclTerraform = schedulerScheduleTargetSagemakerPipelineParametersToHclTerraform; exports.schedulerScheduleTargetSqsParametersToTerraform = schedulerScheduleTargetSqsParametersToTerraform; exports.schedulerScheduleTargetSqsParametersToHclTerraform = schedulerScheduleTargetSqsParametersToHclTerraform; exports.schedulerScheduleTargetToTerraform = schedulerScheduleTargetToTerraform; exports.schedulerScheduleTargetToHclTerraform = schedulerScheduleTargetToHclTerraform; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function schedulerScheduleFlexibleTimeWindowToTerraform(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 { maximum_window_in_minutes: cdktf.numberToTerraform(struct.maximumWindowInMinutes), mode: cdktf.stringToTerraform(struct.mode), }; } function schedulerScheduleFlexibleTimeWindowToHclTerraform(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 = { maximum_window_in_minutes: { value: cdktf.numberToHclTerraform(struct.maximumWindowInMinutes), isBlock: false, type: "simple", storageClassType: "number", }, mode: { value: cdktf.stringToHclTerraform(struct.mode), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class SchedulerScheduleFlexibleTimeWindowOutputReference 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._maximumWindowInMinutes !== undefined) { hasAnyValues = true; internalValueResult.maximumWindowInMinutes = this._maximumWindowInMinutes; } if (this._mode !== undefined) { hasAnyValues = true; internalValueResult.mode = this._mode; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._maximumWindowInMinutes = undefined; this._mode = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._maximumWindowInMinutes = value.maximumWindowInMinutes; this._mode = value.mode; } } get maximumWindowInMinutes() { return this.getNumberAttribute('maximum_window_in_minutes'); } set maximumWindowInMinutes(value) { this._maximumWindowInMinutes = value; } resetMaximumWindowInMinutes() { this._maximumWindowInMinutes = undefined; } // Temporarily expose input value. Use with caution. get maximumWindowInMinutesInput() { return this._maximumWindowInMinutes; } get mode() { return this.getStringAttribute('mode'); } set mode(value) { this._mode = value; } // Temporarily expose input value. Use with caution. get modeInput() { return this._mode; } } exports.SchedulerScheduleFlexibleTimeWindowOutputReference = SchedulerScheduleFlexibleTimeWindowOutputReference; _a = JSII_RTTI_SYMBOL_1; SchedulerScheduleFlexibleTimeWindowOutputReference[_a] = { fqn: "@cdktf/provider-aws.schedulerSchedule.SchedulerScheduleFlexibleTimeWindowOutputReference", version: "21.22.1" }; function schedulerScheduleTargetDeadLetterConfigToTerraform(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 { arn: cdktf.stringToTerraform(struct.arn), }; } function schedulerScheduleTargetDeadLetterConfigToHclTerraform(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 = { arn: { value: cdktf.stringToHclTerraform(struct.arn), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class SchedulerScheduleTargetDeadLetterConfigOutputReference 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._arn !== undefined) { hasAnyValues = true; internalValueResult.arn = this._arn; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._arn = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._arn = value.arn; } } get arn() { return this.getStringAttribute('arn'); } set arn(value) { this._arn = value; } // Temporarily expose input value. Use with caution. get arnInput() { return this._arn; } } exports.SchedulerScheduleTargetDeadLetterConfigOutputReference = SchedulerScheduleTargetDeadLetterConfigOutputReference; _b = JSII_RTTI_SYMBOL_1; SchedulerScheduleTargetDeadLetterConfigOutputReference[_b] = { fqn: "@cdktf/provider-aws.schedulerSchedule.SchedulerScheduleTargetDeadLetterConfigOutputReference", version: "21.22.1" }; function schedulerScheduleTargetEcsParametersCapacityProviderStrategyToTerraform(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 { base: cdktf.numberToTerraform(struct.base), capacity_provider: cdktf.stringToTerraform(struct.capacityProvider), weight: cdktf.numberToTerraform(struct.weight), }; } function schedulerScheduleTargetEcsParametersCapacityProviderStrategyToHclTerraform(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 = { base: { value: cdktf.numberToHclTerraform(struct.base), isBlock: false, type: "simple", storageClassType: "number", }, capacity_provider: { value: cdktf.stringToHclTerraform(struct.capacityProvider), isBlock: false, type: "simple", storageClassType: "string", }, weight: { value: cdktf.numberToHclTerraform(struct.weight), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class SchedulerScheduleTargetEcsParametersCapacityProviderStrategyOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._base !== undefined) { hasAnyValues = true; internalValueResult.base = this._base; } if (this._capacityProvider !== undefined) { hasAnyValues = true; internalValueResult.capacityProvider = this._capacityProvider; } if (this._weight !== undefined) { hasAnyValues = true; internalValueResult.weight = this._weight; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._base = undefined; this._capacityProvider = undefined; this._weight = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; this._base = value.base; this._capacityProvider = value.capacityProvider; this._weight = value.weight; } } get base() { return this.getNumberAttribute('base'); } set base(value) { this._base = value; } resetBase() { this._base = undefined; } // Temporarily expose input value. Use with caution. get baseInput() { return this._base; } get capacityProvider() { return this.getStringAttribute('capacity_provider'); } set capacityProvider(value) { this._capacityProvider = value; } // Temporarily expose input value. Use with caution. get capacityProviderInput() { return this._capacityProvider; } get weight() { return this.getNumberAttribute('weight'); } set weight(value) { this._weight = value; } resetWeight() { this._weight = undefined; } // Temporarily expose input value. Use with caution. get weightInput() { return this._weight; } } exports.SchedulerScheduleTargetEcsParametersCapacityProviderStrategyOutputReference = SchedulerScheduleTargetEcsParametersCapacityProviderStrategyOutputReference; _c = JSII_RTTI_SYMBOL_1; SchedulerScheduleTargetEcsParametersCapacityProviderStrategyOutputReference[_c] = { fqn: "@cdktf/provider-aws.schedulerSchedule.SchedulerScheduleTargetEcsParametersCapacityProviderStrategyOutputReference", version: "21.22.1" }; class SchedulerScheduleTargetEcsParametersCapacityProviderStrategyList extends cdktf.ComplexList { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new SchedulerScheduleTargetEcsParametersCapacityProviderStrategyOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.SchedulerScheduleTargetEcsParametersCapacityProviderStrategyList = SchedulerScheduleTargetEcsParametersCapacityProviderStrategyList; _d = JSII_RTTI_SYMBOL_1; SchedulerScheduleTargetEcsParametersCapacityProviderStrategyList[_d] = { fqn: "@cdktf/provider-aws.schedulerSchedule.SchedulerScheduleTargetEcsParametersCapacityProviderStrategyList", version: "21.22.1" }; function schedulerScheduleTargetEcsParametersNetworkConfigurationToTerraform(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 { assign_public_ip: cdktf.booleanToTerraform(struct.assignPublicIp), security_groups: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.securityGroups), subnets: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.subnets), }; } function schedulerScheduleTargetEcsParametersNetworkConfigurationToHclTerraform(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 = { assign_public_ip: { value: cdktf.booleanToHclTerraform(struct.assignPublicIp), isBlock: false, type: "simple", storageClassType: "boolean", }, security_groups: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.securityGroups), isBlock: false, type: "set", storageClassType: "stringList", }, subnets: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.subnets), isBlock: false, type: "set", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class SchedulerScheduleTargetEcsParametersNetworkConfigurationOutputReference 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._assignPublicIp !== undefined) { hasAnyValues = true; internalValueResult.assignPublicIp = this._assignPublicIp; } if (this._securityGroups !== undefined) { hasAnyValues = true; internalValueResult.securityGroups = this._securityGroups; } if (this._subnets !== undefined) { hasAnyValues = true; internalValueResult.subnets = this._subnets; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._assignPublicIp = undefined; this._securityGroups = undefined; this._subnets = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._assignPublicIp = value.assignPublicIp; this._securityGroups = value.securityGroups; this._subnets = value.subnets; } } get assignPublicIp() { return this.getBooleanAttribute('assign_public_ip'); } set assignPublicIp(value) { this._assignPublicIp = value; } resetAssignPublicIp() { this._assignPublicIp = undefined; } // Temporarily expose input value. Use with caution. get assignPublicIpInput() { return this._assignPublicIp; } get securityGroups() { return cdktf.Fn.tolist(this.getListAttribute('security_groups')); } set securityGroups(value) { this._securityGroups = value; } resetSecurityGroups() { this._securityGroups = undefined; } // Temporarily expose input value. Use with caution. get securityGroupsInput() { return this._securityGroups; } get subnets() { return cdktf.Fn.tolist(this.getListAttribute('subnets')); } set subnets(value) { this._subnets = value; } // Temporarily expose input value. Use with caution. get subnetsInput() { return this._subnets; } } exports.SchedulerScheduleTargetEcsParametersNetworkConfigurationOutputReference = SchedulerScheduleTargetEcsParametersNetworkConfigurationOutputReference; _e = JSII_RTTI_SYMBOL_1; SchedulerScheduleTargetEcsParametersNetworkConfigurationOutputReference[_e] = { fqn: "@cdktf/provider-aws.schedulerSchedule.SchedulerScheduleTargetEcsParametersNetworkConfigurationOutputReference", version: "21.22.1" }; function schedulerScheduleTargetEcsParametersPlacementConstraintsToTerraform(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 { expression: cdktf.stringToTerraform(struct.expression), type: cdktf.stringToTerraform(struct.type), }; } function schedulerScheduleTargetEcsParametersPlacementConstraintsToHclTerraform(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 = { expression: { value: cdktf.stringToHclTerraform(struct.expression), isBlock: false, type: "simple", storageClassType: "string", }, type: { value: cdktf.stringToHclTerraform(struct.type), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class SchedulerScheduleTargetEcsParametersPlacementConstraintsOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._expression !== undefined) { hasAnyValues = true; internalValueResult.expression = this._expression; } if (this._type !== undefined) { hasAnyValues = true; internalValueResult.type = this._type; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._expression = undefined; this._type = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; this._expression = value.expression; this._type = value.type; } } get expression() { return this.getStringAttribute('expression'); } set expression(value) { this._expression = value; } resetExpression() { this._expression = undefined; } // Temporarily expose input value. Use with caution. get expressionInput() { return this._expression; } get type() { return this.getStringAttribute('type'); } set type(value) { this._type = value; } // Temporarily expose input value. Use with caution. get typeInput() { return this._type; } } exports.SchedulerScheduleTargetEcsParametersPlacementConstraintsOutputReference = SchedulerScheduleTargetEcsParametersPlacementConstraintsOutputReference; _f = JSII_RTTI_SYMBOL_1; SchedulerScheduleTargetEcsParametersPlacementConstraintsOutputReference[_f] = { fqn: "@cdktf/provider-aws.schedulerSchedule.SchedulerScheduleTargetEcsParametersPlacementConstraintsOutputReference", version: "21.22.1" }; class SchedulerScheduleTargetEcsParametersPlacementConstraintsList extends cdktf.ComplexList { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new SchedulerScheduleTargetEcsParametersPlacementConstraintsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.SchedulerScheduleTargetEcsParametersPlacementConstraintsList = SchedulerScheduleTargetEcsParametersPlacementConstraintsList; _g = JSII_RTTI_SYMBOL_1; SchedulerScheduleTargetEcsParametersPlacementConstraintsList[_g] = { fqn: "@cdktf/provider-aws.schedulerSchedule.SchedulerScheduleTargetEcsParametersPlacementConstraintsList", version: "21.22.1" }; function schedulerScheduleTargetEcsParametersPlacementStrategyToTerraform(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 { field: cdktf.stringToTerraform(struct.field), type: cdktf.stringToTerraform(struct.type), }; } function schedulerScheduleTargetEcsParametersPlacementStrategyToHclTerraform(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 = { field: { value: cdktf.stringToHclTerraform(struct.field), isBlock: false, type: "simple", storageClassType: "string", }, type: { value: cdktf.stringToHclTerraform(struct.type), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class SchedulerScheduleTargetEcsParametersPlacementStrategyOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._field !== undefined) { hasAnyValues = true; internalValueResult.field = this._field; } if (this._type !== undefined) { hasAnyValues = true; internalValueResult.type = this._type; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._field = undefined; this._type = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; this._field = value.field; this._type = value.type; } } get field() { return this.getStringAttribute('field'); } set field(value) { this._field = value; } resetField() { this._field = undefined; } // Temporarily expose input value. Use with caution. get fieldInput() { return this._field; } get type() { return this.getStringAttribute('type'); } set type(value) { this._type = value; } // Temporarily expose input value. Use with caution. get typeInput() { return this._type; } } exports.SchedulerScheduleTargetEcsParametersPlacementStrategyOutputReference = SchedulerScheduleTargetEcsParametersPlacementStrategyOutputReference; _h = JSII_RTTI_SYMBOL_1; SchedulerScheduleTargetEcsParametersPlacementStrategyOutputReference[_h] = { fqn: "@cdktf/provider-aws.schedulerSchedule.SchedulerScheduleTargetEcsParametersPlacementStrategyOutputReference", version: "21.22.1" }; class SchedulerScheduleTargetEcsParametersPlacementStrategyList extends cdktf.ComplexList { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new SchedulerScheduleTargetEcsParametersPlacementStrategyOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.SchedulerScheduleTargetEcsParametersPlacementStrategyList = SchedulerScheduleTargetEcsParametersPlacementStrategyList; _j = JSII_RTTI_SYMBOL_1; SchedulerScheduleTargetEcsParametersPlacementStrategyList[_j] = { fqn: "@cdktf/provider-aws.schedulerSchedule.SchedulerScheduleTargetEcsParametersPlacementStrategyList", version: "21.22.1" }; function schedulerScheduleTargetEcsParametersToTerraform(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 { enable_ecs_managed_tags: cdktf.booleanToTerraform(struct.enableEcsManagedTags), enable_execute_command: cdktf.booleanToTerraform(struct.enableExecuteCommand), group: cdktf.stringToTerraform(struct.group), launch_type: cdktf.stringToTerraform(struct.launchType), platform_version: cdktf.stringToTerraform(struct.platformVersion), propagate_tags: cdktf.stringToTerraform(struct.propagateTags), reference_id: cdktf.stringToTerraform(struct.referenceId), tags: cdktf.hashMapper(cdktf.stringToTerraform)(struct.tags), task_count: cdktf.numberToTerraform(struct.taskCount), task_definition_arn: cdktf.stringToTerraform(struct.taskDefinitionArn), capacity_provider_strategy: cdktf.listMapper(schedulerScheduleTargetEcsParametersCapacityProviderStrategyToTerraform, true)(struct.capacityProviderStrategy), network_configuration: schedulerScheduleTargetEcsParametersNetworkConfigurationToTerraform(struct.networkConfiguration), placement_constraints: cdktf.listMapper(schedulerScheduleTargetEcsParametersPlacementConstraintsToTerraform, true)(struct.placementConstraints), placement_strategy: cdktf.listMapper(schedulerScheduleTargetEcsParametersPlacementStrategyToTerraform, true)(struct.placementStrategy), }; } function schedulerScheduleTargetEcsParametersToHclTerraform(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 = { enable_ecs_managed_tags: { value: cdktf.booleanToHclTerraform(struct.enableEcsManagedTags), isBlock: false, type: "simple", storageClassType: "boolean", }, enable_execute_command: { value: cdktf.booleanToHclTerraform(struct.enableExecuteCommand), isBlock: false, type: "simple", storageClassType: "boolean", }, group: { value: cdktf.stringToHclTerraform(struct.group), isBlock: false, type: "simple", storageClassType: "string", }, launch_type: { value: cdktf.stringToHclTerraform(struct.launchType), isBlock: false, type: "simple", storageClassType: "string", }, platform_version: { value: cdktf.stringToHclTerraform(struct.platformVersion), isBlock: false, type: "simple", storageClassType: "string", }, propagate_tags: { value: cdktf.stringToHclTerraform(struct.propagateTags), isBlock: false, type: "simple", storageClassType: "string", }, reference_id: { value: cdktf.stringToHclTerraform(struct.referenceId), isBlock: false, type: "simple", storageClassType: "string", }, tags: { value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(struct.tags), isBlock: false, type: "map", storageClassType: "stringMap", }, task_count: { value: cdktf.numberToHclTerraform(struct.taskCount), isBlock: false, type: "simple", storageClassType: "number", }, task_definition_arn: { value: cdktf.stringToHclTerraform(struct.taskDefinitionArn), isBlock: false, type: "simple", storageClassType: "string", }, capacity_provider_strategy: { value: cdktf.listMapperHcl(schedulerScheduleTargetEcsParametersCapacityProviderStrategyToHclTerraform, true)(struct.capacityProviderStrategy), isBlock: true, type: "set", storageClassType: "SchedulerScheduleTargetEcsParametersCapacityProviderStrategyList", }, network_configuration: { value: schedulerScheduleTargetEcsParametersNetworkConfigurationToHclTerraform(struct.networkConfiguration), isBlock: true, type: "list", storageClassType: "SchedulerScheduleTargetEcsParametersNetworkConfigurationList", }, placement_constraints: { value: cdktf.listMapperHcl(schedulerScheduleTargetEcsParametersPlacementConstraintsToHclTerraform, true)(struct.placementConstraints), isBlock: true, type: "set", storageClassType: "SchedulerScheduleTargetEcsParametersPlacementConstraintsList", }, placement_strategy: { value: cdktf.listMapperHcl(schedulerScheduleTargetEcsParametersPlacementStrategyToHclTerraform, true)(struct.placementStrategy), isBlock: true, type: "set", storageClassType: "SchedulerScheduleTargetEcsParametersPlacementStrategyList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class SchedulerScheduleTargetEcsParametersOutputReference 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; // capacity_provider_strategy - computed: false, optional: true, required: false this._capacityProviderStrategy = new SchedulerScheduleTargetEcsParametersCapacityProviderStrategyList(this, "capacity_provider_strategy", true); // network_configuration - computed: false, optional: true, required: false this._networkConfiguration = new SchedulerScheduleTargetEcsParametersNetworkConfigurationOutputReference(this, "network_configuration"); // placement_constraints - computed: false, optional: true, required: false this._placementConstraints = new SchedulerScheduleTargetEcsParametersPlacementConstraintsList(this, "placement_constraints", true); // placement_strategy - computed: false, optional: true, required: false this._placementStrategy = new SchedulerScheduleTargetEcsParametersPlacementStrategyList(this, "placement_strategy", true); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._enableEcsManagedTags !== undefined) { hasAnyValues = true; internalValueResult.enableEcsManagedTags = this._enableEcsManagedTags; } if (this._enableExecuteCommand !== undefined) { hasAnyValues = true; internalValueResult.enableExecuteCommand = this._enableExecuteCommand; } if (this._group !== undefined) { hasAnyValues = true; internalValueResult.group = this._group; } if (this._launchType !== undefined) { hasAnyValues = true; internalValueResult.launchType = this._launchType; } if (this._platformVersion !== undefined) { hasAnyValues = true; internalValueResult.platformVersion = this._platformVersion; } if (this._propagateTags !== undefined) { hasAnyValues = true; internalValueResult.propagateTags = this._propagateTags; } if (this._referenceId !== undefined) { hasAnyValues = true; internalValueResult.referenceId = this._referenceId; } if (this._tags !== undefined) { hasAnyValues = true; internalValueResult.tags = this._tags; } if (this._taskCount !== undefined) { hasAnyValues = true; internalValueResult.taskCount = this._taskCount; } if (this._taskDefinitionArn !== undefined) { hasAnyValues = true; internalValueResult.taskDefinitionArn = this._taskDefinitionArn; } if (this._capacityProviderStrategy?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.capacityProviderStrategy = this._capacityProviderStrategy?.internalValue; } if (this._networkConfiguration?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.networkConfiguration = this._networkConfiguration?.internalValue; } if (this._placementConstraints?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.placementConstraints = this._placementConstraints?.internalValue; } if (this._placementStrategy?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.placementStrategy = this._placementStrategy?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._enableEcsManagedTags = undefined; this._enableExecuteCommand = undefined; this._group = undefined; this._launchType = undefined; this._platformVersion = undefined; this._propagateTags = undefined; this._referenceId = undefined; this._tags = undefined; this._taskCount = undefined; this._taskDefinitionArn = undefined; this._capacityProviderStrategy.internalValue = undefined; this._networkConfiguration.internalValue = undefined; this._placementConstraints.internalValue = undefined; this._placementStrategy.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._enableEcsManagedTags = value.enableEcsManagedTags; this._enableExecuteCommand = value.enableExecuteCommand; this._group = value.group; this._launchType = value.launchType; this._platformVersion = value.platformVersion; this._propagateTags = value.propagateTags; this._referenceId = value.referenceId; this._tags = value.tags; this._taskCount = value.taskCount; this._taskDefinitionArn = value.taskDefinitionArn; this._capacityProviderStrategy.internalValue = value.capacityProviderStrategy; this._networkConfiguration.internalValue = value.networkConfiguration; this._placementConstraints.internalValue = value.placementConstraints; this._placementStrategy.internalValue = value.placementStrategy; } } get enableEcsManagedTags() { return this.getBooleanAttribute('enable_ecs_managed_tags'); } set enableEcsManagedTags(value) { this._enableEcsManagedTags = value; } resetEnableEcsManagedTags() { this._enableEcsManagedTags = undefined; } // Temporarily expose input value. Use with caution. get enableEcsManagedTagsInput() { return this._enableEcsManagedTags; } get enableExecuteCommand() { return this.getBooleanAttribute('enable_execute_command'); } set enableExecuteCommand(value) { this._enableExecuteCommand = value; } resetEnableExecuteCommand() { this._enableExecuteCommand = undefined; } // Temporarily expose input value. Use with caution. get enableExecuteCommandInput() { return this._enableExecuteCommand; } get group() { return this.getStringAttribute('group'); } set group(value) { this._group = value; } resetGroup() { this._group = undefined; } // Temporarily expose input value. Use with caution. get groupInput() { return this._group; } get launchType() { return this.getStringAttribute('launch_type'); } set launchType(value) { this._launchType = value; } resetLaunchType() { this._launchType = undefined; } // Temporarily expose input value. Use with caution. get launchTypeInput() { return this._launchType; } get platformVersion() { return this.getStringAttribute('platform_version'); } set platformVersion(value) { this._platformVersion = value; } resetPlatformVersion() { this._platformVersion = undefined; } // Temporarily expose input value. Use with caution. get platformVersionInput() { return this._platformVersion; } get propagateTags() { return this.getStringAttribute('propagate_tags'); } set propagateTags(value) { this._propagateTags = value; } resetPropagateTags() { this._propagateTags = undefined; } // Temporarily expose input value. Use with caution. get propagateTagsInput() { return this._propagateTags; } get referenceId() { return this.getStringAttribute('reference_id'); } set referenceId(value) { this._referenceId = value; } resetReferenceId() { this._referenceId = undefined; } // Temporarily expose input value. Use with caution. get referenceIdInput() { return this._referenceId; } get tags() { return this.getStringMapAttribute('tags'); } set tags(value) { this._tags = value; } resetTags() { this._tags = undefined; } // Temporarily expose input value. Use with caution. get tagsInput() { return this._tags; } get taskCount() { return this.getNumberAttribute('task_count'); } set taskCount(value) { this._taskCount = value; } resetTaskCount() { this._taskCount = undefined; } // Temporarily expose input value. Use with caution. get taskCountInput() { return this._taskCount; } get taskDefinitionArn() { return this.getStringAttribute('task_definition_arn'); } set taskDefinitionArn(value) { this._taskDefinitionArn = value; } // Temporarily expose input value. Use with caution. get taskDefinitionArnInput() { return this._taskDefinitionArn; } get capacityProviderStrategy() { return this._capacityProviderStrategy; } putCapacityProviderStrategy(value) { this._capacityProviderStrategy.internalValue = value; } resetCapacityProviderStrategy() { this._capacityProviderStrategy.internalValue = undefined; } // Temporarily expose input value. Use with caution. get capacityProviderStrategyInput() { return this._capacityProviderStrategy.internalValue; } get networkConfiguration() { return this._networkConfiguration; } putNetworkConfiguration(value) { this._networkConfiguration.internalValue = value; } resetNetworkConfiguration() { this._networkConfiguration.internalValue = undefined; } // Temporarily expose