UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

1,017 lines 142 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m; Object.defineProperty(exports, "__esModule", { value: true }); exports.PrometheusScraper = exports.PrometheusScraperTimeoutsOutputReference = exports.PrometheusScraperSourceList = exports.PrometheusScraperSourceOutputReference = exports.PrometheusScraperSourceEksList = exports.PrometheusScraperSourceEksOutputReference = exports.PrometheusScraperRoleConfigurationList = exports.PrometheusScraperRoleConfigurationOutputReference = exports.PrometheusScraperDestinationList = exports.PrometheusScraperDestinationOutputReference = exports.PrometheusScraperDestinationAmpList = exports.PrometheusScraperDestinationAmpOutputReference = void 0; exports.prometheusScraperDestinationAmpToTerraform = prometheusScraperDestinationAmpToTerraform; exports.prometheusScraperDestinationAmpToHclTerraform = prometheusScraperDestinationAmpToHclTerraform; exports.prometheusScraperDestinationToTerraform = prometheusScraperDestinationToTerraform; exports.prometheusScraperDestinationToHclTerraform = prometheusScraperDestinationToHclTerraform; exports.prometheusScraperRoleConfigurationToTerraform = prometheusScraperRoleConfigurationToTerraform; exports.prometheusScraperRoleConfigurationToHclTerraform = prometheusScraperRoleConfigurationToHclTerraform; exports.prometheusScraperSourceEksToTerraform = prometheusScraperSourceEksToTerraform; exports.prometheusScraperSourceEksToHclTerraform = prometheusScraperSourceEksToHclTerraform; exports.prometheusScraperSourceToTerraform = prometheusScraperSourceToTerraform; exports.prometheusScraperSourceToHclTerraform = prometheusScraperSourceToHclTerraform; exports.prometheusScraperTimeoutsToTerraform = prometheusScraperTimeoutsToTerraform; exports.prometheusScraperTimeoutsToHclTerraform = prometheusScraperTimeoutsToHclTerraform; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function prometheusScraperDestinationAmpToTerraform(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 { workspace_arn: cdktf.stringToTerraform(struct.workspaceArn), }; } function prometheusScraperDestinationAmpToHclTerraform(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 = { workspace_arn: { value: cdktf.stringToHclTerraform(struct.workspaceArn), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class PrometheusScraperDestinationAmpOutputReference 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._workspaceArn !== undefined) { hasAnyValues = true; internalValueResult.workspaceArn = this._workspaceArn; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._workspaceArn = 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._workspaceArn = value.workspaceArn; } } get workspaceArn() { return this.getStringAttribute('workspace_arn'); } set workspaceArn(value) { this._workspaceArn = value; } // Temporarily expose input value. Use with caution. get workspaceArnInput() { return this._workspaceArn; } } exports.PrometheusScraperDestinationAmpOutputReference = PrometheusScraperDestinationAmpOutputReference; _a = JSII_RTTI_SYMBOL_1; PrometheusScraperDestinationAmpOutputReference[_a] = { fqn: "@cdktf/provider-aws.prometheusScraper.PrometheusScraperDestinationAmpOutputReference", version: "21.22.1" }; class PrometheusScraperDestinationAmpList 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 PrometheusScraperDestinationAmpOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.PrometheusScraperDestinationAmpList = PrometheusScraperDestinationAmpList; _b = JSII_RTTI_SYMBOL_1; PrometheusScraperDestinationAmpList[_b] = { fqn: "@cdktf/provider-aws.prometheusScraper.PrometheusScraperDestinationAmpList", version: "21.22.1" }; function prometheusScraperDestinationToTerraform(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 { amp: cdktf.listMapper(prometheusScraperDestinationAmpToTerraform, true)(struct.amp), }; } function prometheusScraperDestinationToHclTerraform(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 = { amp: { value: cdktf.listMapperHcl(prometheusScraperDestinationAmpToHclTerraform, true)(struct.amp), isBlock: true, type: "list", storageClassType: "PrometheusScraperDestinationAmpList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class PrometheusScraperDestinationOutputReference 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; // amp - computed: false, optional: true, required: false this._amp = new PrometheusScraperDestinationAmpList(this, "amp", false); } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._amp?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.amp = this._amp?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._amp.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._amp.internalValue = value.amp; } } get amp() { return this._amp; } putAmp(value) { this._amp.internalValue = value; } resetAmp() { this._amp.internalValue = undefined; } // Temporarily expose input value. Use with caution. get ampInput() { return this._amp.internalValue; } } exports.PrometheusScraperDestinationOutputReference = PrometheusScraperDestinationOutputReference; _c = JSII_RTTI_SYMBOL_1; PrometheusScraperDestinationOutputReference[_c] = { fqn: "@cdktf/provider-aws.prometheusScraper.PrometheusScraperDestinationOutputReference", version: "21.22.1" }; class PrometheusScraperDestinationList 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 PrometheusScraperDestinationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.PrometheusScraperDestinationList = PrometheusScraperDestinationList; _d = JSII_RTTI_SYMBOL_1; PrometheusScraperDestinationList[_d] = { fqn: "@cdktf/provider-aws.prometheusScraper.PrometheusScraperDestinationList", version: "21.22.1" }; function prometheusScraperRoleConfigurationToTerraform(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_role_arn: cdktf.stringToTerraform(struct.sourceRoleArn), target_role_arn: cdktf.stringToTerraform(struct.targetRoleArn), }; } function prometheusScraperRoleConfigurationToHclTerraform(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_role_arn: { value: cdktf.stringToHclTerraform(struct.sourceRoleArn), isBlock: false, type: "simple", storageClassType: "string", }, target_role_arn: { value: cdktf.stringToHclTerraform(struct.targetRoleArn), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class PrometheusScraperRoleConfigurationOutputReference 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._sourceRoleArn !== undefined) { hasAnyValues = true; internalValueResult.sourceRoleArn = this._sourceRoleArn; } if (this._targetRoleArn !== undefined) { hasAnyValues = true; internalValueResult.targetRoleArn = this._targetRoleArn; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._sourceRoleArn = undefined; this._targetRoleArn = 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._sourceRoleArn = value.sourceRoleArn; this._targetRoleArn = value.targetRoleArn; } } get sourceRoleArn() { return this.getStringAttribute('source_role_arn'); } set sourceRoleArn(value) { this._sourceRoleArn = value; } resetSourceRoleArn() { this._sourceRoleArn = undefined; } // Temporarily expose input value. Use with caution. get sourceRoleArnInput() { return this._sourceRoleArn; } get targetRoleArn() { return this.getStringAttribute('target_role_arn'); } set targetRoleArn(value) { this._targetRoleArn = value; } resetTargetRoleArn() { this._targetRoleArn = undefined; } // Temporarily expose input value. Use with caution. get targetRoleArnInput() { return this._targetRoleArn; } } exports.PrometheusScraperRoleConfigurationOutputReference = PrometheusScraperRoleConfigurationOutputReference; _e = JSII_RTTI_SYMBOL_1; PrometheusScraperRoleConfigurationOutputReference[_e] = { fqn: "@cdktf/provider-aws.prometheusScraper.PrometheusScraperRoleConfigurationOutputReference", version: "21.22.1" }; class PrometheusScraperRoleConfigurationList 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 PrometheusScraperRoleConfigurationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.PrometheusScraperRoleConfigurationList = PrometheusScraperRoleConfigurationList; _f = JSII_RTTI_SYMBOL_1; PrometheusScraperRoleConfigurationList[_f] = { fqn: "@cdktf/provider-aws.prometheusScraper.PrometheusScraperRoleConfigurationList", version: "21.22.1" }; function prometheusScraperSourceEksToTerraform(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 { cluster_arn: cdktf.stringToTerraform(struct.clusterArn), security_group_ids: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.securityGroupIds), subnet_ids: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.subnetIds), }; } function prometheusScraperSourceEksToHclTerraform(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 = { cluster_arn: { value: cdktf.stringToHclTerraform(struct.clusterArn), isBlock: false, type: "simple", storageClassType: "string", }, security_group_ids: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.securityGroupIds), isBlock: false, type: "set", storageClassType: "stringList", }, subnet_ids: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.subnetIds), isBlock: false, type: "set", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class PrometheusScraperSourceEksOutputReference 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._clusterArn !== undefined) { hasAnyValues = true; internalValueResult.clusterArn = this._clusterArn; } if (this._securityGroupIds !== undefined) { hasAnyValues = true; internalValueResult.securityGroupIds = this._securityGroupIds; } if (this._subnetIds !== undefined) { hasAnyValues = true; internalValueResult.subnetIds = this._subnetIds; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._clusterArn = undefined; this._securityGroupIds = undefined; this._subnetIds = 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._clusterArn = value.clusterArn; this._securityGroupIds = value.securityGroupIds; this._subnetIds = value.subnetIds; } } get clusterArn() { return this.getStringAttribute('cluster_arn'); } set clusterArn(value) { this._clusterArn = value; } // Temporarily expose input value. Use with caution. get clusterArnInput() { return this._clusterArn; } get securityGroupIds() { return cdktf.Fn.tolist(this.getListAttribute('security_group_ids')); } set securityGroupIds(value) { this._securityGroupIds = value; } resetSecurityGroupIds() { this._securityGroupIds = undefined; } // Temporarily expose input value. Use with caution. get securityGroupIdsInput() { return this._securityGroupIds; } get subnetIds() { return cdktf.Fn.tolist(this.getListAttribute('subnet_ids')); } set subnetIds(value) { this._subnetIds = value; } // Temporarily expose input value. Use with caution. get subnetIdsInput() { return this._subnetIds; } } exports.PrometheusScraperSourceEksOutputReference = PrometheusScraperSourceEksOutputReference; _g = JSII_RTTI_SYMBOL_1; PrometheusScraperSourceEksOutputReference[_g] = { fqn: "@cdktf/provider-aws.prometheusScraper.PrometheusScraperSourceEksOutputReference", version: "21.22.1" }; class PrometheusScraperSourceEksList 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 PrometheusScraperSourceEksOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.PrometheusScraperSourceEksList = PrometheusScraperSourceEksList; _h = JSII_RTTI_SYMBOL_1; PrometheusScraperSourceEksList[_h] = { fqn: "@cdktf/provider-aws.prometheusScraper.PrometheusScraperSourceEksList", version: "21.22.1" }; function prometheusScraperSourceToTerraform(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 { eks: cdktf.listMapper(prometheusScraperSourceEksToTerraform, true)(struct.eks), }; } function prometheusScraperSourceToHclTerraform(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 = { eks: { value: cdktf.listMapperHcl(prometheusScraperSourceEksToHclTerraform, true)(struct.eks), isBlock: true, type: "list", storageClassType: "PrometheusScraperSourceEksList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class PrometheusScraperSourceOutputReference 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; // eks - computed: false, optional: true, required: false this._eks = new PrometheusScraperSourceEksList(this, "eks", false); } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._eks?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.eks = this._eks?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._eks.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._eks.internalValue = value.eks; } } get eks() { return this._eks; } putEks(value) { this._eks.internalValue = value; } resetEks() { this._eks.internalValue = undefined; } // Temporarily expose input value. Use with caution. get eksInput() { return this._eks.internalValue; } } exports.PrometheusScraperSourceOutputReference = PrometheusScraperSourceOutputReference; _j = JSII_RTTI_SYMBOL_1; PrometheusScraperSourceOutputReference[_j] = { fqn: "@cdktf/provider-aws.prometheusScraper.PrometheusScraperSourceOutputReference", version: "21.22.1" }; class PrometheusScraperSourceList 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 PrometheusScraperSourceOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.PrometheusScraperSourceList = PrometheusScraperSourceList; _k = JSII_RTTI_SYMBOL_1; PrometheusScraperSourceList[_k] = { fqn: "@cdktf/provider-aws.prometheusScraper.PrometheusScraperSourceList", version: "21.22.1" }; function prometheusScraperTimeoutsToTerraform(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 { create: cdktf.stringToTerraform(struct.create), delete: cdktf.stringToTerraform(struct.delete), update: cdktf.stringToTerraform(struct.update), }; } function prometheusScraperTimeoutsToHclTerraform(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 = { create: { value: cdktf.stringToHclTerraform(struct.create), isBlock: false, type: "simple", storageClassType: "string", }, delete: { value: cdktf.stringToHclTerraform(struct.delete), isBlock: false, type: "simple", storageClassType: "string", }, update: { value: cdktf.stringToHclTerraform(struct.update), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class PrometheusScraperTimeoutsOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false); this.isEmptyObject = false; } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._create !== undefined) { hasAnyValues = true; internalValueResult.create = this._create; } if (this._delete !== undefined) { hasAnyValues = true; internalValueResult.delete = this._delete; } if (this._update !== undefined) { hasAnyValues = true; internalValueResult.update = this._update; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._create = undefined; this._delete = undefined; this._update = 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._create = value.create; this._delete = value.delete; this._update = value.update; } } get create() { return this.getStringAttribute('create'); } set create(value) { this._create = value; } resetCreate() { this._create = undefined; } // Temporarily expose input value. Use with caution. get createInput() { return this._create; } get delete() { return this.getStringAttribute('delete'); } set delete(value) { this._delete = value; } resetDelete() { this._delete = undefined; } // Temporarily expose input value. Use with caution. get deleteInput() { return this._delete; } get update() { return this.getStringAttribute('update'); } set update(value) { this._update = value; } resetUpdate() { this._update = undefined; } // Temporarily expose input value. Use with caution. get updateInput() { return this._update; } } exports.PrometheusScraperTimeoutsOutputReference = PrometheusScraperTimeoutsOutputReference; _l = JSII_RTTI_SYMBOL_1; PrometheusScraperTimeoutsOutputReference[_l] = { fqn: "@cdktf/provider-aws.prometheusScraper.PrometheusScraperTimeoutsOutputReference", version: "21.22.1" }; /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/prometheus_scraper aws_prometheus_scraper} */ class PrometheusScraper extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a PrometheusScraper 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 PrometheusScraper to import * @param importFromId The id of the existing PrometheusScraper that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/prometheus_scraper#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the PrometheusScraper to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aws_prometheus_scraper", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/prometheus_scraper aws_prometheus_scraper} 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 PrometheusScraperConfig */ constructor(scope, id, config) { super(scope, id, { terraformResourceType: 'aws_prometheus_scraper', 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 }); // tags_all - computed: true, optional: false, required: false this._tagsAll = new cdktf.StringMap(this, "tags_all"); // destination - computed: false, optional: true, required: false this._destination = new PrometheusScraperDestinationList(this, "destination", false); // role_configuration - computed: false, optional: true, required: false this._roleConfiguration = new PrometheusScraperRoleConfigurationList(this, "role_configuration", false); // source - computed: false, optional: true, required: false this._source = new PrometheusScraperSourceList(this, "source", false); // timeouts - computed: false, optional: true, required: false this._timeouts = new PrometheusScraperTimeoutsOutputReference(this, "timeouts"); this._alias = config.alias; this._region = config.region; this._scrapeConfiguration = config.scrapeConfiguration; this._tags = config.tags; this._destination.internalValue = config.destination; this._roleConfiguration.internalValue = config.roleConfiguration; this._source.internalValue = config.source; this._timeouts.internalValue = config.timeouts; } get alias() { return this.getStringAttribute('alias'); } set alias(value) { this._alias = value; } resetAlias() { this._alias = undefined; } // Temporarily expose input value. Use with caution. get aliasInput() { return this._alias; } // arn - computed: true, optional: false, required: false get arn() { return this.getStringAttribute('arn'); } // id - computed: true, optional: false, required: false get id() { return this.getStringAttribute('id'); } 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; } // role_arn - computed: true, optional: false, required: false get roleArn() { return this.getStringAttribute('role_arn'); } get scrapeConfiguration() { return this.getStringAttribute('scrape_configuration'); } set scrapeConfiguration(value) { this._scrapeConfiguration = value; } // Temporarily expose input value. Use with caution. get scrapeConfigurationInput() { return this._scrapeConfiguration; } get tags() { return this.getStringMapAttribute('tags'); } set tags(value) { this._tags = value; } resetTags() { this._tags = undefined; } // Temporarily expose input value. Use with caution. get tagsInput() { return this._tags; } get tagsAll() { return this._tagsAll; } get destination() { return this._destination; } putDestination(value) { this._destination.internalValue = value; } resetDestination() { this._destination.internalValue = undefined; } // Temporarily expose input value. Use with caution. get destinationInput() { return this._destination.internalValue; } get roleConfiguration() { return this._roleConfiguration; } putRoleConfiguration(value) { this._roleConfiguration.internalValue = value; } resetRoleConfiguration() { this._roleConfiguration.internalValue = undefined; } // Temporarily expose input value. Use with caution. get roleConfigurationInput() { return this._roleConfiguration.internalValue; } get source() { return this._source; } putSource(value) { this._source.internalValue = value; } resetSource() { this._source.internalValue = undefined; } // Temporarily expose input value. Use with caution. get sourceInput() { return this._source.internalValue; } get timeouts() { return this._timeouts; } putTimeouts(value) { this._timeouts.internalValue = value; } resetTimeouts() { this._timeouts.internalValue = undefined; } // Temporarily expose input value. Use with caution. get timeoutsInput() { return this._timeouts.internalValue; } // ========= // SYNTHESIS // ========= synthesizeAttributes() { return { alias: cdktf.stringToTerraform(this._alias), region: cdktf.stringToTerraform(this._region), scrape_configuration: cdktf.stringToTerraform(this._scrapeConfiguration), tags: cdktf.hashMapper(cdktf.stringToTerraform)(this._tags), destination: cdktf.listMapper(prometheusScraperDestinationToTerraform, true)(this._destination.internalValue), role_configuration: cdktf.listMapper(prometheusScraperRoleConfigurationToTerraform, true)(this._roleConfiguration.internalValue), source: cdktf.listMapper(prometheusScraperSourceToTerraform, true)(this._source.internalValue), timeouts: prometheusScraperTimeoutsToTerraform(this._timeouts.internalValue), }; } synthesizeHclAttributes() { const attrs = { alias: { value: cdktf.stringToHclTerraform(this._alias), isBlock: false, type: "simple", storageClassType: "string", }, region: { value: cdktf.stringToHclTerraform(this._region), isBlock: false, type: "simple", storageClassType: "string", }, scrape_configuration: { value: cdktf.stringToHclTerraform(this._scrapeConfiguration), isBlock: false, type: "simple", storageClassType: "string", }, tags: { value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(this._tags), isBlock: false, type: "map", storageClassType: "stringMap", }, destination: { value: cdktf.listMapperHcl(prometheusScraperDestinationToHclTerraform, true)(this._destination.internalValue), isBlock: true, type: "list", storageClassType: "PrometheusScraperDestinationList", }, role_configuration: { value: cdktf.listMapperHcl(prometheusScraperRoleConfigurationToHclTerraform, true)(this._roleConfiguration.internalValue), isBlock: true, type: "list", storageClassType: "PrometheusScraperRoleConfigurationList", }, source: { value: cdktf.listMapperHcl(prometheusScraperSourceToHclTerraform, true)(this._source.internalValue), isBlock: true, type: "list", storageClassType: "PrometheusScraperSourceList", }, timeouts: { value: prometheusScraperTimeoutsToHclTerraform(this._timeouts.internalValue), isBlock: true, type: "struct", storageClassType: "PrometheusScraperTimeouts", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } } exports.PrometheusScraper = PrometheusScraper; _m = JSII_RTTI_SYMBOL_1; PrometheusScraper[_m] = { fqn: "@cdktf/provider-aws.prometheusScraper.PrometheusScraper", version: "21.22.1" }; // ================= // STATIC PROPERTIES // ================= PrometheusScraper.tfResourceType = "aws_prometheus_scraper"; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvbWV0aGV1cy1zY3JhcGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFnRUEsZ0dBUUM7QUFHRCxzR0FnQkM7QUF3RkQsMEZBUUM7QUFHRCxnR0FnQkM7QUE2RkQsc0dBU0M7QUFHRCw0R0FzQkM7QUF1SEQsc0ZBVUM7QUFHRCw0RkE0QkM7QUFpSUQsZ0ZBUUM7QUFHRCxzRkFnQkM7QUF1R0Qsb0ZBVUM7QUFHRCwwRkE0QkM7O0FBaHhCRCwrQkFBK0I7QUF1RC9CLFNBQWdCLDBDQUEwQyxDQUFDLE1BQTREO0lBQ3JILElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFBQyxPQUFPLE1BQU0sQ0FBQztJQUFDLENBQUM7SUFDNUYsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLG9IQUFvSCxDQUFDLENBQUM7SUFDeEksQ0FBQztJQUNELE9BQU87UUFDTCxhQUFhLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE1BQU8sQ0FBQyxZQUFZLENBQUM7S0FDN0QsQ0FBQTtBQUNILENBQUM7QUFHRCxTQUFnQiw2Q0FBNkMsQ0FBQyxNQUE0RDtJQUN4SCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lB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