UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

1,150 lines 479 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; Object.defineProperty(exports, "__esModule", { value: true }); exports.NetworkServicesHttpRoute = exports.NetworkServicesHttpRouteTimeoutsOutputReference = exports.NetworkServicesHttpRouteRulesList = exports.NetworkServicesHttpRouteRulesOutputReference = exports.NetworkServicesHttpRouteRulesMatchesList = exports.NetworkServicesHttpRouteRulesMatchesOutputReference = exports.NetworkServicesHttpRouteRulesMatchesQueryParametersList = exports.NetworkServicesHttpRouteRulesMatchesQueryParametersOutputReference = exports.NetworkServicesHttpRouteRulesMatchesHeadersList = exports.NetworkServicesHttpRouteRulesMatchesHeadersOutputReference = exports.NetworkServicesHttpRouteRulesMatchesHeadersRangeMatchOutputReference = exports.NetworkServicesHttpRouteRulesActionOutputReference = exports.NetworkServicesHttpRouteRulesActionUrlRewriteOutputReference = exports.NetworkServicesHttpRouteRulesActionRetryPolicyOutputReference = exports.NetworkServicesHttpRouteRulesActionResponseHeaderModifierOutputReference = exports.NetworkServicesHttpRouteRulesActionRequestMirrorPolicyOutputReference = exports.NetworkServicesHttpRouteRulesActionRequestMirrorPolicyDestinationOutputReference = exports.NetworkServicesHttpRouteRulesActionRequestHeaderModifierOutputReference = exports.NetworkServicesHttpRouteRulesActionRedirectOutputReference = exports.NetworkServicesHttpRouteRulesActionFaultInjectionPolicyOutputReference = exports.NetworkServicesHttpRouteRulesActionFaultInjectionPolicyDelayOutputReference = exports.NetworkServicesHttpRouteRulesActionFaultInjectionPolicyAbortOutputReference = exports.NetworkServicesHttpRouteRulesActionDestinationsList = exports.NetworkServicesHttpRouteRulesActionDestinationsOutputReference = exports.NetworkServicesHttpRouteRulesActionCorsPolicyOutputReference = void 0; exports.networkServicesHttpRouteRulesActionCorsPolicyToTerraform = networkServicesHttpRouteRulesActionCorsPolicyToTerraform; exports.networkServicesHttpRouteRulesActionCorsPolicyToHclTerraform = networkServicesHttpRouteRulesActionCorsPolicyToHclTerraform; exports.networkServicesHttpRouteRulesActionDestinationsToTerraform = networkServicesHttpRouteRulesActionDestinationsToTerraform; exports.networkServicesHttpRouteRulesActionDestinationsToHclTerraform = networkServicesHttpRouteRulesActionDestinationsToHclTerraform; exports.networkServicesHttpRouteRulesActionFaultInjectionPolicyAbortToTerraform = networkServicesHttpRouteRulesActionFaultInjectionPolicyAbortToTerraform; exports.networkServicesHttpRouteRulesActionFaultInjectionPolicyAbortToHclTerraform = networkServicesHttpRouteRulesActionFaultInjectionPolicyAbortToHclTerraform; exports.networkServicesHttpRouteRulesActionFaultInjectionPolicyDelayToTerraform = networkServicesHttpRouteRulesActionFaultInjectionPolicyDelayToTerraform; exports.networkServicesHttpRouteRulesActionFaultInjectionPolicyDelayToHclTerraform = networkServicesHttpRouteRulesActionFaultInjectionPolicyDelayToHclTerraform; exports.networkServicesHttpRouteRulesActionFaultInjectionPolicyToTerraform = networkServicesHttpRouteRulesActionFaultInjectionPolicyToTerraform; exports.networkServicesHttpRouteRulesActionFaultInjectionPolicyToHclTerraform = networkServicesHttpRouteRulesActionFaultInjectionPolicyToHclTerraform; exports.networkServicesHttpRouteRulesActionRedirectToTerraform = networkServicesHttpRouteRulesActionRedirectToTerraform; exports.networkServicesHttpRouteRulesActionRedirectToHclTerraform = networkServicesHttpRouteRulesActionRedirectToHclTerraform; exports.networkServicesHttpRouteRulesActionRequestHeaderModifierToTerraform = networkServicesHttpRouteRulesActionRequestHeaderModifierToTerraform; exports.networkServicesHttpRouteRulesActionRequestHeaderModifierToHclTerraform = networkServicesHttpRouteRulesActionRequestHeaderModifierToHclTerraform; exports.networkServicesHttpRouteRulesActionRequestMirrorPolicyDestinationToTerraform = networkServicesHttpRouteRulesActionRequestMirrorPolicyDestinationToTerraform; exports.networkServicesHttpRouteRulesActionRequestMirrorPolicyDestinationToHclTerraform = networkServicesHttpRouteRulesActionRequestMirrorPolicyDestinationToHclTerraform; exports.networkServicesHttpRouteRulesActionRequestMirrorPolicyToTerraform = networkServicesHttpRouteRulesActionRequestMirrorPolicyToTerraform; exports.networkServicesHttpRouteRulesActionRequestMirrorPolicyToHclTerraform = networkServicesHttpRouteRulesActionRequestMirrorPolicyToHclTerraform; exports.networkServicesHttpRouteRulesActionResponseHeaderModifierToTerraform = networkServicesHttpRouteRulesActionResponseHeaderModifierToTerraform; exports.networkServicesHttpRouteRulesActionResponseHeaderModifierToHclTerraform = networkServicesHttpRouteRulesActionResponseHeaderModifierToHclTerraform; exports.networkServicesHttpRouteRulesActionRetryPolicyToTerraform = networkServicesHttpRouteRulesActionRetryPolicyToTerraform; exports.networkServicesHttpRouteRulesActionRetryPolicyToHclTerraform = networkServicesHttpRouteRulesActionRetryPolicyToHclTerraform; exports.networkServicesHttpRouteRulesActionUrlRewriteToTerraform = networkServicesHttpRouteRulesActionUrlRewriteToTerraform; exports.networkServicesHttpRouteRulesActionUrlRewriteToHclTerraform = networkServicesHttpRouteRulesActionUrlRewriteToHclTerraform; exports.networkServicesHttpRouteRulesActionToTerraform = networkServicesHttpRouteRulesActionToTerraform; exports.networkServicesHttpRouteRulesActionToHclTerraform = networkServicesHttpRouteRulesActionToHclTerraform; exports.networkServicesHttpRouteRulesMatchesHeadersRangeMatchToTerraform = networkServicesHttpRouteRulesMatchesHeadersRangeMatchToTerraform; exports.networkServicesHttpRouteRulesMatchesHeadersRangeMatchToHclTerraform = networkServicesHttpRouteRulesMatchesHeadersRangeMatchToHclTerraform; exports.networkServicesHttpRouteRulesMatchesHeadersToTerraform = networkServicesHttpRouteRulesMatchesHeadersToTerraform; exports.networkServicesHttpRouteRulesMatchesHeadersToHclTerraform = networkServicesHttpRouteRulesMatchesHeadersToHclTerraform; exports.networkServicesHttpRouteRulesMatchesQueryParametersToTerraform = networkServicesHttpRouteRulesMatchesQueryParametersToTerraform; exports.networkServicesHttpRouteRulesMatchesQueryParametersToHclTerraform = networkServicesHttpRouteRulesMatchesQueryParametersToHclTerraform; exports.networkServicesHttpRouteRulesMatchesToTerraform = networkServicesHttpRouteRulesMatchesToTerraform; exports.networkServicesHttpRouteRulesMatchesToHclTerraform = networkServicesHttpRouteRulesMatchesToHclTerraform; exports.networkServicesHttpRouteRulesToTerraform = networkServicesHttpRouteRulesToTerraform; exports.networkServicesHttpRouteRulesToHclTerraform = networkServicesHttpRouteRulesToHclTerraform; exports.networkServicesHttpRouteTimeoutsToTerraform = networkServicesHttpRouteTimeoutsToTerraform; exports.networkServicesHttpRouteTimeoutsToHclTerraform = networkServicesHttpRouteTimeoutsToHclTerraform; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function networkServicesHttpRouteRulesActionCorsPolicyToTerraform(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 { allow_credentials: cdktf.booleanToTerraform(struct.allowCredentials), allow_headers: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.allowHeaders), allow_methods: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.allowMethods), allow_origin_regexes: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.allowOriginRegexes), allow_origins: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.allowOrigins), disabled: cdktf.booleanToTerraform(struct.disabled), expose_headers: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.exposeHeaders), max_age: cdktf.stringToTerraform(struct.maxAge), }; } function networkServicesHttpRouteRulesActionCorsPolicyToHclTerraform(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 = { allow_credentials: { value: cdktf.booleanToHclTerraform(struct.allowCredentials), isBlock: false, type: "simple", storageClassType: "boolean", }, allow_headers: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.allowHeaders), isBlock: false, type: "list", storageClassType: "stringList", }, allow_methods: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.allowMethods), isBlock: false, type: "list", storageClassType: "stringList", }, allow_origin_regexes: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.allowOriginRegexes), isBlock: false, type: "list", storageClassType: "stringList", }, allow_origins: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.allowOrigins), isBlock: false, type: "list", storageClassType: "stringList", }, disabled: { value: cdktf.booleanToHclTerraform(struct.disabled), isBlock: false, type: "simple", storageClassType: "boolean", }, expose_headers: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.exposeHeaders), isBlock: false, type: "list", storageClassType: "stringList", }, max_age: { value: cdktf.stringToHclTerraform(struct.maxAge), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class NetworkServicesHttpRouteRulesActionCorsPolicyOutputReference 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._allowCredentials !== undefined) { hasAnyValues = true; internalValueResult.allowCredentials = this._allowCredentials; } if (this._allowHeaders !== undefined) { hasAnyValues = true; internalValueResult.allowHeaders = this._allowHeaders; } if (this._allowMethods !== undefined) { hasAnyValues = true; internalValueResult.allowMethods = this._allowMethods; } if (this._allowOriginRegexes !== undefined) { hasAnyValues = true; internalValueResult.allowOriginRegexes = this._allowOriginRegexes; } if (this._allowOrigins !== undefined) { hasAnyValues = true; internalValueResult.allowOrigins = this._allowOrigins; } if (this._disabled !== undefined) { hasAnyValues = true; internalValueResult.disabled = this._disabled; } if (this._exposeHeaders !== undefined) { hasAnyValues = true; internalValueResult.exposeHeaders = this._exposeHeaders; } if (this._maxAge !== undefined) { hasAnyValues = true; internalValueResult.maxAge = this._maxAge; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._allowCredentials = undefined; this._allowHeaders = undefined; this._allowMethods = undefined; this._allowOriginRegexes = undefined; this._allowOrigins = undefined; this._disabled = undefined; this._exposeHeaders = undefined; this._maxAge = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._allowCredentials = value.allowCredentials; this._allowHeaders = value.allowHeaders; this._allowMethods = value.allowMethods; this._allowOriginRegexes = value.allowOriginRegexes; this._allowOrigins = value.allowOrigins; this._disabled = value.disabled; this._exposeHeaders = value.exposeHeaders; this._maxAge = value.maxAge; } } get allowCredentials() { return this.getBooleanAttribute('allow_credentials'); } set allowCredentials(value) { this._allowCredentials = value; } resetAllowCredentials() { this._allowCredentials = undefined; } // Temporarily expose input value. Use with caution. get allowCredentialsInput() { return this._allowCredentials; } get allowHeaders() { return this.getListAttribute('allow_headers'); } set allowHeaders(value) { this._allowHeaders = value; } resetAllowHeaders() { this._allowHeaders = undefined; } // Temporarily expose input value. Use with caution. get allowHeadersInput() { return this._allowHeaders; } get allowMethods() { return this.getListAttribute('allow_methods'); } set allowMethods(value) { this._allowMethods = value; } resetAllowMethods() { this._allowMethods = undefined; } // Temporarily expose input value. Use with caution. get allowMethodsInput() { return this._allowMethods; } get allowOriginRegexes() { return this.getListAttribute('allow_origin_regexes'); } set allowOriginRegexes(value) { this._allowOriginRegexes = value; } resetAllowOriginRegexes() { this._allowOriginRegexes = undefined; } // Temporarily expose input value. Use with caution. get allowOriginRegexesInput() { return this._allowOriginRegexes; } get allowOrigins() { return this.getListAttribute('allow_origins'); } set allowOrigins(value) { this._allowOrigins = value; } resetAllowOrigins() { this._allowOrigins = undefined; } // Temporarily expose input value. Use with caution. get allowOriginsInput() { return this._allowOrigins; } get disabled() { return this.getBooleanAttribute('disabled'); } set disabled(value) { this._disabled = value; } resetDisabled() { this._disabled = undefined; } // Temporarily expose input value. Use with caution. get disabledInput() { return this._disabled; } get exposeHeaders() { return this.getListAttribute('expose_headers'); } set exposeHeaders(value) { this._exposeHeaders = value; } resetExposeHeaders() { this._exposeHeaders = undefined; } // Temporarily expose input value. Use with caution. get exposeHeadersInput() { return this._exposeHeaders; } get maxAge() { return this.getStringAttribute('max_age'); } set maxAge(value) { this._maxAge = value; } resetMaxAge() { this._maxAge = undefined; } // Temporarily expose input value. Use with caution. get maxAgeInput() { return this._maxAge; } } exports.NetworkServicesHttpRouteRulesActionCorsPolicyOutputReference = NetworkServicesHttpRouteRulesActionCorsPolicyOutputReference; _a = JSII_RTTI_SYMBOL_1; NetworkServicesHttpRouteRulesActionCorsPolicyOutputReference[_a] = { fqn: "@cdktf/provider-google.networkServicesHttpRoute.NetworkServicesHttpRouteRulesActionCorsPolicyOutputReference", version: "14.35.0" }; function networkServicesHttpRouteRulesActionDestinationsToTerraform(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 { service_name: cdktf.stringToTerraform(struct.serviceName), weight: cdktf.numberToTerraform(struct.weight), }; } function networkServicesHttpRouteRulesActionDestinationsToHclTerraform(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 = { service_name: { value: cdktf.stringToHclTerraform(struct.serviceName), 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)); } class NetworkServicesHttpRouteRulesActionDestinationsOutputReference 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._serviceName !== undefined) { hasAnyValues = true; internalValueResult.serviceName = this._serviceName; } 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._serviceName = 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._serviceName = value.serviceName; this._weight = value.weight; } } 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 weight() { return this.getNumberAttribute('weight'); } set weight(value) { this._weight = value; } resetWeight() { this._weight = undefined; } // Temporarily expose input value. Use with caution. get weightInput() { return this._weight; } } exports.NetworkServicesHttpRouteRulesActionDestinationsOutputReference = NetworkServicesHttpRouteRulesActionDestinationsOutputReference; _b = JSII_RTTI_SYMBOL_1; NetworkServicesHttpRouteRulesActionDestinationsOutputReference[_b] = { fqn: "@cdktf/provider-google.networkServicesHttpRoute.NetworkServicesHttpRouteRulesActionDestinationsOutputReference", version: "14.35.0" }; class NetworkServicesHttpRouteRulesActionDestinationsList 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 NetworkServicesHttpRouteRulesActionDestinationsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.NetworkServicesHttpRouteRulesActionDestinationsList = NetworkServicesHttpRouteRulesActionDestinationsList; _c = JSII_RTTI_SYMBOL_1; NetworkServicesHttpRouteRulesActionDestinationsList[_c] = { fqn: "@cdktf/provider-google.networkServicesHttpRoute.NetworkServicesHttpRouteRulesActionDestinationsList", version: "14.35.0" }; function networkServicesHttpRouteRulesActionFaultInjectionPolicyAbortToTerraform(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 { http_status: cdktf.numberToTerraform(struct.httpStatus), percentage: cdktf.numberToTerraform(struct.percentage), }; } function networkServicesHttpRouteRulesActionFaultInjectionPolicyAbortToHclTerraform(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 = { http_status: { value: cdktf.numberToHclTerraform(struct.httpStatus), isBlock: false, type: "simple", storageClassType: "number", }, percentage: { value: cdktf.numberToHclTerraform(struct.percentage), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class NetworkServicesHttpRouteRulesActionFaultInjectionPolicyAbortOutputReference 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._httpStatus !== undefined) { hasAnyValues = true; internalValueResult.httpStatus = this._httpStatus; } if (this._percentage !== undefined) { hasAnyValues = true; internalValueResult.percentage = this._percentage; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._httpStatus = undefined; this._percentage = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._httpStatus = value.httpStatus; this._percentage = value.percentage; } } get httpStatus() { return this.getNumberAttribute('http_status'); } set httpStatus(value) { this._httpStatus = value; } resetHttpStatus() { this._httpStatus = undefined; } // Temporarily expose input value. Use with caution. get httpStatusInput() { return this._httpStatus; } get percentage() { return this.getNumberAttribute('percentage'); } set percentage(value) { this._percentage = value; } resetPercentage() { this._percentage = undefined; } // Temporarily expose input value. Use with caution. get percentageInput() { return this._percentage; } } exports.NetworkServicesHttpRouteRulesActionFaultInjectionPolicyAbortOutputReference = NetworkServicesHttpRouteRulesActionFaultInjectionPolicyAbortOutputReference; _d = JSII_RTTI_SYMBOL_1; NetworkServicesHttpRouteRulesActionFaultInjectionPolicyAbortOutputReference[_d] = { fqn: "@cdktf/provider-google.networkServicesHttpRoute.NetworkServicesHttpRouteRulesActionFaultInjectionPolicyAbortOutputReference", version: "14.35.0" }; function networkServicesHttpRouteRulesActionFaultInjectionPolicyDelayToTerraform(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 { fixed_delay: cdktf.stringToTerraform(struct.fixedDelay), percentage: cdktf.numberToTerraform(struct.percentage), }; } function networkServicesHttpRouteRulesActionFaultInjectionPolicyDelayToHclTerraform(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 = { fixed_delay: { value: cdktf.stringToHclTerraform(struct.fixedDelay), isBlock: false, type: "simple", storageClassType: "string", }, percentage: { value: cdktf.numberToHclTerraform(struct.percentage), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class NetworkServicesHttpRouteRulesActionFaultInjectionPolicyDelayOutputReference 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._fixedDelay !== undefined) { hasAnyValues = true; internalValueResult.fixedDelay = this._fixedDelay; } if (this._percentage !== undefined) { hasAnyValues = true; internalValueResult.percentage = this._percentage; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._fixedDelay = undefined; this._percentage = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._fixedDelay = value.fixedDelay; this._percentage = value.percentage; } } get fixedDelay() { return this.getStringAttribute('fixed_delay'); } set fixedDelay(value) { this._fixedDelay = value; } resetFixedDelay() { this._fixedDelay = undefined; } // Temporarily expose input value. Use with caution. get fixedDelayInput() { return this._fixedDelay; } get percentage() { return this.getNumberAttribute('percentage'); } set percentage(value) { this._percentage = value; } resetPercentage() { this._percentage = undefined; } // Temporarily expose input value. Use with caution. get percentageInput() { return this._percentage; } } exports.NetworkServicesHttpRouteRulesActionFaultInjectionPolicyDelayOutputReference = NetworkServicesHttpRouteRulesActionFaultInjectionPolicyDelayOutputReference; _e = JSII_RTTI_SYMBOL_1; NetworkServicesHttpRouteRulesActionFaultInjectionPolicyDelayOutputReference[_e] = { fqn: "@cdktf/provider-google.networkServicesHttpRoute.NetworkServicesHttpRouteRulesActionFaultInjectionPolicyDelayOutputReference", version: "14.35.0" }; function networkServicesHttpRouteRulesActionFaultInjectionPolicyToTerraform(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 { abort: networkServicesHttpRouteRulesActionFaultInjectionPolicyAbortToTerraform(struct.abort), delay: networkServicesHttpRouteRulesActionFaultInjectionPolicyDelayToTerraform(struct.delay), }; } function networkServicesHttpRouteRulesActionFaultInjectionPolicyToHclTerraform(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 = { abort: { value: networkServicesHttpRouteRulesActionFaultInjectionPolicyAbortToHclTerraform(struct.abort), isBlock: true, type: "list", storageClassType: "NetworkServicesHttpRouteRulesActionFaultInjectionPolicyAbortList", }, delay: { value: networkServicesHttpRouteRulesActionFaultInjectionPolicyDelayToHclTerraform(struct.delay), isBlock: true, type: "list", storageClassType: "NetworkServicesHttpRouteRulesActionFaultInjectionPolicyDelayList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class NetworkServicesHttpRouteRulesActionFaultInjectionPolicyOutputReference 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; // abort - computed: false, optional: true, required: false this._abort = new NetworkServicesHttpRouteRulesActionFaultInjectionPolicyAbortOutputReference(this, "abort"); // delay - computed: false, optional: true, required: false this._delay = new NetworkServicesHttpRouteRulesActionFaultInjectionPolicyDelayOutputReference(this, "delay"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._abort?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.abort = this._abort?.internalValue; } if (this._delay?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.delay = this._delay?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._abort.internalValue = undefined; this._delay.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._abort.internalValue = value.abort; this._delay.internalValue = value.delay; } } get abort() { return this._abort; } putAbort(value) { this._abort.internalValue = value; } resetAbort() { this._abort.internalValue = undefined; } // Temporarily expose input value. Use with caution. get abortInput() { return this._abort.internalValue; } get delay() { return this._delay; } putDelay(value) { this._delay.internalValue = value; } resetDelay() { this._delay.internalValue = undefined; } // Temporarily expose input value. Use with caution. get delayInput() { return this._delay.internalValue; } } exports.NetworkServicesHttpRouteRulesActionFaultInjectionPolicyOutputReference = NetworkServicesHttpRouteRulesActionFaultInjectionPolicyOutputReference; _f = JSII_RTTI_SYMBOL_1; NetworkServicesHttpRouteRulesActionFaultInjectionPolicyOutputReference[_f] = { fqn: "@cdktf/provider-google.networkServicesHttpRoute.NetworkServicesHttpRouteRulesActionFaultInjectionPolicyOutputReference", version: "14.35.0" }; function networkServicesHttpRouteRulesActionRedirectToTerraform(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 { host_redirect: cdktf.stringToTerraform(struct.hostRedirect), https_redirect: cdktf.booleanToTerraform(struct.httpsRedirect), path_redirect: cdktf.stringToTerraform(struct.pathRedirect), port_redirect: cdktf.numberToTerraform(struct.portRedirect), prefix_rewrite: cdktf.stringToTerraform(struct.prefixRewrite), response_code: cdktf.stringToTerraform(struct.responseCode), strip_query: cdktf.booleanToTerraform(struct.stripQuery), }; } function networkServicesHttpRouteRulesActionRedirectToHclTerraform(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 = { host_redirect: { value: cdktf.stringToHclTerraform(struct.hostRedirect), isBlock: false, type: "simple", storageClassType: "string", }, https_redirect: { value: cdktf.booleanToHclTerraform(struct.httpsRedirect), isBlock: false, type: "simple", storageClassType: "boolean", }, path_redirect: { value: cdktf.stringToHclTerraform(struct.pathRedirect), isBlock: false, type: "simple", storageClassType: "string", }, port_redirect: { value: cdktf.numberToHclTerraform(struct.portRedirect), isBlock: false, type: "simple", storageClassType: "number", }, prefix_rewrite: { value: cdktf.stringToHclTerraform(struct.prefixRewrite), isBlock: false, type: "simple", storageClassType: "string", }, response_code: { value: cdktf.stringToHclTerraform(struct.responseCode), isBlock: false, type: "simple", storageClassType: "string", }, strip_query: { value: cdktf.booleanToHclTerraform(struct.stripQuery), isBlock: false, type: "simple", storageClassType: "boolean", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class NetworkServicesHttpRouteRulesActionRedirectOutputReference 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._hostRedirect !== undefined) { hasAnyValues = true; internalValueResult.hostRedirect = this._hostRedirect; } if (this._httpsRedirect !== undefined) { hasAnyValues = true; internalValueResult.httpsRedirect = this._httpsRedirect; } if (this._pathRedirect !== undefined) { hasAnyValues = true; internalValueResult.pathRedirect = this._pathRedirect; } if (this._portRedirect !== undefined) { hasAnyValues = true; internalValueResult.portRedirect = this._portRedirect; } if (this._prefixRewrite !== undefined) { hasAnyValues = true; internalValueResult.prefixRewrite = this._prefixRewrite; } if (this._responseCode !== undefined) { hasAnyValues = true; internalValueResult.responseCode = this._responseCode; } if (this._stripQuery !== undefined) { hasAnyValues = true; internalValueResult.stripQuery = this._stripQuery; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._hostRedirect = undefined; this._httpsRedirect = undefined; this._pathRedirect = undefined; this._portRedirect = undefined; this._prefixRewrite = undefined; this._responseCode = undefined; this._stripQuery = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._hostRedirect = value.hostRedirect; this._httpsRedirect = value.httpsRedirect; this._pathRedirect = value.pathRedirect; this._portRedirect = value.portRedirect; this._prefixRewrite = value.prefixRewrite; this._responseCode = value.responseCode; this._stripQuery = value.stripQuery; } } get hostRedirect() { return this.getStringAttribute('host_redirect'); } set hostRedirect(value) { this._hostRedirect = value; } resetHostRedirect() { this._hostRedirect = undefined; } // Temporarily expose input value. Use with caution. get hostRedirectInput() { return this._hostRedirect; } get httpsRedirect() { return this.getBooleanAttribute('https_redirect'); } set httpsRedirect(value) { this._httpsRedirect = value; } resetHttpsRedirect() { this._httpsRedirect = undefined; } // Temporarily expose input value. Use with caution. get httpsRedirectInput() { return this._httpsRedirect; } get pathRedirect() { return this.getStringAttribute('path_redirect'); } set pathRedirect(value) { this._pathRedirect = value; } resetPathRedirect() { this._pathRedirect = undefined; } // Temporarily expose input value. Use with caution. get pathRedirectInput() { return this._pathRedirect; } get portRedirect() { return this.getNumberAttribute('port_redirect'); } set portRedirect(value) { this._portRedirect = value; } resetPortRedirect() { this._portRedirect = undefined; } // Temporarily expose input value. Use with caution. get portRedirectInput() { return this._portRedirect; } get prefixRewrite() { return this.getStringAttribute('prefix_rewrite'); } set prefixRewrite(value) { this._prefixRewrite = value; } resetPrefixRewrite() { this._prefixRewrite = undefined; } // Temporarily expose input value. Use with caution. get prefixRewriteInput() { return this._prefixRewrite; } get responseCode() { return this.getStringAttribute('response_code'); } set responseCode(value) { this._responseCode = value; } resetResponseCode() { this._responseCode = undefined; } // Temporarily expose input value. Use with caution. get responseCodeInput() { return this._responseCode; } get stripQuery() { return this.getBooleanAttribute('strip_query'); } set stripQuery(value) { this._stripQuery = value; } resetStripQuery() { this._stripQuery = undefined; } // Temporarily expose input value. Use with caution. get stripQueryInput() { return this._stripQuery; } } exports.NetworkServicesHttpRouteRulesActionRedirectOutputReference = NetworkServicesHttpRouteRulesActionRedirectOutputReference; _g = JSII_RTTI_SYMBOL_1; NetworkServicesHttpRouteRulesActionRedirectOutputReference[_g] = { fqn: "@cdktf/provider-google.networkServicesHttpRoute.NetworkServicesHttpRouteRulesActionRedirectOutputReference", version: "14.35.0" }; function networkServicesHttpRouteRulesActionRequestHeaderModifierToTerraform(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 { add: cdktf.hashMapper(cdktf.stringToTerraform)(struct.add), remove: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.remove), set: cdktf.hashMapper(cdktf.stringToTerraform)(struct.set), }; } function networkServicesHttpRouteRulesActionRequestHeaderModifierToHclTerraform(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 = { add: { value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(struct.add), isBlock: false, type: "map", storageClassType: "stringMap", }, remove: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.remove), isBlock: false, type: "list", storageClassType: "stringList", }, set: { value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(struct.set), isBlock: false, type: "map", storageClassType: "stringMap", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class NetworkServicesHttpRouteRulesActionRequestHeaderModifierOutputReference 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._add !== undefined) { hasAnyValues = true; internalValueResult.add = this._add; } if (this._remove !== undefined) { hasAnyValues = true; internalValueResult.remove = this._remove; } if (this._set !== undefined) { hasAnyValues = true; internalValueResult.set = this._set; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._add = undefined; this._remove = undefined; this._set = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._add = value.add; this._remove = value.remove; this._set = value.set; } } get add() { return this.getStringMapAttribute('add'); } set add(value) { this._add = value; } resetAdd() { this._add = undefined; } // Temporarily expose input value. Use with caution. get addInput() { return this._add; } get remove() { return this.getListAttribute('remove'); } set remove(value) { this._remove = value; } resetRemove() { this._remove = undefined; } // Temporarily expose input value. Use with caution. get removeInput() { return this._remove; } get set() { return this.getStringMapAttribute('set'); } set set(value) { this._set = value; } resetSet() { this._set = undefined; } // Temporarily expose input value. Use with caution. get setInput() { return this._set; } } exports.NetworkServicesHttpRouteRulesActionRequestHeaderModifierOutputReference = NetworkServicesHttpRouteRulesActionRequestHeaderModifierOutputReference; _h = JSII_RTTI_SYMBOL_1; NetworkServicesHttpRouteRulesActionRequestHeaderModifierOutputReference[_h] = { fqn: "@cdktf/provider-google.networkServicesHttpRoute.NetworkServicesHttpRouteRulesActionRequestHeaderModifierOutputReference", version: "14.35.0" }; function networkServicesHttpRouteRulesActionRequestMirrorPolicyDestinationToTerraform(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 { service_name: cdktf.stringToTerraform(struct.serviceName), weight: cdktf.numberToTerraform(struct.weight), }; } function networkServicesHttpRouteRulesActionRequestMirrorPolicyDestinationToHclTerraform(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 = { service_name: { value: cdktf.stringToHclTerraform(struct.serviceName), 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)); } class NetworkServicesHttpRouteRulesActionRequestMirrorPolicyDestinationOutputReference 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._serviceName !== undefined) { hasAnyValues = true; internalValueResult.serviceName = this._serviceName; } if (this._weight !== undefined) { hasAnyValues = true; internalValueResult.weight = this._weight; } return hasAnyValues ?