UNPKG

@cdktf/provider-azurerm

Version:

Prebuilt azurerm Provider for Terraform CDK (cdktf)

1,052 lines 390 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z; Object.defineProperty(exports, "__esModule", { value: true }); exports.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