@cdktf/provider-google
Version:
Prebuilt google Provider for Terraform CDK (cdktf)
1,150 lines • 479 kB
JavaScript
"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 ?