UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

944 lines (943 loc) 296 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v; Object.defineProperty(exports, "__esModule", { value: true }); exports.NetworkfirewallFirewallPolicy = exports.NetworkfirewallFirewallPolicyFirewallPolicyOutputReference = exports.networkfirewallFirewallPolicyFirewallPolicyToHclTerraform = exports.networkfirewallFirewallPolicyFirewallPolicyToTerraform = exports.NetworkfirewallFirewallPolicyFirewallPolicyStatelessRuleGroupReferenceList = exports.NetworkfirewallFirewallPolicyFirewallPolicyStatelessRuleGroupReferenceOutputReference = exports.networkfirewallFirewallPolicyFirewallPolicyStatelessRuleGroupReferenceToHclTerraform = exports.networkfirewallFirewallPolicyFirewallPolicyStatelessRuleGroupReferenceToTerraform = exports.NetworkfirewallFirewallPolicyFirewallPolicyStatelessCustomActionList = exports.NetworkfirewallFirewallPolicyFirewallPolicyStatelessCustomActionOutputReference = exports.networkfirewallFirewallPolicyFirewallPolicyStatelessCustomActionToHclTerraform = exports.networkfirewallFirewallPolicyFirewallPolicyStatelessCustomActionToTerraform = exports.NetworkfirewallFirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionOutputReference = exports.networkfirewallFirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionToHclTerraform = exports.networkfirewallFirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionToTerraform = exports.NetworkfirewallFirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionPublishMetricActionOutputReference = exports.networkfirewallFirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionPublishMetricActionToHclTerraform = exports.networkfirewallFirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionPublishMetricActionToTerraform = exports.NetworkfirewallFirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionPublishMetricActionDimensionList = exports.NetworkfirewallFirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionPublishMetricActionDimensionOutputReference = exports.networkfirewallFirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionPublishMetricActionDimensionToHclTerraform = exports.networkfirewallFirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionPublishMetricActionDimensionToTerraform = exports.NetworkfirewallFirewallPolicyFirewallPolicyStatefulRuleGroupReferenceList = exports.NetworkfirewallFirewallPolicyFirewallPolicyStatefulRuleGroupReferenceOutputReference = exports.networkfirewallFirewallPolicyFirewallPolicyStatefulRuleGroupReferenceToHclTerraform = exports.networkfirewallFirewallPolicyFirewallPolicyStatefulRuleGroupReferenceToTerraform = exports.NetworkfirewallFirewallPolicyFirewallPolicyStatefulRuleGroupReferenceOverrideOutputReference = exports.networkfirewallFirewallPolicyFirewallPolicyStatefulRuleGroupReferenceOverrideToHclTerraform = exports.networkfirewallFirewallPolicyFirewallPolicyStatefulRuleGroupReferenceOverrideToTerraform = exports.NetworkfirewallFirewallPolicyFirewallPolicyStatefulEngineOptionsOutputReference = exports.networkfirewallFirewallPolicyFirewallPolicyStatefulEngineOptionsToHclTerraform = exports.networkfirewallFirewallPolicyFirewallPolicyStatefulEngineOptionsToTerraform = exports.NetworkfirewallFirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsOutputReference = exports.networkfirewallFirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsToHclTerraform = exports.networkfirewallFirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsToTerraform = exports.NetworkfirewallFirewallPolicyFirewallPolicyPolicyVariablesOutputReference = exports.networkfirewallFirewallPolicyFirewallPolicyPolicyVariablesToHclTerraform = exports.networkfirewallFirewallPolicyFirewallPolicyPolicyVariablesToTerraform = exports.NetworkfirewallFirewallPolicyFirewallPolicyPolicyVariablesRuleVariablesList = exports.NetworkfirewallFirewallPolicyFirewallPolicyPolicyVariablesRuleVariablesOutputReference = exports.networkfirewallFirewallPolicyFirewallPolicyPolicyVariablesRuleVariablesToHclTerraform = exports.networkfirewallFirewallPolicyFirewallPolicyPolicyVariablesRuleVariablesToTerraform = exports.NetworkfirewallFirewallPolicyFirewallPolicyPolicyVariablesRuleVariablesIpSetOutputReference = exports.networkfirewallFirewallPolicyFirewallPolicyPolicyVariablesRuleVariablesIpSetToHclTerraform = exports.networkfirewallFirewallPolicyFirewallPolicyPolicyVariablesRuleVariablesIpSetToTerraform = exports.NetworkfirewallFirewallPolicyEncryptionConfigurationOutputReference = exports.networkfirewallFirewallPolicyEncryptionConfigurationToHclTerraform = exports.networkfirewallFirewallPolicyEncryptionConfigurationToTerraform = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function networkfirewallFirewallPolicyEncryptionConfigurationToTerraform(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 { key_id: cdktf.stringToTerraform(struct.keyId), type: cdktf.stringToTerraform(struct.type), }; } exports.networkfirewallFirewallPolicyEncryptionConfigurationToTerraform = networkfirewallFirewallPolicyEncryptionConfigurationToTerraform; function networkfirewallFirewallPolicyEncryptionConfigurationToHclTerraform(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 = { key_id: { value: cdktf.stringToHclTerraform(struct.keyId), 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)); } exports.networkfirewallFirewallPolicyEncryptionConfigurationToHclTerraform = networkfirewallFirewallPolicyEncryptionConfigurationToHclTerraform; class NetworkfirewallFirewallPolicyEncryptionConfigurationOutputReference 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._keyId !== undefined) { hasAnyValues = true; internalValueResult.keyId = this._keyId; } if (this._type !== undefined) { hasAnyValues = true; internalValueResult.type = this._type; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._keyId = undefined; this._type = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._keyId = value.keyId; this._type = value.type; } } get keyId() { return this.getStringAttribute('key_id'); } set keyId(value) { this._keyId = value; } resetKeyId() { this._keyId = undefined; } // Temporarily expose input value. Use with caution. get keyIdInput() { return this._keyId; } 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.NetworkfirewallFirewallPolicyEncryptionConfigurationOutputReference = NetworkfirewallFirewallPolicyEncryptionConfigurationOutputReference; _a = JSII_RTTI_SYMBOL_1; NetworkfirewallFirewallPolicyEncryptionConfigurationOutputReference[_a] = { fqn: "@cdktf/provider-aws.networkfirewallFirewallPolicy.NetworkfirewallFirewallPolicyEncryptionConfigurationOutputReference", version: "19.50.0" }; function networkfirewallFirewallPolicyFirewallPolicyPolicyVariablesRuleVariablesIpSetToTerraform(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 { definition: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.definition), }; } exports.networkfirewallFirewallPolicyFirewallPolicyPolicyVariablesRuleVariablesIpSetToTerraform = networkfirewallFirewallPolicyFirewallPolicyPolicyVariablesRuleVariablesIpSetToTerraform; function networkfirewallFirewallPolicyFirewallPolicyPolicyVariablesRuleVariablesIpSetToHclTerraform(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 = { definition: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.definition), isBlock: false, type: "set", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.networkfirewallFirewallPolicyFirewallPolicyPolicyVariablesRuleVariablesIpSetToHclTerraform = networkfirewallFirewallPolicyFirewallPolicyPolicyVariablesRuleVariablesIpSetToHclTerraform; class NetworkfirewallFirewallPolicyFirewallPolicyPolicyVariablesRuleVariablesIpSetOutputReference 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._definition !== undefined) { hasAnyValues = true; internalValueResult.definition = this._definition; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._definition = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._definition = value.definition; } } get definition() { return cdktf.Fn.tolist(this.getListAttribute('definition')); } set definition(value) { this._definition = value; } // Temporarily expose input value. Use with caution. get definitionInput() { return this._definition; } } exports.NetworkfirewallFirewallPolicyFirewallPolicyPolicyVariablesRuleVariablesIpSetOutputReference = NetworkfirewallFirewallPolicyFirewallPolicyPolicyVariablesRuleVariablesIpSetOutputReference; _b = JSII_RTTI_SYMBOL_1; NetworkfirewallFirewallPolicyFirewallPolicyPolicyVariablesRuleVariablesIpSetOutputReference[_b] = { fqn: "@cdktf/provider-aws.networkfirewallFirewallPolicy.NetworkfirewallFirewallPolicyFirewallPolicyPolicyVariablesRuleVariablesIpSetOutputReference", version: "19.50.0" }; function networkfirewallFirewallPolicyFirewallPolicyPolicyVariablesRuleVariablesToTerraform(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 { key: cdktf.stringToTerraform(struct.key), ip_set: networkfirewallFirewallPolicyFirewallPolicyPolicyVariablesRuleVariablesIpSetToTerraform(struct.ipSet), }; } exports.networkfirewallFirewallPolicyFirewallPolicyPolicyVariablesRuleVariablesToTerraform = networkfirewallFirewallPolicyFirewallPolicyPolicyVariablesRuleVariablesToTerraform; function networkfirewallFirewallPolicyFirewallPolicyPolicyVariablesRuleVariablesToHclTerraform(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 = { key: { value: cdktf.stringToHclTerraform(struct.key), isBlock: false, type: "simple", storageClassType: "string", }, ip_set: { value: networkfirewallFirewallPolicyFirewallPolicyPolicyVariablesRuleVariablesIpSetToHclTerraform(struct.ipSet), isBlock: true, type: "list", storageClassType: "NetworkfirewallFirewallPolicyFirewallPolicyPolicyVariablesRuleVariablesIpSetList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.networkfirewallFirewallPolicyFirewallPolicyPolicyVariablesRuleVariablesToHclTerraform = networkfirewallFirewallPolicyFirewallPolicyPolicyVariablesRuleVariablesToHclTerraform; class NetworkfirewallFirewallPolicyFirewallPolicyPolicyVariablesRuleVariablesOutputReference 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; // ip_set - computed: false, optional: false, required: true this._ipSet = new NetworkfirewallFirewallPolicyFirewallPolicyPolicyVariablesRuleVariablesIpSetOutputReference(this, "ip_set"); } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._key !== undefined) { hasAnyValues = true; internalValueResult.key = this._key; } if (this._ipSet?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.ipSet = this._ipSet?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._key = undefined; this._ipSet.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._key = value.key; this._ipSet.internalValue = value.ipSet; } } get key() { return this.getStringAttribute('key'); } set key(value) { this._key = value; } // Temporarily expose input value. Use with caution. get keyInput() { return this._key; } get ipSet() { return this._ipSet; } putIpSet(value) { this._ipSet.internalValue = value; } // Temporarily expose input value. Use with caution. get ipSetInput() { return this._ipSet.internalValue; } } exports.NetworkfirewallFirewallPolicyFirewallPolicyPolicyVariablesRuleVariablesOutputReference = NetworkfirewallFirewallPolicyFirewallPolicyPolicyVariablesRuleVariablesOutputReference; _c = JSII_RTTI_SYMBOL_1; NetworkfirewallFirewallPolicyFirewallPolicyPolicyVariablesRuleVariablesOutputReference[_c] = { fqn: "@cdktf/provider-aws.networkfirewallFirewallPolicy.NetworkfirewallFirewallPolicyFirewallPolicyPolicyVariablesRuleVariablesOutputReference", version: "19.50.0" }; class NetworkfirewallFirewallPolicyFirewallPolicyPolicyVariablesRuleVariablesList 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 NetworkfirewallFirewallPolicyFirewallPolicyPolicyVariablesRuleVariablesOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.NetworkfirewallFirewallPolicyFirewallPolicyPolicyVariablesRuleVariablesList = NetworkfirewallFirewallPolicyFirewallPolicyPolicyVariablesRuleVariablesList; _d = JSII_RTTI_SYMBOL_1; NetworkfirewallFirewallPolicyFirewallPolicyPolicyVariablesRuleVariablesList[_d] = { fqn: "@cdktf/provider-aws.networkfirewallFirewallPolicy.NetworkfirewallFirewallPolicyFirewallPolicyPolicyVariablesRuleVariablesList", version: "19.50.0" }; function networkfirewallFirewallPolicyFirewallPolicyPolicyVariablesToTerraform(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 { rule_variables: cdktf.listMapper(networkfirewallFirewallPolicyFirewallPolicyPolicyVariablesRuleVariablesToTerraform, true)(struct.ruleVariables), }; } exports.networkfirewallFirewallPolicyFirewallPolicyPolicyVariablesToTerraform = networkfirewallFirewallPolicyFirewallPolicyPolicyVariablesToTerraform; function networkfirewallFirewallPolicyFirewallPolicyPolicyVariablesToHclTerraform(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 = { rule_variables: { value: cdktf.listMapperHcl(networkfirewallFirewallPolicyFirewallPolicyPolicyVariablesRuleVariablesToHclTerraform, true)(struct.ruleVariables), isBlock: true, type: "set", storageClassType: "NetworkfirewallFirewallPolicyFirewallPolicyPolicyVariablesRuleVariablesList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.networkfirewallFirewallPolicyFirewallPolicyPolicyVariablesToHclTerraform = networkfirewallFirewallPolicyFirewallPolicyPolicyVariablesToHclTerraform; class NetworkfirewallFirewallPolicyFirewallPolicyPolicyVariablesOutputReference 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_variables - computed: false, optional: true, required: false this._ruleVariables = new NetworkfirewallFirewallPolicyFirewallPolicyPolicyVariablesRuleVariablesList(this, "rule_variables", true); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._ruleVariables?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.ruleVariables = this._ruleVariables?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._ruleVariables.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._ruleVariables.internalValue = value.ruleVariables; } } get ruleVariables() { return this._ruleVariables; } putRuleVariables(value) { this._ruleVariables.internalValue = value; } resetRuleVariables() { this._ruleVariables.internalValue = undefined; } // Temporarily expose input value. Use with caution. get ruleVariablesInput() { return this._ruleVariables.internalValue; } } exports.NetworkfirewallFirewallPolicyFirewallPolicyPolicyVariablesOutputReference = NetworkfirewallFirewallPolicyFirewallPolicyPolicyVariablesOutputReference; _e = JSII_RTTI_SYMBOL_1; NetworkfirewallFirewallPolicyFirewallPolicyPolicyVariablesOutputReference[_e] = { fqn: "@cdktf/provider-aws.networkfirewallFirewallPolicy.NetworkfirewallFirewallPolicyFirewallPolicyPolicyVariablesOutputReference", version: "19.50.0" }; function networkfirewallFirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsToTerraform(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 { tcp_idle_timeout_seconds: cdktf.numberToTerraform(struct.tcpIdleTimeoutSeconds), }; } exports.networkfirewallFirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsToTerraform = networkfirewallFirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsToTerraform; function networkfirewallFirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsToHclTerraform(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 = { tcp_idle_timeout_seconds: { value: cdktf.numberToHclTerraform(struct.tcpIdleTimeoutSeconds), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.networkfirewallFirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsToHclTerraform = networkfirewallFirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsToHclTerraform; class NetworkfirewallFirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsOutputReference 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._tcpIdleTimeoutSeconds !== undefined) { hasAnyValues = true; internalValueResult.tcpIdleTimeoutSeconds = this._tcpIdleTimeoutSeconds; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._tcpIdleTimeoutSeconds = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._tcpIdleTimeoutSeconds = value.tcpIdleTimeoutSeconds; } } get tcpIdleTimeoutSeconds() { return this.getNumberAttribute('tcp_idle_timeout_seconds'); } set tcpIdleTimeoutSeconds(value) { this._tcpIdleTimeoutSeconds = value; } resetTcpIdleTimeoutSeconds() { this._tcpIdleTimeoutSeconds = undefined; } // Temporarily expose input value. Use with caution. get tcpIdleTimeoutSecondsInput() { return this._tcpIdleTimeoutSeconds; } } exports.NetworkfirewallFirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsOutputReference = NetworkfirewallFirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsOutputReference; _f = JSII_RTTI_SYMBOL_1; NetworkfirewallFirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsOutputReference[_f] = { fqn: "@cdktf/provider-aws.networkfirewallFirewallPolicy.NetworkfirewallFirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsOutputReference", version: "19.50.0" }; function networkfirewallFirewallPolicyFirewallPolicyStatefulEngineOptionsToTerraform(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 { rule_order: cdktf.stringToTerraform(struct.ruleOrder), stream_exception_policy: cdktf.stringToTerraform(struct.streamExceptionPolicy), flow_timeouts: networkfirewallFirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsToTerraform(struct.flowTimeouts), }; } exports.networkfirewallFirewallPolicyFirewallPolicyStatefulEngineOptionsToTerraform = networkfirewallFirewallPolicyFirewallPolicyStatefulEngineOptionsToTerraform; function networkfirewallFirewallPolicyFirewallPolicyStatefulEngineOptionsToHclTerraform(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 = { rule_order: { value: cdktf.stringToHclTerraform(struct.ruleOrder), isBlock: false, type: "simple", storageClassType: "string", }, stream_exception_policy: { value: cdktf.stringToHclTerraform(struct.streamExceptionPolicy), isBlock: false, type: "simple", storageClassType: "string", }, flow_timeouts: { value: networkfirewallFirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsToHclTerraform(struct.flowTimeouts), isBlock: true, type: "list", storageClassType: "NetworkfirewallFirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.networkfirewallFirewallPolicyFirewallPolicyStatefulEngineOptionsToHclTerraform = networkfirewallFirewallPolicyFirewallPolicyStatefulEngineOptionsToHclTerraform; class NetworkfirewallFirewallPolicyFirewallPolicyStatefulEngineOptionsOutputReference 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; // flow_timeouts - computed: false, optional: true, required: false this._flowTimeouts = new NetworkfirewallFirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsOutputReference(this, "flow_timeouts"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._ruleOrder !== undefined) { hasAnyValues = true; internalValueResult.ruleOrder = this._ruleOrder; } if (this._streamExceptionPolicy !== undefined) { hasAnyValues = true; internalValueResult.streamExceptionPolicy = this._streamExceptionPolicy; } if (this._flowTimeouts?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.flowTimeouts = this._flowTimeouts?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._ruleOrder = undefined; this._streamExceptionPolicy = undefined; this._flowTimeouts.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._ruleOrder = value.ruleOrder; this._streamExceptionPolicy = value.streamExceptionPolicy; this._flowTimeouts.internalValue = value.flowTimeouts; } } get ruleOrder() { return this.getStringAttribute('rule_order'); } set ruleOrder(value) { this._ruleOrder = value; } resetRuleOrder() { this._ruleOrder = undefined; } // Temporarily expose input value. Use with caution. get ruleOrderInput() { return this._ruleOrder; } get streamExceptionPolicy() { return this.getStringAttribute('stream_exception_policy'); } set streamExceptionPolicy(value) { this._streamExceptionPolicy = value; } resetStreamExceptionPolicy() { this._streamExceptionPolicy = undefined; } // Temporarily expose input value. Use with caution. get streamExceptionPolicyInput() { return this._streamExceptionPolicy; } get flowTimeouts() { return this._flowTimeouts; } putFlowTimeouts(value) { this._flowTimeouts.internalValue = value; } resetFlowTimeouts() { this._flowTimeouts.internalValue = undefined; } // Temporarily expose input value. Use with caution. get flowTimeoutsInput() { return this._flowTimeouts.internalValue; } } exports.NetworkfirewallFirewallPolicyFirewallPolicyStatefulEngineOptionsOutputReference = NetworkfirewallFirewallPolicyFirewallPolicyStatefulEngineOptionsOutputReference; _g = JSII_RTTI_SYMBOL_1; NetworkfirewallFirewallPolicyFirewallPolicyStatefulEngineOptionsOutputReference[_g] = { fqn: "@cdktf/provider-aws.networkfirewallFirewallPolicy.NetworkfirewallFirewallPolicyFirewallPolicyStatefulEngineOptionsOutputReference", version: "19.50.0" }; function networkfirewallFirewallPolicyFirewallPolicyStatefulRuleGroupReferenceOverrideToTerraform(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), }; } exports.networkfirewallFirewallPolicyFirewallPolicyStatefulRuleGroupReferenceOverrideToTerraform = networkfirewallFirewallPolicyFirewallPolicyStatefulRuleGroupReferenceOverrideToTerraform; function networkfirewallFirewallPolicyFirewallPolicyStatefulRuleGroupReferenceOverrideToHclTerraform(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", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.networkfirewallFirewallPolicyFirewallPolicyStatefulRuleGroupReferenceOverrideToHclTerraform = networkfirewallFirewallPolicyFirewallPolicyStatefulRuleGroupReferenceOverrideToHclTerraform; class NetworkfirewallFirewallPolicyFirewallPolicyStatefulRuleGroupReferenceOverrideOutputReference 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._action !== undefined) { hasAnyValues = true; internalValueResult.action = this._action; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._action = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._action = value.action; } } get action() { return this.getStringAttribute('action'); } set action(value) { this._action = value; } resetAction() { this._action = undefined; } // Temporarily expose input value. Use with caution. get actionInput() { return this._action; } } exports.NetworkfirewallFirewallPolicyFirewallPolicyStatefulRuleGroupReferenceOverrideOutputReference = NetworkfirewallFirewallPolicyFirewallPolicyStatefulRuleGroupReferenceOverrideOutputReference; _h = JSII_RTTI_SYMBOL_1; NetworkfirewallFirewallPolicyFirewallPolicyStatefulRuleGroupReferenceOverrideOutputReference[_h] = { fqn: "@cdktf/provider-aws.networkfirewallFirewallPolicy.NetworkfirewallFirewallPolicyFirewallPolicyStatefulRuleGroupReferenceOverrideOutputReference", version: "19.50.0" }; function networkfirewallFirewallPolicyFirewallPolicyStatefulRuleGroupReferenceToTerraform(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), resource_arn: cdktf.stringToTerraform(struct.resourceArn), override: networkfirewallFirewallPolicyFirewallPolicyStatefulRuleGroupReferenceOverrideToTerraform(struct.override), }; } exports.networkfirewallFirewallPolicyFirewallPolicyStatefulRuleGroupReferenceToTerraform = networkfirewallFirewallPolicyFirewallPolicyStatefulRuleGroupReferenceToTerraform; function networkfirewallFirewallPolicyFirewallPolicyStatefulRuleGroupReferenceToHclTerraform(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", }, resource_arn: { value: cdktf.stringToHclTerraform(struct.resourceArn), isBlock: false, type: "simple", storageClassType: "string", }, override: { value: networkfirewallFirewallPolicyFirewallPolicyStatefulRuleGroupReferenceOverrideToHclTerraform(struct.override), isBlock: true, type: "list", storageClassType: "NetworkfirewallFirewallPolicyFirewallPolicyStatefulRuleGroupReferenceOverrideList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.networkfirewallFirewallPolicyFirewallPolicyStatefulRuleGroupReferenceToHclTerraform = networkfirewallFirewallPolicyFirewallPolicyStatefulRuleGroupReferenceToHclTerraform; class NetworkfirewallFirewallPolicyFirewallPolicyStatefulRuleGroupReferenceOutputReference 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; // override - computed: false, optional: true, required: false this._override = new NetworkfirewallFirewallPolicyFirewallPolicyStatefulRuleGroupReferenceOverrideOutputReference(this, "override"); } 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._resourceArn !== undefined) { hasAnyValues = true; internalValueResult.resourceArn = this._resourceArn; } if (this._override?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.override = this._override?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._priority = undefined; this._resourceArn = undefined; this._override.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._resourceArn = value.resourceArn; this._override.internalValue = value.override; } } get priority() { return this.getNumberAttribute('priority'); } set priority(value) { this._priority = value; } resetPriority() { this._priority = undefined; } // Temporarily expose input value. Use with caution. get priorityInput() { return this._priority; } get resourceArn() { return this.getStringAttribute('resource_arn'); } set resourceArn(value) { this._resourceArn = value; } // Temporarily expose input value. Use with caution. get resourceArnInput() { return this._resourceArn; } get override() { return this._override; } putOverride(value) { this._override.internalValue = value; } resetOverride() { this._override.internalValue = undefined; } // Temporarily expose input value. Use with caution. get overrideInput() { return this._override.internalValue; } } exports.NetworkfirewallFirewallPolicyFirewallPolicyStatefulRuleGroupReferenceOutputReference = NetworkfirewallFirewallPolicyFirewallPolicyStatefulRuleGroupReferenceOutputReference; _j = JSII_RTTI_SYMBOL_1; NetworkfirewallFirewallPolicyFirewallPolicyStatefulRuleGroupReferenceOutputReference[_j] = { fqn: "@cdktf/provider-aws.networkfirewallFirewallPolicy.NetworkfirewallFirewallPolicyFirewallPolicyStatefulRuleGroupReferenceOutputReference", version: "19.50.0" }; class NetworkfirewallFirewallPolicyFirewallPolicyStatefulRuleGroupReferenceList 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 NetworkfirewallFirewallPolicyFirewallPolicyStatefulRuleGroupReferenceOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.NetworkfirewallFirewallPolicyFirewallPolicyStatefulRuleGroupReferenceList = NetworkfirewallFirewallPolicyFirewallPolicyStatefulRuleGroupReferenceList; _k = JSII_RTTI_SYMBOL_1; NetworkfirewallFirewallPolicyFirewallPolicyStatefulRuleGroupReferenceList[_k] = { fqn: "@cdktf/provider-aws.networkfirewallFirewallPolicy.NetworkfirewallFirewallPolicyFirewallPolicyStatefulRuleGroupReferenceList", version: "19.50.0" }; function networkfirewallFirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionPublishMetricActionDimensionToTerraform(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 { value: cdktf.stringToTerraform(struct.value), }; } exports.networkfirewallFirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionPublishMetricActionDimensionToTerraform = networkfirewallFirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionPublishMetricActionDimensionToTerraform; function networkfirewallFirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionPublishMetricActionDimensionToHclTerraform(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 = { value: { value: cdktf.stringToHclTerraform(struct.value), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.networkfirewallFirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionPublishMetricActionDimensionToHclTerraform = networkfirewallFirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionPublishMetricActionDimensionToHclTerraform; class NetworkfirewallFirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionPublishMetricActionDimensionOutputReference 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._value !== undefined) { hasAnyValues = true; internalValueResult.value = this._value; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._value = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; this._value = value.value; } } get value() { return this.getStringAttribute('value'); } set value(value) { this._value = value; } // Temporarily expose input value. Use with caution. get valueInput() { return this._value; } } exports.NetworkfirewallFirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionPublishMetricActionDimensionOutputReference = NetworkfirewallFirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionPublishMetricActionDimensionOutputReference; _l = JSII_RTTI_SYMBOL_1; NetworkfirewallFirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionPublishMetricActionDimensionOutputReference[_l] = { fqn: "@cdktf/provider-aws.networkfirewallFirewallPolicy.NetworkfirewallFirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionPublishMetricActionDimensionOutputReference", version: "19.50.0" }; class NetworkfirewallFirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionPublishMetricActionDimensionList 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 NetworkfirewallFirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionPublishMetricActionDimensionOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.NetworkfirewallFirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionPublishMetricActionDimensionList = NetworkfirewallFirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionPublishMetricActionDimensionList; _m = JSII_RTTI_SYMBOL_1; NetworkfirewallFirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionPublishMetricActionDimensionList[_m] = { fqn: "@cdktf/provider-aws.networkfirewallFirewallPolicy.NetworkfirewallFirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionPublishMetricActionDimensionList", version: "19.50.0" }; function networkfirewallFirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionPublishMetricActionToTerraform(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 {