UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

988 lines 439 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3; Object.defineProperty(exports, "__esModule", { value: true }); exports.computeSecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfigsToHclTerraform = exports.computeSecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfigsToTerraform = exports.ComputeSecurityPolicyRuleRateLimitOptionsBanThresholdAOutputReference = exports.computeSecurityPolicyRuleRateLimitOptionsBanThresholdAToHclTerraform = exports.computeSecurityPolicyRuleRateLimitOptionsBanThresholdAToTerraform = exports.ComputeSecurityPolicyRulePreconfiguredWafConfigAOutputReference = exports.computeSecurityPolicyRulePreconfiguredWafConfigAToHclTerraform = exports.computeSecurityPolicyRulePreconfiguredWafConfigAToTerraform = exports.ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionAList = exports.ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionAOutputReference = exports.computeSecurityPolicyRulePreconfiguredWafConfigExclusionAToHclTerraform = exports.computeSecurityPolicyRulePreconfiguredWafConfigExclusionAToTerraform = exports.ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestUriAList = exports.ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestUriAOutputReference = exports.computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestUriAToHclTerraform = exports.computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestUriAToTerraform = exports.ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamAList = exports.ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamAOutputReference = exports.computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamAToHclTerraform = exports.computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamAToTerraform = exports.ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderAList = exports.ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderAOutputReference = exports.computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderAToHclTerraform = exports.computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderAToTerraform = exports.ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieAList = exports.ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieAOutputReference = exports.computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieAToHclTerraform = exports.computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieAToTerraform = 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 = exports.ComputeSecurityPolicyRuleHeaderActionAOutputReference = exports.computeSecurityPolicyRuleHeaderActionAToHclTerraform = exports.computeSecurityPolicyRuleHeaderActionAToTerraform = exports.ComputeSecurityPolicyRuleHeaderActionRequestHeadersToAddsAList = exports.ComputeSecurityPolicyRuleHeaderActionRequestHeadersToAddsAOutputReference = exports.computeSecurityPolicyRuleHeaderActionRequestHeadersToAddsAToHclTerraform = exports.computeSecurityPolicyRuleHeaderActionRequestHeadersToAddsAToTerraform = void 0; exports.ComputeSecurityPolicyRuleA = exports.ComputeSecurityPolicyRuleTimeoutsOutputReference = exports.computeSecurityPolicyRuleTimeoutsToHclTerraform = exports.computeSecurityPolicyRuleTimeoutsToTerraform = exports.ComputeSecurityPolicyRuleRedirectOptionsAOutputReference = exports.computeSecurityPolicyRuleRedirectOptionsAToHclTerraform = exports.computeSecurityPolicyRuleRedirectOptionsAToTerraform = exports.ComputeSecurityPolicyRuleRateLimitOptionsAOutputReference = exports.computeSecurityPolicyRuleRateLimitOptionsAToHclTerraform = exports.computeSecurityPolicyRuleRateLimitOptionsAToTerraform = exports.ComputeSecurityPolicyRuleRateLimitOptionsRateLimitThresholdAOutputReference = exports.computeSecurityPolicyRuleRateLimitOptionsRateLimitThresholdAToHclTerraform = exports.computeSecurityPolicyRuleRateLimitOptionsRateLimitThresholdAToTerraform = exports.ComputeSecurityPolicyRuleRateLimitOptionsExceedRedirectOptionsAOutputReference = exports.computeSecurityPolicyRuleRateLimitOptionsExceedRedirectOptionsAToHclTerraform = exports.computeSecurityPolicyRuleRateLimitOptionsExceedRedirectOptionsAToTerraform = exports.ComputeSecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfigsList = exports.ComputeSecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfigsOutputReference = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function computeSecurityPolicyRuleHeaderActionRequestHeadersToAddsAToTerraform(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 { header_name: cdktf.stringToTerraform(struct.headerName), header_value: cdktf.stringToTerraform(struct.headerValue), }; } exports.computeSecurityPolicyRuleHeaderActionRequestHeadersToAddsAToTerraform = computeSecurityPolicyRuleHeaderActionRequestHeadersToAddsAToTerraform; function computeSecurityPolicyRuleHeaderActionRequestHeadersToAddsAToHclTerraform(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 = { header_name: { value: cdktf.stringToHclTerraform(struct.headerName), isBlock: false, type: "simple", storageClassType: "string", }, header_value: { value: cdktf.stringToHclTerraform(struct.headerValue), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.computeSecurityPolicyRuleHeaderActionRequestHeadersToAddsAToHclTerraform = computeSecurityPolicyRuleHeaderActionRequestHeadersToAddsAToHclTerraform; class ComputeSecurityPolicyRuleHeaderActionRequestHeadersToAddsAOutputReference 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._headerName !== undefined) { hasAnyValues = true; internalValueResult.headerName = this._headerName; } if (this._headerValue !== undefined) { hasAnyValues = true; internalValueResult.headerValue = this._headerValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._headerName = undefined; this._headerValue = 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._headerName = value.headerName; this._headerValue = value.headerValue; } } get headerName() { return this.getStringAttribute('header_name'); } set headerName(value) { this._headerName = value; } resetHeaderName() { this._headerName = undefined; } // Temporarily expose input value. Use with caution. get headerNameInput() { return this._headerName; } get headerValue() { return this.getStringAttribute('header_value'); } set headerValue(value) { this._headerValue = value; } resetHeaderValue() { this._headerValue = undefined; } // Temporarily expose input value. Use with caution. get headerValueInput() { return this._headerValue; } } exports.ComputeSecurityPolicyRuleHeaderActionRequestHeadersToAddsAOutputReference = ComputeSecurityPolicyRuleHeaderActionRequestHeadersToAddsAOutputReference; _a = JSII_RTTI_SYMBOL_1; ComputeSecurityPolicyRuleHeaderActionRequestHeadersToAddsAOutputReference[_a] = { fqn: "@cdktf/provider-google.computeSecurityPolicyRule.ComputeSecurityPolicyRuleHeaderActionRequestHeadersToAddsAOutputReference", version: "14.12.0" }; class ComputeSecurityPolicyRuleHeaderActionRequestHeadersToAddsAList 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 ComputeSecurityPolicyRuleHeaderActionRequestHeadersToAddsAOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.ComputeSecurityPolicyRuleHeaderActionRequestHeadersToAddsAList = ComputeSecurityPolicyRuleHeaderActionRequestHeadersToAddsAList; _b = JSII_RTTI_SYMBOL_1; ComputeSecurityPolicyRuleHeaderActionRequestHeadersToAddsAList[_b] = { fqn: "@cdktf/provider-google.computeSecurityPolicyRule.ComputeSecurityPolicyRuleHeaderActionRequestHeadersToAddsAList", version: "14.12.0" }; function computeSecurityPolicyRuleHeaderActionAToTerraform(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 { request_headers_to_adds: cdktf.listMapper(computeSecurityPolicyRuleHeaderActionRequestHeadersToAddsAToTerraform, true)(struct.requestHeadersToAdds), }; } exports.computeSecurityPolicyRuleHeaderActionAToTerraform = computeSecurityPolicyRuleHeaderActionAToTerraform; function computeSecurityPolicyRuleHeaderActionAToHclTerraform(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 = { request_headers_to_adds: { value: cdktf.listMapperHcl(computeSecurityPolicyRuleHeaderActionRequestHeadersToAddsAToHclTerraform, true)(struct.requestHeadersToAdds), isBlock: true, type: "list", storageClassType: "ComputeSecurityPolicyRuleHeaderActionRequestHeadersToAddsAList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.computeSecurityPolicyRuleHeaderActionAToHclTerraform = computeSecurityPolicyRuleHeaderActionAToHclTerraform; class ComputeSecurityPolicyRuleHeaderActionAOutputReference 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; // request_headers_to_adds - computed: false, optional: true, required: false this._requestHeadersToAdds = new ComputeSecurityPolicyRuleHeaderActionRequestHeadersToAddsAList(this, "request_headers_to_adds", false); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._requestHeadersToAdds?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.requestHeadersToAdds = this._requestHeadersToAdds?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._requestHeadersToAdds.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._requestHeadersToAdds.internalValue = value.requestHeadersToAdds; } } get requestHeadersToAdds() { return this._requestHeadersToAdds; } putRequestHeadersToAdds(value) { this._requestHeadersToAdds.internalValue = value; } resetRequestHeadersToAdds() { this._requestHeadersToAdds.internalValue = undefined; } // Temporarily expose input value. Use with caution. get requestHeadersToAddsInput() { return this._requestHeadersToAdds.internalValue; } } exports.ComputeSecurityPolicyRuleHeaderActionAOutputReference = ComputeSecurityPolicyRuleHeaderActionAOutputReference; _c = JSII_RTTI_SYMBOL_1; ComputeSecurityPolicyRuleHeaderActionAOutputReference[_c] = { fqn: "@cdktf/provider-google.computeSecurityPolicyRule.ComputeSecurityPolicyRuleHeaderActionAOutputReference", version: "14.12.0" }; 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; _d = JSII_RTTI_SYMBOL_1; ComputeSecurityPolicyRuleMatchConfigAOutputReference[_d] = { fqn: "@cdktf/provider-google.computeSecurityPolicyRule.ComputeSecurityPolicyRuleMatchConfigAOutputReference", version: "14.12.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; _e = JSII_RTTI_SYMBOL_1; ComputeSecurityPolicyRuleMatchExprAOutputReference[_e] = { fqn: "@cdktf/provider-google.computeSecurityPolicyRule.ComputeSecurityPolicyRuleMatchExprAOutputReference", version: "14.12.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; _f = JSII_RTTI_SYMBOL_1; ComputeSecurityPolicyRuleMatchExprOptionsRecaptchaOptionsAOutputReference[_f] = { fqn: "@cdktf/provider-google.computeSecurityPolicyRule.ComputeSecurityPolicyRuleMatchExprOptionsRecaptchaOptionsAOutputReference", version: "14.12.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; _g = JSII_RTTI_SYMBOL_1; ComputeSecurityPolicyRuleMatchExprOptionsAOutputReference[_g] = { fqn: "@cdktf/provider-google.computeSecurityPolicyRule.ComputeSecurityPolicyRuleMatchExprOptionsAOutputReference", version: "14.12.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; _h = JSII_RTTI_SYMBOL_1; ComputeSecurityPolicyRuleMatchAOutputReference[_h] = { fqn: "@cdktf/provider-google.computeSecurityPolicyRule.ComputeSecurityPolicyRuleMatchAOutputReference", version: "14.12.0" }; function computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieAToTerraform(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.computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieAToTerraform = computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieAToTerraform; function computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieAToHclTerraform(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.computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieAToHclTerraform = computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieAToHclTerraform; class ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieAOutputReference 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.ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieAOutputReference = ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieAOutputReference; _j = JSII_RTTI_SYMBOL_1; ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieAOutputReference[_j] = { fqn: "@cdktf/provider-google.computeSecurityPolicyRule.ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieAOutputReference", version: "14.12.0" }; class ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieAList 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 ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieAOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieAList = ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieAList; _k = JSII_RTTI_SYMBOL_1; ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieAList[_k] = { fqn: "@cdktf/provider-google.computeSecurityPolicyRule.ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookieAList", version: "14.12.0" }; function computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderAToTerraform(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.computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderAToTerraform = computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderAToTerraform; function computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderAToHclTerraform(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.computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderAToHclTerraform = computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderAToHclTerraform; class ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderAOutputReference 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.ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderAOutputReference = ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderAOutputReference; _l = JSII_RTTI_SYMBOL_1; ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderAOutputReference[_l] = { fqn: "@cdktf/provider-google.computeSecurityPolicyRule.ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderAOutputReference", version: "14.12.0" }; class ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderAList 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 ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderAOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderAList = ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderAList; _m = JSII_RTTI_SYMBOL_1; ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderAList[_m] = { fqn: "@cdktf/provider-google.computeSecurityPolicyRule.ComputeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderAList", version: "14.12.0" }; function computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamAToTerraform(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.computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamAToTerraform = computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamAToTerraform; function computeSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamAToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement