UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

1,016 lines 385 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.computeSecurityPolicyRuleRateLimitOptionsRateLimitThresholdAToHclTerraform = exports.computeSecurityPolicyRuleRateLimitOptionsRateLimitThresholdAToTerraform = exports.ComputeSecurityPolicyRuleRateLimitOptionsExceedRedirectOptionsAOutputReference = exports.computeSecurityPolicyRuleRateLimitOptionsExceedRedirectOptionsAToHclTerraform = exports.computeSecurityPolicyRuleRateLimitOptionsExceedRedirectOptionsAToTerraform = exports.ComputeSecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfigsList = exports.ComputeSecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfigsOutputReference = exports.computeSecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfigsToHclTerraform = exports.computeSecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfigsToTerraform = exports.ComputeSecurityPolicyRuleRateLimitOptionsBanThresholdAOutputReference = exports.computeSecurityPolicyRuleRateLimitOptionsBanThresholdAToHclTerraform = exports.computeSecurityPolicyRuleRateLimitOptionsBanThresholdAToTerraform = exports.ComputeSecurityPolicyRulePreconfiguredWafConfigOutputReference = exports.computeSecurityPolicyRulePreconfiguredWafConfigToHclTerraform = exports.computeSecurityPolicyRulePreconfiguredWafConfigToTerraform = exports.ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionList = exports.ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionOutputReference = exports.computeSecurityPolicyRulePreconfiguredWafConfigExclusionToHclTerraform = exports.computeSecurityPolicyRulePreconfiguredWafConfigExclusionToTerraform = exports.ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestUriList = exports.ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestUriOutputReference = exports.computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestUriToHclTerraform = exports.computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestUriToTerraform = exports.ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamList = exports.ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamOutputReference = exports.computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamToHclTerraform = exports.computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamToTerraform = exports.ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderList = exports.ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderOutputReference = exports.computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderToHclTerraform = exports.computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderToTerraform = exports.ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieList = exports.ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieOutputReference = exports.computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieToHclTerraform = exports.computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieToTerraform = exports.ComputeSecurityPolicyRuleMatchAOutputReference = exports.computeSecurityPolicyRuleMatchAToHclTerraform = exports.computeSecurityPolicyRuleMatchAToTerraform = exports.ComputeSecurityPolicyRuleMatchExprOptionsAOutputReference = exports.computeSecurityPolicyRuleMatchExprOptionsAToHclTerraform = exports.computeSecurityPolicyRuleMatchExprOptionsAToTerraform = exports.ComputeSecurityPolicyRuleMatchExprOptionsRecaptchaOptionsAOutputReference = exports.computeSecurityPolicyRuleMatchExprOptionsRecaptchaOptionsAToHclTerraform = exports.computeSecurityPolicyRuleMatchExprOptionsRecaptchaOptionsAToTerraform = exports.ComputeSecurityPolicyRuleMatchExprAOutputReference = exports.computeSecurityPolicyRuleMatchExprAToHclTerraform = exports.computeSecurityPolicyRuleMatchExprAToTerraform = exports.ComputeSecurityPolicyRuleMatchConfigAOutputReference = exports.computeSecurityPolicyRuleMatchConfigAToHclTerraform = exports.computeSecurityPolicyRuleMatchConfigAToTerraform = void 0; exports.ComputeSecurityPolicyRuleA = exports.ComputeSecurityPolicyRuleTimeoutsOutputReference = exports.computeSecurityPolicyRuleTimeoutsToHclTerraform = exports.computeSecurityPolicyRuleTimeoutsToTerraform = exports.ComputeSecurityPolicyRuleRateLimitOptionsAOutputReference = exports.computeSecurityPolicyRuleRateLimitOptionsAToHclTerraform = exports.computeSecurityPolicyRuleRateLimitOptionsAToTerraform = exports.ComputeSecurityPolicyRuleRateLimitOptionsRateLimitThresholdAOutputReference = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function computeSecurityPolicyRuleMatchConfigAToTerraform(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), }; } exports.computeSecurityPolicyRuleMatchConfigAToTerraform = computeSecurityPolicyRuleMatchConfigAToTerraform; function computeSecurityPolicyRuleMatchConfigAToHclTerraform(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)); } exports.computeSecurityPolicyRuleMatchConfigAToHclTerraform = computeSecurityPolicyRuleMatchConfigAToHclTerraform; class ComputeSecurityPolicyRuleMatchConfigAOutputReference 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.ComputeSecurityPolicyRuleMatchConfigAOutputReference = ComputeSecurityPolicyRuleMatchConfigAOutputReference; _a = JSII_RTTI_SYMBOL_1; ComputeSecurityPolicyRuleMatchConfigAOutputReference[_a] = { fqn: "@cdktf/provider-google.computeSecurityPolicyRule.ComputeSecurityPolicyRuleMatchConfigAOutputReference", version: "14.3.0" }; function computeSecurityPolicyRuleMatchExprAToTerraform(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), }; } exports.computeSecurityPolicyRuleMatchExprAToTerraform = computeSecurityPolicyRuleMatchExprAToTerraform; function computeSecurityPolicyRuleMatchExprAToHclTerraform(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)); } exports.computeSecurityPolicyRuleMatchExprAToHclTerraform = computeSecurityPolicyRuleMatchExprAToHclTerraform; class ComputeSecurityPolicyRuleMatchExprAOutputReference 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.ComputeSecurityPolicyRuleMatchExprAOutputReference = ComputeSecurityPolicyRuleMatchExprAOutputReference; _b = JSII_RTTI_SYMBOL_1; ComputeSecurityPolicyRuleMatchExprAOutputReference[_b] = { fqn: "@cdktf/provider-google.computeSecurityPolicyRule.ComputeSecurityPolicyRuleMatchExprAOutputReference", version: "14.3.0" }; function computeSecurityPolicyRuleMatchExprOptionsRecaptchaOptionsAToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { action_token_site_keys: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.actionTokenSiteKeys), session_token_site_keys: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.sessionTokenSiteKeys), }; } exports.computeSecurityPolicyRuleMatchExprOptionsRecaptchaOptionsAToTerraform = computeSecurityPolicyRuleMatchExprOptionsRecaptchaOptionsAToTerraform; function computeSecurityPolicyRuleMatchExprOptionsRecaptchaOptionsAToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { action_token_site_keys: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.actionTokenSiteKeys), isBlock: false, type: "list", storageClassType: "stringList", }, session_token_site_keys: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.sessionTokenSiteKeys), isBlock: false, type: "list", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.computeSecurityPolicyRuleMatchExprOptionsRecaptchaOptionsAToHclTerraform = computeSecurityPolicyRuleMatchExprOptionsRecaptchaOptionsAToHclTerraform; class ComputeSecurityPolicyRuleMatchExprOptionsRecaptchaOptionsAOutputReference 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._actionTokenSiteKeys !== undefined) { hasAnyValues = true; internalValueResult.actionTokenSiteKeys = this._actionTokenSiteKeys; } if (this._sessionTokenSiteKeys !== undefined) { hasAnyValues = true; internalValueResult.sessionTokenSiteKeys = this._sessionTokenSiteKeys; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._actionTokenSiteKeys = undefined; this._sessionTokenSiteKeys = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._actionTokenSiteKeys = value.actionTokenSiteKeys; this._sessionTokenSiteKeys = value.sessionTokenSiteKeys; } } get actionTokenSiteKeys() { return this.getListAttribute('action_token_site_keys'); } set actionTokenSiteKeys(value) { this._actionTokenSiteKeys = value; } resetActionTokenSiteKeys() { this._actionTokenSiteKeys = undefined; } // Temporarily expose input value. Use with caution. get actionTokenSiteKeysInput() { return this._actionTokenSiteKeys; } get sessionTokenSiteKeys() { return this.getListAttribute('session_token_site_keys'); } set sessionTokenSiteKeys(value) { this._sessionTokenSiteKeys = value; } resetSessionTokenSiteKeys() { this._sessionTokenSiteKeys = undefined; } // Temporarily expose input value. Use with caution. get sessionTokenSiteKeysInput() { return this._sessionTokenSiteKeys; } } exports.ComputeSecurityPolicyRuleMatchExprOptionsRecaptchaOptionsAOutputReference = ComputeSecurityPolicyRuleMatchExprOptionsRecaptchaOptionsAOutputReference; _c = JSII_RTTI_SYMBOL_1; ComputeSecurityPolicyRuleMatchExprOptionsRecaptchaOptionsAOutputReference[_c] = { fqn: "@cdktf/provider-google.computeSecurityPolicyRule.ComputeSecurityPolicyRuleMatchExprOptionsRecaptchaOptionsAOutputReference", version: "14.3.0" }; function computeSecurityPolicyRuleMatchExprOptionsAToTerraform(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 { recaptcha_options: computeSecurityPolicyRuleMatchExprOptionsRecaptchaOptionsAToTerraform(struct.recaptchaOptions), }; } exports.computeSecurityPolicyRuleMatchExprOptionsAToTerraform = computeSecurityPolicyRuleMatchExprOptionsAToTerraform; function computeSecurityPolicyRuleMatchExprOptionsAToHclTerraform(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 = { recaptcha_options: { value: computeSecurityPolicyRuleMatchExprOptionsRecaptchaOptionsAToHclTerraform(struct.recaptchaOptions), isBlock: true, type: "list", storageClassType: "ComputeSecurityPolicyRuleMatchExprOptionsRecaptchaOptionsAList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.computeSecurityPolicyRuleMatchExprOptionsAToHclTerraform = computeSecurityPolicyRuleMatchExprOptionsAToHclTerraform; class ComputeSecurityPolicyRuleMatchExprOptionsAOutputReference 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; // recaptcha_options - computed: false, optional: false, required: true this._recaptchaOptions = new ComputeSecurityPolicyRuleMatchExprOptionsRecaptchaOptionsAOutputReference(this, "recaptcha_options"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._recaptchaOptions?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.recaptchaOptions = this._recaptchaOptions?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._recaptchaOptions.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._recaptchaOptions.internalValue = value.recaptchaOptions; } } get recaptchaOptions() { return this._recaptchaOptions; } putRecaptchaOptions(value) { this._recaptchaOptions.internalValue = value; } // Temporarily expose input value. Use with caution. get recaptchaOptionsInput() { return this._recaptchaOptions.internalValue; } } exports.ComputeSecurityPolicyRuleMatchExprOptionsAOutputReference = ComputeSecurityPolicyRuleMatchExprOptionsAOutputReference; _d = JSII_RTTI_SYMBOL_1; ComputeSecurityPolicyRuleMatchExprOptionsAOutputReference[_d] = { fqn: "@cdktf/provider-google.computeSecurityPolicyRule.ComputeSecurityPolicyRuleMatchExprOptionsAOutputReference", version: "14.3.0" }; function computeSecurityPolicyRuleMatchAToTerraform(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: computeSecurityPolicyRuleMatchConfigAToTerraform(struct.config), expr: computeSecurityPolicyRuleMatchExprAToTerraform(struct.expr), expr_options: computeSecurityPolicyRuleMatchExprOptionsAToTerraform(struct.exprOptions), }; } exports.computeSecurityPolicyRuleMatchAToTerraform = computeSecurityPolicyRuleMatchAToTerraform; function computeSecurityPolicyRuleMatchAToHclTerraform(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: computeSecurityPolicyRuleMatchConfigAToHclTerraform(struct.config), isBlock: true, type: "list", storageClassType: "ComputeSecurityPolicyRuleMatchConfigAList", }, expr: { value: computeSecurityPolicyRuleMatchExprAToHclTerraform(struct.expr), isBlock: true, type: "list", storageClassType: "ComputeSecurityPolicyRuleMatchExprAList", }, expr_options: { value: computeSecurityPolicyRuleMatchExprOptionsAToHclTerraform(struct.exprOptions), isBlock: true, type: "list", storageClassType: "ComputeSecurityPolicyRuleMatchExprOptionsAList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.computeSecurityPolicyRuleMatchAToHclTerraform = computeSecurityPolicyRuleMatchAToHclTerraform; class ComputeSecurityPolicyRuleMatchAOutputReference 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 ComputeSecurityPolicyRuleMatchConfigAOutputReference(this, "config"); // expr - computed: false, optional: true, required: false this._expr = new ComputeSecurityPolicyRuleMatchExprAOutputReference(this, "expr"); // expr_options - computed: false, optional: true, required: false this._exprOptions = new ComputeSecurityPolicyRuleMatchExprOptionsAOutputReference(this, "expr_options"); } 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; } if (this._exprOptions?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.exprOptions = this._exprOptions?.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; this._exprOptions.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._versionedExpr = value.versionedExpr; this._config.internalValue = value.config; this._expr.internalValue = value.expr; this._exprOptions.internalValue = value.exprOptions; } } 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; } get exprOptions() { return this._exprOptions; } putExprOptions(value) { this._exprOptions.internalValue = value; } resetExprOptions() { this._exprOptions.internalValue = undefined; } // Temporarily expose input value. Use with caution. get exprOptionsInput() { return this._exprOptions.internalValue; } } exports.ComputeSecurityPolicyRuleMatchAOutputReference = ComputeSecurityPolicyRuleMatchAOutputReference; _e = JSII_RTTI_SYMBOL_1; ComputeSecurityPolicyRuleMatchAOutputReference[_e] = { fqn: "@cdktf/provider-google.computeSecurityPolicyRule.ComputeSecurityPolicyRuleMatchAOutputReference", version: "14.3.0" }; function computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieToTerraform(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), }; } exports.computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieToTerraform = computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieToTerraform; function computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieToHclTerraform(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)); } exports.computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieToHclTerraform = computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieToHclTerraform; class ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieOutputReference 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.ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieOutputReference = ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieOutputReference; _f = JSII_RTTI_SYMBOL_1; ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieOutputReference[_f] = { fqn: "@cdktf/provider-google.computeSecurityPolicyRule.ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieOutputReference", version: "14.3.0" }; class ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieList 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 ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieList = ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieList; _g = JSII_RTTI_SYMBOL_1; ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieList[_g] = { fqn: "@cdktf/provider-google.computeSecurityPolicyRule.ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieList", version: "14.3.0" }; function computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderToTerraform(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), }; } exports.computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderToTerraform = computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderToTerraform; function computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderToHclTerraform(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)); } exports.computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderToHclTerraform = computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderToHclTerraform; class ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderOutputReference 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.ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderOutputReference = ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderOutputReference; _h = JSII_RTTI_SYMBOL_1; ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderOutputReference[_h] = { fqn: "@cdktf/provider-google.computeSecurityPolicyRule.ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderOutputReference", version: "14.3.0" }; class ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderList 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 ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderList = ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderList; _j = JSII_RTTI_SYMBOL_1; ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderList[_j] = { fqn: "@cdktf/provider-google.computeSecurityPolicyRule.ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderList", version: "14.3.0" }; function computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamToTerraform(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), }; } exports.computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamToTerraform = computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamToTerraform; function computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamToHclTerraform(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)); } exports.computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamToHclTerraform = computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamToHclTerraform; class ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamOutputReference 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.ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamOutputReference = ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamOutputReference; _k = JSII_RTTI_SYMBOL_1; ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamOutputReference[_k] = { fqn: "@cdktf/provider-google.computeSecurityPolicyRule.ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamOutputReference", version: "14.3.0" }; class ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamList 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 ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamList = ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamList; _l = JSII_RTTI_SYMBOL_1; ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamList[_l] = { fqn: "@cdktf/provider-google.computeSecurityPolicyRule.ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamList", version: "14.3.0" }; function computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestUriToTerraform(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), }; } exports.computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestUriToTerraform = computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestUriToTerraform; function computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestUriToHclTerraform(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)); } exports.computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestUriToHclTerraform = computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestUriToHclTerraform; class ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestUriOutputReference 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.ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestUriOutputReference = ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestUriOutputReference; _m = JSII_RTTI_SYMBOL_1; ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestUriOutputReference[_m] = { fqn: "@cdktf/provider-google.computeSecurityPolicyRule.ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestUriOutputReference", version: "14.3.0" }; class ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestUriList 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 ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestUriOutputRe