@cdktf/provider-aws
Version:
Prebuilt aws Provider for Terraform CDK (cdktf)
950 lines • 145 kB
JavaScript
"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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcHV0ZW9wdGltaXplci1yZWNvbW1lbmRhdGlvbi1wcmVmZXJlbmNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBd0VBLHNLQVFDO0FBR0QsNEtBZ0JDO0FBOEZELHNKQVVDO0FBR0QsNEpBNEJDO0FBc0lELDhIQVNDO0FBR0Qsb0lBc0JDO0FBNkdELDhMQVNDO0FBR0Qsb01Bc0JDO0FBa0hELDhKQVNDO0FBR0Qsb0tBc0JDOztBQTVxQkQsK0JBQStCO0FBK0QvQixTQUFnQiw2RUFBNkUsQ0FBQyxNQUErRjtJQUMzTCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxPQUFPO1FBQ0wsTUFBTSxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsTUFBTSxDQUFDO0tBQ2hELENBQUE7QUFDSCxDQUFDO0FBR0QsU0FBZ0IsZ0ZBQWdGLENBQUMsTUFBK0Y7SUFDOUwsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsb0hBQW9ILENBQUMsQ0FBQztJ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