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