UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

950 lines 637 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; Object.defineProperty(exports, "__esModule", { value: true }); exports.appmeshGatewayRouteSpecHttp2RouteMatchPathToTerraform = exports.AppmeshGatewayRouteSpecHttp2RouteMatchHostnameOutputReference = exports.appmeshGatewayRouteSpecHttp2RouteMatchHostnameToHclTerraform = exports.appmeshGatewayRouteSpecHttp2RouteMatchHostnameToTerraform = exports.AppmeshGatewayRouteSpecHttp2RouteMatchHeaderList = exports.AppmeshGatewayRouteSpecHttp2RouteMatchHeaderOutputReference = exports.appmeshGatewayRouteSpecHttp2RouteMatchHeaderToHclTerraform = exports.appmeshGatewayRouteSpecHttp2RouteMatchHeaderToTerraform = exports.AppmeshGatewayRouteSpecHttp2RouteMatchHeaderMatchOutputReference = exports.appmeshGatewayRouteSpecHttp2RouteMatchHeaderMatchToHclTerraform = exports.appmeshGatewayRouteSpecHttp2RouteMatchHeaderMatchToTerraform = exports.AppmeshGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeOutputReference = exports.appmeshGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeToHclTerraform = exports.appmeshGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeToTerraform = exports.AppmeshGatewayRouteSpecHttp2RouteActionOutputReference = exports.appmeshGatewayRouteSpecHttp2RouteActionToHclTerraform = exports.appmeshGatewayRouteSpecHttp2RouteActionToTerraform = exports.AppmeshGatewayRouteSpecHttp2RouteActionTargetOutputReference = exports.appmeshGatewayRouteSpecHttp2RouteActionTargetToHclTerraform = exports.appmeshGatewayRouteSpecHttp2RouteActionTargetToTerraform = exports.AppmeshGatewayRouteSpecHttp2RouteActionTargetVirtualServiceOutputReference = exports.appmeshGatewayRouteSpecHttp2RouteActionTargetVirtualServiceToHclTerraform = exports.appmeshGatewayRouteSpecHttp2RouteActionTargetVirtualServiceToTerraform = exports.AppmeshGatewayRouteSpecHttp2RouteActionRewriteOutputReference = exports.appmeshGatewayRouteSpecHttp2RouteActionRewriteToHclTerraform = exports.appmeshGatewayRouteSpecHttp2RouteActionRewriteToTerraform = exports.AppmeshGatewayRouteSpecHttp2RouteActionRewritePrefixOutputReference = exports.appmeshGatewayRouteSpecHttp2RouteActionRewritePrefixToHclTerraform = exports.appmeshGatewayRouteSpecHttp2RouteActionRewritePrefixToTerraform = exports.AppmeshGatewayRouteSpecHttp2RouteActionRewritePathOutputReference = exports.appmeshGatewayRouteSpecHttp2RouteActionRewritePathToHclTerraform = exports.appmeshGatewayRouteSpecHttp2RouteActionRewritePathToTerraform = exports.AppmeshGatewayRouteSpecHttp2RouteActionRewriteHostnameOutputReference = exports.appmeshGatewayRouteSpecHttp2RouteActionRewriteHostnameToHclTerraform = exports.appmeshGatewayRouteSpecHttp2RouteActionRewriteHostnameToTerraform = exports.AppmeshGatewayRouteSpecGrpcRouteOutputReference = exports.appmeshGatewayRouteSpecGrpcRouteToHclTerraform = exports.appmeshGatewayRouteSpecGrpcRouteToTerraform = exports.AppmeshGatewayRouteSpecGrpcRouteMatchOutputReference = exports.appmeshGatewayRouteSpecGrpcRouteMatchToHclTerraform = exports.appmeshGatewayRouteSpecGrpcRouteMatchToTerraform = exports.AppmeshGatewayRouteSpecGrpcRouteActionOutputReference = exports.appmeshGatewayRouteSpecGrpcRouteActionToHclTerraform = exports.appmeshGatewayRouteSpecGrpcRouteActionToTerraform = exports.AppmeshGatewayRouteSpecGrpcRouteActionTargetOutputReference = exports.appmeshGatewayRouteSpecGrpcRouteActionTargetToHclTerraform = exports.appmeshGatewayRouteSpecGrpcRouteActionTargetToTerraform = exports.AppmeshGatewayRouteSpecGrpcRouteActionTargetVirtualServiceOutputReference = exports.appmeshGatewayRouteSpecGrpcRouteActionTargetVirtualServiceToHclTerraform = exports.appmeshGatewayRouteSpecGrpcRouteActionTargetVirtualServiceToTerraform = void 0; exports.appmeshGatewayRouteSpecHttpRouteMatchPathToTerraform = exports.AppmeshGatewayRouteSpecHttpRouteMatchHostnameOutputReference = exports.appmeshGatewayRouteSpecHttpRouteMatchHostnameToHclTerraform = exports.appmeshGatewayRouteSpecHttpRouteMatchHostnameToTerraform = exports.AppmeshGatewayRouteSpecHttpRouteMatchHeaderList = exports.AppmeshGatewayRouteSpecHttpRouteMatchHeaderOutputReference = exports.appmeshGatewayRouteSpecHttpRouteMatchHeaderToHclTerraform = exports.appmeshGatewayRouteSpecHttpRouteMatchHeaderToTerraform = exports.AppmeshGatewayRouteSpecHttpRouteMatchHeaderMatchOutputReference = exports.appmeshGatewayRouteSpecHttpRouteMatchHeaderMatchToHclTerraform = exports.appmeshGatewayRouteSpecHttpRouteMatchHeaderMatchToTerraform = exports.AppmeshGatewayRouteSpecHttpRouteMatchHeaderMatchRangeOutputReference = exports.appmeshGatewayRouteSpecHttpRouteMatchHeaderMatchRangeToHclTerraform = exports.appmeshGatewayRouteSpecHttpRouteMatchHeaderMatchRangeToTerraform = exports.AppmeshGatewayRouteSpecHttpRouteActionOutputReference = exports.appmeshGatewayRouteSpecHttpRouteActionToHclTerraform = exports.appmeshGatewayRouteSpecHttpRouteActionToTerraform = exports.AppmeshGatewayRouteSpecHttpRouteActionTargetOutputReference = exports.appmeshGatewayRouteSpecHttpRouteActionTargetToHclTerraform = exports.appmeshGatewayRouteSpecHttpRouteActionTargetToTerraform = exports.AppmeshGatewayRouteSpecHttpRouteActionTargetVirtualServiceOutputReference = exports.appmeshGatewayRouteSpecHttpRouteActionTargetVirtualServiceToHclTerraform = exports.appmeshGatewayRouteSpecHttpRouteActionTargetVirtualServiceToTerraform = exports.AppmeshGatewayRouteSpecHttpRouteActionRewriteOutputReference = exports.appmeshGatewayRouteSpecHttpRouteActionRewriteToHclTerraform = exports.appmeshGatewayRouteSpecHttpRouteActionRewriteToTerraform = exports.AppmeshGatewayRouteSpecHttpRouteActionRewritePrefixOutputReference = exports.appmeshGatewayRouteSpecHttpRouteActionRewritePrefixToHclTerraform = exports.appmeshGatewayRouteSpecHttpRouteActionRewritePrefixToTerraform = exports.AppmeshGatewayRouteSpecHttpRouteActionRewritePathOutputReference = exports.appmeshGatewayRouteSpecHttpRouteActionRewritePathToHclTerraform = exports.appmeshGatewayRouteSpecHttpRouteActionRewritePathToTerraform = exports.AppmeshGatewayRouteSpecHttpRouteActionRewriteHostnameOutputReference = exports.appmeshGatewayRouteSpecHttpRouteActionRewriteHostnameToHclTerraform = exports.appmeshGatewayRouteSpecHttpRouteActionRewriteHostnameToTerraform = exports.AppmeshGatewayRouteSpecHttp2RouteOutputReference = exports.appmeshGatewayRouteSpecHttp2RouteToHclTerraform = exports.appmeshGatewayRouteSpecHttp2RouteToTerraform = exports.AppmeshGatewayRouteSpecHttp2RouteMatchOutputReference = exports.appmeshGatewayRouteSpecHttp2RouteMatchToHclTerraform = exports.appmeshGatewayRouteSpecHttp2RouteMatchToTerraform = exports.AppmeshGatewayRouteSpecHttp2RouteMatchQueryParameterList = exports.AppmeshGatewayRouteSpecHttp2RouteMatchQueryParameterOutputReference = exports.appmeshGatewayRouteSpecHttp2RouteMatchQueryParameterToHclTerraform = exports.appmeshGatewayRouteSpecHttp2RouteMatchQueryParameterToTerraform = exports.AppmeshGatewayRouteSpecHttp2RouteMatchQueryParameterMatchOutputReference = exports.appmeshGatewayRouteSpecHttp2RouteMatchQueryParameterMatchToHclTerraform = exports.appmeshGatewayRouteSpecHttp2RouteMatchQueryParameterMatchToTerraform = exports.AppmeshGatewayRouteSpecHttp2RouteMatchPathOutputReference = exports.appmeshGatewayRouteSpecHttp2RouteMatchPathToHclTerraform = void 0; exports.AppmeshGatewayRoute = exports.AppmeshGatewayRouteSpecOutputReference = exports.appmeshGatewayRouteSpecToHclTerraform = exports.appmeshGatewayRouteSpecToTerraform = exports.AppmeshGatewayRouteSpecHttpRouteOutputReference = exports.appmeshGatewayRouteSpecHttpRouteToHclTerraform = exports.appmeshGatewayRouteSpecHttpRouteToTerraform = exports.AppmeshGatewayRouteSpecHttpRouteMatchOutputReference = exports.appmeshGatewayRouteSpecHttpRouteMatchToHclTerraform = exports.appmeshGatewayRouteSpecHttpRouteMatchToTerraform = exports.AppmeshGatewayRouteSpecHttpRouteMatchQueryParameterList = exports.AppmeshGatewayRouteSpecHttpRouteMatchQueryParameterOutputReference = exports.appmeshGatewayRouteSpecHttpRouteMatchQueryParameterToHclTerraform = exports.appmeshGatewayRouteSpecHttpRouteMatchQueryParameterToTerraform = exports.AppmeshGatewayRouteSpecHttpRouteMatchQueryParameterMatchOutputReference = exports.appmeshGatewayRouteSpecHttpRouteMatchQueryParameterMatchToHclTerraform = exports.appmeshGatewayRouteSpecHttpRouteMatchQueryParameterMatchToTerraform = exports.AppmeshGatewayRouteSpecHttpRouteMatchPathOutputReference = exports.appmeshGatewayRouteSpecHttpRouteMatchPathToHclTerraform = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function appmeshGatewayRouteSpecGrpcRouteActionTargetVirtualServiceToTerraform(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 { virtual_service_name: cdktf.stringToTerraform(struct.virtualServiceName), }; } exports.appmeshGatewayRouteSpecGrpcRouteActionTargetVirtualServiceToTerraform = appmeshGatewayRouteSpecGrpcRouteActionTargetVirtualServiceToTerraform; function appmeshGatewayRouteSpecGrpcRouteActionTargetVirtualServiceToHclTerraform(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 = { virtual_service_name: { value: cdktf.stringToHclTerraform(struct.virtualServiceName), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.appmeshGatewayRouteSpecGrpcRouteActionTargetVirtualServiceToHclTerraform = appmeshGatewayRouteSpecGrpcRouteActionTargetVirtualServiceToHclTerraform; class AppmeshGatewayRouteSpecGrpcRouteActionTargetVirtualServiceOutputReference 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._virtualServiceName !== undefined) { hasAnyValues = true; internalValueResult.virtualServiceName = this._virtualServiceName; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._virtualServiceName = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._virtualServiceName = value.virtualServiceName; } } get virtualServiceName() { return this.getStringAttribute('virtual_service_name'); } set virtualServiceName(value) { this._virtualServiceName = value; } // Temporarily expose input value. Use with caution. get virtualServiceNameInput() { return this._virtualServiceName; } } exports.AppmeshGatewayRouteSpecGrpcRouteActionTargetVirtualServiceOutputReference = AppmeshGatewayRouteSpecGrpcRouteActionTargetVirtualServiceOutputReference; _a = JSII_RTTI_SYMBOL_1; AppmeshGatewayRouteSpecGrpcRouteActionTargetVirtualServiceOutputReference[_a] = { fqn: "@cdktf/provider-aws.appmeshGatewayRoute.AppmeshGatewayRouteSpecGrpcRouteActionTargetVirtualServiceOutputReference", version: "19.50.0" }; function appmeshGatewayRouteSpecGrpcRouteActionTargetToTerraform(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_service: appmeshGatewayRouteSpecGrpcRouteActionTargetVirtualServiceToTerraform(struct.virtualService), }; } exports.appmeshGatewayRouteSpecGrpcRouteActionTargetToTerraform = appmeshGatewayRouteSpecGrpcRouteActionTargetToTerraform; function appmeshGatewayRouteSpecGrpcRouteActionTargetToHclTerraform(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_service: { value: appmeshGatewayRouteSpecGrpcRouteActionTargetVirtualServiceToHclTerraform(struct.virtualService), isBlock: true, type: "list", storageClassType: "AppmeshGatewayRouteSpecGrpcRouteActionTargetVirtualServiceList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.appmeshGatewayRouteSpecGrpcRouteActionTargetToHclTerraform = appmeshGatewayRouteSpecGrpcRouteActionTargetToHclTerraform; class AppmeshGatewayRouteSpecGrpcRouteActionTargetOutputReference 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; // virtual_service - computed: false, optional: false, required: true this._virtualService = new AppmeshGatewayRouteSpecGrpcRouteActionTargetVirtualServiceOutputReference(this, "virtual_service"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._port !== undefined) { hasAnyValues = true; internalValueResult.port = this._port; } if (this._virtualService?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.virtualService = this._virtualService?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._port = undefined; this._virtualService.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._port = value.port; this._virtualService.internalValue = value.virtualService; } } 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 virtualService() { return this._virtualService; } putVirtualService(value) { this._virtualService.internalValue = value; } // Temporarily expose input value. Use with caution. get virtualServiceInput() { return this._virtualService.internalValue; } } exports.AppmeshGatewayRouteSpecGrpcRouteActionTargetOutputReference = AppmeshGatewayRouteSpecGrpcRouteActionTargetOutputReference; _b = JSII_RTTI_SYMBOL_1; AppmeshGatewayRouteSpecGrpcRouteActionTargetOutputReference[_b] = { fqn: "@cdktf/provider-aws.appmeshGatewayRoute.AppmeshGatewayRouteSpecGrpcRouteActionTargetOutputReference", version: "19.50.0" }; function appmeshGatewayRouteSpecGrpcRouteActionToTerraform(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 { target: appmeshGatewayRouteSpecGrpcRouteActionTargetToTerraform(struct.target), }; } exports.appmeshGatewayRouteSpecGrpcRouteActionToTerraform = appmeshGatewayRouteSpecGrpcRouteActionToTerraform; function appmeshGatewayRouteSpecGrpcRouteActionToHclTerraform(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 = { target: { value: appmeshGatewayRouteSpecGrpcRouteActionTargetToHclTerraform(struct.target), isBlock: true, type: "list", storageClassType: "AppmeshGatewayRouteSpecGrpcRouteActionTargetList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.appmeshGatewayRouteSpecGrpcRouteActionToHclTerraform = appmeshGatewayRouteSpecGrpcRouteActionToHclTerraform; class AppmeshGatewayRouteSpecGrpcRouteActionOutputReference 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; // target - computed: false, optional: false, required: true this._target = new AppmeshGatewayRouteSpecGrpcRouteActionTargetOutputReference(this, "target"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._target?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.target = this._target?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._target.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._target.internalValue = value.target; } } get target() { return this._target; } putTarget(value) { this._target.internalValue = value; } // Temporarily expose input value. Use with caution. get targetInput() { return this._target.internalValue; } } exports.AppmeshGatewayRouteSpecGrpcRouteActionOutputReference = AppmeshGatewayRouteSpecGrpcRouteActionOutputReference; _c = JSII_RTTI_SYMBOL_1; AppmeshGatewayRouteSpecGrpcRouteActionOutputReference[_c] = { fqn: "@cdktf/provider-aws.appmeshGatewayRoute.AppmeshGatewayRouteSpecGrpcRouteActionOutputReference", version: "19.50.0" }; function appmeshGatewayRouteSpecGrpcRouteMatchToTerraform(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), service_name: cdktf.stringToTerraform(struct.serviceName), }; } exports.appmeshGatewayRouteSpecGrpcRouteMatchToTerraform = appmeshGatewayRouteSpecGrpcRouteMatchToTerraform; function appmeshGatewayRouteSpecGrpcRouteMatchToHclTerraform(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", }, service_name: { value: cdktf.stringToHclTerraform(struct.serviceName), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.appmeshGatewayRouteSpecGrpcRouteMatchToHclTerraform = appmeshGatewayRouteSpecGrpcRouteMatchToHclTerraform; class AppmeshGatewayRouteSpecGrpcRouteMatchOutputReference 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._port !== undefined) { hasAnyValues = true; internalValueResult.port = this._port; } if (this._serviceName !== undefined) { hasAnyValues = true; internalValueResult.serviceName = this._serviceName; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._port = undefined; this._serviceName = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._port = value.port; this._serviceName = value.serviceName; } } 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 serviceName() { return this.getStringAttribute('service_name'); } set serviceName(value) { this._serviceName = value; } // Temporarily expose input value. Use with caution. get serviceNameInput() { return this._serviceName; } } exports.AppmeshGatewayRouteSpecGrpcRouteMatchOutputReference = AppmeshGatewayRouteSpecGrpcRouteMatchOutputReference; _d = JSII_RTTI_SYMBOL_1; AppmeshGatewayRouteSpecGrpcRouteMatchOutputReference[_d] = { fqn: "@cdktf/provider-aws.appmeshGatewayRoute.AppmeshGatewayRouteSpecGrpcRouteMatchOutputReference", version: "19.50.0" }; function appmeshGatewayRouteSpecGrpcRouteToTerraform(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 { action: appmeshGatewayRouteSpecGrpcRouteActionToTerraform(struct.action), match: appmeshGatewayRouteSpecGrpcRouteMatchToTerraform(struct.match), }; } exports.appmeshGatewayRouteSpecGrpcRouteToTerraform = appmeshGatewayRouteSpecGrpcRouteToTerraform; function appmeshGatewayRouteSpecGrpcRouteToHclTerraform(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 = { action: { value: appmeshGatewayRouteSpecGrpcRouteActionToHclTerraform(struct.action), isBlock: true, type: "list", storageClassType: "AppmeshGatewayRouteSpecGrpcRouteActionList", }, match: { value: appmeshGatewayRouteSpecGrpcRouteMatchToHclTerraform(struct.match), isBlock: true, type: "list", storageClassType: "AppmeshGatewayRouteSpecGrpcRouteMatchList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.appmeshGatewayRouteSpecGrpcRouteToHclTerraform = appmeshGatewayRouteSpecGrpcRouteToHclTerraform; class AppmeshGatewayRouteSpecGrpcRouteOutputReference 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; // action - computed: false, optional: false, required: true this._action = new AppmeshGatewayRouteSpecGrpcRouteActionOutputReference(this, "action"); // match - computed: false, optional: false, required: true this._match = new AppmeshGatewayRouteSpecGrpcRouteMatchOutputReference(this, "match"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._action?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.action = this._action?.internalValue; } 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._action.internalValue = undefined; this._match.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._action.internalValue = value.action; this._match.internalValue = value.match; } } get action() { return this._action; } putAction(value) { this._action.internalValue = value; } // Temporarily expose input value. Use with caution. get actionInput() { return this._action.internalValue; } get match() { return this._match; } putMatch(value) { this._match.internalValue = value; } // Temporarily expose input value. Use with caution. get matchInput() { return this._match.internalValue; } } exports.AppmeshGatewayRouteSpecGrpcRouteOutputReference = AppmeshGatewayRouteSpecGrpcRouteOutputReference; _e = JSII_RTTI_SYMBOL_1; AppmeshGatewayRouteSpecGrpcRouteOutputReference[_e] = { fqn: "@cdktf/provider-aws.appmeshGatewayRoute.AppmeshGatewayRouteSpecGrpcRouteOutputReference", version: "19.50.0" }; function appmeshGatewayRouteSpecHttp2RouteActionRewriteHostnameToTerraform(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 { default_target_hostname: cdktf.stringToTerraform(struct.defaultTargetHostname), }; } exports.appmeshGatewayRouteSpecHttp2RouteActionRewriteHostnameToTerraform = appmeshGatewayRouteSpecHttp2RouteActionRewriteHostnameToTerraform; function appmeshGatewayRouteSpecHttp2RouteActionRewriteHostnameToHclTerraform(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 = { default_target_hostname: { value: cdktf.stringToHclTerraform(struct.defaultTargetHostname), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.appmeshGatewayRouteSpecHttp2RouteActionRewriteHostnameToHclTerraform = appmeshGatewayRouteSpecHttp2RouteActionRewriteHostnameToHclTerraform; class AppmeshGatewayRouteSpecHttp2RouteActionRewriteHostnameOutputReference 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._defaultTargetHostname !== undefined) { hasAnyValues = true; internalValueResult.defaultTargetHostname = this._defaultTargetHostname; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._defaultTargetHostname = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._defaultTargetHostname = value.defaultTargetHostname; } } get defaultTargetHostname() { return this.getStringAttribute('default_target_hostname'); } set defaultTargetHostname(value) { this._defaultTargetHostname = value; } // Temporarily expose input value. Use with caution. get defaultTargetHostnameInput() { return this._defaultTargetHostname; } } exports.AppmeshGatewayRouteSpecHttp2RouteActionRewriteHostnameOutputReference = AppmeshGatewayRouteSpecHttp2RouteActionRewriteHostnameOutputReference; _f = JSII_RTTI_SYMBOL_1; AppmeshGatewayRouteSpecHttp2RouteActionRewriteHostnameOutputReference[_f] = { fqn: "@cdktf/provider-aws.appmeshGatewayRoute.AppmeshGatewayRouteSpecHttp2RouteActionRewriteHostnameOutputReference", version: "19.50.0" }; function appmeshGatewayRouteSpecHttp2RouteActionRewritePathToTerraform(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), }; } exports.appmeshGatewayRouteSpecHttp2RouteActionRewritePathToTerraform = appmeshGatewayRouteSpecHttp2RouteActionRewritePathToTerraform; function appmeshGatewayRouteSpecHttp2RouteActionRewritePathToHclTerraform(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", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.appmeshGatewayRouteSpecHttp2RouteActionRewritePathToHclTerraform = appmeshGatewayRouteSpecHttp2RouteActionRewritePathToHclTerraform; class AppmeshGatewayRouteSpecHttp2RouteActionRewritePathOutputReference 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._exact !== undefined) { hasAnyValues = true; internalValueResult.exact = this._exact; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._exact = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._exact = value.exact; } } get exact() { return this.getStringAttribute('exact'); } set exact(value) { this._exact = value; } // Temporarily expose input value. Use with caution. get exactInput() { return this._exact; } } exports.AppmeshGatewayRouteSpecHttp2RouteActionRewritePathOutputReference = AppmeshGatewayRouteSpecHttp2RouteActionRewritePathOutputReference; _g = JSII_RTTI_SYMBOL_1; AppmeshGatewayRouteSpecHttp2RouteActionRewritePathOutputReference[_g] = { fqn: "@cdktf/provider-aws.appmeshGatewayRoute.AppmeshGatewayRouteSpecHttp2RouteActionRewritePathOutputReference", version: "19.50.0" }; function appmeshGatewayRouteSpecHttp2RouteActionRewritePrefixToTerraform(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 { default_prefix: cdktf.stringToTerraform(struct.defaultPrefix), value: cdktf.stringToTerraform(struct.value), }; } exports.appmeshGatewayRouteSpecHttp2RouteActionRewritePrefixToTerraform = appmeshGatewayRouteSpecHttp2RouteActionRewritePrefixToTerraform; function appmeshGatewayRouteSpecHttp2RouteActionRewritePrefixToHclTerraform(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 = { default_prefix: { value: cdktf.stringToHclTerraform(struct.defaultPrefix), isBlock: false, type: "simple", storageClassType: "string", }, value: { value: cdktf.stringToHclTerraform(struct.value), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.appmeshGatewayRouteSpecHttp2RouteActionRewritePrefixToHclTerraform = appmeshGatewayRouteSpecHttp2RouteActionRewritePrefixToHclTerraform; class AppmeshGatewayRouteSpecHttp2RouteActionRewritePrefixOutputReference 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._defaultPrefix !== undefined) { hasAnyValues = true; internalValueResult.defaultPrefix = this._defaultPrefix; } if (this._value !== undefined) { hasAnyValues = true; internalValueResult.value = this._value; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._defaultPrefix = undefined; this._value = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._defaultPrefix = value.defaultPrefix; this._value = value.value; } } get defaultPrefix() { return this.getStringAttribute('default_prefix'); } set defaultPrefix(value) { this._defaultPrefix = value; } resetDefaultPrefix() { this._defaultPrefix = undefined; } // Temporarily expose input value. Use with caution. get defaultPrefixInput() { return this._defaultPrefix; } get value() { return this.getStringAttribute('value'); } set value(value) { this._value = value; } resetValue() { this._value = undefined; } // Temporarily expose input value. Use with caution. get valueInput() { return this._value; } } exports.AppmeshGatewayRouteSpecHttp2RouteActionRewritePrefixOutputReference = AppmeshGatewayRouteSpecHttp2RouteActionRewritePrefixOutputReference; _h = JSII_RTTI_SYMBOL_1; AppmeshGatewayRouteSpecHttp2RouteActionRewritePrefixOutputReference[_h] = { fqn: "@cdktf/provider-aws.appmeshGatewayRoute.AppmeshGatewayRouteSpecHttp2RouteActionRewritePrefixOutputReference", version: "19.50.0" }; function appmeshGatewayRouteSpecHttp2RouteActionRewriteToTerraform(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 { hostname: appmeshGatewayRouteSpecHttp2RouteActionRewriteHostnameToTerraform(struct.hostname), path: appmeshGatewayRouteSpecHttp2RouteActionRewritePathToTerraform(struct.path), prefix: appmeshGatewayRouteSpecHttp2RouteActionRewritePrefixToTerraform(struct.prefix), }; } exports.appmeshGatewayRouteSpecHttp2RouteActionRewriteToTerraform = appmeshGatewayRouteSpecHttp2RouteActionRewriteToTerraform; function appmeshGatewayRouteSpecHttp2RouteActionRewriteToHclTerraform(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 = { hostname: { value: appmeshGatewayRouteSpecHttp2RouteActionRewriteHostnameToHclTerraform(struct.hostname), isBlock: true, type: "list", storageClassType: "AppmeshGatewayRouteSpecHttp2RouteActionRewriteHostnameList", }, path: { value: appmeshGatewayRouteSpecHttp2RouteActionRewritePathToHclTerraform(struct.path), isBlock: true, type: "list", storageClassType: "AppmeshGatewayRouteSpecHttp2RouteActionRewritePathList", }, prefix: { value: appmeshGatewayRouteSpecHttp2RouteActionRewritePrefixToHclTerraform(struct.prefix), isBlock: true, type: "list", storageClassType: "AppmeshGatewayRouteSpecHttp2RouteActionRewritePrefixList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.appmeshGatewayRouteSpecHttp2RouteActionRewriteToHclTerraform = appmeshGatewayRouteSpecHttp2RouteActionRewriteToHclTerraform; class AppmeshGatewayRouteSpecHttp2RouteActionRewriteOutputReference 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; // hostname - computed: false, optional: true, required: false this._hostname = new AppmeshGatewayRouteSpecHttp2RouteActionRewriteHostnameOutputReference(this, "hostname"); // path - computed: false, optional: true, required: false this._path = new AppmeshGatewayRouteSpecHttp2RouteActionRewritePathOutputReference(this, "path"); // prefix - computed: false, optional: true, required: false this._prefix = new AppmeshGatewayRouteSpecHttp2RouteActionRewritePrefixOutputReference(this, "prefix"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._hostname?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.hostname = this._hostname?.internalValue; } if (this._path?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.path = this._path?.internalValue; } if (this._prefix?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.prefix = this._prefix?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._hostname.internalValue = undefined; this._path.internalValue = undefined; this._prefix.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._hostname.internalValue = value.hostname; this._path.internalValue = value.path; this._prefix.internalValue = value.prefix; } } get hostname() { return this._hostname; } putHostname(value) { this._hostname.internalValue = value; } resetHostname() { this._hostname.internalValue = undefined; } // Temporarily expose input value. Use with caution. get hostnameInput() { return this._hostname.internalValue; } get path() { return this._path; } putPath(value) { this._path.internalValue = value; } resetPath() { this._path.internalValue = undefined; } // Temporarily expose input value. Use with caution. get pathInput() { return this._path.internalValue; } get prefix() { return this._prefix; } putPrefix(value) { this._prefix.internalValue = value; } resetPrefix() { this._prefix.internalValue = undefined; } // Temporarily expose input value. Use with caution. get prefixInput() { return this._prefix.internalValue; } } exports.AppmeshGatewayRouteSpecHttp2RouteActionRewriteOutputReference = AppmeshGatewayRouteSpecHttp2RouteActionRewriteOutputReference; _j = JSII_RTTI_SYMBOL_1; AppmeshGatewayRouteSpecHttp2RouteActionRewriteOutputReference[_j] = { fqn: "@cdktf/provider-aws.appmeshGatewayRoute.AppmeshGatewayRouteSpecHttp2RouteActionRewriteOutputReference", version: "19.50.0" }; function appmeshGatewayRouteSpecHttp2RouteActionTargetVirtualServiceToTerraform(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 { virtual_service_name: cdktf.stringToTerraform(struct.virtualServiceName), }; } exports.appmeshGatewayRouteSpecHttp2RouteActionTargetVirtualServiceToTerraform = appmeshGatewayRouteSpecHttp2RouteActionTargetVirtualServiceToTerraform; function appmeshGatewayRouteSpecHttp2RouteActionTargetVirtualServiceToHclTerraform(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 = { virtual_service_name: { value: cdktf.stringToHclTerraform(struct.virtualServiceName), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.appmeshGatewayRouteSpecHttp2RouteActionTargetVirtualServiceToHclTerraform = appmeshGatewayRouteSpecHttp2RouteActionTargetVirtualServiceToHclTerraform; class AppmeshGatewayRouteSpecHttp2RouteActionTargetVirtualServiceOutputReference 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._virtualServiceName !== undefined) { hasAnyValues = true; internalValueResult.virtualServiceName = this._virtualServiceName; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._virtualServiceName = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._virtualServiceName = value.virtualServiceName; } } get virtualServiceName() { return this.getStringAttribute('virtual_service_name'); } set virtualServiceName(value) { this._virtualServiceName = value; } // Temporarily expose input value. Use with caution. get virtualServiceNameInput() { return this._virtualServiceName; } } exports.AppmeshGatewayRouteSpecHttp2RouteActionTargetVirtualServiceOutputReference = AppmeshGatewayRouteSpecHttp2RouteActionTargetVirtualServiceOutputReference; _k = JSII_RTTI_SYMBOL_1; AppmeshGatewayRouteSpecHttp2RouteActionTargetVirtualServiceOutputReference[_k] = { fqn: "@cdktf/provider-aws.appmeshGatewayRoute.AppmeshGatewayRouteSpecHttp2RouteActionTargetVirtualServiceOutputReference", version: "19.50.0" }; function appmeshGatewayRouteSpecHttp2RouteActionTargetToTerraform(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_service: appmeshGatewayRouteSpecHttp2RouteActionTargetVirtualServiceToTerraform(struct.virtualService), }; } exports.appmeshGatewayRouteSpecHttp2RouteActionTargetToTerraform = appmeshGatewayRouteSpecHttp2RouteActionTargetToTerraform; function appmeshGatewayRouteSpecHttp2RouteActionTargetToHclTerraform(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_service: { value: appmeshGatewayRouteSpecHttp2RouteActionTargetVirtualServiceToHclTerraform(struct.virtualService), isBlock: true, type: "list", storageClassType: "AppmeshGatewayRouteSpecHttp2RouteActionTargetVirtualServiceList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.appmeshGatewayRouteSpecHttp2RouteActionTargetToHclTerraform = appmeshGatewayRouteSpecHttp2RouteActionTargetToHclTerraform; class AppmeshGatewayRouteSpec