UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

1,072 lines 400 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; Object.defineProperty(exports, "__esModule", { value: true }); exports.ComputeRegionSecurityPolicyRule = exports.ComputeRegionSecurityPolicyRuleTimeoutsOutputReference = exports.ComputeRegionSecurityPolicyRuleRateLimitOptionsOutputReference = exports.ComputeRegionSecurityPolicyRuleRateLimitOptionsRateLimitThresholdOutputReference = exports.ComputeRegionSecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfigsList = exports.ComputeRegionSecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfigsOutputReference = exports.ComputeRegionSecurityPolicyRuleRateLimitOptionsBanThresholdOutputReference = exports.ComputeRegionSecurityPolicyRulePreconfiguredWafConfigOutputReference = exports.ComputeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionList = exports.ComputeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionOutputReference = exports.ComputeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestUriList = exports.ComputeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestUriOutputReference = exports.ComputeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamList = exports.ComputeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamOutputReference = exports.ComputeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderList = exports.ComputeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderOutputReference = exports.ComputeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieList = exports.ComputeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieOutputReference = exports.ComputeRegionSecurityPolicyRuleNetworkMatchOutputReference = exports.ComputeRegionSecurityPolicyRuleNetworkMatchUserDefinedFieldsList = exports.ComputeRegionSecurityPolicyRuleNetworkMatchUserDefinedFieldsOutputReference = exports.ComputeRegionSecurityPolicyRuleMatchOutputReference = exports.ComputeRegionSecurityPolicyRuleMatchExprOutputReference = exports.ComputeRegionSecurityPolicyRuleMatchConfigOutputReference = void 0; exports.computeRegionSecurityPolicyRuleMatchConfigToTerraform = computeRegionSecurityPolicyRuleMatchConfigToTerraform; exports.computeRegionSecurityPolicyRuleMatchConfigToHclTerraform = computeRegionSecurityPolicyRuleMatchConfigToHclTerraform; exports.computeRegionSecurityPolicyRuleMatchExprToTerraform = computeRegionSecurityPolicyRuleMatchExprToTerraform; exports.computeRegionSecurityPolicyRuleMatchExprToHclTerraform = computeRegionSecurityPolicyRuleMatchExprToHclTerraform; exports.computeRegionSecurityPolicyRuleMatchToTerraform = computeRegionSecurityPolicyRuleMatchToTerraform; exports.computeRegionSecurityPolicyRuleMatchToHclTerraform = computeRegionSecurityPolicyRuleMatchToHclTerraform; exports.computeRegionSecurityPolicyRuleNetworkMatchUserDefinedFieldsToTerraform = computeRegionSecurityPolicyRuleNetworkMatchUserDefinedFieldsToTerraform; exports.computeRegionSecurityPolicyRuleNetworkMatchUserDefinedFieldsToHclTerraform = computeRegionSecurityPolicyRuleNetworkMatchUserDefinedFieldsToHclTerraform; exports.computeRegionSecurityPolicyRuleNetworkMatchToTerraform = computeRegionSecurityPolicyRuleNetworkMatchToTerraform; exports.computeRegionSecurityPolicyRuleNetworkMatchToHclTerraform = computeRegionSecurityPolicyRuleNetworkMatchToHclTerraform; exports.computeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieToTerraform = computeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieToTerraform; exports.computeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieToHclTerraform = computeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieToHclTerraform; exports.computeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderToTerraform = computeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderToTerraform; exports.computeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderToHclTerraform = computeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderToHclTerraform; exports.computeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamToTerraform = computeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamToTerraform; exports.computeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamToHclTerraform = computeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamToHclTerraform; exports.computeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestUriToTerraform = computeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestUriToTerraform; exports.computeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestUriToHclTerraform = computeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestUriToHclTerraform; exports.computeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionToTerraform = computeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionToTerraform; exports.computeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionToHclTerraform = computeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionToHclTerraform; exports.computeRegionSecurityPolicyRulePreconfiguredWafConfigToTerraform = computeRegionSecurityPolicyRulePreconfiguredWafConfigToTerraform; exports.computeRegionSecurityPolicyRulePreconfiguredWafConfigToHclTerraform = computeRegionSecurityPolicyRulePreconfiguredWafConfigToHclTerraform; exports.computeRegionSecurityPolicyRuleRateLimitOptionsBanThresholdToTerraform = computeRegionSecurityPolicyRuleRateLimitOptionsBanThresholdToTerraform; exports.computeRegionSecurityPolicyRuleRateLimitOptionsBanThresholdToHclTerraform = computeRegionSecurityPolicyRuleRateLimitOptionsBanThresholdToHclTerraform; exports.computeRegionSecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfigsToTerraform = computeRegionSecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfigsToTerraform; exports.computeRegionSecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfigsToHclTerraform = computeRegionSecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfigsToHclTerraform; exports.computeRegionSecurityPolicyRuleRateLimitOptionsRateLimitThresholdToTerraform = computeRegionSecurityPolicyRuleRateLimitOptionsRateLimitThresholdToTerraform; exports.computeRegionSecurityPolicyRuleRateLimitOptionsRateLimitThresholdToHclTerraform = computeRegionSecurityPolicyRuleRateLimitOptionsRateLimitThresholdToHclTerraform; exports.computeRegionSecurityPolicyRuleRateLimitOptionsToTerraform = computeRegionSecurityPolicyRuleRateLimitOptionsToTerraform; exports.computeRegionSecurityPolicyRuleRateLimitOptionsToHclTerraform = computeRegionSecurityPolicyRuleRateLimitOptionsToHclTerraform; exports.computeRegionSecurityPolicyRuleTimeoutsToTerraform = computeRegionSecurityPolicyRuleTimeoutsToTerraform; exports.computeRegionSecurityPolicyRuleTimeoutsToHclTerraform = computeRegionSecurityPolicyRuleTimeoutsToHclTerraform; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function computeRegionSecurityPolicyRuleMatchConfigToTerraform(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 { src_ip_ranges: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.srcIpRanges), }; } function computeRegionSecurityPolicyRuleMatchConfigToHclTerraform(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 = { src_ip_ranges: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.srcIpRanges), isBlock: false, type: "list", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ComputeRegionSecurityPolicyRuleMatchConfigOutputReference 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._srcIpRanges !== undefined) { hasAnyValues = true; internalValueResult.srcIpRanges = this._srcIpRanges; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._srcIpRanges = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._srcIpRanges = value.srcIpRanges; } } get srcIpRanges() { return this.getListAttribute('src_ip_ranges'); } set srcIpRanges(value) { this._srcIpRanges = value; } resetSrcIpRanges() { this._srcIpRanges = undefined; } // Temporarily expose input value. Use with caution. get srcIpRangesInput() { return this._srcIpRanges; } } exports.ComputeRegionSecurityPolicyRuleMatchConfigOutputReference = ComputeRegionSecurityPolicyRuleMatchConfigOutputReference; _a = JSII_RTTI_SYMBOL_1; ComputeRegionSecurityPolicyRuleMatchConfigOutputReference[_a] = { fqn: "@cdktf/provider-google.computeRegionSecurityPolicyRule.ComputeRegionSecurityPolicyRuleMatchConfigOutputReference", version: "14.35.0" }; function computeRegionSecurityPolicyRuleMatchExprToTerraform(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 { expression: cdktf.stringToTerraform(struct.expression), }; } function computeRegionSecurityPolicyRuleMatchExprToHclTerraform(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 = { expression: { value: cdktf.stringToHclTerraform(struct.expression), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ComputeRegionSecurityPolicyRuleMatchExprOutputReference 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._expression !== undefined) { hasAnyValues = true; internalValueResult.expression = this._expression; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._expression = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._expression = value.expression; } } get expression() { return this.getStringAttribute('expression'); } set expression(value) { this._expression = value; } // Temporarily expose input value. Use with caution. get expressionInput() { return this._expression; } } exports.ComputeRegionSecurityPolicyRuleMatchExprOutputReference = ComputeRegionSecurityPolicyRuleMatchExprOutputReference; _b = JSII_RTTI_SYMBOL_1; ComputeRegionSecurityPolicyRuleMatchExprOutputReference[_b] = { fqn: "@cdktf/provider-google.computeRegionSecurityPolicyRule.ComputeRegionSecurityPolicyRuleMatchExprOutputReference", version: "14.35.0" }; function computeRegionSecurityPolicyRuleMatchToTerraform(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 { versioned_expr: cdktf.stringToTerraform(struct.versionedExpr), config: computeRegionSecurityPolicyRuleMatchConfigToTerraform(struct.config), expr: computeRegionSecurityPolicyRuleMatchExprToTerraform(struct.expr), }; } function computeRegionSecurityPolicyRuleMatchToHclTerraform(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 = { versioned_expr: { value: cdktf.stringToHclTerraform(struct.versionedExpr), isBlock: false, type: "simple", storageClassType: "string", }, config: { value: computeRegionSecurityPolicyRuleMatchConfigToHclTerraform(struct.config), isBlock: true, type: "list", storageClassType: "ComputeRegionSecurityPolicyRuleMatchConfigList", }, expr: { value: computeRegionSecurityPolicyRuleMatchExprToHclTerraform(struct.expr), isBlock: true, type: "list", storageClassType: "ComputeRegionSecurityPolicyRuleMatchExprList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ComputeRegionSecurityPolicyRuleMatchOutputReference 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; // config - computed: false, optional: true, required: false this._config = new ComputeRegionSecurityPolicyRuleMatchConfigOutputReference(this, "config"); // expr - computed: false, optional: true, required: false this._expr = new ComputeRegionSecurityPolicyRuleMatchExprOutputReference(this, "expr"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._versionedExpr !== undefined) { hasAnyValues = true; internalValueResult.versionedExpr = this._versionedExpr; } if (this._config?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.config = this._config?.internalValue; } if (this._expr?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.expr = this._expr?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._versionedExpr = undefined; this._config.internalValue = undefined; this._expr.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._versionedExpr = value.versionedExpr; this._config.internalValue = value.config; this._expr.internalValue = value.expr; } } get versionedExpr() { return this.getStringAttribute('versioned_expr'); } set versionedExpr(value) { this._versionedExpr = value; } resetVersionedExpr() { this._versionedExpr = undefined; } // Temporarily expose input value. Use with caution. get versionedExprInput() { return this._versionedExpr; } get config() { return this._config; } putConfig(value) { this._config.internalValue = value; } resetConfig() { this._config.internalValue = undefined; } // Temporarily expose input value. Use with caution. get configInput() { return this._config.internalValue; } get expr() { return this._expr; } putExpr(value) { this._expr.internalValue = value; } resetExpr() { this._expr.internalValue = undefined; } // Temporarily expose input value. Use with caution. get exprInput() { return this._expr.internalValue; } } exports.ComputeRegionSecurityPolicyRuleMatchOutputReference = ComputeRegionSecurityPolicyRuleMatchOutputReference; _c = JSII_RTTI_SYMBOL_1; ComputeRegionSecurityPolicyRuleMatchOutputReference[_c] = { fqn: "@cdktf/provider-google.computeRegionSecurityPolicyRule.ComputeRegionSecurityPolicyRuleMatchOutputReference", version: "14.35.0" }; function computeRegionSecurityPolicyRuleNetworkMatchUserDefinedFieldsToTerraform(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 { name: cdktf.stringToTerraform(struct.name), values: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.values), }; } function computeRegionSecurityPolicyRuleNetworkMatchUserDefinedFieldsToHclTerraform(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 = { name: { value: cdktf.stringToHclTerraform(struct.name), isBlock: false, type: "simple", storageClassType: "string", }, values: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.values), isBlock: false, type: "list", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ComputeRegionSecurityPolicyRuleNetworkMatchUserDefinedFieldsOutputReference 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._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } if (this._values !== undefined) { hasAnyValues = true; internalValueResult.values = this._values; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._name = undefined; this._values = 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._name = value.name; this._values = value.values; } } get name() { return this.getStringAttribute('name'); } set name(value) { this._name = value; } resetName() { this._name = undefined; } // Temporarily expose input value. Use with caution. get nameInput() { return this._name; } get values() { return this.getListAttribute('values'); } set values(value) { this._values = value; } resetValues() { this._values = undefined; } // Temporarily expose input value. Use with caution. get valuesInput() { return this._values; } } exports.ComputeRegionSecurityPolicyRuleNetworkMatchUserDefinedFieldsOutputReference = ComputeRegionSecurityPolicyRuleNetworkMatchUserDefinedFieldsOutputReference; _d = JSII_RTTI_SYMBOL_1; ComputeRegionSecurityPolicyRuleNetworkMatchUserDefinedFieldsOutputReference[_d] = { fqn: "@cdktf/provider-google.computeRegionSecurityPolicyRule.ComputeRegionSecurityPolicyRuleNetworkMatchUserDefinedFieldsOutputReference", version: "14.35.0" }; class ComputeRegionSecurityPolicyRuleNetworkMatchUserDefinedFieldsList 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 ComputeRegionSecurityPolicyRuleNetworkMatchUserDefinedFieldsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.ComputeRegionSecurityPolicyRuleNetworkMatchUserDefinedFieldsList = ComputeRegionSecurityPolicyRuleNetworkMatchUserDefinedFieldsList; _e = JSII_RTTI_SYMBOL_1; ComputeRegionSecurityPolicyRuleNetworkMatchUserDefinedFieldsList[_e] = { fqn: "@cdktf/provider-google.computeRegionSecurityPolicyRule.ComputeRegionSecurityPolicyRuleNetworkMatchUserDefinedFieldsList", version: "14.35.0" }; function computeRegionSecurityPolicyRuleNetworkMatchToTerraform(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 { dest_ip_ranges: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.destIpRanges), dest_ports: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.destPorts), ip_protocols: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.ipProtocols), src_asns: cdktf.listMapper(cdktf.numberToTerraform, false)(struct.srcAsns), src_ip_ranges: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.srcIpRanges), src_ports: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.srcPorts), src_region_codes: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.srcRegionCodes), user_defined_fields: cdktf.listMapper(computeRegionSecurityPolicyRuleNetworkMatchUserDefinedFieldsToTerraform, true)(struct.userDefinedFields), }; } function computeRegionSecurityPolicyRuleNetworkMatchToHclTerraform(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 = { dest_ip_ranges: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.destIpRanges), isBlock: false, type: "list", storageClassType: "stringList", }, dest_ports: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.destPorts), isBlock: false, type: "list", storageClassType: "stringList", }, ip_protocols: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.ipProtocols), isBlock: false, type: "list", storageClassType: "stringList", }, src_asns: { value: cdktf.listMapperHcl(cdktf.numberToHclTerraform, false)(struct.srcAsns), isBlock: false, type: "list", storageClassType: "numberList", }, src_ip_ranges: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.srcIpRanges), isBlock: false, type: "list", storageClassType: "stringList", }, src_ports: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.srcPorts), isBlock: false, type: "list", storageClassType: "stringList", }, src_region_codes: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.srcRegionCodes), isBlock: false, type: "list", storageClassType: "stringList", }, user_defined_fields: { value: cdktf.listMapperHcl(computeRegionSecurityPolicyRuleNetworkMatchUserDefinedFieldsToHclTerraform, true)(struct.userDefinedFields), isBlock: true, type: "list", storageClassType: "ComputeRegionSecurityPolicyRuleNetworkMatchUserDefinedFieldsList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ComputeRegionSecurityPolicyRuleNetworkMatchOutputReference 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; // user_defined_fields - computed: false, optional: true, required: false this._userDefinedFields = new ComputeRegionSecurityPolicyRuleNetworkMatchUserDefinedFieldsList(this, "user_defined_fields", false); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._destIpRanges !== undefined) { hasAnyValues = true; internalValueResult.destIpRanges = this._destIpRanges; } if (this._destPorts !== undefined) { hasAnyValues = true; internalValueResult.destPorts = this._destPorts; } if (this._ipProtocols !== undefined) { hasAnyValues = true; internalValueResult.ipProtocols = this._ipProtocols; } if (this._srcAsns !== undefined) { hasAnyValues = true; internalValueResult.srcAsns = this._srcAsns; } if (this._srcIpRanges !== undefined) { hasAnyValues = true; internalValueResult.srcIpRanges = this._srcIpRanges; } if (this._srcPorts !== undefined) { hasAnyValues = true; internalValueResult.srcPorts = this._srcPorts; } if (this._srcRegionCodes !== undefined) { hasAnyValues = true; internalValueResult.srcRegionCodes = this._srcRegionCodes; } if (this._userDefinedFields?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.userDefinedFields = this._userDefinedFields?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._destIpRanges = undefined; this._destPorts = undefined; this._ipProtocols = undefined; this._srcAsns = undefined; this._srcIpRanges = undefined; this._srcPorts = undefined; this._srcRegionCodes = undefined; this._userDefinedFields.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._destIpRanges = value.destIpRanges; this._destPorts = value.destPorts; this._ipProtocols = value.ipProtocols; this._srcAsns = value.srcAsns; this._srcIpRanges = value.srcIpRanges; this._srcPorts = value.srcPorts; this._srcRegionCodes = value.srcRegionCodes; this._userDefinedFields.internalValue = value.userDefinedFields; } } get destIpRanges() { return this.getListAttribute('dest_ip_ranges'); } set destIpRanges(value) { this._destIpRanges = value; } resetDestIpRanges() { this._destIpRanges = undefined; } // Temporarily expose input value. Use with caution. get destIpRangesInput() { return this._destIpRanges; } get destPorts() { return this.getListAttribute('dest_ports'); } set destPorts(value) { this._destPorts = value; } resetDestPorts() { this._destPorts = undefined; } // Temporarily expose input value. Use with caution. get destPortsInput() { return this._destPorts; } get ipProtocols() { return this.getListAttribute('ip_protocols'); } set ipProtocols(value) { this._ipProtocols = value; } resetIpProtocols() { this._ipProtocols = undefined; } // Temporarily expose input value. Use with caution. get ipProtocolsInput() { return this._ipProtocols; } get srcAsns() { return this.getNumberListAttribute('src_asns'); } set srcAsns(value) { this._srcAsns = value; } resetSrcAsns() { this._srcAsns = undefined; } // Temporarily expose input value. Use with caution. get srcAsnsInput() { return this._srcAsns; } get srcIpRanges() { return this.getListAttribute('src_ip_ranges'); } set srcIpRanges(value) { this._srcIpRanges = value; } resetSrcIpRanges() { this._srcIpRanges = undefined; } // Temporarily expose input value. Use with caution. get srcIpRangesInput() { return this._srcIpRanges; } get srcPorts() { return this.getListAttribute('src_ports'); } set srcPorts(value) { this._srcPorts = value; } resetSrcPorts() { this._srcPorts = undefined; } // Temporarily expose input value. Use with caution. get srcPortsInput() { return this._srcPorts; } get srcRegionCodes() { return this.getListAttribute('src_region_codes'); } set srcRegionCodes(value) { this._srcRegionCodes = value; } resetSrcRegionCodes() { this._srcRegionCodes = undefined; } // Temporarily expose input value. Use with caution. get srcRegionCodesInput() { return this._srcRegionCodes; } get userDefinedFields() { return this._userDefinedFields; } putUserDefinedFields(value) { this._userDefinedFields.internalValue = value; } resetUserDefinedFields() { this._userDefinedFields.internalValue = undefined; } // Temporarily expose input value. Use with caution. get userDefinedFieldsInput() { return this._userDefinedFields.internalValue; } } exports.ComputeRegionSecurityPolicyRuleNetworkMatchOutputReference = ComputeRegionSecurityPolicyRuleNetworkMatchOutputReference; _f = JSII_RTTI_SYMBOL_1; ComputeRegionSecurityPolicyRuleNetworkMatchOutputReference[_f] = { fqn: "@cdktf/provider-google.computeRegionSecurityPolicyRule.ComputeRegionSecurityPolicyRuleNetworkMatchOutputReference", version: "14.35.0" }; function computeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieToTerraform(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 { operator: cdktf.stringToTerraform(struct.operator), value: cdktf.stringToTerraform(struct.value), }; } function computeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieToHclTerraform(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 = { operator: { value: cdktf.stringToHclTerraform(struct.operator), 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)); } class ComputeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieOutputReference 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._operator !== undefined) { hasAnyValues = true; internalValueResult.operator = this._operator; } if (this._value !== undefined) { hasAnyValues = true; internalValueResult.value = this._value; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._operator = undefined; this._value = 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._operator = value.operator; this._value = value.value; } } get operator() { return this.getStringAttribute('operator'); } set operator(value) { this._operator = value; } // Temporarily expose input value. Use with caution. get operatorInput() { return this._operator; } 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.ComputeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieOutputReference = ComputeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieOutputReference; _g = JSII_RTTI_SYMBOL_1; ComputeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieOutputReference[_g] = { fqn: "@cdktf/provider-google.computeRegionSecurityPolicyRule.ComputeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieOutputReference", version: "14.35.0" }; class ComputeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieList 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 ComputeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.ComputeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieList = ComputeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieList; _h = JSII_RTTI_SYMBOL_1; ComputeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieList[_h] = { fqn: "@cdktf/provider-google.computeRegionSecurityPolicyRule.ComputeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieList", version: "14.35.0" }; function computeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderToTerraform(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 { operator: cdktf.stringToTerraform(struct.operator), value: cdktf.stringToTerraform(struct.value), }; } function computeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderToHclTerraform(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 = { operator: { value: cdktf.stringToHclTerraform(struct.operator), 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)); } class ComputeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderOutputReference 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._operator !== undefined) { hasAnyValues = true; internalValueResult.operator = this._operator; } if (this._value !== undefined) { hasAnyValues = true; internalValueResult.value = this._value; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._operator = undefined; this._value = 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._operator = value.operator; this._value = value.value; } } get operator() { return this.getStringAttribute('operator'); } set operator(value) { this._operator = value; } // Temporarily expose input value. Use with caution. get operatorInput() { return this._operator; } 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.ComputeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderOutputReference = ComputeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderOutputReference; _j = JSII_RTTI_SYMBOL_1; ComputeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderOutputReference[_j] = { fqn: "@cdktf/provider-google.computeRegionSecurityPolicyRule.ComputeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderOutputReference", version: "14.35.0" }; class ComputeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderList 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 ComputeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.ComputeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderList = ComputeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderList; _k = JSII_RTTI_SYMBOL_1; ComputeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderList[_k] = { fqn: "@cdktf/provider-google.computeRegionSecurityPolicyRule.ComputeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderList", version: "14.35.0" }; function computeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamToTerraform(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 { operator: cdktf.stringToTerraform(struct.operator), value: cdktf.stringToTerraform(struct.value), }; } function computeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamToHclTerraform(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 = { operator: { value: cdktf.stringToHclTerraform(struct.operator), 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)); } class ComputeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamOutputReference 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._operator !== undefined) { hasAnyValues = true; internalValueResult.operator = this._operator; } if (this._value !== undefined) { hasAnyValues = true; internalValueResult.value = this._value; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._operator = undefined; this._value = 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._operator = value.operator; this._value = value.value; } } get operator() { return this.getStringAttribute('operator'); } set operator(value) { this._operator = value; } // Temporarily expose input value. Use with caution. get operatorInput() { return this._operator; } 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.ComputeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamOutputReference = ComputeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamOutputReference; _l = JSII_RTTI_SYMBOL_1; ComputeRegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQu