UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

1,003 lines 140 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k; Object.defineProperty(exports, "__esModule", { value: true }); exports.WafregionalWebAcl = exports.WafregionalWebAclRuleList = exports.WafregionalWebAclRuleOutputReference = exports.WafregionalWebAclRuleOverrideActionOutputReference = exports.WafregionalWebAclRuleActionOutputReference = exports.WafregionalWebAclLoggingConfigurationOutputReference = exports.WafregionalWebAclLoggingConfigurationRedactedFieldsOutputReference = exports.WafregionalWebAclLoggingConfigurationRedactedFieldsFieldToMatchList = exports.WafregionalWebAclLoggingConfigurationRedactedFieldsFieldToMatchOutputReference = exports.WafregionalWebAclDefaultActionOutputReference = void 0; exports.wafregionalWebAclDefaultActionToTerraform = wafregionalWebAclDefaultActionToTerraform; exports.wafregionalWebAclDefaultActionToHclTerraform = wafregionalWebAclDefaultActionToHclTerraform; exports.wafregionalWebAclLoggingConfigurationRedactedFieldsFieldToMatchToTerraform = wafregionalWebAclLoggingConfigurationRedactedFieldsFieldToMatchToTerraform; exports.wafregionalWebAclLoggingConfigurationRedactedFieldsFieldToMatchToHclTerraform = wafregionalWebAclLoggingConfigurationRedactedFieldsFieldToMatchToHclTerraform; exports.wafregionalWebAclLoggingConfigurationRedactedFieldsToTerraform = wafregionalWebAclLoggingConfigurationRedactedFieldsToTerraform; exports.wafregionalWebAclLoggingConfigurationRedactedFieldsToHclTerraform = wafregionalWebAclLoggingConfigurationRedactedFieldsToHclTerraform; exports.wafregionalWebAclLoggingConfigurationToTerraform = wafregionalWebAclLoggingConfigurationToTerraform; exports.wafregionalWebAclLoggingConfigurationToHclTerraform = wafregionalWebAclLoggingConfigurationToHclTerraform; exports.wafregionalWebAclRuleActionToTerraform = wafregionalWebAclRuleActionToTerraform; exports.wafregionalWebAclRuleActionToHclTerraform = wafregionalWebAclRuleActionToHclTerraform; exports.wafregionalWebAclRuleOverrideActionToTerraform = wafregionalWebAclRuleOverrideActionToTerraform; exports.wafregionalWebAclRuleOverrideActionToHclTerraform = wafregionalWebAclRuleOverrideActionToHclTerraform; exports.wafregionalWebAclRuleToTerraform = wafregionalWebAclRuleToTerraform; exports.wafregionalWebAclRuleToHclTerraform = wafregionalWebAclRuleToHclTerraform; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function wafregionalWebAclDefaultActionToTerraform(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), }; } function wafregionalWebAclDefaultActionToHclTerraform(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", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class WafregionalWebAclDefaultActionOutputReference 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._type !== undefined) { hasAnyValues = true; internalValueResult.type = this._type; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._type = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._type = value.type; } } get type() { return this.getStringAttribute('type'); } set type(value) { this._type = value; } // Temporarily expose input value. Use with caution. get typeInput() { return this._type; } } exports.WafregionalWebAclDefaultActionOutputReference = WafregionalWebAclDefaultActionOutputReference; _a = JSII_RTTI_SYMBOL_1; WafregionalWebAclDefaultActionOutputReference[_a] = { fqn: "@cdktf/provider-aws.wafregionalWebAcl.WafregionalWebAclDefaultActionOutputReference", version: "21.22.1" }; function wafregionalWebAclLoggingConfigurationRedactedFieldsFieldToMatchToTerraform(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 { data: cdktf.stringToTerraform(struct.data), type: cdktf.stringToTerraform(struct.type), }; } function wafregionalWebAclLoggingConfigurationRedactedFieldsFieldToMatchToHclTerraform(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 = { data: { value: cdktf.stringToHclTerraform(struct.data), isBlock: false, type: "simple", storageClassType: "string", }, type: { value: cdktf.stringToHclTerraform(struct.type), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class WafregionalWebAclLoggingConfigurationRedactedFieldsFieldToMatchOutputReference 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._data !== undefined) { hasAnyValues = true; internalValueResult.data = this._data; } if (this._type !== undefined) { hasAnyValues = true; internalValueResult.type = this._type; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._data = undefined; this._type = 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._data = value.data; this._type = value.type; } } get data() { return this.getStringAttribute('data'); } set data(value) { this._data = value; } resetData() { this._data = undefined; } // Temporarily expose input value. Use with caution. get dataInput() { return this._data; } get type() { return this.getStringAttribute('type'); } set type(value) { this._type = value; } // Temporarily expose input value. Use with caution. get typeInput() { return this._type; } } exports.WafregionalWebAclLoggingConfigurationRedactedFieldsFieldToMatchOutputReference = WafregionalWebAclLoggingConfigurationRedactedFieldsFieldToMatchOutputReference; _b = JSII_RTTI_SYMBOL_1; WafregionalWebAclLoggingConfigurationRedactedFieldsFieldToMatchOutputReference[_b] = { fqn: "@cdktf/provider-aws.wafregionalWebAcl.WafregionalWebAclLoggingConfigurationRedactedFieldsFieldToMatchOutputReference", version: "21.22.1" }; class WafregionalWebAclLoggingConfigurationRedactedFieldsFieldToMatchList 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 WafregionalWebAclLoggingConfigurationRedactedFieldsFieldToMatchOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.WafregionalWebAclLoggingConfigurationRedactedFieldsFieldToMatchList = WafregionalWebAclLoggingConfigurationRedactedFieldsFieldToMatchList; _c = JSII_RTTI_SYMBOL_1; WafregionalWebAclLoggingConfigurationRedactedFieldsFieldToMatchList[_c] = { fqn: "@cdktf/provider-aws.wafregionalWebAcl.WafregionalWebAclLoggingConfigurationRedactedFieldsFieldToMatchList", version: "21.22.1" }; function wafregionalWebAclLoggingConfigurationRedactedFieldsToTerraform(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 { field_to_match: cdktf.listMapper(wafregionalWebAclLoggingConfigurationRedactedFieldsFieldToMatchToTerraform, true)(struct.fieldToMatch), }; } function wafregionalWebAclLoggingConfigurationRedactedFieldsToHclTerraform(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 = { field_to_match: { value: cdktf.listMapperHcl(wafregionalWebAclLoggingConfigurationRedactedFieldsFieldToMatchToHclTerraform, true)(struct.fieldToMatch), isBlock: true, type: "set", storageClassType: "WafregionalWebAclLoggingConfigurationRedactedFieldsFieldToMatchList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class WafregionalWebAclLoggingConfigurationRedactedFieldsOutputReference 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; // field_to_match - computed: false, optional: false, required: true this._fieldToMatch = new WafregionalWebAclLoggingConfigurationRedactedFieldsFieldToMatchList(this, "field_to_match", true); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._fieldToMatch?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.fieldToMatch = this._fieldToMatch?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._fieldToMatch.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._fieldToMatch.internalValue = value.fieldToMatch; } } get fieldToMatch() { return this._fieldToMatch; } putFieldToMatch(value) { this._fieldToMatch.internalValue = value; } // Temporarily expose input value. Use with caution. get fieldToMatchInput() { return this._fieldToMatch.internalValue; } } exports.WafregionalWebAclLoggingConfigurationRedactedFieldsOutputReference = WafregionalWebAclLoggingConfigurationRedactedFieldsOutputReference; _d = JSII_RTTI_SYMBOL_1; WafregionalWebAclLoggingConfigurationRedactedFieldsOutputReference[_d] = { fqn: "@cdktf/provider-aws.wafregionalWebAcl.WafregionalWebAclLoggingConfigurationRedactedFieldsOutputReference", version: "21.22.1" }; function wafregionalWebAclLoggingConfigurationToTerraform(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 { log_destination: cdktf.stringToTerraform(struct.logDestination), redacted_fields: wafregionalWebAclLoggingConfigurationRedactedFieldsToTerraform(struct.redactedFields), }; } function wafregionalWebAclLoggingConfigurationToHclTerraform(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 = { log_destination: { value: cdktf.stringToHclTerraform(struct.logDestination), isBlock: false, type: "simple", storageClassType: "string", }, redacted_fields: { value: wafregionalWebAclLoggingConfigurationRedactedFieldsToHclTerraform(struct.redactedFields), isBlock: true, type: "list", storageClassType: "WafregionalWebAclLoggingConfigurationRedactedFieldsList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class WafregionalWebAclLoggingConfigurationOutputReference 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; // redacted_fields - computed: false, optional: true, required: false this._redactedFields = new WafregionalWebAclLoggingConfigurationRedactedFieldsOutputReference(this, "redacted_fields"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._logDestination !== undefined) { hasAnyValues = true; internalValueResult.logDestination = this._logDestination; } if (this._redactedFields?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.redactedFields = this._redactedFields?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._logDestination = undefined; this._redactedFields.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._logDestination = value.logDestination; this._redactedFields.internalValue = value.redactedFields; } } get logDestination() { return this.getStringAttribute('log_destination'); } set logDestination(value) { this._logDestination = value; } // Temporarily expose input value. Use with caution. get logDestinationInput() { return this._logDestination; } get redactedFields() { return this._redactedFields; } putRedactedFields(value) { this._redactedFields.internalValue = value; } resetRedactedFields() { this._redactedFields.internalValue = undefined; } // Temporarily expose input value. Use with caution. get redactedFieldsInput() { return this._redactedFields.internalValue; } } exports.WafregionalWebAclLoggingConfigurationOutputReference = WafregionalWebAclLoggingConfigurationOutputReference; _e = JSII_RTTI_SYMBOL_1; WafregionalWebAclLoggingConfigurationOutputReference[_e] = { fqn: "@cdktf/provider-aws.wafregionalWebAcl.WafregionalWebAclLoggingConfigurationOutputReference", version: "21.22.1" }; function wafregionalWebAclRuleActionToTerraform(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), }; } function wafregionalWebAclRuleActionToHclTerraform(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", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class WafregionalWebAclRuleActionOutputReference 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._type !== undefined) { hasAnyValues = true; internalValueResult.type = this._type; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._type = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._type = value.type; } } get type() { return this.getStringAttribute('type'); } set type(value) { this._type = value; } // Temporarily expose input value. Use with caution. get typeInput() { return this._type; } } exports.WafregionalWebAclRuleActionOutputReference = WafregionalWebAclRuleActionOutputReference; _f = JSII_RTTI_SYMBOL_1; WafregionalWebAclRuleActionOutputReference[_f] = { fqn: "@cdktf/provider-aws.wafregionalWebAcl.WafregionalWebAclRuleActionOutputReference", version: "21.22.1" }; function wafregionalWebAclRuleOverrideActionToTerraform(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), }; } function wafregionalWebAclRuleOverrideActionToHclTerraform(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", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class WafregionalWebAclRuleOverrideActionOutputReference 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._type !== undefined) { hasAnyValues = true; internalValueResult.type = this._type; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._type = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._type = value.type; } } get type() { return this.getStringAttribute('type'); } set type(value) { this._type = value; } // Temporarily expose input value. Use with caution. get typeInput() { return this._type; } } exports.WafregionalWebAclRuleOverrideActionOutputReference = WafregionalWebAclRuleOverrideActionOutputReference; _g = JSII_RTTI_SYMBOL_1; WafregionalWebAclRuleOverrideActionOutputReference[_g] = { fqn: "@cdktf/provider-aws.wafregionalWebAcl.WafregionalWebAclRuleOverrideActionOutputReference", version: "21.22.1" }; function wafregionalWebAclRuleToTerraform(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 { priority: cdktf.numberToTerraform(struct.priority), rule_id: cdktf.stringToTerraform(struct.ruleId), type: cdktf.stringToTerraform(struct.type), action: wafregionalWebAclRuleActionToTerraform(struct.action), override_action: wafregionalWebAclRuleOverrideActionToTerraform(struct.overrideAction), }; } function wafregionalWebAclRuleToHclTerraform(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 = { priority: { value: cdktf.numberToHclTerraform(struct.priority), isBlock: false, type: "simple", storageClassType: "number", }, rule_id: { value: cdktf.stringToHclTerraform(struct.ruleId), isBlock: false, type: "simple", storageClassType: "string", }, type: { value: cdktf.stringToHclTerraform(struct.type), isBlock: false, type: "simple", storageClassType: "string", }, action: { value: wafregionalWebAclRuleActionToHclTerraform(struct.action), isBlock: true, type: "list", storageClassType: "WafregionalWebAclRuleActionList", }, override_action: { value: wafregionalWebAclRuleOverrideActionToHclTerraform(struct.overrideAction), isBlock: true, type: "list", storageClassType: "WafregionalWebAclRuleOverrideActionList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class WafregionalWebAclRuleOutputReference 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; // action - computed: false, optional: true, required: false this._action = new WafregionalWebAclRuleActionOutputReference(this, "action"); // override_action - computed: false, optional: true, required: false this._overrideAction = new WafregionalWebAclRuleOverrideActionOutputReference(this, "override_action"); } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._priority !== undefined) { hasAnyValues = true; internalValueResult.priority = this._priority; } if (this._ruleId !== undefined) { hasAnyValues = true; internalValueResult.ruleId = this._ruleId; } if (this._type !== undefined) { hasAnyValues = true; internalValueResult.type = this._type; } if (this._action?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.action = this._action?.internalValue; } if (this._overrideAction?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.overrideAction = this._overrideAction?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._priority = undefined; this._ruleId = undefined; this._type = undefined; this._action.internalValue = undefined; this._overrideAction.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._priority = value.priority; this._ruleId = value.ruleId; this._type = value.type; this._action.internalValue = value.action; this._overrideAction.internalValue = value.overrideAction; } } 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 ruleId() { return this.getStringAttribute('rule_id'); } set ruleId(value) { this._ruleId = value; } // Temporarily expose input value. Use with caution. get ruleIdInput() { return this._ruleId; } 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 action() { return this._action; } putAction(value) { this._action.internalValue = value; } resetAction() { this._action.internalValue = undefined; } // Temporarily expose input value. Use with caution. get actionInput() { return this._action.internalValue; } get overrideAction() { return this._overrideAction; } putOverrideAction(value) { this._overrideAction.internalValue = value; } resetOverrideAction() { this._overrideAction.internalValue = undefined; } // Temporarily expose input value. Use with caution. get overrideActionInput() { return this._overrideAction.internalValue; } } exports.WafregionalWebAclRuleOutputReference = WafregionalWebAclRuleOutputReference; _h = JSII_RTTI_SYMBOL_1; WafregionalWebAclRuleOutputReference[_h] = { fqn: "@cdktf/provider-aws.wafregionalWebAcl.WafregionalWebAclRuleOutputReference", version: "21.22.1" }; class WafregionalWebAclRuleList 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 WafregionalWebAclRuleOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.WafregionalWebAclRuleList = WafregionalWebAclRuleList; _j = JSII_RTTI_SYMBOL_1; WafregionalWebAclRuleList[_j] = { fqn: "@cdktf/provider-aws.wafregionalWebAcl.WafregionalWebAclRuleList", version: "21.22.1" }; /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/wafregional_web_acl aws_wafregional_web_acl} */ class WafregionalWebAcl extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a WafregionalWebAcl resource upon running "cdktf plan <stack-name>" * @param scope The scope in which to define this construct * @param importToId The construct id used in the generated config for the WafregionalWebAcl to import * @param importFromId The id of the existing WafregionalWebAcl that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/wafregional_web_acl#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the WafregionalWebAcl to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aws_wafregional_web_acl", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/wafregional_web_acl aws_wafregional_web_acl} Resource * * @param scope The scope in which to define this construct * @param id The scoped construct ID. Must be unique amongst siblings in the same scope * @param options WafregionalWebAclConfig */ constructor(scope, id, config) { super(scope, id, { terraformResourceType: 'aws_wafregional_web_acl', terraformGeneratorMetadata: { providerName: 'aws', providerVersion: '6.25.0', providerVersionConstraint: '~> 6.0' }, provider: config.provider, dependsOn: config.dependsOn, count: config.count, lifecycle: config.lifecycle, provisioners: config.provisioners, connection: config.connection, forEach: config.forEach }); // default_action - computed: false, optional: false, required: true this._defaultAction = new WafregionalWebAclDefaultActionOutputReference(this, "default_action"); // logging_configuration - computed: false, optional: true, required: false this._loggingConfiguration = new WafregionalWebAclLoggingConfigurationOutputReference(this, "logging_configuration"); // rule - computed: false, optional: true, required: false this._rule = new WafregionalWebAclRuleList(this, "rule", true); this._id = config.id; this._metricName = config.metricName; this._name = config.name; this._region = config.region; this._tags = config.tags; this._tagsAll = config.tagsAll; this._defaultAction.internalValue = config.defaultAction; this._loggingConfiguration.internalValue = config.loggingConfiguration; this._rule.internalValue = config.rule; } // ========== // ATTRIBUTES // ========== // arn - computed: true, optional: false, required: false get arn() { return this.getStringAttribute('arn'); } get id() { return this.getStringAttribute('id'); } set id(value) { this._id = value; } resetId() { this._id = undefined; } // Temporarily expose input value. Use with caution. get idInput() { return this._id; } get metricName() { return this.getStringAttribute('metric_name'); } set metricName(value) { this._metricName = value; } // Temporarily expose input value. Use with caution. get metricNameInput() { return this._metricName; } get name() { return this.getStringAttribute('name'); } set name(value) { this._name = value; } // Temporarily expose input value. Use with caution. get nameInput() { return this._name; } get region() { return this.getStringAttribute('region'); } set region(value) { this._region = value; } resetRegion() { this._region = undefined; } // Temporarily expose input value. Use with caution. get regionInput() { return this._region; } get tags() { return this.getStringMapAttribute('tags'); } set tags(value) { this._tags = value; } resetTags() { this._tags = undefined; } // Temporarily expose input value. Use with caution. get tagsInput() { return this._tags; } get tagsAll() { return this.getStringMapAttribute('tags_all'); } set tagsAll(value) { this._tagsAll = value; } resetTagsAll() { this._tagsAll = undefined; } // Temporarily expose input value. Use with caution. get tagsAllInput() { return this._tagsAll; } get defaultAction() { return this._defaultAction; } putDefaultAction(value) { this._defaultAction.internalValue = value; } // Temporarily expose input value. Use with caution. get defaultActionInput() { return this._defaultAction.internalValue; } get loggingConfiguration() { return this._loggingConfiguration; } putLoggingConfiguration(value) { this._loggingConfiguration.internalValue = value; } resetLoggingConfiguration() { this._loggingConfiguration.internalValue = undefined; } // Temporarily expose input value. Use with caution. get loggingConfigurationInput() { return this._loggingConfiguration.internalValue; } get rule() { return this._rule; } putRule(value) { this._rule.internalValue = value; } resetRule() { this._rule.internalValue = undefined; } // Temporarily expose input value. Use with caution. get ruleInput() { return this._rule.internalValue; } // ========= // SYNTHESIS // ========= synthesizeAttributes() { return { id: cdktf.stringToTerraform(this._id), metric_name: cdktf.stringToTerraform(this._metricName), name: cdktf.stringToTerraform(this._name), region: cdktf.stringToTerraform(this._region), tags: cdktf.hashMapper(cdktf.stringToTerraform)(this._tags), tags_all: cdktf.hashMapper(cdktf.stringToTerraform)(this._tagsAll), default_action: wafregionalWebAclDefaultActionToTerraform(this._defaultAction.internalValue), logging_configuration: wafregionalWebAclLoggingConfigurationToTerraform(this._loggingConfiguration.internalValue), rule: cdktf.listMapper(wafregionalWebAclRuleToTerraform, true)(this._rule.internalValue), }; } synthesizeHclAttributes() { const attrs = { id: { value: cdktf.stringToHclTerraform(this._id), isBlock: false, type: "simple", storageClassType: "string", }, metric_name: { value: cdktf.stringToHclTerraform(this._metricName), isBlock: false, type: "simple", storageClassType: "string", }, name: { value: cdktf.stringToHclTerraform(this._name), isBlock: false, type: "simple", storageClassType: "string", }, region: { value: cdktf.stringToHclTerraform(this._region), isBlock: false, type: "simple", storageClassType: "string", }, tags: { value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(this._tags), isBlock: false, type: "map", storageClassType: "stringMap", }, tags_all: { value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(this._tagsAll), isBlock: false, type: "map", storageClassType: "stringMap", }, default_action: { value: wafregionalWebAclDefaultActionToHclTerraform(this._defaultAction.internalValue), isBlock: true, type: "list", storageClassType: "WafregionalWebAclDefaultActionList", }, logging_configuration: { value: wafregionalWebAclLoggingConfigurationToHclTerraform(this._loggingConfiguration.internalValue), isBlock: true, type: "list", storageClassType: "WafregionalWebAclLoggingConfigurationList", }, rule: { value: cdktf.listMapperHcl(wafregionalWebAclRuleToHclTerraform, true)(this._rule.internalValue), isBlock: true, type: "set", storageClassType: "WafregionalWebAclRuleList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } } exports.WafregionalWebAcl = WafregionalWebAcl; _k = JSII_RTTI_SYMBOL_1; WafregionalWebAcl[_k] = { fqn: "@cdktf/provider-aws.wafregionalWebAcl.WafregionalWebAcl", version: "21.22.1" }; // ================= // STATIC PROPERTIES // ================= WafregionalWebAcl.tfResourceType = "aws_wafregional_web_acl"; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2FmcmVnaW9uYWwtd2ViLWFjbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBcUVBLDhGQVFDO0FBR0Qsb0dBZ0JDO0FBMERELGdLQVNDO0FBR0Qsc0tBc0JDO0FBOEdELHdJQVFDO0FBR0QsOElBZ0JDO0FBNERELDRHQVNDO0FBR0Qsa0hBc0JDO0FBNEVELHdGQVFDO0FBR0QsOEZBZ0JDO0FBc0RELHdHQVFDO0FBR0QsOEdBZ0JDO0FBMEVELDRFQVlDO0FBR0Qsa0ZBd0NDOztBQW50QkQsK0JBQStCO0FBNEQvQixTQUFnQix5Q0FBeUMsQ0FBQyxNQUF1RjtJQUMvSSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxPQUFPO1FBQ0wsSUFBSSxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsSUFBSSxDQUFDO0tBQzVDLENBQUE7QUFDSCxDQUFDO0FBR0QsU0FBZ0IsNENBQTRDLENBQUMsTUFBdUY7SUFDbEosSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxLQUFL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