UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

1,008 lines 890 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34; Object.defineProperty(exports, "__esModule", { value: true }); exports.appmeshRouteSpecHttp2RouteMatchHeaderMatchToHclTerraform = exports.appmeshRouteSpecHttp2RouteMatchHeaderMatchToTerraform = exports.AppmeshRouteSpecHttp2RouteMatchHeaderMatchRangeOutputReference = exports.appmeshRouteSpecHttp2RouteMatchHeaderMatchRangeToHclTerraform = exports.appmeshRouteSpecHttp2RouteMatchHeaderMatchRangeToTerraform = exports.AppmeshRouteSpecHttp2RouteActionOutputReference = exports.appmeshRouteSpecHttp2RouteActionToHclTerraform = exports.appmeshRouteSpecHttp2RouteActionToTerraform = exports.AppmeshRouteSpecHttp2RouteActionWeightedTargetList = exports.AppmeshRouteSpecHttp2RouteActionWeightedTargetOutputReference = exports.appmeshRouteSpecHttp2RouteActionWeightedTargetToHclTerraform = exports.appmeshRouteSpecHttp2RouteActionWeightedTargetToTerraform = exports.AppmeshRouteSpecGrpcRouteOutputReference = exports.appmeshRouteSpecGrpcRouteToHclTerraform = exports.appmeshRouteSpecGrpcRouteToTerraform = exports.AppmeshRouteSpecGrpcRouteTimeoutOutputReference = exports.appmeshRouteSpecGrpcRouteTimeoutToHclTerraform = exports.appmeshRouteSpecGrpcRouteTimeoutToTerraform = exports.AppmeshRouteSpecGrpcRouteTimeoutPerRequestOutputReference = exports.appmeshRouteSpecGrpcRouteTimeoutPerRequestToHclTerraform = exports.appmeshRouteSpecGrpcRouteTimeoutPerRequestToTerraform = exports.AppmeshRouteSpecGrpcRouteTimeoutIdleOutputReference = exports.appmeshRouteSpecGrpcRouteTimeoutIdleToHclTerraform = exports.appmeshRouteSpecGrpcRouteTimeoutIdleToTerraform = exports.AppmeshRouteSpecGrpcRouteRetryPolicyOutputReference = exports.appmeshRouteSpecGrpcRouteRetryPolicyToHclTerraform = exports.appmeshRouteSpecGrpcRouteRetryPolicyToTerraform = exports.AppmeshRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutputReference = exports.appmeshRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutToHclTerraform = exports.appmeshRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutToTerraform = exports.AppmeshRouteSpecGrpcRouteMatchOutputReference = exports.appmeshRouteSpecGrpcRouteMatchToHclTerraform = exports.appmeshRouteSpecGrpcRouteMatchToTerraform = exports.AppmeshRouteSpecGrpcRouteMatchMetadataList = exports.AppmeshRouteSpecGrpcRouteMatchMetadataOutputReference = exports.appmeshRouteSpecGrpcRouteMatchMetadataToHclTerraform = exports.appmeshRouteSpecGrpcRouteMatchMetadataToTerraform = exports.AppmeshRouteSpecGrpcRouteMatchMetadataMatchOutputReference = exports.appmeshRouteSpecGrpcRouteMatchMetadataMatchToHclTerraform = exports.appmeshRouteSpecGrpcRouteMatchMetadataMatchToTerraform = exports.AppmeshRouteSpecGrpcRouteMatchMetadataMatchRangeOutputReference = exports.appmeshRouteSpecGrpcRouteMatchMetadataMatchRangeToHclTerraform = exports.appmeshRouteSpecGrpcRouteMatchMetadataMatchRangeToTerraform = exports.AppmeshRouteSpecGrpcRouteActionOutputReference = exports.appmeshRouteSpecGrpcRouteActionToHclTerraform = exports.appmeshRouteSpecGrpcRouteActionToTerraform = exports.AppmeshRouteSpecGrpcRouteActionWeightedTargetList = exports.AppmeshRouteSpecGrpcRouteActionWeightedTargetOutputReference = exports.appmeshRouteSpecGrpcRouteActionWeightedTargetToHclTerraform = exports.appmeshRouteSpecGrpcRouteActionWeightedTargetToTerraform = void 0; exports.appmeshRouteSpecHttpRouteMatchHeaderToTerraform = exports.AppmeshRouteSpecHttpRouteMatchHeaderMatchOutputReference = exports.appmeshRouteSpecHttpRouteMatchHeaderMatchToHclTerraform = exports.appmeshRouteSpecHttpRouteMatchHeaderMatchToTerraform = exports.AppmeshRouteSpecHttpRouteMatchHeaderMatchRangeOutputReference = exports.appmeshRouteSpecHttpRouteMatchHeaderMatchRangeToHclTerraform = exports.appmeshRouteSpecHttpRouteMatchHeaderMatchRangeToTerraform = exports.AppmeshRouteSpecHttpRouteActionOutputReference = exports.appmeshRouteSpecHttpRouteActionToHclTerraform = exports.appmeshRouteSpecHttpRouteActionToTerraform = exports.AppmeshRouteSpecHttpRouteActionWeightedTargetList = exports.AppmeshRouteSpecHttpRouteActionWeightedTargetOutputReference = exports.appmeshRouteSpecHttpRouteActionWeightedTargetToHclTerraform = exports.appmeshRouteSpecHttpRouteActionWeightedTargetToTerraform = exports.AppmeshRouteSpecHttp2RouteOutputReference = exports.appmeshRouteSpecHttp2RouteToHclTerraform = exports.appmeshRouteSpecHttp2RouteToTerraform = exports.AppmeshRouteSpecHttp2RouteTimeoutOutputReference = exports.appmeshRouteSpecHttp2RouteTimeoutToHclTerraform = exports.appmeshRouteSpecHttp2RouteTimeoutToTerraform = exports.AppmeshRouteSpecHttp2RouteTimeoutPerRequestOutputReference = exports.appmeshRouteSpecHttp2RouteTimeoutPerRequestToHclTerraform = exports.appmeshRouteSpecHttp2RouteTimeoutPerRequestToTerraform = exports.AppmeshRouteSpecHttp2RouteTimeoutIdleOutputReference = exports.appmeshRouteSpecHttp2RouteTimeoutIdleToHclTerraform = exports.appmeshRouteSpecHttp2RouteTimeoutIdleToTerraform = exports.AppmeshRouteSpecHttp2RouteRetryPolicyOutputReference = exports.appmeshRouteSpecHttp2RouteRetryPolicyToHclTerraform = exports.appmeshRouteSpecHttp2RouteRetryPolicyToTerraform = exports.AppmeshRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutputReference = exports.appmeshRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutToHclTerraform = exports.appmeshRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutToTerraform = exports.AppmeshRouteSpecHttp2RouteMatchOutputReference = exports.appmeshRouteSpecHttp2RouteMatchToHclTerraform = exports.appmeshRouteSpecHttp2RouteMatchToTerraform = exports.AppmeshRouteSpecHttp2RouteMatchQueryParameterList = exports.AppmeshRouteSpecHttp2RouteMatchQueryParameterOutputReference = exports.appmeshRouteSpecHttp2RouteMatchQueryParameterToHclTerraform = exports.appmeshRouteSpecHttp2RouteMatchQueryParameterToTerraform = exports.AppmeshRouteSpecHttp2RouteMatchQueryParameterMatchOutputReference = exports.appmeshRouteSpecHttp2RouteMatchQueryParameterMatchToHclTerraform = exports.appmeshRouteSpecHttp2RouteMatchQueryParameterMatchToTerraform = exports.AppmeshRouteSpecHttp2RouteMatchPathOutputReference = exports.appmeshRouteSpecHttp2RouteMatchPathToHclTerraform = exports.appmeshRouteSpecHttp2RouteMatchPathToTerraform = exports.AppmeshRouteSpecHttp2RouteMatchHeaderList = exports.AppmeshRouteSpecHttp2RouteMatchHeaderOutputReference = exports.appmeshRouteSpecHttp2RouteMatchHeaderToHclTerraform = exports.appmeshRouteSpecHttp2RouteMatchHeaderToTerraform = exports.AppmeshRouteSpecHttp2RouteMatchHeaderMatchOutputReference = void 0; exports.AppmeshRouteSpecTcpRouteTimeoutOutputReference = exports.appmeshRouteSpecTcpRouteTimeoutToHclTerraform = exports.appmeshRouteSpecTcpRouteTimeoutToTerraform = exports.AppmeshRouteSpecTcpRouteTimeoutIdleOutputReference = exports.appmeshRouteSpecTcpRouteTimeoutIdleToHclTerraform = exports.appmeshRouteSpecTcpRouteTimeoutIdleToTerraform = exports.AppmeshRouteSpecTcpRouteMatchOutputReference = exports.appmeshRouteSpecTcpRouteMatchToHclTerraform = exports.appmeshRouteSpecTcpRouteMatchToTerraform = exports.AppmeshRouteSpecTcpRouteActionOutputReference = exports.appmeshRouteSpecTcpRouteActionToHclTerraform = exports.appmeshRouteSpecTcpRouteActionToTerraform = exports.AppmeshRouteSpecTcpRouteActionWeightedTargetList = exports.AppmeshRouteSpecTcpRouteActionWeightedTargetOutputReference = exports.appmeshRouteSpecTcpRouteActionWeightedTargetToHclTerraform = exports.appmeshRouteSpecTcpRouteActionWeightedTargetToTerraform = exports.AppmeshRouteSpecHttpRouteOutputReference = exports.appmeshRouteSpecHttpRouteToHclTerraform = exports.appmeshRouteSpecHttpRouteToTerraform = exports.AppmeshRouteSpecHttpRouteTimeoutOutputReference = exports.appmeshRouteSpecHttpRouteTimeoutToHclTerraform = exports.appmeshRouteSpecHttpRouteTimeoutToTerraform = exports.AppmeshRouteSpecHttpRouteTimeoutPerRequestOutputReference = exports.appmeshRouteSpecHttpRouteTimeoutPerRequestToHclTerraform = exports.appmeshRouteSpecHttpRouteTimeoutPerRequestToTerraform = exports.AppmeshRouteSpecHttpRouteTimeoutIdleOutputReference = exports.appmeshRouteSpecHttpRouteTimeoutIdleToHclTerraform = exports.appmeshRouteSpecHttpRouteTimeoutIdleToTerraform = exports.AppmeshRouteSpecHttpRouteRetryPolicyOutputReference = exports.appmeshRouteSpecHttpRouteRetryPolicyToHclTerraform = exports.appmeshRouteSpecHttpRouteRetryPolicyToTerraform = exports.AppmeshRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutputReference = exports.appmeshRouteSpecHttpRouteRetryPolicyPerRetryTimeoutToHclTerraform = exports.appmeshRouteSpecHttpRouteRetryPolicyPerRetryTimeoutToTerraform = exports.AppmeshRouteSpecHttpRouteMatchOutputReference = exports.appmeshRouteSpecHttpRouteMatchToHclTerraform = exports.appmeshRouteSpecHttpRouteMatchToTerraform = exports.AppmeshRouteSpecHttpRouteMatchQueryParameterList = exports.AppmeshRouteSpecHttpRouteMatchQueryParameterOutputReference = exports.appmeshRouteSpecHttpRouteMatchQueryParameterToHclTerraform = exports.appmeshRouteSpecHttpRouteMatchQueryParameterToTerraform = exports.AppmeshRouteSpecHttpRouteMatchQueryParameterMatchOutputReference = exports.appmeshRouteSpecHttpRouteMatchQueryParameterMatchToHclTerraform = exports.appmeshRouteSpecHttpRouteMatchQueryParameterMatchToTerraform = exports.AppmeshRouteSpecHttpRouteMatchPathOutputReference = exports.appmeshRouteSpecHttpRouteMatchPathToHclTerraform = exports.appmeshRouteSpecHttpRouteMatchPathToTerraform = exports.AppmeshRouteSpecHttpRouteMatchHeaderList = exports.AppmeshRouteSpecHttpRouteMatchHeaderOutputReference = exports.appmeshRouteSpecHttpRouteMatchHeaderToHclTerraform = void 0; exports.AppmeshRoute = exports.AppmeshRouteSpecOutputReference = exports.appmeshRouteSpecToHclTerraform = exports.appmeshRouteSpecToTerraform = exports.AppmeshRouteSpecTcpRouteOutputReference = exports.appmeshRouteSpecTcpRouteToHclTerraform = exports.appmeshRouteSpecTcpRouteToTerraform = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function appmeshRouteSpecGrpcRouteActionWeightedTargetToTerraform(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 { port: cdktf.numberToTerraform(struct.port), virtual_node: cdktf.stringToTerraform(struct.virtualNode), weight: cdktf.numberToTerraform(struct.weight), }; } exports.appmeshRouteSpecGrpcRouteActionWeightedTargetToTerraform = appmeshRouteSpecGrpcRouteActionWeightedTargetToTerraform; function appmeshRouteSpecGrpcRouteActionWeightedTargetToHclTerraform(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 = { port: { value: cdktf.numberToHclTerraform(struct.port), isBlock: false, type: "simple", storageClassType: "number", }, virtual_node: { value: cdktf.stringToHclTerraform(struct.virtualNode), isBlock: false, type: "simple", storageClassType: "string", }, weight: { value: cdktf.numberToHclTerraform(struct.weight), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.appmeshRouteSpecGrpcRouteActionWeightedTargetToHclTerraform = appmeshRouteSpecGrpcRouteActionWeightedTargetToHclTerraform; class AppmeshRouteSpecGrpcRouteActionWeightedTargetOutputReference 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._port !== undefined) { hasAnyValues = true; internalValueResult.port = this._port; } if (this._virtualNode !== undefined) { hasAnyValues = true; internalValueResult.virtualNode = this._virtualNode; } if (this._weight !== undefined) { hasAnyValues = true; internalValueResult.weight = this._weight; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._port = undefined; this._virtualNode = undefined; this._weight = 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._port = value.port; this._virtualNode = value.virtualNode; this._weight = value.weight; } } get port() { return this.getNumberAttribute('port'); } set port(value) { this._port = value; } resetPort() { this._port = undefined; } // Temporarily expose input value. Use with caution. get portInput() { return this._port; } get virtualNode() { return this.getStringAttribute('virtual_node'); } set virtualNode(value) { this._virtualNode = value; } // Temporarily expose input value. Use with caution. get virtualNodeInput() { return this._virtualNode; } get weight() { return this.getNumberAttribute('weight'); } set weight(value) { this._weight = value; } // Temporarily expose input value. Use with caution. get weightInput() { return this._weight; } } exports.AppmeshRouteSpecGrpcRouteActionWeightedTargetOutputReference = AppmeshRouteSpecGrpcRouteActionWeightedTargetOutputReference; _a = JSII_RTTI_SYMBOL_1; AppmeshRouteSpecGrpcRouteActionWeightedTargetOutputReference[_a] = { fqn: "@cdktf/provider-aws.appmeshRoute.AppmeshRouteSpecGrpcRouteActionWeightedTargetOutputReference", version: "19.50.0" }; class AppmeshRouteSpecGrpcRouteActionWeightedTargetList 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 AppmeshRouteSpecGrpcRouteActionWeightedTargetOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.AppmeshRouteSpecGrpcRouteActionWeightedTargetList = AppmeshRouteSpecGrpcRouteActionWeightedTargetList; _b = JSII_RTTI_SYMBOL_1; AppmeshRouteSpecGrpcRouteActionWeightedTargetList[_b] = { fqn: "@cdktf/provider-aws.appmeshRoute.AppmeshRouteSpecGrpcRouteActionWeightedTargetList", version: "19.50.0" }; function appmeshRouteSpecGrpcRouteActionToTerraform(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 { weighted_target: cdktf.listMapper(appmeshRouteSpecGrpcRouteActionWeightedTargetToTerraform, true)(struct.weightedTarget), }; } exports.appmeshRouteSpecGrpcRouteActionToTerraform = appmeshRouteSpecGrpcRouteActionToTerraform; function appmeshRouteSpecGrpcRouteActionToHclTerraform(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 = { weighted_target: { value: cdktf.listMapperHcl(appmeshRouteSpecGrpcRouteActionWeightedTargetToHclTerraform, true)(struct.weightedTarget), isBlock: true, type: "set", storageClassType: "AppmeshRouteSpecGrpcRouteActionWeightedTargetList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.appmeshRouteSpecGrpcRouteActionToHclTerraform = appmeshRouteSpecGrpcRouteActionToHclTerraform; class AppmeshRouteSpecGrpcRouteActionOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false, 0); this.isEmptyObject = false; // weighted_target - computed: false, optional: false, required: true this._weightedTarget = new AppmeshRouteSpecGrpcRouteActionWeightedTargetList(this, "weighted_target", true); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._weightedTarget?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.weightedTarget = this._weightedTarget?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._weightedTarget.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._weightedTarget.internalValue = value.weightedTarget; } } get weightedTarget() { return this._weightedTarget; } putWeightedTarget(value) { this._weightedTarget.internalValue = value; } // Temporarily expose input value. Use with caution. get weightedTargetInput() { return this._weightedTarget.internalValue; } } exports.AppmeshRouteSpecGrpcRouteActionOutputReference = AppmeshRouteSpecGrpcRouteActionOutputReference; _c = JSII_RTTI_SYMBOL_1; AppmeshRouteSpecGrpcRouteActionOutputReference[_c] = { fqn: "@cdktf/provider-aws.appmeshRoute.AppmeshRouteSpecGrpcRouteActionOutputReference", version: "19.50.0" }; function appmeshRouteSpecGrpcRouteMatchMetadataMatchRangeToTerraform(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 { end: cdktf.numberToTerraform(struct.end), start: cdktf.numberToTerraform(struct.start), }; } exports.appmeshRouteSpecGrpcRouteMatchMetadataMatchRangeToTerraform = appmeshRouteSpecGrpcRouteMatchMetadataMatchRangeToTerraform; function appmeshRouteSpecGrpcRouteMatchMetadataMatchRangeToHclTerraform(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 = { end: { value: cdktf.numberToHclTerraform(struct.end), isBlock: false, type: "simple", storageClassType: "number", }, start: { value: cdktf.numberToHclTerraform(struct.start), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.appmeshRouteSpecGrpcRouteMatchMetadataMatchRangeToHclTerraform = appmeshRouteSpecGrpcRouteMatchMetadataMatchRangeToHclTerraform; class AppmeshRouteSpecGrpcRouteMatchMetadataMatchRangeOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false, 0); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._end !== undefined) { hasAnyValues = true; internalValueResult.end = this._end; } if (this._start !== undefined) { hasAnyValues = true; internalValueResult.start = this._start; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._end = undefined; this._start = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._end = value.end; this._start = value.start; } } get end() { return this.getNumberAttribute('end'); } set end(value) { this._end = value; } // Temporarily expose input value. Use with caution. get endInput() { return this._end; } get start() { return this.getNumberAttribute('start'); } set start(value) { this._start = value; } // Temporarily expose input value. Use with caution. get startInput() { return this._start; } } exports.AppmeshRouteSpecGrpcRouteMatchMetadataMatchRangeOutputReference = AppmeshRouteSpecGrpcRouteMatchMetadataMatchRangeOutputReference; _d = JSII_RTTI_SYMBOL_1; AppmeshRouteSpecGrpcRouteMatchMetadataMatchRangeOutputReference[_d] = { fqn: "@cdktf/provider-aws.appmeshRoute.AppmeshRouteSpecGrpcRouteMatchMetadataMatchRangeOutputReference", version: "19.50.0" }; function appmeshRouteSpecGrpcRouteMatchMetadataMatchToTerraform(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 { exact: cdktf.stringToTerraform(struct.exact), prefix: cdktf.stringToTerraform(struct.prefix), regex: cdktf.stringToTerraform(struct.regex), suffix: cdktf.stringToTerraform(struct.suffix), range: appmeshRouteSpecGrpcRouteMatchMetadataMatchRangeToTerraform(struct.range), }; } exports.appmeshRouteSpecGrpcRouteMatchMetadataMatchToTerraform = appmeshRouteSpecGrpcRouteMatchMetadataMatchToTerraform; function appmeshRouteSpecGrpcRouteMatchMetadataMatchToHclTerraform(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 = { exact: { value: cdktf.stringToHclTerraform(struct.exact), isBlock: false, type: "simple", storageClassType: "string", }, prefix: { value: cdktf.stringToHclTerraform(struct.prefix), isBlock: false, type: "simple", storageClassType: "string", }, regex: { value: cdktf.stringToHclTerraform(struct.regex), isBlock: false, type: "simple", storageClassType: "string", }, suffix: { value: cdktf.stringToHclTerraform(struct.suffix), isBlock: false, type: "simple", storageClassType: "string", }, range: { value: appmeshRouteSpecGrpcRouteMatchMetadataMatchRangeToHclTerraform(struct.range), isBlock: true, type: "list", storageClassType: "AppmeshRouteSpecGrpcRouteMatchMetadataMatchRangeList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.appmeshRouteSpecGrpcRouteMatchMetadataMatchToHclTerraform = appmeshRouteSpecGrpcRouteMatchMetadataMatchToHclTerraform; class AppmeshRouteSpecGrpcRouteMatchMetadataMatchOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false, 0); this.isEmptyObject = false; // range - computed: false, optional: true, required: false this._range = new AppmeshRouteSpecGrpcRouteMatchMetadataMatchRangeOutputReference(this, "range"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._exact !== undefined) { hasAnyValues = true; internalValueResult.exact = this._exact; } if (this._prefix !== undefined) { hasAnyValues = true; internalValueResult.prefix = this._prefix; } if (this._regex !== undefined) { hasAnyValues = true; internalValueResult.regex = this._regex; } if (this._suffix !== undefined) { hasAnyValues = true; internalValueResult.suffix = this._suffix; } if (this._range?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.range = this._range?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._exact = undefined; this._prefix = undefined; this._regex = undefined; this._suffix = undefined; this._range.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._exact = value.exact; this._prefix = value.prefix; this._regex = value.regex; this._suffix = value.suffix; this._range.internalValue = value.range; } } get exact() { return this.getStringAttribute('exact'); } set exact(value) { this._exact = value; } resetExact() { this._exact = undefined; } // Temporarily expose input value. Use with caution. get exactInput() { return this._exact; } get prefix() { return this.getStringAttribute('prefix'); } set prefix(value) { this._prefix = value; } resetPrefix() { this._prefix = undefined; } // Temporarily expose input value. Use with caution. get prefixInput() { return this._prefix; } get regex() { return this.getStringAttribute('regex'); } set regex(value) { this._regex = value; } resetRegex() { this._regex = undefined; } // Temporarily expose input value. Use with caution. get regexInput() { return this._regex; } get suffix() { return this.getStringAttribute('suffix'); } set suffix(value) { this._suffix = value; } resetSuffix() { this._suffix = undefined; } // Temporarily expose input value. Use with caution. get suffixInput() { return this._suffix; } get range() { return this._range; } putRange(value) { this._range.internalValue = value; } resetRange() { this._range.internalValue = undefined; } // Temporarily expose input value. Use with caution. get rangeInput() { return this._range.internalValue; } } exports.AppmeshRouteSpecGrpcRouteMatchMetadataMatchOutputReference = AppmeshRouteSpecGrpcRouteMatchMetadataMatchOutputReference; _e = JSII_RTTI_SYMBOL_1; AppmeshRouteSpecGrpcRouteMatchMetadataMatchOutputReference[_e] = { fqn: "@cdktf/provider-aws.appmeshRoute.AppmeshRouteSpecGrpcRouteMatchMetadataMatchOutputReference", version: "19.50.0" }; function appmeshRouteSpecGrpcRouteMatchMetadataToTerraform(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 { invert: cdktf.booleanToTerraform(struct.invert), name: cdktf.stringToTerraform(struct.name), match: appmeshRouteSpecGrpcRouteMatchMetadataMatchToTerraform(struct.match), }; } exports.appmeshRouteSpecGrpcRouteMatchMetadataToTerraform = appmeshRouteSpecGrpcRouteMatchMetadataToTerraform; function appmeshRouteSpecGrpcRouteMatchMetadataToHclTerraform(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 = { invert: { value: cdktf.booleanToHclTerraform(struct.invert), isBlock: false, type: "simple", storageClassType: "boolean", }, name: { value: cdktf.stringToHclTerraform(struct.name), isBlock: false, type: "simple", storageClassType: "string", }, match: { value: appmeshRouteSpecGrpcRouteMatchMetadataMatchToHclTerraform(struct.match), isBlock: true, type: "list", storageClassType: "AppmeshRouteSpecGrpcRouteMatchMetadataMatchList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.appmeshRouteSpecGrpcRouteMatchMetadataToHclTerraform = appmeshRouteSpecGrpcRouteMatchMetadataToHclTerraform; class AppmeshRouteSpecGrpcRouteMatchMetadataOutputReference 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; // match - computed: false, optional: true, required: false this._match = new AppmeshRouteSpecGrpcRouteMatchMetadataMatchOutputReference(this, "match"); } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._invert !== undefined) { hasAnyValues = true; internalValueResult.invert = this._invert; } if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } if (this._match?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.match = this._match?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._invert = undefined; this._name = undefined; this._match.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._invert = value.invert; this._name = value.name; this._match.internalValue = value.match; } } get invert() { return this.getBooleanAttribute('invert'); } set invert(value) { this._invert = value; } resetInvert() { this._invert = undefined; } // Temporarily expose input value. Use with caution. get invertInput() { return this._invert; } 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 match() { return this._match; } putMatch(value) { this._match.internalValue = value; } resetMatch() { this._match.internalValue = undefined; } // Temporarily expose input value. Use with caution. get matchInput() { return this._match.internalValue; } } exports.AppmeshRouteSpecGrpcRouteMatchMetadataOutputReference = AppmeshRouteSpecGrpcRouteMatchMetadataOutputReference; _f = JSII_RTTI_SYMBOL_1; AppmeshRouteSpecGrpcRouteMatchMetadataOutputReference[_f] = { fqn: "@cdktf/provider-aws.appmeshRoute.AppmeshRouteSpecGrpcRouteMatchMetadataOutputReference", version: "19.50.0" }; class AppmeshRouteSpecGrpcRouteMatchMetadataList 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 AppmeshRouteSpecGrpcRouteMatchMetadataOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.AppmeshRouteSpecGrpcRouteMatchMetadataList = AppmeshRouteSpecGrpcRouteMatchMetadataList; _g = JSII_RTTI_SYMBOL_1; AppmeshRouteSpecGrpcRouteMatchMetadataList[_g] = { fqn: "@cdktf/provider-aws.appmeshRoute.AppmeshRouteSpecGrpcRouteMatchMetadataList", version: "19.50.0" }; function appmeshRouteSpecGrpcRouteMatchToTerraform(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 { method_name: cdktf.stringToTerraform(struct.methodName), port: cdktf.numberToTerraform(struct.port), prefix: cdktf.stringToTerraform(struct.prefix), service_name: cdktf.stringToTerraform(struct.serviceName), metadata: cdktf.listMapper(appmeshRouteSpecGrpcRouteMatchMetadataToTerraform, true)(struct.metadata), }; } exports.appmeshRouteSpecGrpcRouteMatchToTerraform = appmeshRouteSpecGrpcRouteMatchToTerraform; function appmeshRouteSpecGrpcRouteMatchToHclTerraform(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 = { method_name: { value: cdktf.stringToHclTerraform(struct.methodName), isBlock: false, type: "simple", storageClassType: "string", }, port: { value: cdktf.numberToHclTerraform(struct.port), isBlock: false, type: "simple", storageClassType: "number", }, prefix: { value: cdktf.stringToHclTerraform(struct.prefix), isBlock: false, type: "simple", storageClassType: "string", }, service_name: { value: cdktf.stringToHclTerraform(struct.serviceName), isBlock: false, type: "simple", storageClassType: "string", }, metadata: { value: cdktf.listMapperHcl(appmeshRouteSpecGrpcRouteMatchMetadataToHclTerraform, true)(struct.metadata), isBlock: true, type: "set", storageClassType: "AppmeshRouteSpecGrpcRouteMatchMetadataList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.appmeshRouteSpecGrpcRouteMatchToHclTerraform = appmeshRouteSpecGrpcRouteMatchToHclTerraform; class AppmeshRouteSpecGrpcRouteMatchOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false, 0); this.isEmptyObject = false; // metadata - computed: false, optional: true, required: false this._metadata = new AppmeshRouteSpecGrpcRouteMatchMetadataList(this, "metadata", true); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._methodName !== undefined) { hasAnyValues = true; internalValueResult.methodName = this._methodName; } if (this._port !== undefined) { hasAnyValues = true; internalValueResult.port = this._port; } if (this._prefix !== undefined) { hasAnyValues = true; internalValueResult.prefix = this._prefix; } if (this._serviceName !== undefined) { hasAnyValues = true; internalValueResult.serviceName = this._serviceName; } if (this._metadata?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.metadata = this._metadata?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._methodName = undefined; this._port = undefined; this._prefix = undefined; this._serviceName = undefined; this._metadata.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._methodName = value.methodName; this._port = value.port; this._prefix = value.prefix; this._serviceName = value.serviceName; this._metadata.internalValue = value.metadata; } } get methodName() { return this.getStringAttribute('method_name'); } set methodName(value) { this._methodName = value; } resetMethodName() { this._methodName = undefined; } // Temporarily expose input value. Use with caution. get methodNameInput() { return this._methodName; } get port() { return this.getNumberAttribute('port'); } set port(value) { this._port = value; } resetPort() { this._port = undefined; } // Temporarily expose input value. Use with caution. get portInput() { return this._port; } get prefix() { return this.getStringAttribute('prefix'); } set prefix(value) { this._prefix = value; } resetPrefix() { this._prefix = undefined; } // Temporarily expose input value. Use with caution. get prefixInput() { return this._prefix; } get serviceName() { return this.getStringAttribute('service_name'); } set serviceName(value) { this._serviceName = value; } resetServiceName() { this._serviceName = undefined; } // Temporarily expose input value. Use with caution. get serviceNameInput() { return this._serviceName; } get metadata() { return this._metadata; } putMetadata(value) { this._metadata.internalValue = value; } resetMetadata() { this._metadata.internalValue = undefined; } // Temporarily expose input value. Use with caution. get metadataInput() { return this._metadata.internalValue; } } exports.AppmeshRouteSpecGrpcRouteMatchOutputReference = AppmeshRouteSpecGrpcRouteMatchOutputReference; _h = JSII_RTTI_SYMBOL_1; AppmeshRouteSpecGrpcRouteMatchOutputReference[_h] = { fqn: "@cdktf/provider-aws.appmeshRoute.AppmeshRouteSpecGrpcRouteMatchOutputReference", version: "19.50.0" }; function appmeshRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutToTerraform(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 { unit: cdktf.stringToTerraform(struct.unit), value: cdktf.numberToTerraform(struct.value), }; } exports.appmeshRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutToTerraform = appmeshRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutToTerraform; function appmeshRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutToHclTerraform(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 = { unit: { value: cdktf.stringToHclTerraform(struct.unit), isBlock: false, type: "simple", storageClassType: "string", }, value: { value: cdktf.numberToHclTerraform(struct.value), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.appmeshRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutToHclTerraform = appmeshRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutToHclTerraform; class AppmeshRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false, 0); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._unit !== undefined) { hasAnyValues = true; internalValueResult.unit = this._unit; } if (this._value !== undefined) { hasAnyValues = true; internalValueResult.value = this._value; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._unit = undefined; this._value = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._unit = value.unit; this._value = value.value; } } get unit() { return this.getStringAttribute('unit'); } set unit(value) { this._unit = value; } // Temporarily expose input value. Use with caution. get unitInput() { return this._unit; } get value() { return this.getNumberAttribute('value'); } set value(value) { this._value = value; } // Temporarily expose input value. Use with caution. get valueInput() { return this._value; } } exports.AppmeshRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutputReference = AppmeshRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutputReference; _j = JSII_RTTI_SYMBOL_1; AppmeshRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutputReference[_j] = { fqn: "@cdktf/provider-aws.appmeshRoute.AppmeshRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutputReference", version: "19.50.0" }; function appmeshRouteSpecGrpcRouteRetryPolicyToTerraform(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 { grpc_retry_events: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.grpcRetryEvents), http_retry_events: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.httpRetryEvents), max_retries: cdktf.numberToTerraform(struct.maxRetries), tcp_retry_events: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.tcpRetryEvents), per_retry_timeout: appmeshRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutToTerraform(struct.perRetryTimeout), }; } exports.appmeshRouteSpecGrpcRouteRetryPolicyToTerraform = appmeshRouteSpecGrpcRouteRetryPolicyToTerraform; function appmeshRouteSpecGrpcRouteRetryPolicyToHclTerraform(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 = { grpc_retry_events: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.grpcRetryEvents), isBlock: false, type: "set", storageClassType: "stringList", }, http_retry_events: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.httpRetryEvents), isBlock: false, type: "set", storageClassType: "stringList", }, max_retries: { value: cdktf.numberToHclTerraform(struct.maxRetries), isBlock: false, type: "simple", storageClassType: "number", }, tcp_retry_events: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.tcpRetryEvents), isBlock: false, type: "set", storageClassType: "stringList", }, per_retry_timeout: { value: appmeshRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutToHclTerraform(struct.perRetryTimeout), isBlock: true, type: "list", storageClassType: "AppmeshRouteSpecGrpcRouteRetryPolicyPerR