UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

929 lines 143 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l; Object.defineProperty(exports, "__esModule", { value: true }); exports.ComputeoptimizerRecommendationPreferences = exports.ComputeoptimizerRecommendationPreferencesUtilizationPreferenceList = exports.ComputeoptimizerRecommendationPreferencesUtilizationPreferenceOutputReference = exports.computeoptimizerRecommendationPreferencesUtilizationPreferenceToHclTerraform = exports.computeoptimizerRecommendationPreferencesUtilizationPreferenceToTerraform = exports.ComputeoptimizerRecommendationPreferencesUtilizationPreferenceMetricParametersList = exports.ComputeoptimizerRecommendationPreferencesUtilizationPreferenceMetricParametersOutputReference = exports.computeoptimizerRecommendationPreferencesUtilizationPreferenceMetricParametersToHclTerraform = exports.computeoptimizerRecommendationPreferencesUtilizationPreferenceMetricParametersToTerraform = exports.ComputeoptimizerRecommendationPreferencesScopeList = exports.ComputeoptimizerRecommendationPreferencesScopeOutputReference = exports.computeoptimizerRecommendationPreferencesScopeToHclTerraform = exports.computeoptimizerRecommendationPreferencesScopeToTerraform = exports.ComputeoptimizerRecommendationPreferencesPreferredResourceList = exports.ComputeoptimizerRecommendationPreferencesPreferredResourceOutputReference = exports.computeoptimizerRecommendationPreferencesPreferredResourceToHclTerraform = exports.computeoptimizerRecommendationPreferencesPreferredResourceToTerraform = exports.ComputeoptimizerRecommendationPreferencesExternalMetricsPreferenceList = exports.ComputeoptimizerRecommendationPreferencesExternalMetricsPreferenceOutputReference = exports.computeoptimizerRecommendationPreferencesExternalMetricsPreferenceToHclTerraform = exports.computeoptimizerRecommendationPreferencesExternalMetricsPreferenceToTerraform = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function computeoptimizerRecommendationPreferencesExternalMetricsPreferenceToTerraform(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 { source: cdktf.stringToTerraform(struct.source), }; } exports.computeoptimizerRecommendationPreferencesExternalMetricsPreferenceToTerraform = computeoptimizerRecommendationPreferencesExternalMetricsPreferenceToTerraform; function computeoptimizerRecommendationPreferencesExternalMetricsPreferenceToHclTerraform(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 = { source: { value: cdktf.stringToHclTerraform(struct.source), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.computeoptimizerRecommendationPreferencesExternalMetricsPreferenceToHclTerraform = computeoptimizerRecommendationPreferencesExternalMetricsPreferenceToHclTerraform; class ComputeoptimizerRecommendationPreferencesExternalMetricsPreferenceOutputReference 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._source !== undefined) { hasAnyValues = true; internalValueResult.source = this._source; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._source = 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._source = value.source; } } get source() { return this.getStringAttribute('source'); } set source(value) { this._source = value; } // Temporarily expose input value. Use with caution. get sourceInput() { return this._source; } } exports.ComputeoptimizerRecommendationPreferencesExternalMetricsPreferenceOutputReference = ComputeoptimizerRecommendationPreferencesExternalMetricsPreferenceOutputReference; _a = JSII_RTTI_SYMBOL_1; ComputeoptimizerRecommendationPreferencesExternalMetricsPreferenceOutputReference[_a] = { fqn: "@cdktf/provider-aws.computeoptimizerRecommendationPreferences.ComputeoptimizerRecommendationPreferencesExternalMetricsPreferenceOutputReference", version: "19.50.0" }; class ComputeoptimizerRecommendationPreferencesExternalMetricsPreferenceList 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 ComputeoptimizerRecommendationPreferencesExternalMetricsPreferenceOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.ComputeoptimizerRecommendationPreferencesExternalMetricsPreferenceList = ComputeoptimizerRecommendationPreferencesExternalMetricsPreferenceList; _b = JSII_RTTI_SYMBOL_1; ComputeoptimizerRecommendationPreferencesExternalMetricsPreferenceList[_b] = { fqn: "@cdktf/provider-aws.computeoptimizerRecommendationPreferences.ComputeoptimizerRecommendationPreferencesExternalMetricsPreferenceList", version: "19.50.0" }; function computeoptimizerRecommendationPreferencesPreferredResourceToTerraform(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 { exclude_list: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.excludeList), include_list: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.includeList), name: cdktf.stringToTerraform(struct.name), }; } exports.computeoptimizerRecommendationPreferencesPreferredResourceToTerraform = computeoptimizerRecommendationPreferencesPreferredResourceToTerraform; function computeoptimizerRecommendationPreferencesPreferredResourceToHclTerraform(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 = { exclude_list: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.excludeList), isBlock: false, type: "set", storageClassType: "stringList", }, include_list: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.includeList), isBlock: false, type: "set", storageClassType: "stringList", }, name: { value: 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)); } exports.computeoptimizerRecommendationPreferencesPreferredResourceToHclTerraform = computeoptimizerRecommendationPreferencesPreferredResourceToHclTerraform; class ComputeoptimizerRecommendationPreferencesPreferredResourceOutputReference 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._excludeList !== undefined) { hasAnyValues = true; internalValueResult.excludeList = this._excludeList; } if (this._includeList !== undefined) { hasAnyValues = true; internalValueResult.includeList = this._includeList; } 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._excludeList = undefined; this._includeList = 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._excludeList = value.excludeList; this._includeList = value.includeList; this._name = value.name; } } get excludeList() { return cdktf.Fn.tolist(this.getListAttribute('exclude_list')); } set excludeList(value) { this._excludeList = value; } resetExcludeList() { this._excludeList = undefined; } // Temporarily expose input value. Use with caution. get excludeListInput() { return this._excludeList; } get includeList() { return cdktf.Fn.tolist(this.getListAttribute('include_list')); } set includeList(value) { this._includeList = value; } resetIncludeList() { this._includeList = undefined; } // Temporarily expose input value. Use with caution. get includeListInput() { return this._includeList; } get name() { return this.getStringAttribute('name'); } set name(value) { this._name = value; } // Temporarily expose input value. Use with caution. get nameInput() { return this._name; } } exports.ComputeoptimizerRecommendationPreferencesPreferredResourceOutputReference = ComputeoptimizerRecommendationPreferencesPreferredResourceOutputReference; _c = JSII_RTTI_SYMBOL_1; ComputeoptimizerRecommendationPreferencesPreferredResourceOutputReference[_c] = { fqn: "@cdktf/provider-aws.computeoptimizerRecommendationPreferences.ComputeoptimizerRecommendationPreferencesPreferredResourceOutputReference", version: "19.50.0" }; class ComputeoptimizerRecommendationPreferencesPreferredResourceList 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 ComputeoptimizerRecommendationPreferencesPreferredResourceOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.ComputeoptimizerRecommendationPreferencesPreferredResourceList = ComputeoptimizerRecommendationPreferencesPreferredResourceList; _d = JSII_RTTI_SYMBOL_1; ComputeoptimizerRecommendationPreferencesPreferredResourceList[_d] = { fqn: "@cdktf/provider-aws.computeoptimizerRecommendationPreferences.ComputeoptimizerRecommendationPreferencesPreferredResourceList", version: "19.50.0" }; function computeoptimizerRecommendationPreferencesScopeToTerraform(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 { name: cdktf.stringToTerraform(struct.name), value: cdktf.stringToTerraform(struct.value), }; } exports.computeoptimizerRecommendationPreferencesScopeToTerraform = computeoptimizerRecommendationPreferencesScopeToTerraform; function computeoptimizerRecommendationPreferencesScopeToHclTerraform(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 = { name: { value: cdktf.stringToHclTerraform(struct.name), isBlock: false, type: "simple", storageClassType: "string", }, value: { value: cdktf.stringToHclTerraform(struct.value), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.computeoptimizerRecommendationPreferencesScopeToHclTerraform = computeoptimizerRecommendationPreferencesScopeToHclTerraform; class ComputeoptimizerRecommendationPreferencesScopeOutputReference 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._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } if (this._value !== undefined) { hasAnyValues = true; internalValueResult.value = this._value; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._name = undefined; this._value = 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._name = value.name; this._value = value.value; } } 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 value() { return this.getStringAttribute('value'); } set value(value) { this._value = value; } // Temporarily expose input value. Use with caution. get valueInput() { return this._value; } } exports.ComputeoptimizerRecommendationPreferencesScopeOutputReference = ComputeoptimizerRecommendationPreferencesScopeOutputReference; _e = JSII_RTTI_SYMBOL_1; ComputeoptimizerRecommendationPreferencesScopeOutputReference[_e] = { fqn: "@cdktf/provider-aws.computeoptimizerRecommendationPreferences.ComputeoptimizerRecommendationPreferencesScopeOutputReference", version: "19.50.0" }; class ComputeoptimizerRecommendationPreferencesScopeList 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 ComputeoptimizerRecommendationPreferencesScopeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.ComputeoptimizerRecommendationPreferencesScopeList = ComputeoptimizerRecommendationPreferencesScopeList; _f = JSII_RTTI_SYMBOL_1; ComputeoptimizerRecommendationPreferencesScopeList[_f] = { fqn: "@cdktf/provider-aws.computeoptimizerRecommendationPreferences.ComputeoptimizerRecommendationPreferencesScopeList", version: "19.50.0" }; function computeoptimizerRecommendationPreferencesUtilizationPreferenceMetricParametersToTerraform(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 { headroom: cdktf.stringToTerraform(struct.headroom), threshold: cdktf.stringToTerraform(struct.threshold), }; } exports.computeoptimizerRecommendationPreferencesUtilizationPreferenceMetricParametersToTerraform = computeoptimizerRecommendationPreferencesUtilizationPreferenceMetricParametersToTerraform; function computeoptimizerRecommendationPreferencesUtilizationPreferenceMetricParametersToHclTerraform(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 = { headroom: { value: cdktf.stringToHclTerraform(struct.headroom), isBlock: false, type: "simple", storageClassType: "string", }, threshold: { value: cdktf.stringToHclTerraform(struct.threshold), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.computeoptimizerRecommendationPreferencesUtilizationPreferenceMetricParametersToHclTerraform = computeoptimizerRecommendationPreferencesUtilizationPreferenceMetricParametersToHclTerraform; class ComputeoptimizerRecommendationPreferencesUtilizationPreferenceMetricParametersOutputReference 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._headroom !== undefined) { hasAnyValues = true; internalValueResult.headroom = this._headroom; } if (this._threshold !== undefined) { hasAnyValues = true; internalValueResult.threshold = this._threshold; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._headroom = undefined; this._threshold = 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._headroom = value.headroom; this._threshold = value.threshold; } } get headroom() { return this.getStringAttribute('headroom'); } set headroom(value) { this._headroom = value; } // Temporarily expose input value. Use with caution. get headroomInput() { return this._headroom; } get threshold() { return this.getStringAttribute('threshold'); } set threshold(value) { this._threshold = value; } resetThreshold() { this._threshold = undefined; } // Temporarily expose input value. Use with caution. get thresholdInput() { return this._threshold; } } exports.ComputeoptimizerRecommendationPreferencesUtilizationPreferenceMetricParametersOutputReference = ComputeoptimizerRecommendationPreferencesUtilizationPreferenceMetricParametersOutputReference; _g = JSII_RTTI_SYMBOL_1; ComputeoptimizerRecommendationPreferencesUtilizationPreferenceMetricParametersOutputReference[_g] = { fqn: "@cdktf/provider-aws.computeoptimizerRecommendationPreferences.ComputeoptimizerRecommendationPreferencesUtilizationPreferenceMetricParametersOutputReference", version: "19.50.0" }; class ComputeoptimizerRecommendationPreferencesUtilizationPreferenceMetricParametersList 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 ComputeoptimizerRecommendationPreferencesUtilizationPreferenceMetricParametersOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.ComputeoptimizerRecommendationPreferencesUtilizationPreferenceMetricParametersList = ComputeoptimizerRecommendationPreferencesUtilizationPreferenceMetricParametersList; _h = JSII_RTTI_SYMBOL_1; ComputeoptimizerRecommendationPreferencesUtilizationPreferenceMetricParametersList[_h] = { fqn: "@cdktf/provider-aws.computeoptimizerRecommendationPreferences.ComputeoptimizerRecommendationPreferencesUtilizationPreferenceMetricParametersList", version: "19.50.0" }; function computeoptimizerRecommendationPreferencesUtilizationPreferenceToTerraform(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 { metric_name: cdktf.stringToTerraform(struct.metricName), metric_parameters: cdktf.listMapper(computeoptimizerRecommendationPreferencesUtilizationPreferenceMetricParametersToTerraform, true)(struct.metricParameters), }; } exports.computeoptimizerRecommendationPreferencesUtilizationPreferenceToTerraform = computeoptimizerRecommendationPreferencesUtilizationPreferenceToTerraform; function computeoptimizerRecommendationPreferencesUtilizationPreferenceToHclTerraform(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 = { metric_name: { value: cdktf.stringToHclTerraform(struct.metricName), isBlock: false, type: "simple", storageClassType: "string", }, metric_parameters: { value: cdktf.listMapperHcl(computeoptimizerRecommendationPreferencesUtilizationPreferenceMetricParametersToHclTerraform, true)(struct.metricParameters), isBlock: true, type: "list", storageClassType: "ComputeoptimizerRecommendationPreferencesUtilizationPreferenceMetricParametersList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.computeoptimizerRecommendationPreferencesUtilizationPreferenceToHclTerraform = computeoptimizerRecommendationPreferencesUtilizationPreferenceToHclTerraform; class ComputeoptimizerRecommendationPreferencesUtilizationPreferenceOutputReference 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; // metric_parameters - computed: false, optional: true, required: false this._metricParameters = new ComputeoptimizerRecommendationPreferencesUtilizationPreferenceMetricParametersList(this, "metric_parameters", false); } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._metricName !== undefined) { hasAnyValues = true; internalValueResult.metricName = this._metricName; } if (this._metricParameters?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.metricParameters = this._metricParameters?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._metricName = undefined; this._metricParameters.internalValue = 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._metricName = value.metricName; this._metricParameters.internalValue = value.metricParameters; } } get metricName() { return this.getStringAttribute('metric_name'); } set metricName(value) { this._metricName = value; } // Temporarily expose input value. Use with caution. get metricNameInput() { return this._metricName; } get metricParameters() { return this._metricParameters; } putMetricParameters(value) { this._metricParameters.internalValue = value; } resetMetricParameters() { this._metricParameters.internalValue = undefined; } // Temporarily expose input value. Use with caution. get metricParametersInput() { return this._metricParameters.internalValue; } } exports.ComputeoptimizerRecommendationPreferencesUtilizationPreferenceOutputReference = ComputeoptimizerRecommendationPreferencesUtilizationPreferenceOutputReference; _j = JSII_RTTI_SYMBOL_1; ComputeoptimizerRecommendationPreferencesUtilizationPreferenceOutputReference[_j] = { fqn: "@cdktf/provider-aws.computeoptimizerRecommendationPreferences.ComputeoptimizerRecommendationPreferencesUtilizationPreferenceOutputReference", version: "19.50.0" }; class ComputeoptimizerRecommendationPreferencesUtilizationPreferenceList 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 ComputeoptimizerRecommendationPreferencesUtilizationPreferenceOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.ComputeoptimizerRecommendationPreferencesUtilizationPreferenceList = ComputeoptimizerRecommendationPreferencesUtilizationPreferenceList; _k = JSII_RTTI_SYMBOL_1; ComputeoptimizerRecommendationPreferencesUtilizationPreferenceList[_k] = { fqn: "@cdktf/provider-aws.computeoptimizerRecommendationPreferences.ComputeoptimizerRecommendationPreferencesUtilizationPreferenceList", version: "19.50.0" }; /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/computeoptimizer_recommendation_preferences aws_computeoptimizer_recommendation_preferences} */ class ComputeoptimizerRecommendationPreferences extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a ComputeoptimizerRecommendationPreferences 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 ComputeoptimizerRecommendationPreferences to import * @param importFromId The id of the existing ComputeoptimizerRecommendationPreferences that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/computeoptimizer_recommendation_preferences#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the ComputeoptimizerRecommendationPreferences to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aws_computeoptimizer_recommendation_preferences", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/computeoptimizer_recommendation_preferences aws_computeoptimizer_recommendation_preferences} 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 ComputeoptimizerRecommendationPreferencesConfig */ constructor(scope, id, config) { super(scope, id, { terraformResourceType: 'aws_computeoptimizer_recommendation_preferences', terraformGeneratorMetadata: { providerName: 'aws', providerVersion: '5.84.0', providerVersionConstraint: '~> 5.0' }, provider: config.provider, dependsOn: config.dependsOn, count: config.count, lifecycle: config.lifecycle, provisioners: config.provisioners, connection: config.connection, forEach: config.forEach }); // external_metrics_preference - computed: false, optional: true, required: false this._externalMetricsPreference = new ComputeoptimizerRecommendationPreferencesExternalMetricsPreferenceList(this, "external_metrics_preference", false); // preferred_resource - computed: false, optional: true, required: false this._preferredResource = new ComputeoptimizerRecommendationPreferencesPreferredResourceList(this, "preferred_resource", false); // scope - computed: false, optional: true, required: false this._scope = new ComputeoptimizerRecommendationPreferencesScopeList(this, "scope", false); // utilization_preference - computed: false, optional: true, required: false this._utilizationPreference = new ComputeoptimizerRecommendationPreferencesUtilizationPreferenceList(this, "utilization_preference", false); this._enhancedInfrastructureMetrics = config.enhancedInfrastructureMetrics; this._inferredWorkloadTypes = config.inferredWorkloadTypes; this._lookBackPeriod = config.lookBackPeriod; this._resourceType = config.resourceType; this._savingsEstimationMode = config.savingsEstimationMode; this._externalMetricsPreference.internalValue = config.externalMetricsPreference; this._preferredResource.internalValue = config.preferredResource; this._scope.internalValue = config.scope; this._utilizationPreference.internalValue = config.utilizationPreference; } get enhancedInfrastructureMetrics() { return this.getStringAttribute('enhanced_infrastructure_metrics'); } set enhancedInfrastructureMetrics(value) { this._enhancedInfrastructureMetrics = value; } resetEnhancedInfrastructureMetrics() { this._enhancedInfrastructureMetrics = undefined; } // Temporarily expose input value. Use with caution. get enhancedInfrastructureMetricsInput() { return this._enhancedInfrastructureMetrics; } // id - computed: true, optional: false, required: false get id() { return this.getStringAttribute('id'); } get inferredWorkloadTypes() { return this.getStringAttribute('inferred_workload_types'); } set inferredWorkloadTypes(value) { this._inferredWorkloadTypes = value; } resetInferredWorkloadTypes() { this._inferredWorkloadTypes = undefined; } // Temporarily expose input value. Use with caution. get inferredWorkloadTypesInput() { return this._inferredWorkloadTypes; } get lookBackPeriod() { return this.getStringAttribute('look_back_period'); } set lookBackPeriod(value) { this._lookBackPeriod = value; } resetLookBackPeriod() { this._lookBackPeriod = undefined; } // Temporarily expose input value. Use with caution. get lookBackPeriodInput() { return this._lookBackPeriod; } get resourceType() { return this.getStringAttribute('resource_type'); } set resourceType(value) { this._resourceType = value; } // Temporarily expose input value. Use with caution. get resourceTypeInput() { return this._resourceType; } get savingsEstimationMode() { return this.getStringAttribute('savings_estimation_mode'); } set savingsEstimationMode(value) { this._savingsEstimationMode = value; } resetSavingsEstimationMode() { this._savingsEstimationMode = undefined; } // Temporarily expose input value. Use with caution. get savingsEstimationModeInput() { return this._savingsEstimationMode; } get externalMetricsPreference() { return this._externalMetricsPreference; } putExternalMetricsPreference(value) { this._externalMetricsPreference.internalValue = value; } resetExternalMetricsPreference() { this._externalMetricsPreference.internalValue = undefined; } // Temporarily expose input value. Use with caution. get externalMetricsPreferenceInput() { return this._externalMetricsPreference.internalValue; } get preferredResource() { return this._preferredResource; } putPreferredResource(value) { this._preferredResource.internalValue = value; } resetPreferredResource() { this._preferredResource.internalValue = undefined; } // Temporarily expose input value. Use with caution. get preferredResourceInput() { return this._preferredResource.internalValue; } get scope() { return this._scope; } putScope(value) { this._scope.internalValue = value; } resetScope() { this._scope.internalValue = undefined; } // Temporarily expose input value. Use with caution. get scopeInput() { return this._scope.internalValue; } get utilizationPreference() { return this._utilizationPreference; } putUtilizationPreference(value) { this._utilizationPreference.internalValue = value; } resetUtilizationPreference() { this._utilizationPreference.internalValue = undefined; } // Temporarily expose input value. Use with caution. get utilizationPreferenceInput() { return this._utilizationPreference.internalValue; } // ========= // SYNTHESIS // ========= synthesizeAttributes() { return { enhanced_infrastructure_metrics: cdktf.stringToTerraform(this._enhancedInfrastructureMetrics), inferred_workload_types: cdktf.stringToTerraform(this._inferredWorkloadTypes), look_back_period: cdktf.stringToTerraform(this._lookBackPeriod), resource_type: cdktf.stringToTerraform(this._resourceType), savings_estimation_mode: cdktf.stringToTerraform(this._savingsEstimationMode), external_metrics_preference: cdktf.listMapper(computeoptimizerRecommendationPreferencesExternalMetricsPreferenceToTerraform, true)(this._externalMetricsPreference.internalValue), preferred_resource: cdktf.listMapper(computeoptimizerRecommendationPreferencesPreferredResourceToTerraform, true)(this._preferredResource.internalValue), scope: cdktf.listMapper(computeoptimizerRecommendationPreferencesScopeToTerraform, true)(this._scope.internalValue), utilization_preference: cdktf.listMapper(computeoptimizerRecommendationPreferencesUtilizationPreferenceToTerraform, true)(this._utilizationPreference.internalValue), }; } synthesizeHclAttributes() { const attrs = { enhanced_infrastructure_metrics: { value: cdktf.stringToHclTerraform(this._enhancedInfrastructureMetrics), isBlock: false, type: "simple", storageClassType: "string", }, inferred_workload_types: { value: cdktf.stringToHclTerraform(this._inferredWorkloadTypes), isBlock: false, type: "simple", storageClassType: "string", }, look_back_period: { value: cdktf.stringToHclTerraform(this._lookBackPeriod), isBlock: false, type: "simple", storageClassType: "string", }, resource_type: { value: cdktf.stringToHclTerraform(this._resourceType), isBlock: false, type: "simple", storageClassType: "string", }, savings_estimation_mode: { value: cdktf.stringToHclTerraform(this._savingsEstimationMode), isBlock: false, type: "simple", storageClassType: "string", }, external_metrics_preference: { value: cdktf.listMapperHcl(computeoptimizerRecommendationPreferencesExternalMetricsPreferenceToHclTerraform, true)(this._externalMetricsPreference.internalValue), isBlock: true, type: "list", storageClassType: "ComputeoptimizerRecommendationPreferencesExternalMetricsPreferenceList", }, preferred_resource: { value: cdktf.listMapperHcl(computeoptimizerRecommendationPreferencesPreferredResourceToHclTerraform, true)(this._preferredResource.internalValue), isBlock: true, type: "list", storageClassType: "ComputeoptimizerRecommendationPreferencesPreferredResourceList", }, scope: { value: cdktf.listMapperHcl(computeoptimizerRecommendationPreferencesScopeToHclTerraform, true)(this._scope.internalValue), isBlock: true, type: "list", storageClassType: "ComputeoptimizerRecommendationPreferencesScopeList", }, utilization_preference: { value: cdktf.listMapperHcl(computeoptimizerRecommendationPreferencesUtilizationPreferenceToHclTerraform, true)(this._utilizationPreference.internalValue), isBlock: true, type: "list", storageClassType: "ComputeoptimizerRecommendationPreferencesUtilizationPreferenceList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } } exports.ComputeoptimizerRecommendationPreferences = ComputeoptimizerRecommendationPreferences; _l = JSII_RTTI_SYMBOL_1; ComputeoptimizerRecommendationPreferences[_l] = { fqn: "@cdktf/provider-aws.computeoptimizerRecommendationPreferences.ComputeoptimizerRecommendationPreferences", version: "19.50.0" }; // ================= // STATIC PROPERTIES // ================= ComputeoptimizerRecommendationPreferences.tfResourceType = "aws_computeoptimizer_recommendation_preferences"; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcHV0ZW9wdGltaXplci1yZWNvbW1lbmRhdGlvbi1wcmVmZXJlbmNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQVNBLCtCQUErQjtBQXlEL0IsU0FBZ0IsNkVBQTZFLENBQUMsTUFBK0Y7SUFDM0wsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsb0hBQW9ILENBQUMsQ0FBQztJQUN4SSxDQUFDO0lBQ0QsT0FBTztRQUNMLE1BQU0sRUFBRSxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTyxDQUFDLE1BQU0sQ0FBQztLQUNoRCxDQUFBO0FBQ0gsQ0FBQztBQVJELHNLQVFDO0FBR0QsU0FBZ0IsZ0ZBQWdGLENBQUMsTUFBK0Y7SUFDOUwsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsb0hBQW9ILENBQUMsQ0FBQztJQUN4SSxDQUFDO0lBQ0QsTUFBTSxLQUFLLEdBQUc7UUFDWixNQUFNLEVBQUU7WUFDTixLQUFLLEVBQUUsS0FBSyxDQUFDLG9CQUFvQixDQUFDLE1BQU8sQ0FBQyxNQUFNLENBQUM7WUFDakQsT0FB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