@cdktf/provider-google
Version:
Prebuilt google Provider for Terraform CDK (cdktf)
988 lines • 439 kB
JavaScript
"use strict";
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _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