UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

950 lines 145 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.ComputeoptimizerRecommendationPreferencesUtilizationPreferenceMetricParametersList = exports.ComputeoptimizerRecommendationPreferencesUtilizationPreferenceMetricParametersOutputReference = exports.ComputeoptimizerRecommendationPreferencesScopeList = exports.ComputeoptimizerRecommendationPreferencesScopeOutputReference = exports.ComputeoptimizerRecommendationPreferencesPreferredResourceList = exports.ComputeoptimizerRecommendationPreferencesPreferredResourceOutputReference = exports.ComputeoptimizerRecommendationPreferencesExternalMetricsPreferenceList = exports.ComputeoptimizerRecommendationPreferencesExternalMetricsPreferenceOutputReference = void 0; exports.computeoptimizerRecommendationPreferencesExternalMetricsPreferenceToTerraform = computeoptimizerRecommendationPreferencesExternalMetricsPreferenceToTerraform; exports.computeoptimizerRecommendationPreferencesExternalMetricsPreferenceToHclTerraform = computeoptimizerRecommendationPreferencesExternalMetricsPreferenceToHclTerraform; exports.computeoptimizerRecommendationPreferencesPreferredResourceToTerraform = computeoptimizerRecommendationPreferencesPreferredResourceToTerraform; exports.computeoptimizerRecommendationPreferencesPreferredResourceToHclTerraform = computeoptimizerRecommendationPreferencesPreferredResourceToHclTerraform; exports.computeoptimizerRecommendationPreferencesScopeToTerraform = computeoptimizerRecommendationPreferencesScopeToTerraform; exports.computeoptimizerRecommendationPreferencesScopeToHclTerraform = computeoptimizerRecommendationPreferencesScopeToHclTerraform; exports.computeoptimizerRecommendationPreferencesUtilizationPreferenceMetricParametersToTerraform = computeoptimizerRecommendationPreferencesUtilizationPreferenceMetricParametersToTerraform; exports.computeoptimizerRecommendationPreferencesUtilizationPreferenceMetricParametersToHclTerraform = computeoptimizerRecommendationPreferencesUtilizationPreferenceMetricParametersToHclTerraform; exports.computeoptimizerRecommendationPreferencesUtilizationPreferenceToTerraform = computeoptimizerRecommendationPreferencesUtilizationPreferenceToTerraform; exports.computeoptimizerRecommendationPreferencesUtilizationPreferenceToHclTerraform = computeoptimizerRecommendationPreferencesUtilizationPreferenceToHclTerraform; 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), }; } 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)); } 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: "21.22.1" }; 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: "21.22.1" }; 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), }; } 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)); } 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: "21.22.1" }; 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: "21.22.1" }; 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), }; } 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)); } 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: "21.22.1" }; 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: "21.22.1" }; 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), }; } 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)); } 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: "21.22.1" }; 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: "21.22.1" }; 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), }; } 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)); } 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: "21.22.1" }; 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: "21.22.1" }; /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.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/6.25.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/6.25.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: '6.25.0', providerVersionConstraint: '~> 6.0' }, provider: config.provider, dependsOn: config.dependsOn, count: config.count, lifecycle: config.lifecycle, provisioners: config.provisioners, connection: config.connection, forEach: config.forEach }); // 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._region = config.region; 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 region() { return this.getStringAttribute('region'); } set region(value) { this._region = value; } resetRegion() { this._region = undefined; } // Temporarily expose input value. Use with caution. get regionInput() { return this._region; } get 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), region: cdktf.stringToTerraform(this._region), 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", }, region: { value: cdktf.stringToHclTerraform(this._region), 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: "21.22.1" }; // ================= // STATIC PROPERTIES // ================= ComputeoptimizerRecommendationPreferences.tfResourceType = "aws_computeoptimizer_recommendation_preferences"; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcHV0ZW9wdGltaXplci1yZWNvbW1lbmRhdGlvbi1wcmVmZXJlbmNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBd0VBLHNLQVFDO0FBR0QsNEtBZ0JDO0FBOEZELHNKQVVDO0FBR0QsNEpBNEJDO0FBc0lELDhIQVNDO0FBR0Qsb0lBc0JDO0FBNkdELDhMQVNDO0FBR0Qsb01Bc0JDO0FBa0hELDhKQVNDO0FBR0Qsb0tBc0JDOztBQTVxQkQsK0JBQStCO0FBK0QvQixTQUFnQiw2RUFBNkUsQ0FBQyxNQUErRjtJQUMzTCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxPQUFPO1FBQ0wsTUFBTSxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsTUFBTSxDQUFDO0tBQ2hELENBQUE7QUFDSCxDQUFDO0FBR0QsU0FBZ0IsZ0ZBQWdGLENBQUMsTUFBK0Y7SUFDOUwsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsb0hBQW9ILENBQUMsQ0FBQztJQUN4SSxDQUFDO0lBQ0QsTUFBTSxLQUFLLEdBQUc7UUFDWixNQUFNLEVBQUU7WUFDTixLQUFLLEVBQUUsS0FBSyxDQUFDLG9CQUFvQixDQUFDLE1BQU8sQ0FBQyxNQUFNLENBQUM7WUFDakQsT0FBTyxFQUFFLEtBQUs7WUFDZCxJQUFJLEVBQUUsUUFBUTtZQUNkLGdCQUFnQixFQUFFLFFBQVE7U0FDM0I7S0FDRixDQUFDO0lBRUYsOEJBQThCO0lBQzlCLE9BQU8sTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssQ0FBQyxLQUFLLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQztBQUM1SCxDQUFDO0FBRUQsTUFBYSxpRkFBa0YsU0FBUSxLQUFLLENBQUMsYUFBYTtJQUl4SDs7Ozs7TUFLRTtJQUNGLFlBQW1CLGlCQUE2QyxFQUFFLGtCQUEwQixFQUFFLGtCQUEwQixFQUFFLHNCQUErQjtRQUN2SixLQUFLLENBQUMsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsc0JBQXNCLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztRQVZuRixrQkFBYSxHQUFHLEtBQUssQ0FBQztJQVc5QixDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3RCLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3pCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUM5QixDQUFDO1FBQ0QsSUFBSSxZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUN0QyxNQUFNLG1CQUFtQixHQUFRLEVBQUUsQ0FBQztRQUNwQyxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDL0IsWUFBWSxHQUFHLElBQUksQ0FBQztZQUNwQixtQkFBbUIsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUM1QyxDQUFDO1FBQ0QsT0FBTyxZQUFZLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQVcsYUFBYSxDQUFDLEtBQXlHO1FBQ2hJLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1lBQzNCLElBQUksQ0FBQyxlQUFlLEdBQUcsU0FBUyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDO1FBQzNCLENBQUM7YUFDSSxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDaEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7WUFDM0IsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7UUFDL0IsQ0FBQzthQUNJLENBQUM7WUFDSixJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztZQUNyRCxJQUFJLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQztZQUNqQyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDOUIsQ0FBQztJQUNILENBQUM7SUFJRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBQ0QsSUFBVyxNQUFNLENBQUMsS0FBYTtRQUM3QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBQ0Qsb0RBQW9EO0lBQ3BELElBQVcsV0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQzs7QUF2REgsOEtBd0RDOzs7QUFFRCxNQUFhLHNFQUF1RSxTQUFRLEtBQUssQ0FBQyxXQUFXO0lBRzNHOzs7O01BSUU7SUFDRixZQUFzQixpQkFBNkMsRUFBWSxrQkFBMEIsRUFBWSxRQUFpQjtRQUNwSSxLQUFLLENBQUMsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxDQUFDLENBQUE7UUFEbEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUE0QjtRQUFZLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBUTtRQUFZLGFBQVEsR0FBUixRQUFRLENBQVM7SUFFdEksQ0FBQztJQUVEOztNQUVFO0lBQ0ssR0FBRyxDQUFDLEtBQWE7UUFDdEIsT0FBTyxJQUFJLGlGQUFpRixDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN0SyxDQUFDOztBQWpCSCx3SkFrQkM7OztBQWdCRCxTQUFnQixxRUFBcUUsQ0FBQyxNQUF1RjtJQUMzSyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxPQUFPO1FBQ0wsWUFBWSxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxDQUFDLE1BQU8sQ0FBQyxXQUFXLENB