UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

1,066 lines 735 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17; Object.defineProperty(exports, "__esModule", { value: true }); exports.EmrCluster = exports.EmrClusterMasterInstanceGroupOutputReference = exports.EmrClusterMasterInstanceGroupEbsConfigList = exports.EmrClusterMasterInstanceGroupEbsConfigOutputReference = exports.EmrClusterMasterInstanceFleetOutputReference = exports.EmrClusterMasterInstanceFleetLaunchSpecificationsOutputReference = exports.EmrClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationList = exports.EmrClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationOutputReference = exports.EmrClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationList = exports.EmrClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationOutputReference = exports.EmrClusterMasterInstanceFleetInstanceTypeConfigsList = exports.EmrClusterMasterInstanceFleetInstanceTypeConfigsOutputReference = exports.EmrClusterMasterInstanceFleetInstanceTypeConfigsEbsConfigList = exports.EmrClusterMasterInstanceFleetInstanceTypeConfigsEbsConfigOutputReference = exports.EmrClusterMasterInstanceFleetInstanceTypeConfigsConfigurationsList = exports.EmrClusterMasterInstanceFleetInstanceTypeConfigsConfigurationsOutputReference = exports.EmrClusterKerberosAttributesOutputReference = exports.EmrClusterEc2AttributesOutputReference = exports.EmrClusterCoreInstanceGroupOutputReference = exports.EmrClusterCoreInstanceGroupEbsConfigList = exports.EmrClusterCoreInstanceGroupEbsConfigOutputReference = exports.EmrClusterCoreInstanceFleetOutputReference = exports.EmrClusterCoreInstanceFleetLaunchSpecificationsOutputReference = exports.EmrClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationList = exports.EmrClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationOutputReference = exports.EmrClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationList = exports.EmrClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationOutputReference = exports.EmrClusterCoreInstanceFleetInstanceTypeConfigsList = exports.EmrClusterCoreInstanceFleetInstanceTypeConfigsOutputReference = exports.EmrClusterCoreInstanceFleetInstanceTypeConfigsEbsConfigList = exports.EmrClusterCoreInstanceFleetInstanceTypeConfigsEbsConfigOutputReference = exports.EmrClusterCoreInstanceFleetInstanceTypeConfigsConfigurationsList = exports.EmrClusterCoreInstanceFleetInstanceTypeConfigsConfigurationsOutputReference = exports.EmrClusterBootstrapActionList = exports.EmrClusterBootstrapActionOutputReference = exports.EmrClusterAutoTerminationPolicyOutputReference = exports.EmrClusterStepList = exports.EmrClusterStepOutputReference = exports.EmrClusterStepHadoopJarStepList = exports.EmrClusterStepHadoopJarStepOutputReference = exports.EmrClusterPlacementGroupConfigList = exports.EmrClusterPlacementGroupConfigOutputReference = void 0; exports.emrClusterPlacementGroupConfigToTerraform = emrClusterPlacementGroupConfigToTerraform; exports.emrClusterPlacementGroupConfigToHclTerraform = emrClusterPlacementGroupConfigToHclTerraform; exports.emrClusterStepHadoopJarStepToTerraform = emrClusterStepHadoopJarStepToTerraform; exports.emrClusterStepHadoopJarStepToHclTerraform = emrClusterStepHadoopJarStepToHclTerraform; exports.emrClusterStepToTerraform = emrClusterStepToTerraform; exports.emrClusterStepToHclTerraform = emrClusterStepToHclTerraform; exports.emrClusterAutoTerminationPolicyToTerraform = emrClusterAutoTerminationPolicyToTerraform; exports.emrClusterAutoTerminationPolicyToHclTerraform = emrClusterAutoTerminationPolicyToHclTerraform; exports.emrClusterBootstrapActionToTerraform = emrClusterBootstrapActionToTerraform; exports.emrClusterBootstrapActionToHclTerraform = emrClusterBootstrapActionToHclTerraform; exports.emrClusterCoreInstanceFleetInstanceTypeConfigsConfigurationsToTerraform = emrClusterCoreInstanceFleetInstanceTypeConfigsConfigurationsToTerraform; exports.emrClusterCoreInstanceFleetInstanceTypeConfigsConfigurationsToHclTerraform = emrClusterCoreInstanceFleetInstanceTypeConfigsConfigurationsToHclTerraform; exports.emrClusterCoreInstanceFleetInstanceTypeConfigsEbsConfigToTerraform = emrClusterCoreInstanceFleetInstanceTypeConfigsEbsConfigToTerraform; exports.emrClusterCoreInstanceFleetInstanceTypeConfigsEbsConfigToHclTerraform = emrClusterCoreInstanceFleetInstanceTypeConfigsEbsConfigToHclTerraform; exports.emrClusterCoreInstanceFleetInstanceTypeConfigsToTerraform = emrClusterCoreInstanceFleetInstanceTypeConfigsToTerraform; exports.emrClusterCoreInstanceFleetInstanceTypeConfigsToHclTerraform = emrClusterCoreInstanceFleetInstanceTypeConfigsToHclTerraform; exports.emrClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationToTerraform = emrClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationToTerraform; exports.emrClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationToHclTerraform = emrClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationToHclTerraform; exports.emrClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationToTerraform = emrClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationToTerraform; exports.emrClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationToHclTerraform = emrClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationToHclTerraform; exports.emrClusterCoreInstanceFleetLaunchSpecificationsToTerraform = emrClusterCoreInstanceFleetLaunchSpecificationsToTerraform; exports.emrClusterCoreInstanceFleetLaunchSpecificationsToHclTerraform = emrClusterCoreInstanceFleetLaunchSpecificationsToHclTerraform; exports.emrClusterCoreInstanceFleetToTerraform = emrClusterCoreInstanceFleetToTerraform; exports.emrClusterCoreInstanceFleetToHclTerraform = emrClusterCoreInstanceFleetToHclTerraform; exports.emrClusterCoreInstanceGroupEbsConfigToTerraform = emrClusterCoreInstanceGroupEbsConfigToTerraform; exports.emrClusterCoreInstanceGroupEbsConfigToHclTerraform = emrClusterCoreInstanceGroupEbsConfigToHclTerraform; exports.emrClusterCoreInstanceGroupToTerraform = emrClusterCoreInstanceGroupToTerraform; exports.emrClusterCoreInstanceGroupToHclTerraform = emrClusterCoreInstanceGroupToHclTerraform; exports.emrClusterEc2AttributesToTerraform = emrClusterEc2AttributesToTerraform; exports.emrClusterEc2AttributesToHclTerraform = emrClusterEc2AttributesToHclTerraform; exports.emrClusterKerberosAttributesToTerraform = emrClusterKerberosAttributesToTerraform; exports.emrClusterKerberosAttributesToHclTerraform = emrClusterKerberosAttributesToHclTerraform; exports.emrClusterMasterInstanceFleetInstanceTypeConfigsConfigurationsToTerraform = emrClusterMasterInstanceFleetInstanceTypeConfigsConfigurationsToTerraform; exports.emrClusterMasterInstanceFleetInstanceTypeConfigsConfigurationsToHclTerraform = emrClusterMasterInstanceFleetInstanceTypeConfigsConfigurationsToHclTerraform; exports.emrClusterMasterInstanceFleetInstanceTypeConfigsEbsConfigToTerraform = emrClusterMasterInstanceFleetInstanceTypeConfigsEbsConfigToTerraform; exports.emrClusterMasterInstanceFleetInstanceTypeConfigsEbsConfigToHclTerraform = emrClusterMasterInstanceFleetInstanceTypeConfigsEbsConfigToHclTerraform; exports.emrClusterMasterInstanceFleetInstanceTypeConfigsToTerraform = emrClusterMasterInstanceFleetInstanceTypeConfigsToTerraform; exports.emrClusterMasterInstanceFleetInstanceTypeConfigsToHclTerraform = emrClusterMasterInstanceFleetInstanceTypeConfigsToHclTerraform; exports.emrClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationToTerraform = emrClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationToTerraform; exports.emrClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationToHclTerraform = emrClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationToHclTerraform; exports.emrClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationToTerraform = emrClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationToTerraform; exports.emrClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationToHclTerraform = emrClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationToHclTerraform; exports.emrClusterMasterInstanceFleetLaunchSpecificationsToTerraform = emrClusterMasterInstanceFleetLaunchSpecificationsToTerraform; exports.emrClusterMasterInstanceFleetLaunchSpecificationsToHclTerraform = emrClusterMasterInstanceFleetLaunchSpecificationsToHclTerraform; exports.emrClusterMasterInstanceFleetToTerraform = emrClusterMasterInstanceFleetToTerraform; exports.emrClusterMasterInstanceFleetToHclTerraform = emrClusterMasterInstanceFleetToHclTerraform; exports.emrClusterMasterInstanceGroupEbsConfigToTerraform = emrClusterMasterInstanceGroupEbsConfigToTerraform; exports.emrClusterMasterInstanceGroupEbsConfigToHclTerraform = emrClusterMasterInstanceGroupEbsConfigToHclTerraform; exports.emrClusterMasterInstanceGroupToTerraform = emrClusterMasterInstanceGroupToTerraform; exports.emrClusterMasterInstanceGroupToHclTerraform = emrClusterMasterInstanceGroupToHclTerraform; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function emrClusterPlacementGroupConfigToTerraform(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 { instance_role: cdktf.stringToTerraform(struct.instanceRole), placement_strategy: cdktf.stringToTerraform(struct.placementStrategy), }; } function emrClusterPlacementGroupConfigToHclTerraform(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 = { instance_role: { value: cdktf.stringToHclTerraform(struct.instanceRole), isBlock: false, type: "simple", storageClassType: "string", }, placement_strategy: { value: cdktf.stringToHclTerraform(struct.placementStrategy), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class EmrClusterPlacementGroupConfigOutputReference 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._instanceRole !== undefined) { hasAnyValues = true; internalValueResult.instanceRole = this._instanceRole; } if (this._placementStrategy !== undefined) { hasAnyValues = true; internalValueResult.placementStrategy = this._placementStrategy; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._instanceRole = undefined; this._placementStrategy = 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._instanceRole = value.instanceRole; this._placementStrategy = value.placementStrategy; } } get instanceRole() { return this.getStringAttribute('instance_role'); } set instanceRole(value) { this._instanceRole = value; } resetInstanceRole() { this._instanceRole = undefined; } // Temporarily expose input value. Use with caution. get instanceRoleInput() { return this._instanceRole; } get placementStrategy() { return this.getStringAttribute('placement_strategy'); } set placementStrategy(value) { this._placementStrategy = value; } resetPlacementStrategy() { this._placementStrategy = undefined; } // Temporarily expose input value. Use with caution. get placementStrategyInput() { return this._placementStrategy; } } exports.EmrClusterPlacementGroupConfigOutputReference = EmrClusterPlacementGroupConfigOutputReference; _a = JSII_RTTI_SYMBOL_1; EmrClusterPlacementGroupConfigOutputReference[_a] = { fqn: "@cdktf/provider-aws.emrCluster.EmrClusterPlacementGroupConfigOutputReference", version: "21.22.1" }; class EmrClusterPlacementGroupConfigList 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 EmrClusterPlacementGroupConfigOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.EmrClusterPlacementGroupConfigList = EmrClusterPlacementGroupConfigList; _b = JSII_RTTI_SYMBOL_1; EmrClusterPlacementGroupConfigList[_b] = { fqn: "@cdktf/provider-aws.emrCluster.EmrClusterPlacementGroupConfigList", version: "21.22.1" }; function emrClusterStepHadoopJarStepToTerraform(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 { args: struct.args === undefined ? null : cdktf.listMapper(cdktf.stringToTerraform, false)(struct.args), jar: struct.jar === undefined ? null : cdktf.stringToTerraform(struct.jar), main_class: struct.mainClass === undefined ? null : cdktf.stringToTerraform(struct.mainClass), properties: struct.properties === undefined ? null : cdktf.hashMapper(cdktf.stringToTerraform)(struct.properties), }; } function emrClusterStepHadoopJarStepToHclTerraform(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 = { args: { value: struct.args === undefined ? null : cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.args), isBlock: false, type: "list", storageClassType: "stringList", }, jar: { value: struct.jar === undefined ? null : cdktf.stringToHclTerraform(struct.jar), isBlock: false, type: "simple", storageClassType: "string", }, main_class: { value: struct.mainClass === undefined ? null : cdktf.stringToHclTerraform(struct.mainClass), isBlock: false, type: "simple", storageClassType: "string", }, properties: { value: struct.properties === undefined ? null : cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(struct.properties), isBlock: false, type: "map", storageClassType: "stringMap", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class EmrClusterStepHadoopJarStepOutputReference 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._args !== undefined) { hasAnyValues = true; internalValueResult.args = this._args; } if (this._jar !== undefined) { hasAnyValues = true; internalValueResult.jar = this._jar; } if (this._mainClass !== undefined) { hasAnyValues = true; internalValueResult.mainClass = this._mainClass; } if (this._properties !== undefined) { hasAnyValues = true; internalValueResult.properties = this._properties; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._args = undefined; this._jar = undefined; this._mainClass = undefined; this._properties = 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._args = value.args; this._jar = value.jar; this._mainClass = value.mainClass; this._properties = value.properties; } } get args() { return this.getListAttribute('args'); } set args(value) { this._args = value; } resetArgs() { this._args = undefined; } // Temporarily expose input value. Use with caution. get argsInput() { return this._args; } get jar() { return this.getStringAttribute('jar'); } set jar(value) { this._jar = value; } resetJar() { this._jar = undefined; } // Temporarily expose input value. Use with caution. get jarInput() { return this._jar; } get mainClass() { return this.getStringAttribute('main_class'); } set mainClass(value) { this._mainClass = value; } resetMainClass() { this._mainClass = undefined; } // Temporarily expose input value. Use with caution. get mainClassInput() { return this._mainClass; } get properties() { return this.getStringMapAttribute('properties'); } set properties(value) { this._properties = value; } resetProperties() { this._properties = undefined; } // Temporarily expose input value. Use with caution. get propertiesInput() { return this._properties; } } exports.EmrClusterStepHadoopJarStepOutputReference = EmrClusterStepHadoopJarStepOutputReference; _c = JSII_RTTI_SYMBOL_1; EmrClusterStepHadoopJarStepOutputReference[_c] = { fqn: "@cdktf/provider-aws.emrCluster.EmrClusterStepHadoopJarStepOutputReference", version: "21.22.1" }; class EmrClusterStepHadoopJarStepList 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 EmrClusterStepHadoopJarStepOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.EmrClusterStepHadoopJarStepList = EmrClusterStepHadoopJarStepList; _d = JSII_RTTI_SYMBOL_1; EmrClusterStepHadoopJarStepList[_d] = { fqn: "@cdktf/provider-aws.emrCluster.EmrClusterStepHadoopJarStepList", version: "21.22.1" }; function emrClusterStepToTerraform(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 { action_on_failure: struct.actionOnFailure === undefined ? null : cdktf.stringToTerraform(struct.actionOnFailure), hadoop_jar_step: struct.hadoopJarStep === undefined ? null : cdktf.listMapper(emrClusterStepHadoopJarStepToTerraform, false)(struct.hadoopJarStep), name: struct.name === undefined ? null : cdktf.stringToTerraform(struct.name), }; } function emrClusterStepToHclTerraform(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 = { action_on_failure: { value: struct.actionOnFailure === undefined ? null : cdktf.stringToHclTerraform(struct.actionOnFailure), isBlock: false, type: "simple", storageClassType: "string", }, hadoop_jar_step: { value: struct.hadoopJarStep === undefined ? null : cdktf.listMapperHcl(emrClusterStepHadoopJarStepToHclTerraform, false)(struct.hadoopJarStep), isBlock: true, type: "list", storageClassType: "EmrClusterStepHadoopJarStepList", }, name: { value: struct.name === undefined ? null : cdktf.stringToHclTerraform(struct.name), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class EmrClusterStepOutputReference 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; // hadoop_jar_step - computed: true, optional: true, required: false this._hadoopJarStep = new EmrClusterStepHadoopJarStepList(this, "hadoop_jar_step", false); } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._actionOnFailure !== undefined) { hasAnyValues = true; internalValueResult.actionOnFailure = this._actionOnFailure; } if (this._hadoopJarStep?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.hadoopJarStep = this._hadoopJarStep?.internalValue; } if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._actionOnFailure = undefined; this._hadoopJarStep.internalValue = undefined; this._name = 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._actionOnFailure = value.actionOnFailure; this._hadoopJarStep.internalValue = value.hadoopJarStep; this._name = value.name; } } get actionOnFailure() { return this.getStringAttribute('action_on_failure'); } set actionOnFailure(value) { this._actionOnFailure = value; } resetActionOnFailure() { this._actionOnFailure = undefined; } // Temporarily expose input value. Use with caution. get actionOnFailureInput() { return this._actionOnFailure; } get hadoopJarStep() { return this._hadoopJarStep; } putHadoopJarStep(value) { this._hadoopJarStep.internalValue = value; } resetHadoopJarStep() { this._hadoopJarStep.internalValue = undefined; } // Temporarily expose input value. Use with caution. get hadoopJarStepInput() { return this._hadoopJarStep.internalValue; } get name() { return this.getStringAttribute('name'); } set name(value) { this._name = value; } resetName() { this._name = undefined; } // Temporarily expose input value. Use with caution. get nameInput() { return this._name; } } exports.EmrClusterStepOutputReference = EmrClusterStepOutputReference; _e = JSII_RTTI_SYMBOL_1; EmrClusterStepOutputReference[_e] = { fqn: "@cdktf/provider-aws.emrCluster.EmrClusterStepOutputReference", version: "21.22.1" }; class EmrClusterStepList 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 EmrClusterStepOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.EmrClusterStepList = EmrClusterStepList; _f = JSII_RTTI_SYMBOL_1; EmrClusterStepList[_f] = { fqn: "@cdktf/provider-aws.emrCluster.EmrClusterStepList", version: "21.22.1" }; function emrClusterAutoTerminationPolicyToTerraform(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 { idle_timeout: cdktf.numberToTerraform(struct.idleTimeout), }; } function emrClusterAutoTerminationPolicyToHclTerraform(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 = { idle_timeout: { value: cdktf.numberToHclTerraform(struct.idleTimeout), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class EmrClusterAutoTerminationPolicyOutputReference 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._idleTimeout !== undefined) { hasAnyValues = true; internalValueResult.idleTimeout = this._idleTimeout; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._idleTimeout = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._idleTimeout = value.idleTimeout; } } get idleTimeout() { return this.getNumberAttribute('idle_timeout'); } set idleTimeout(value) { this._idleTimeout = value; } resetIdleTimeout() { this._idleTimeout = undefined; } // Temporarily expose input value. Use with caution. get idleTimeoutInput() { return this._idleTimeout; } } exports.EmrClusterAutoTerminationPolicyOutputReference = EmrClusterAutoTerminationPolicyOutputReference; _g = JSII_RTTI_SYMBOL_1; EmrClusterAutoTerminationPolicyOutputReference[_g] = { fqn: "@cdktf/provider-aws.emrCluster.EmrClusterAutoTerminationPolicyOutputReference", version: "21.22.1" }; function emrClusterBootstrapActionToTerraform(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 { args: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.args), name: cdktf.stringToTerraform(struct.name), path: cdktf.stringToTerraform(struct.path), }; } function emrClusterBootstrapActionToHclTerraform(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 = { args: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.args), isBlock: false, type: "list", storageClassType: "stringList", }, name: { value: cdktf.stringToHclTerraform(struct.name), isBlock: false, type: "simple", storageClassType: "string", }, path: { value: cdktf.stringToHclTerraform(struct.path), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class EmrClusterBootstrapActionOutputReference 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._args !== undefined) { hasAnyValues = true; internalValueResult.args = this._args; } if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } if (this._path !== undefined) { hasAnyValues = true; internalValueResult.path = this._path; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._args = undefined; this._name = undefined; this._path = 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._args = value.args; this._name = value.name; this._path = value.path; } } get args() { return this.getListAttribute('args'); } set args(value) { this._args = value; } resetArgs() { this._args = undefined; } // Temporarily expose input value. Use with caution. get argsInput() { return this._args; } get name() { return this.getStringAttribute('name'); } set name(value) { this._name = value; } // Temporarily expose input value. Use with caution. get nameInput() { return this._name; } get path() { return this.getStringAttribute('path'); } set path(value) { this._path = value; } // Temporarily expose input value. Use with caution. get pathInput() { return this._path; } } exports.EmrClusterBootstrapActionOutputReference = EmrClusterBootstrapActionOutputReference; _h = JSII_RTTI_SYMBOL_1; EmrClusterBootstrapActionOutputReference[_h] = { fqn: "@cdktf/provider-aws.emrCluster.EmrClusterBootstrapActionOutputReference", version: "21.22.1" }; class EmrClusterBootstrapActionList 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 EmrClusterBootstrapActionOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.EmrClusterBootstrapActionList = EmrClusterBootstrapActionList; _j = JSII_RTTI_SYMBOL_1; EmrClusterBootstrapActionList[_j] = { fqn: "@cdktf/provider-aws.emrCluster.EmrClusterBootstrapActionList", version: "21.22.1" }; function emrClusterCoreInstanceFleetInstanceTypeConfigsConfigurationsToTerraform(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 { classification: cdktf.stringToTerraform(struct.classification), properties: cdktf.hashMapper(cdktf.stringToTerraform)(struct.properties), }; } function emrClusterCoreInstanceFleetInstanceTypeConfigsConfigurationsToHclTerraform(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 = { classification: { value: cdktf.stringToHclTerraform(struct.classification), isBlock: false, type: "simple", storageClassType: "string", }, properties: { value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(struct.properties), isBlock: false, type: "map", storageClassType: "stringMap", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class EmrClusterCoreInstanceFleetInstanceTypeConfigsConfigurationsOutputReference 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._classification !== undefined) { hasAnyValues = true; internalValueResult.classification = this._classification; } if (this._properties !== undefined) { hasAnyValues = true; internalValueResult.properties = this._properties; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._classification = undefined; this._properties = 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._classification = value.classification; this._properties = value.properties; } } get classification() { return this.getStringAttribute('classification'); } set classification(value) { this._classification = value; } resetClassification() { this._classification = undefined; } // Temporarily expose input value. Use with caution. get classificationInput() { return this._classification; } get properties() { return this.getStringMapAttribute('properties'); } set properties(value) { this._properties = value; } resetProperties() { this._properties = undefined; } // Temporarily expose input value. Use with caution. get propertiesInput() { return this._properties; } } exports.EmrClusterCoreInstanceFleetInstanceTypeConfigsConfigurationsOutputReference = EmrClusterCoreInstanceFleetInstanceTypeConfigsConfigurationsOutputReference; _k = JSII_RTTI_SYMBOL_1; EmrClusterCoreInstanceFleetInstanceTypeConfigsConfigurationsOutputReference[_k] = { fqn: "@cdktf/provider-aws.emrCluster.EmrClusterCoreInstanceFleetInstanceTypeConfigsConfigurationsOutputReference", version: "21.22.1" }; class EmrClusterCoreInstanceFleetInstanceTypeConfigsConfigurationsList 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 EmrClusterCoreInstanceFleetInstanceTypeConfigsConfigurationsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.EmrClusterCoreInstanceFleetInstanceTypeConfigsConfigurationsList = EmrClusterCoreInstanceFleetInstanceTypeConfigsConfigurationsList; _l = JSII_RTTI_SYMBOL_1; EmrClusterCoreInstanceFleetInstanceTypeConfigsConfigurationsList[_l] = { fqn: "@cdktf/provider-aws.emrCluster.EmrClusterCoreInstanceFleetInstanceTypeConfigsConfigurationsList", version: "21.22.1" }; function emrClusterCoreInstanceFleetInstanceTypeConfigsEbsConfigToTerraform(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 { iops: cdktf.numberToTerraform(struct.iops), size: cdktf.numberToTerraform(struct.size), type: cdktf.stringToTerraform(struct.type), volumes_per_instance: cdktf.numberToTerraform(struct.volumesPerInstance), }; } function emrClusterCoreInstanceFleetInstanceTypeConfigsEbsConfigToHclTerraform(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 = { iops: { value: cdktf.numberToHclTerraform(struct.iops), isBlock: false, type: "simple", storageClassType: "number", }, size: { value: cdktf.numberToHclTerraform(struct.size), isBlock: false, type: "simple", storageClassType: "number", }, type: { value: cdktf.stringToHclTerraform(struct.type), isBlock: false, type: "simple", storageClassType: "string", }, volumes_per_instance: { value: cdktf.numberToHclTerraform(struct.volumesPerInstance), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class EmrClusterCoreInstanceFleetInstanceTypeConfigsEbsConfigOutputReference 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._iops !== undefined) { hasAnyValues = true; internalValueResult.iops = this._iops; } if (this._size !== undefined) { hasAnyValues = true; internalValueResult.size = this._size; } if (this._type !== undefined) { hasAnyValues = true; internalValueResult.type = this._type; } if (this._volumesPerInstance !== undefined) { hasAnyValues = true; internalValueResult.volumesPerInstance = this._volumesPerInstance; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._iops = undefined; this._size = undefined; this._type = undefined; this._volumesPerInstance = 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._iops = value.iops; this._size = value.size; this._type = value.type; this._volumesPerInstance = value.volumesPerInstance; } } get iops() { return this.getNumberAttribute('iops'); } set iops(value) { this._iops = value; } resetIops() { this._iops = undefined; } // Temporarily expose input value. Use with caution. get iopsInput() { return this._iops; } get size() { return this.getNumberAttribute('size'); } set size(value) { this._size = value; } // Temporarily expose input value. Use with caution. get sizeInput() { return this._size; } get type() { return this.getStringAttribute('type'); } set type(value) { this._type = value; } // Temporarily expose input value. Use with caution. get typeInput() { return this._type; } get volumesPerInstance() { return this.getNumberAttribute('volumes_per_instance'); } set volumesPerInstance(value) { this._volumesPerInstance = value; } resetVolumesPerInstance() { this._volumesPerInstance = undefined; } // Temporarily expose input value. Use with caution. get volumesPerInstanceInput() { return this._volumesPerInstance; } } exports.EmrClusterCoreInstanceFleetInstanceTypeConfigsEbsConfigOutputReference = EmrClusterCoreInstanceFleetInstanceTypeConfigsEbsConfigOutputReference; _m = JSII_RTTI_SYMBOL_1; EmrClusterCoreInstanceFleetInstanceTypeConfigsEbsConfigOutputReference[_m] = { fqn: "@cdktf/provider-aws.emrCluster.EmrClusterCoreInstanceFleetInstanceTypeConfigsEbsConfigOutputReference", version: "21.22.1" }; class EmrClusterCoreInstanceFleetInstanceTypeConfigsEbsConfigList 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