@cdktf/provider-azurerm
Version:
Prebuilt azurerm Provider for Terraform CDK (cdktf)
1,052 lines • 390 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.webApplicationFirewallPolicyTimeoutsToHclTerraform = exports.webApplicationFirewallPolicyTimeoutsToTerraform = exports.WebApplicationFirewallPolicyPolicySettingsOutputReference = exports.webApplicationFirewallPolicyPolicySettingsToHclTerraform = exports.webApplicationFirewallPolicyPolicySettingsToTerraform = exports.WebApplicationFirewallPolicyPolicySettingsLogScrubbingOutputReference = exports.webApplicationFirewallPolicyPolicySettingsLogScrubbingToHclTerraform = exports.webApplicationFirewallPolicyPolicySettingsLogScrubbingToTerraform = exports.WebApplicationFirewallPolicyPolicySettingsLogScrubbingRuleList = exports.WebApplicationFirewallPolicyPolicySettingsLogScrubbingRuleOutputReference = exports.webApplicationFirewallPolicyPolicySettingsLogScrubbingRuleToHclTerraform = exports.webApplicationFirewallPolicyPolicySettingsLogScrubbingRuleToTerraform = exports.WebApplicationFirewallPolicyManagedRulesOutputReference = exports.webApplicationFirewallPolicyManagedRulesToHclTerraform = exports.webApplicationFirewallPolicyManagedRulesToTerraform = exports.WebApplicationFirewallPolicyManagedRulesManagedRuleSetList = exports.WebApplicationFirewallPolicyManagedRulesManagedRuleSetOutputReference = exports.webApplicationFirewallPolicyManagedRulesManagedRuleSetToHclTerraform = exports.webApplicationFirewallPolicyManagedRulesManagedRuleSetToTerraform = exports.WebApplicationFirewallPolicyManagedRulesManagedRuleSetRuleGroupOverrideList = exports.WebApplicationFirewallPolicyManagedRulesManagedRuleSetRuleGroupOverrideOutputReference = exports.webApplicationFirewallPolicyManagedRulesManagedRuleSetRuleGroupOverrideToHclTerraform = exports.webApplicationFirewallPolicyManagedRulesManagedRuleSetRuleGroupOverrideToTerraform = exports.WebApplicationFirewallPolicyManagedRulesManagedRuleSetRuleGroupOverrideRuleList = exports.WebApplicationFirewallPolicyManagedRulesManagedRuleSetRuleGroupOverrideRuleOutputReference = exports.webApplicationFirewallPolicyManagedRulesManagedRuleSetRuleGroupOverrideRuleToHclTerraform = exports.webApplicationFirewallPolicyManagedRulesManagedRuleSetRuleGroupOverrideRuleToTerraform = exports.WebApplicationFirewallPolicyManagedRulesExclusionList = exports.WebApplicationFirewallPolicyManagedRulesExclusionOutputReference = exports.webApplicationFirewallPolicyManagedRulesExclusionToHclTerraform = exports.webApplicationFirewallPolicyManagedRulesExclusionToTerraform = exports.WebApplicationFirewallPolicyManagedRulesExclusionExcludedRuleSetOutputReference = exports.webApplicationFirewallPolicyManagedRulesExclusionExcludedRuleSetToHclTerraform = exports.webApplicationFirewallPolicyManagedRulesExclusionExcludedRuleSetToTerraform = exports.WebApplicationFirewallPolicyManagedRulesExclusionExcludedRuleSetRuleGroupList = exports.WebApplicationFirewallPolicyManagedRulesExclusionExcludedRuleSetRuleGroupOutputReference = exports.webApplicationFirewallPolicyManagedRulesExclusionExcludedRuleSetRuleGroupToHclTerraform = exports.webApplicationFirewallPolicyManagedRulesExclusionExcludedRuleSetRuleGroupToTerraform = exports.WebApplicationFirewallPolicyCustomRulesList = exports.WebApplicationFirewallPolicyCustomRulesOutputReference = exports.webApplicationFirewallPolicyCustomRulesToHclTerraform = exports.webApplicationFirewallPolicyCustomRulesToTerraform = exports.WebApplicationFirewallPolicyCustomRulesMatchConditionsList = exports.WebApplicationFirewallPolicyCustomRulesMatchConditionsOutputReference = exports.webApplicationFirewallPolicyCustomRulesMatchConditionsToHclTerraform = exports.webApplicationFirewallPolicyCustomRulesMatchConditionsToTerraform = exports.WebApplicationFirewallPolicyCustomRulesMatchConditionsMatchVariablesList = exports.WebApplicationFirewallPolicyCustomRulesMatchConditionsMatchVariablesOutputReference = exports.webApplicationFirewallPolicyCustomRulesMatchConditionsMatchVariablesToHclTerraform = exports.webApplicationFirewallPolicyCustomRulesMatchConditionsMatchVariablesToTerraform = void 0;
exports.WebApplicationFirewallPolicy = exports.WebApplicationFirewallPolicyTimeoutsOutputReference = void 0;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const cdktf = require("cdktf");
function webApplicationFirewallPolicyCustomRulesMatchConditionsMatchVariablesToTerraform(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 {
selector: cdktf.stringToTerraform(struct.selector),
variable_name: cdktf.stringToTerraform(struct.variableName),
};
}
exports.webApplicationFirewallPolicyCustomRulesMatchConditionsMatchVariablesToTerraform = webApplicationFirewallPolicyCustomRulesMatchConditionsMatchVariablesToTerraform;
function webApplicationFirewallPolicyCustomRulesMatchConditionsMatchVariablesToHclTerraform(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 = {
selector: {
value: cdktf.stringToHclTerraform(struct.selector),
isBlock: false,
type: "simple",
storageClassType: "string",
},
variable_name: {
value: cdktf.stringToHclTerraform(struct.variableName),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.webApplicationFirewallPolicyCustomRulesMatchConditionsMatchVariablesToHclTerraform = webApplicationFirewallPolicyCustomRulesMatchConditionsMatchVariablesToHclTerraform;
class WebApplicationFirewallPolicyCustomRulesMatchConditionsMatchVariablesOutputReference 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._selector !== undefined) {
hasAnyValues = true;
internalValueResult.selector = this._selector;
}
if (this._variableName !== undefined) {
hasAnyValues = true;
internalValueResult.variableName = this._variableName;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._selector = undefined;
this._variableName = 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._selector = value.selector;
this._variableName = value.variableName;
}
}
get selector() {
return this.getStringAttribute('selector');
}
set selector(value) {
this._selector = value;
}
resetSelector() {
this._selector = undefined;
}
// Temporarily expose input value. Use with caution.
get selectorInput() {
return this._selector;
}
get variableName() {
return this.getStringAttribute('variable_name');
}
set variableName(value) {
this._variableName = value;
}
// Temporarily expose input value. Use with caution.
get variableNameInput() {
return this._variableName;
}
}
exports.WebApplicationFirewallPolicyCustomRulesMatchConditionsMatchVariablesOutputReference = WebApplicationFirewallPolicyCustomRulesMatchConditionsMatchVariablesOutputReference;
_a = JSII_RTTI_SYMBOL_1;
WebApplicationFirewallPolicyCustomRulesMatchConditionsMatchVariablesOutputReference[_a] = { fqn: "@cdktf/provider-azurerm.webApplicationFirewallPolicy.WebApplicationFirewallPolicyCustomRulesMatchConditionsMatchVariablesOutputReference", version: "12.27.0" };
class WebApplicationFirewallPolicyCustomRulesMatchConditionsMatchVariablesList 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 WebApplicationFirewallPolicyCustomRulesMatchConditionsMatchVariablesOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.WebApplicationFirewallPolicyCustomRulesMatchConditionsMatchVariablesList = WebApplicationFirewallPolicyCustomRulesMatchConditionsMatchVariablesList;
_b = JSII_RTTI_SYMBOL_1;
WebApplicationFirewallPolicyCustomRulesMatchConditionsMatchVariablesList[_b] = { fqn: "@cdktf/provider-azurerm.webApplicationFirewallPolicy.WebApplicationFirewallPolicyCustomRulesMatchConditionsMatchVariablesList", version: "12.27.0" };
function webApplicationFirewallPolicyCustomRulesMatchConditionsToTerraform(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 {
match_values: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.matchValues),
negation_condition: cdktf.booleanToTerraform(struct.negationCondition),
operator: cdktf.stringToTerraform(struct.operator),
transforms: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.transforms),
match_variables: cdktf.listMapper(webApplicationFirewallPolicyCustomRulesMatchConditionsMatchVariablesToTerraform, true)(struct.matchVariables),
};
}
exports.webApplicationFirewallPolicyCustomRulesMatchConditionsToTerraform = webApplicationFirewallPolicyCustomRulesMatchConditionsToTerraform;
function webApplicationFirewallPolicyCustomRulesMatchConditionsToHclTerraform(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 = {
match_values: {
value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.matchValues),
isBlock: false,
type: "list",
storageClassType: "stringList",
},
negation_condition: {
value: cdktf.booleanToHclTerraform(struct.negationCondition),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
operator: {
value: cdktf.stringToHclTerraform(struct.operator),
isBlock: false,
type: "simple",
storageClassType: "string",
},
transforms: {
value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.transforms),
isBlock: false,
type: "set",
storageClassType: "stringList",
},
match_variables: {
value: cdktf.listMapperHcl(webApplicationFirewallPolicyCustomRulesMatchConditionsMatchVariablesToHclTerraform, true)(struct.matchVariables),
isBlock: true,
type: "list",
storageClassType: "WebApplicationFirewallPolicyCustomRulesMatchConditionsMatchVariablesList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.webApplicationFirewallPolicyCustomRulesMatchConditionsToHclTerraform = webApplicationFirewallPolicyCustomRulesMatchConditionsToHclTerraform;
class WebApplicationFirewallPolicyCustomRulesMatchConditionsOutputReference 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;
// match_variables - computed: false, optional: false, required: true
this._matchVariables = new WebApplicationFirewallPolicyCustomRulesMatchConditionsMatchVariablesList(this, "match_variables", false);
}
get internalValue() {
if (this.resolvableValue) {
return this.resolvableValue;
}
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._matchValues !== undefined) {
hasAnyValues = true;
internalValueResult.matchValues = this._matchValues;
}
if (this._negationCondition !== undefined) {
hasAnyValues = true;
internalValueResult.negationCondition = this._negationCondition;
}
if (this._operator !== undefined) {
hasAnyValues = true;
internalValueResult.operator = this._operator;
}
if (this._transforms !== undefined) {
hasAnyValues = true;
internalValueResult.transforms = this._transforms;
}
if (this._matchVariables?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.matchVariables = this._matchVariables?.internalValue;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._matchValues = undefined;
this._negationCondition = undefined;
this._operator = undefined;
this._transforms = undefined;
this._matchVariables.internalValue = 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._matchValues = value.matchValues;
this._negationCondition = value.negationCondition;
this._operator = value.operator;
this._transforms = value.transforms;
this._matchVariables.internalValue = value.matchVariables;
}
}
get matchValues() {
return this.getListAttribute('match_values');
}
set matchValues(value) {
this._matchValues = value;
}
resetMatchValues() {
this._matchValues = undefined;
}
// Temporarily expose input value. Use with caution.
get matchValuesInput() {
return this._matchValues;
}
get negationCondition() {
return this.getBooleanAttribute('negation_condition');
}
set negationCondition(value) {
this._negationCondition = value;
}
resetNegationCondition() {
this._negationCondition = undefined;
}
// Temporarily expose input value. Use with caution.
get negationConditionInput() {
return this._negationCondition;
}
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 transforms() {
return cdktf.Fn.tolist(this.getListAttribute('transforms'));
}
set transforms(value) {
this._transforms = value;
}
resetTransforms() {
this._transforms = undefined;
}
// Temporarily expose input value. Use with caution.
get transformsInput() {
return this._transforms;
}
get matchVariables() {
return this._matchVariables;
}
putMatchVariables(value) {
this._matchVariables.internalValue = value;
}
// Temporarily expose input value. Use with caution.
get matchVariablesInput() {
return this._matchVariables.internalValue;
}
}
exports.WebApplicationFirewallPolicyCustomRulesMatchConditionsOutputReference = WebApplicationFirewallPolicyCustomRulesMatchConditionsOutputReference;
_c = JSII_RTTI_SYMBOL_1;
WebApplicationFirewallPolicyCustomRulesMatchConditionsOutputReference[_c] = { fqn: "@cdktf/provider-azurerm.webApplicationFirewallPolicy.WebApplicationFirewallPolicyCustomRulesMatchConditionsOutputReference", version: "12.27.0" };
class WebApplicationFirewallPolicyCustomRulesMatchConditionsList 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 WebApplicationFirewallPolicyCustomRulesMatchConditionsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.WebApplicationFirewallPolicyCustomRulesMatchConditionsList = WebApplicationFirewallPolicyCustomRulesMatchConditionsList;
_d = JSII_RTTI_SYMBOL_1;
WebApplicationFirewallPolicyCustomRulesMatchConditionsList[_d] = { fqn: "@cdktf/provider-azurerm.webApplicationFirewallPolicy.WebApplicationFirewallPolicyCustomRulesMatchConditionsList", version: "12.27.0" };
function webApplicationFirewallPolicyCustomRulesToTerraform(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: cdktf.stringToTerraform(struct.action),
enabled: cdktf.booleanToTerraform(struct.enabled),
group_rate_limit_by: cdktf.stringToTerraform(struct.groupRateLimitBy),
name: cdktf.stringToTerraform(struct.name),
priority: cdktf.numberToTerraform(struct.priority),
rate_limit_duration: cdktf.stringToTerraform(struct.rateLimitDuration),
rate_limit_threshold: cdktf.numberToTerraform(struct.rateLimitThreshold),
rule_type: cdktf.stringToTerraform(struct.ruleType),
match_conditions: cdktf.listMapper(webApplicationFirewallPolicyCustomRulesMatchConditionsToTerraform, true)(struct.matchConditions),
};
}
exports.webApplicationFirewallPolicyCustomRulesToTerraform = webApplicationFirewallPolicyCustomRulesToTerraform;
function webApplicationFirewallPolicyCustomRulesToHclTerraform(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: {
value: cdktf.stringToHclTerraform(struct.action),
isBlock: false,
type: "simple",
storageClassType: "string",
},
enabled: {
value: cdktf.booleanToHclTerraform(struct.enabled),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
group_rate_limit_by: {
value: cdktf.stringToHclTerraform(struct.groupRateLimitBy),
isBlock: false,
type: "simple",
storageClassType: "string",
},
name: {
value: cdktf.stringToHclTerraform(struct.name),
isBlock: false,
type: "simple",
storageClassType: "string",
},
priority: {
value: cdktf.numberToHclTerraform(struct.priority),
isBlock: false,
type: "simple",
storageClassType: "number",
},
rate_limit_duration: {
value: cdktf.stringToHclTerraform(struct.rateLimitDuration),
isBlock: false,
type: "simple",
storageClassType: "string",
},
rate_limit_threshold: {
value: cdktf.numberToHclTerraform(struct.rateLimitThreshold),
isBlock: false,
type: "simple",
storageClassType: "number",
},
rule_type: {
value: cdktf.stringToHclTerraform(struct.ruleType),
isBlock: false,
type: "simple",
storageClassType: "string",
},
match_conditions: {
value: cdktf.listMapperHcl(webApplicationFirewallPolicyCustomRulesMatchConditionsToHclTerraform, true)(struct.matchConditions),
isBlock: true,
type: "list",
storageClassType: "WebApplicationFirewallPolicyCustomRulesMatchConditionsList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.webApplicationFirewallPolicyCustomRulesToHclTerraform = webApplicationFirewallPolicyCustomRulesToHclTerraform;
class WebApplicationFirewallPolicyCustomRulesOutputReference 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;
// match_conditions - computed: false, optional: false, required: true
this._matchConditions = new WebApplicationFirewallPolicyCustomRulesMatchConditionsList(this, "match_conditions", false);
}
get internalValue() {
if (this.resolvableValue) {
return this.resolvableValue;
}
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._action !== undefined) {
hasAnyValues = true;
internalValueResult.action = this._action;
}
if (this._enabled !== undefined) {
hasAnyValues = true;
internalValueResult.enabled = this._enabled;
}
if (this._groupRateLimitBy !== undefined) {
hasAnyValues = true;
internalValueResult.groupRateLimitBy = this._groupRateLimitBy;
}
if (this._name !== undefined) {
hasAnyValues = true;
internalValueResult.name = this._name;
}
if (this._priority !== undefined) {
hasAnyValues = true;
internalValueResult.priority = this._priority;
}
if (this._rateLimitDuration !== undefined) {
hasAnyValues = true;
internalValueResult.rateLimitDuration = this._rateLimitDuration;
}
if (this._rateLimitThreshold !== undefined) {
hasAnyValues = true;
internalValueResult.rateLimitThreshold = this._rateLimitThreshold;
}
if (this._ruleType !== undefined) {
hasAnyValues = true;
internalValueResult.ruleType = this._ruleType;
}
if (this._matchConditions?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.matchConditions = this._matchConditions?.internalValue;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._action = undefined;
this._enabled = undefined;
this._groupRateLimitBy = undefined;
this._name = undefined;
this._priority = undefined;
this._rateLimitDuration = undefined;
this._rateLimitThreshold = undefined;
this._ruleType = undefined;
this._matchConditions.internalValue = 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._action = value.action;
this._enabled = value.enabled;
this._groupRateLimitBy = value.groupRateLimitBy;
this._name = value.name;
this._priority = value.priority;
this._rateLimitDuration = value.rateLimitDuration;
this._rateLimitThreshold = value.rateLimitThreshold;
this._ruleType = value.ruleType;
this._matchConditions.internalValue = value.matchConditions;
}
}
get action() {
return this.getStringAttribute('action');
}
set action(value) {
this._action = value;
}
// Temporarily expose input value. Use with caution.
get actionInput() {
return this._action;
}
get enabled() {
return this.getBooleanAttribute('enabled');
}
set enabled(value) {
this._enabled = value;
}
resetEnabled() {
this._enabled = undefined;
}
// Temporarily expose input value. Use with caution.
get enabledInput() {
return this._enabled;
}
get groupRateLimitBy() {
return this.getStringAttribute('group_rate_limit_by');
}
set groupRateLimitBy(value) {
this._groupRateLimitBy = value;
}
resetGroupRateLimitBy() {
this._groupRateLimitBy = undefined;
}
// Temporarily expose input value. Use with caution.
get groupRateLimitByInput() {
return this._groupRateLimitBy;
}
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 priority() {
return this.getNumberAttribute('priority');
}
set priority(value) {
this._priority = value;
}
// Temporarily expose input value. Use with caution.
get priorityInput() {
return this._priority;
}
get rateLimitDuration() {
return this.getStringAttribute('rate_limit_duration');
}
set rateLimitDuration(value) {
this._rateLimitDuration = value;
}
resetRateLimitDuration() {
this._rateLimitDuration = undefined;
}
// Temporarily expose input value. Use with caution.
get rateLimitDurationInput() {
return this._rateLimitDuration;
}
get rateLimitThreshold() {
return this.getNumberAttribute('rate_limit_threshold');
}
set rateLimitThreshold(value) {
this._rateLimitThreshold = value;
}
resetRateLimitThreshold() {
this._rateLimitThreshold = undefined;
}
// Temporarily expose input value. Use with caution.
get rateLimitThresholdInput() {
return this._rateLimitThreshold;
}
get ruleType() {
return this.getStringAttribute('rule_type');
}
set ruleType(value) {
this._ruleType = value;
}
// Temporarily expose input value. Use with caution.
get ruleTypeInput() {
return this._ruleType;
}
get matchConditions() {
return this._matchConditions;
}
putMatchConditions(value) {
this._matchConditions.internalValue = value;
}
// Temporarily expose input value. Use with caution.
get matchConditionsInput() {
return this._matchConditions.internalValue;
}
}
exports.WebApplicationFirewallPolicyCustomRulesOutputReference = WebApplicationFirewallPolicyCustomRulesOutputReference;
_e = JSII_RTTI_SYMBOL_1;
WebApplicationFirewallPolicyCustomRulesOutputReference[_e] = { fqn: "@cdktf/provider-azurerm.webApplicationFirewallPolicy.WebApplicationFirewallPolicyCustomRulesOutputReference", version: "12.27.0" };
class WebApplicationFirewallPolicyCustomRulesList 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 WebApplicationFirewallPolicyCustomRulesOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.WebApplicationFirewallPolicyCustomRulesList = WebApplicationFirewallPolicyCustomRulesList;
_f = JSII_RTTI_SYMBOL_1;
WebApplicationFirewallPolicyCustomRulesList[_f] = { fqn: "@cdktf/provider-azurerm.webApplicationFirewallPolicy.WebApplicationFirewallPolicyCustomRulesList", version: "12.27.0" };
function webApplicationFirewallPolicyManagedRulesExclusionExcludedRuleSetRuleGroupToTerraform(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 {
excluded_rules: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.excludedRules),
rule_group_name: cdktf.stringToTerraform(struct.ruleGroupName),
};
}
exports.webApplicationFirewallPolicyManagedRulesExclusionExcludedRuleSetRuleGroupToTerraform = webApplicationFirewallPolicyManagedRulesExclusionExcludedRuleSetRuleGroupToTerraform;
function webApplicationFirewallPolicyManagedRulesExclusionExcludedRuleSetRuleGroupToHclTerraform(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 = {
excluded_rules: {
value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.excludedRules),
isBlock: false,
type: "list",
storageClassType: "stringList",
},
rule_group_name: {
value: cdktf.stringToHclTerraform(struct.ruleGroupName),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.webApplicationFirewallPolicyManagedRulesExclusionExcludedRuleSetRuleGroupToHclTerraform = webApplicationFirewallPolicyManagedRulesExclusionExcludedRuleSetRuleGroupToHclTerraform;
class WebApplicationFirewallPolicyManagedRulesExclusionExcludedRuleSetRuleGroupOutputReference 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._excludedRules !== undefined) {
hasAnyValues = true;
internalValueResult.excludedRules = this._excludedRules;
}
if (this._ruleGroupName !== undefined) {
hasAnyValues = true;
internalValueResult.ruleGroupName = this._ruleGroupName;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._excludedRules = undefined;
this._ruleGroupName = 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._excludedRules = value.excludedRules;
this._ruleGroupName = value.ruleGroupName;
}
}
get excludedRules() {
return this.getListAttribute('excluded_rules');
}
set excludedRules(value) {
this._excludedRules = value;
}
resetExcludedRules() {
this._excludedRules = undefined;
}
// Temporarily expose input value. Use with caution.
get excludedRulesInput() {
return this._excludedRules;
}
get ruleGroupName() {
return this.getStringAttribute('rule_group_name');
}
set ruleGroupName(value) {
this._ruleGroupName = value;
}
// Temporarily expose input value. Use with caution.
get ruleGroupNameInput() {
return this._ruleGroupName;
}
}
exports.WebApplicationFirewallPolicyManagedRulesExclusionExcludedRuleSetRuleGroupOutputReference = WebApplicationFirewallPolicyManagedRulesExclusionExcludedRuleSetRuleGroupOutputReference;
_g = JSII_RTTI_SYMBOL_1;
WebApplicationFirewallPolicyManagedRulesExclusionExcludedRuleSetRuleGroupOutputReference[_g] = { fqn: "@cdktf/provider-azurerm.webApplicationFirewallPolicy.WebApplicationFirewallPolicyManagedRulesExclusionExcludedRuleSetRuleGroupOutputReference", version: "12.27.0" };
class WebApplicationFirewallPolicyManagedRulesExclusionExcludedRuleSetRuleGroupList 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 WebApplicationFirewallPolicyManagedRulesExclusionExcludedRuleSetRuleGroupOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.WebApplicationFirewallPolicyManagedRulesExclusionExcludedRuleSetRuleGroupList = WebApplicationFirewallPolicyManagedRulesExclusionExcludedRuleSetRuleGroupList;
_h = JSII_RTTI_SYMBOL_1;
WebApplicationFirewallPolicyManagedRulesExclusionExcludedRuleSetRuleGroupList[_h] = { fqn: "@cdktf/provider-azurerm.webApplicationFirewallPolicy.WebApplicationFirewallPolicyManagedRulesExclusionExcludedRuleSetRuleGroupList", version: "12.27.0" };
function webApplicationFirewallPolicyManagedRulesExclusionExcludedRuleSetToTerraform(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 {
type: cdktf.stringToTerraform(struct.type),
version: cdktf.stringToTerraform(struct.version),
rule_group: cdktf.listMapper(webApplicationFirewallPolicyManagedRulesExclusionExcludedRuleSetRuleGroupToTerraform, true)(struct.ruleGroup),
};
}
exports.webApplicationFirewallPolicyManagedRulesExclusionExcludedRuleSetToTerraform = webApplicationFirewallPolicyManagedRulesExclusionExcludedRuleSetToTerraform;
function webApplicationFirewallPolicyManagedRulesExclusionExcludedRuleSetToHclTerraform(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 = {
type: {
value: cdktf.stringToHclTerraform(struct.type),
isBlock: false,
type: "simple",
storageClassType: "string",
},
version: {
value: cdktf.stringToHclTerraform(struct.version),
isBlock: false,
type: "simple",
storageClassType: "string",
},
rule_group: {
value: cdktf.listMapperHcl(webApplicationFirewallPolicyManagedRulesExclusionExcludedRuleSetRuleGroupToHclTerraform, true)(struct.ruleGroup),
isBlock: true,
type: "list",
storageClassType: "WebApplicationFirewallPolicyManagedRulesExclusionExcludedRuleSetRuleGroupList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.webApplicationFirewallPolicyManagedRulesExclusionExcludedRuleSetToHclTerraform = webApplicationFirewallPolicyManagedRulesExclusionExcludedRuleSetToHclTerraform;
class WebApplicationFirewallPolicyManagedRulesExclusionExcludedRuleSetOutputReference 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;
// rule_group - computed: false, optional: true, required: false
this._ruleGroup = new WebApplicationFirewallPolicyManagedRulesExclusionExcludedRuleSetRuleGroupList(this, "rule_group", false);
}
get internalValue() {
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._type !== undefined) {
hasAnyValues = true;
internalValueResult.type = this._type;
}
if (this._version !== undefined) {
hasAnyValues = true;
internalValueResult.version = this._version;
}
if (this._ruleGroup?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.ruleGroup = this._ruleGroup?.internalValue;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._type = undefined;
this._version = undefined;
this._ruleGroup.internalValue = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._type = value.type;
this._version = value.version;
this._ruleGroup.internalValue = value.ruleGroup;
}
}
get type() {
return this.getStringAttribute('type');
}
set type(value) {
this._type = value;
}
resetType() {
this._type = undefined;
}
// Temporarily expose input value. Use with caution.
get typeInput() {
return this._type;
}
get version() {
return this.getStringAttribute('version');
}
set version(value) {
this._version = value;
}
resetVersion() {
this._version = undefined;
}
// Temporarily expose input value. Use with caution.
get versionInput() {
return this._version;
}
get ruleGroup() {
return this._ruleGroup;
}
putRuleGroup(value) {
this._ruleGroup.internalValue = value;
}
resetRuleGroup() {
this._ruleGroup.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get ruleGroupInput() {
return this._ruleGroup.internalValue;
}
}
exports.WebApplicationFirewallPolicyManagedRulesExclusionExcludedRuleSetOutputReference = WebApplicationFirewallPolicyManagedRulesExclusionExcludedRuleSetOutputReference;
_j = JSII_RTTI_SYMBOL_1;
WebApplicationFirewallPolicyManagedRulesExclusionExcludedRuleSetOutputReference[_j] = { fqn: "@cdktf/provider-azurerm.webApplicationFirewallPolicy.WebApplicationFirewallPolicyManagedRulesExclusionExcludedRuleSetOutputReference", version: "12.27.0" };
function webApplicationFirewallPolicyManagedRulesExclusionToTerraform(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 {
match_variable: cdktf.stringToTerraform(struct.matchVariable),
selector: cdktf.stringToTerraform(struct.selector),
selector_match_operator: cdktf.stringToTerraform(struct.selectorMatchOperator),
excluded_rule_set: webApplicationFirewallPolicyManagedRulesExclusionExcludedRuleSetToTerraform(struct.excludedRuleSet),
};
}
exports.webApplicationFirewallPolicyManagedRulesExclusionToTerraform = webApplicationFirewallPolicyManagedRulesExclusionToTerraform;
function webApplicationFirewallPolicyManagedRulesExclusionToHclTerraform(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 = {
match_variable: {
value: cdktf.stringToHclTerraform(struct.matchVariable),
isBlock: false,
type: "simple",
storageClassType: "string",
},
selector: {
value: cdktf.stringToHclTerraform(struct.selector),
isBlock: false,
type: "simple",
storageClassType: "string",
},
selector_match_operator: {
value: cdktf.stringToHclTerraform(struct.selectorMatchOperator),
isBlock: false,
type: "simple",
storageClassType: "string",
},
excluded_rule_set: {
value: webApplicationFirewallPolicyManagedRulesExclusionExcludedRuleSetToHclTerraform(struct.excludedRuleSet),
isBlock: true,
type: "list",
storageClassType: "WebApplicationFirewallPolicyManagedRulesExclusionExcludedRuleSetList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.webApplicationFirewallPolicyManagedRulesExclusionToHclTerraform = webApplicationFirewallPolicyManagedRulesExclusionToHclTerraform;
class WebApplicationFirewallPolicyManagedRulesExclusionOutputReference 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;
// excluded_rule_set - computed: false, optional: true, required: false
this._excludedRuleSet = new WebApplicationFirewallPolicyManagedRulesExclusionExcludedRuleSetOutputReference(this, "excluded_rule_set");
}
get internalValue() {
if (this.resolvableValue) {
return this.resolvableValue;
}
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._matchVariable !== undefined) {
hasAnyValues = true;
internalValueResult.matchVariable = this._matchVariable;
}
if (this._selector !== undefined) {
hasAnyValues = true;
internalValueResult.selector = this._selector;
}
if (this._selectorMatchOperator !== undefined) {
hasAnyValues = true;
internalValueResult.selectorMatchOperator = this._selectorMatchOperator;
}
if (this._excludedRuleSet?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.excludedRuleSet = this._excludedRuleSet?.internalValue;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._matchVariable = undefined;
this._selector = undefined;
this._selectorMatchOperator = undefined;
this._excludedRuleSet.internalValue = 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._matchVariable = value.matchVariable;
this._selector = value.selector;
this._selectorMatchOperator = value.selectorMatchOperator;
this._excludedRuleSet.internalValue = value.excludedRuleSet;
}
}
get matchVariable() {
return this.getStringAttribute('match_variable');
}
set matchVariable(value) {
this._matchVariable = value;
}
// Temporarily expose input value. Use with caution.
get matchVariableInput() {
return this._matchVariable;
}
get selector() {
return this.getStringAttribute('selector');
}
set selector(value) {
this._selector = value;
}
// Temporarily expose input value. Use with caution.
get selectorInput() {
return this._selector;
}
get selectorMatchOperator() {
return this.getStringAttribute('selector_match_operator');
}
set selectorMatchOperat