UNPKG

@cdktf/provider-azurerm

Version:

Prebuilt azurerm Provider for Terraform CDK (cdktf)

1,181 lines 297 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q; Object.defineProperty(exports, "__esModule", { value: true }); exports.FirewallPolicy = exports.FirewallPolicyTlsCertificateOutputReference = exports.firewallPolicyTlsCertificateToHclTerraform = exports.firewallPolicyTlsCertificateToTerraform = exports.FirewallPolicyTimeoutsOutputReference = exports.firewallPolicyTimeoutsToHclTerraform = exports.firewallPolicyTimeoutsToTerraform = exports.FirewallPolicyThreatIntelligenceAllowlistStructOutputReference = exports.firewallPolicyThreatIntelligenceAllowlistStructToHclTerraform = exports.firewallPolicyThreatIntelligenceAllowlistStructToTerraform = exports.FirewallPolicyIntrusionDetectionOutputReference = exports.firewallPolicyIntrusionDetectionToHclTerraform = exports.firewallPolicyIntrusionDetectionToTerraform = exports.FirewallPolicyIntrusionDetectionTrafficBypassList = exports.FirewallPolicyIntrusionDetectionTrafficBypassOutputReference = exports.firewallPolicyIntrusionDetectionTrafficBypassToHclTerraform = exports.firewallPolicyIntrusionDetectionTrafficBypassToTerraform = exports.FirewallPolicyIntrusionDetectionSignatureOverridesList = exports.FirewallPolicyIntrusionDetectionSignatureOverridesOutputReference = exports.firewallPolicyIntrusionDetectionSignatureOverridesToHclTerraform = exports.firewallPolicyIntrusionDetectionSignatureOverridesToTerraform = exports.FirewallPolicyInsightsOutputReference = exports.firewallPolicyInsightsToHclTerraform = exports.firewallPolicyInsightsToTerraform = exports.FirewallPolicyInsightsLogAnalyticsWorkspaceList = exports.FirewallPolicyInsightsLogAnalyticsWorkspaceOutputReference = exports.firewallPolicyInsightsLogAnalyticsWorkspaceToHclTerraform = exports.firewallPolicyInsightsLogAnalyticsWorkspaceToTerraform = exports.FirewallPolicyIdentityOutputReference = exports.firewallPolicyIdentityToHclTerraform = exports.firewallPolicyIdentityToTerraform = exports.FirewallPolicyExplicitProxyOutputReference = exports.firewallPolicyExplicitProxyToHclTerraform = exports.firewallPolicyExplicitProxyToTerraform = exports.FirewallPolicyDnsOutputReference = exports.firewallPolicyDnsToHclTerraform = exports.firewallPolicyDnsToTerraform = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function firewallPolicyDnsToTerraform(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 { proxy_enabled: cdktf.booleanToTerraform(struct.proxyEnabled), servers: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.servers), }; } exports.firewallPolicyDnsToTerraform = firewallPolicyDnsToTerraform; function firewallPolicyDnsToHclTerraform(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 = { proxy_enabled: { value: cdktf.booleanToHclTerraform(struct.proxyEnabled), isBlock: false, type: "simple", storageClassType: "boolean", }, servers: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.servers), isBlock: false, type: "list", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.firewallPolicyDnsToHclTerraform = firewallPolicyDnsToHclTerraform; class FirewallPolicyDnsOutputReference 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._proxyEnabled !== undefined) { hasAnyValues = true; internalValueResult.proxyEnabled = this._proxyEnabled; } if (this._servers !== undefined) { hasAnyValues = true; internalValueResult.servers = this._servers; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._proxyEnabled = undefined; this._servers = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._proxyEnabled = value.proxyEnabled; this._servers = value.servers; } } get proxyEnabled() { return this.getBooleanAttribute('proxy_enabled'); } set proxyEnabled(value) { this._proxyEnabled = value; } resetProxyEnabled() { this._proxyEnabled = undefined; } // Temporarily expose input value. Use with caution. get proxyEnabledInput() { return this._proxyEnabled; } get servers() { return this.getListAttribute('servers'); } set servers(value) { this._servers = value; } resetServers() { this._servers = undefined; } // Temporarily expose input value. Use with caution. get serversInput() { return this._servers; } } exports.FirewallPolicyDnsOutputReference = FirewallPolicyDnsOutputReference; _a = JSII_RTTI_SYMBOL_1; FirewallPolicyDnsOutputReference[_a] = { fqn: "@cdktf/provider-azurerm.firewallPolicy.FirewallPolicyDnsOutputReference", version: "12.27.0" }; function firewallPolicyExplicitProxyToTerraform(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 { enable_pac_file: cdktf.booleanToTerraform(struct.enablePacFile), enabled: cdktf.booleanToTerraform(struct.enabled), http_port: cdktf.numberToTerraform(struct.httpPort), https_port: cdktf.numberToTerraform(struct.httpsPort), pac_file: cdktf.stringToTerraform(struct.pacFile), pac_file_port: cdktf.numberToTerraform(struct.pacFilePort), }; } exports.firewallPolicyExplicitProxyToTerraform = firewallPolicyExplicitProxyToTerraform; function firewallPolicyExplicitProxyToHclTerraform(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 = { enable_pac_file: { value: cdktf.booleanToHclTerraform(struct.enablePacFile), isBlock: false, type: "simple", storageClassType: "boolean", }, enabled: { value: cdktf.booleanToHclTerraform(struct.enabled), isBlock: false, type: "simple", storageClassType: "boolean", }, http_port: { value: cdktf.numberToHclTerraform(struct.httpPort), isBlock: false, type: "simple", storageClassType: "number", }, https_port: { value: cdktf.numberToHclTerraform(struct.httpsPort), isBlock: false, type: "simple", storageClassType: "number", }, pac_file: { value: cdktf.stringToHclTerraform(struct.pacFile), isBlock: false, type: "simple", storageClassType: "string", }, pac_file_port: { value: cdktf.numberToHclTerraform(struct.pacFilePort), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.firewallPolicyExplicitProxyToHclTerraform = firewallPolicyExplicitProxyToHclTerraform; class FirewallPolicyExplicitProxyOutputReference 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._enablePacFile !== undefined) { hasAnyValues = true; internalValueResult.enablePacFile = this._enablePacFile; } if (this._enabled !== undefined) { hasAnyValues = true; internalValueResult.enabled = this._enabled; } if (this._httpPort !== undefined) { hasAnyValues = true; internalValueResult.httpPort = this._httpPort; } if (this._httpsPort !== undefined) { hasAnyValues = true; internalValueResult.httpsPort = this._httpsPort; } if (this._pacFile !== undefined) { hasAnyValues = true; internalValueResult.pacFile = this._pacFile; } if (this._pacFilePort !== undefined) { hasAnyValues = true; internalValueResult.pacFilePort = this._pacFilePort; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._enablePacFile = undefined; this._enabled = undefined; this._httpPort = undefined; this._httpsPort = undefined; this._pacFile = undefined; this._pacFilePort = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._enablePacFile = value.enablePacFile; this._enabled = value.enabled; this._httpPort = value.httpPort; this._httpsPort = value.httpsPort; this._pacFile = value.pacFile; this._pacFilePort = value.pacFilePort; } } get enablePacFile() { return this.getBooleanAttribute('enable_pac_file'); } set enablePacFile(value) { this._enablePacFile = value; } resetEnablePacFile() { this._enablePacFile = undefined; } // Temporarily expose input value. Use with caution. get enablePacFileInput() { return this._enablePacFile; } 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 httpPort() { return this.getNumberAttribute('http_port'); } set httpPort(value) { this._httpPort = value; } resetHttpPort() { this._httpPort = undefined; } // Temporarily expose input value. Use with caution. get httpPortInput() { return this._httpPort; } get httpsPort() { return this.getNumberAttribute('https_port'); } set httpsPort(value) { this._httpsPort = value; } resetHttpsPort() { this._httpsPort = undefined; } // Temporarily expose input value. Use with caution. get httpsPortInput() { return this._httpsPort; } get pacFile() { return this.getStringAttribute('pac_file'); } set pacFile(value) { this._pacFile = value; } resetPacFile() { this._pacFile = undefined; } // Temporarily expose input value. Use with caution. get pacFileInput() { return this._pacFile; } get pacFilePort() { return this.getNumberAttribute('pac_file_port'); } set pacFilePort(value) { this._pacFilePort = value; } resetPacFilePort() { this._pacFilePort = undefined; } // Temporarily expose input value. Use with caution. get pacFilePortInput() { return this._pacFilePort; } } exports.FirewallPolicyExplicitProxyOutputReference = FirewallPolicyExplicitProxyOutputReference; _b = JSII_RTTI_SYMBOL_1; FirewallPolicyExplicitProxyOutputReference[_b] = { fqn: "@cdktf/provider-azurerm.firewallPolicy.FirewallPolicyExplicitProxyOutputReference", version: "12.27.0" }; function firewallPolicyIdentityToTerraform(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 { identity_ids: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.identityIds), type: cdktf.stringToTerraform(struct.type), }; } exports.firewallPolicyIdentityToTerraform = firewallPolicyIdentityToTerraform; function firewallPolicyIdentityToHclTerraform(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 = { identity_ids: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.identityIds), isBlock: false, type: "set", storageClassType: "stringList", }, 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.firewallPolicyIdentityToHclTerraform = firewallPolicyIdentityToHclTerraform; class FirewallPolicyIdentityOutputReference 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._identityIds !== undefined) { hasAnyValues = true; internalValueResult.identityIds = this._identityIds; } if (this._type !== undefined) { hasAnyValues = true; internalValueResult.type = this._type; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._identityIds = undefined; this._type = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._identityIds = value.identityIds; this._type = value.type; } } get identityIds() { return cdktf.Fn.tolist(this.getListAttribute('identity_ids')); } set identityIds(value) { this._identityIds = value; } resetIdentityIds() { this._identityIds = undefined; } // Temporarily expose input value. Use with caution. get identityIdsInput() { return this._identityIds; } // principal_id - computed: true, optional: false, required: false get principalId() { return this.getStringAttribute('principal_id'); } // tenant_id - computed: true, optional: false, required: false get tenantId() { return this.getStringAttribute('tenant_id'); } 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.FirewallPolicyIdentityOutputReference = FirewallPolicyIdentityOutputReference; _c = JSII_RTTI_SYMBOL_1; FirewallPolicyIdentityOutputReference[_c] = { fqn: "@cdktf/provider-azurerm.firewallPolicy.FirewallPolicyIdentityOutputReference", version: "12.27.0" }; function firewallPolicyInsightsLogAnalyticsWorkspaceToTerraform(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 { firewall_location: cdktf.stringToTerraform(struct.firewallLocation), id: cdktf.stringToTerraform(struct.id), }; } exports.firewallPolicyInsightsLogAnalyticsWorkspaceToTerraform = firewallPolicyInsightsLogAnalyticsWorkspaceToTerraform; function firewallPolicyInsightsLogAnalyticsWorkspaceToHclTerraform(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 = { firewall_location: { value: cdktf.stringToHclTerraform(struct.firewallLocation), isBlock: false, type: "simple", storageClassType: "string", }, id: { value: cdktf.stringToHclTerraform(struct.id), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.firewallPolicyInsightsLogAnalyticsWorkspaceToHclTerraform = firewallPolicyInsightsLogAnalyticsWorkspaceToHclTerraform; class FirewallPolicyInsightsLogAnalyticsWorkspaceOutputReference 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._firewallLocation !== undefined) { hasAnyValues = true; internalValueResult.firewallLocation = this._firewallLocation; } if (this._id !== undefined) { hasAnyValues = true; internalValueResult.id = this._id; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._firewallLocation = undefined; this._id = 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._firewallLocation = value.firewallLocation; this._id = value.id; } } get firewallLocation() { return this.getStringAttribute('firewall_location'); } set firewallLocation(value) { this._firewallLocation = value; } // Temporarily expose input value. Use with caution. get firewallLocationInput() { return this._firewallLocation; } get id() { return this.getStringAttribute('id'); } set id(value) { this._id = value; } // Temporarily expose input value. Use with caution. get idInput() { return this._id; } } exports.FirewallPolicyInsightsLogAnalyticsWorkspaceOutputReference = FirewallPolicyInsightsLogAnalyticsWorkspaceOutputReference; _d = JSII_RTTI_SYMBOL_1; FirewallPolicyInsightsLogAnalyticsWorkspaceOutputReference[_d] = { fqn: "@cdktf/provider-azurerm.firewallPolicy.FirewallPolicyInsightsLogAnalyticsWorkspaceOutputReference", version: "12.27.0" }; class FirewallPolicyInsightsLogAnalyticsWorkspaceList 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 FirewallPolicyInsightsLogAnalyticsWorkspaceOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.FirewallPolicyInsightsLogAnalyticsWorkspaceList = FirewallPolicyInsightsLogAnalyticsWorkspaceList; _e = JSII_RTTI_SYMBOL_1; FirewallPolicyInsightsLogAnalyticsWorkspaceList[_e] = { fqn: "@cdktf/provider-azurerm.firewallPolicy.FirewallPolicyInsightsLogAnalyticsWorkspaceList", version: "12.27.0" }; function firewallPolicyInsightsToTerraform(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 { default_log_analytics_workspace_id: cdktf.stringToTerraform(struct.defaultLogAnalyticsWorkspaceId), enabled: cdktf.booleanToTerraform(struct.enabled), retention_in_days: cdktf.numberToTerraform(struct.retentionInDays), log_analytics_workspace: cdktf.listMapper(firewallPolicyInsightsLogAnalyticsWorkspaceToTerraform, true)(struct.logAnalyticsWorkspace), }; } exports.firewallPolicyInsightsToTerraform = firewallPolicyInsightsToTerraform; function firewallPolicyInsightsToHclTerraform(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 = { default_log_analytics_workspace_id: { value: cdktf.stringToHclTerraform(struct.defaultLogAnalyticsWorkspaceId), isBlock: false, type: "simple", storageClassType: "string", }, enabled: { value: cdktf.booleanToHclTerraform(struct.enabled), isBlock: false, type: "simple", storageClassType: "boolean", }, retention_in_days: { value: cdktf.numberToHclTerraform(struct.retentionInDays), isBlock: false, type: "simple", storageClassType: "number", }, log_analytics_workspace: { value: cdktf.listMapperHcl(firewallPolicyInsightsLogAnalyticsWorkspaceToHclTerraform, true)(struct.logAnalyticsWorkspace), isBlock: true, type: "list", storageClassType: "FirewallPolicyInsightsLogAnalyticsWorkspaceList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.firewallPolicyInsightsToHclTerraform = firewallPolicyInsightsToHclTerraform; class FirewallPolicyInsightsOutputReference 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; // log_analytics_workspace - computed: false, optional: true, required: false this._logAnalyticsWorkspace = new FirewallPolicyInsightsLogAnalyticsWorkspaceList(this, "log_analytics_workspace", false); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._defaultLogAnalyticsWorkspaceId !== undefined) { hasAnyValues = true; internalValueResult.defaultLogAnalyticsWorkspaceId = this._defaultLogAnalyticsWorkspaceId; } if (this._enabled !== undefined) { hasAnyValues = true; internalValueResult.enabled = this._enabled; } if (this._retentionInDays !== undefined) { hasAnyValues = true; internalValueResult.retentionInDays = this._retentionInDays; } if (this._logAnalyticsWorkspace?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.logAnalyticsWorkspace = this._logAnalyticsWorkspace?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._defaultLogAnalyticsWorkspaceId = undefined; this._enabled = undefined; this._retentionInDays = undefined; this._logAnalyticsWorkspace.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._defaultLogAnalyticsWorkspaceId = value.defaultLogAnalyticsWorkspaceId; this._enabled = value.enabled; this._retentionInDays = value.retentionInDays; this._logAnalyticsWorkspace.internalValue = value.logAnalyticsWorkspace; } } get defaultLogAnalyticsWorkspaceId() { return this.getStringAttribute('default_log_analytics_workspace_id'); } set defaultLogAnalyticsWorkspaceId(value) { this._defaultLogAnalyticsWorkspaceId = value; } // Temporarily expose input value. Use with caution. get defaultLogAnalyticsWorkspaceIdInput() { return this._defaultLogAnalyticsWorkspaceId; } get enabled() { return this.getBooleanAttribute('enabled'); } set enabled(value) { this._enabled = value; } // Temporarily expose input value. Use with caution. get enabledInput() { return this._enabled; } get retentionInDays() { return this.getNumberAttribute('retention_in_days'); } set retentionInDays(value) { this._retentionInDays = value; } resetRetentionInDays() { this._retentionInDays = undefined; } // Temporarily expose input value. Use with caution. get retentionInDaysInput() { return this._retentionInDays; } get logAnalyticsWorkspace() { return this._logAnalyticsWorkspace; } putLogAnalyticsWorkspace(value) { this._logAnalyticsWorkspace.internalValue = value; } resetLogAnalyticsWorkspace() { this._logAnalyticsWorkspace.internalValue = undefined; } // Temporarily expose input value. Use with caution. get logAnalyticsWorkspaceInput() { return this._logAnalyticsWorkspace.internalValue; } } exports.FirewallPolicyInsightsOutputReference = FirewallPolicyInsightsOutputReference; _f = JSII_RTTI_SYMBOL_1; FirewallPolicyInsightsOutputReference[_f] = { fqn: "@cdktf/provider-azurerm.firewallPolicy.FirewallPolicyInsightsOutputReference", version: "12.27.0" }; function firewallPolicyIntrusionDetectionSignatureOverridesToTerraform(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 { id: cdktf.stringToTerraform(struct.id), state: cdktf.stringToTerraform(struct.state), }; } exports.firewallPolicyIntrusionDetectionSignatureOverridesToTerraform = firewallPolicyIntrusionDetectionSignatureOverridesToTerraform; function firewallPolicyIntrusionDetectionSignatureOverridesToHclTerraform(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 = { id: { value: cdktf.stringToHclTerraform(struct.id), isBlock: false, type: "simple", storageClassType: "string", }, state: { value: cdktf.stringToHclTerraform(struct.state), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.firewallPolicyIntrusionDetectionSignatureOverridesToHclTerraform = firewallPolicyIntrusionDetectionSignatureOverridesToHclTerraform; class FirewallPolicyIntrusionDetectionSignatureOverridesOutputReference 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._id !== undefined) { hasAnyValues = true; internalValueResult.id = this._id; } if (this._state !== undefined) { hasAnyValues = true; internalValueResult.state = this._state; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._id = undefined; this._state = 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._id = value.id; this._state = value.state; } } 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 state() { return this.getStringAttribute('state'); } set state(value) { this._state = value; } resetState() { this._state = undefined; } // Temporarily expose input value. Use with caution. get stateInput() { return this._state; } } exports.FirewallPolicyIntrusionDetectionSignatureOverridesOutputReference = FirewallPolicyIntrusionDetectionSignatureOverridesOutputReference; _g = JSII_RTTI_SYMBOL_1; FirewallPolicyIntrusionDetectionSignatureOverridesOutputReference[_g] = { fqn: "@cdktf/provider-azurerm.firewallPolicy.FirewallPolicyIntrusionDetectionSignatureOverridesOutputReference", version: "12.27.0" }; class FirewallPolicyIntrusionDetectionSignatureOverridesList 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 FirewallPolicyIntrusionDetectionSignatureOverridesOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.FirewallPolicyIntrusionDetectionSignatureOverridesList = FirewallPolicyIntrusionDetectionSignatureOverridesList; _h = JSII_RTTI_SYMBOL_1; FirewallPolicyIntrusionDetectionSignatureOverridesList[_h] = { fqn: "@cdktf/provider-azurerm.firewallPolicy.FirewallPolicyIntrusionDetectionSignatureOverridesList", version: "12.27.0" }; function firewallPolicyIntrusionDetectionTrafficBypassToTerraform(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 { description: cdktf.stringToTerraform(struct.description), destination_addresses: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.destinationAddresses), destination_ip_groups: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.destinationIpGroups), destination_ports: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.destinationPorts), name: cdktf.stringToTerraform(struct.name), protocol: cdktf.stringToTerraform(struct.protocol), source_addresses: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.sourceAddresses), source_ip_groups: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.sourceIpGroups), }; } exports.firewallPolicyIntrusionDetectionTrafficBypassToTerraform = firewallPolicyIntrusionDetectionTrafficBypassToTerraform; function firewallPolicyIntrusionDetectionTrafficBypassToHclTerraform(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 = { description: { value: cdktf.stringToHclTerraform(struct.description), isBlock: false, type: "simple", storageClassType: "string", }, destination_addresses: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.destinationAddresses), isBlock: false, type: "set", storageClassType: "stringList", }, destination_ip_groups: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.destinationIpGroups), isBlock: false, type: "set", storageClassType: "stringList", }, destination_ports: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.destinationPorts), isBlock: false, type: "set", storageClassType: "stringList", }, name: { value: cdktf.stringToHclTerraform(struct.name), isBlock: false, type: "simple", storageClassType: "string", }, protocol: { value: cdktf.stringToHclTerraform(struct.protocol), isBlock: false, type: "simple", storageClassType: "string", }, source_addresses: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.sourceAddresses), isBlock: false, type: "set", storageClassType: "stringList", }, source_ip_groups: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.sourceIpGroups), isBlock: false, type: "set", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.firewallPolicyIntrusionDetectionTrafficBypassToHclTerraform = firewallPolicyIntrusionDetectionTrafficBypassToHclTerraform; class FirewallPolicyIntrusionDetectionTrafficBypassOutputReference 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._description !== undefined) { hasAnyValues = true; internalValueResult.description = this._description; } if (this._destinationAddresses !== undefined) { hasAnyValues = true; internalValueResult.destinationAddresses = this._destinationAddresses; } if (this._destinationIpGroups !== undefined) { hasAnyValues = true; internalValueResult.destinationIpGroups = this._destinationIpGroups; } if (this._destinationPorts !== undefined) { hasAnyValues = true; internalValueResult.destinationPorts = this._destinationPorts; } if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } if (this._protocol !== undefined) { hasAnyValues = true; internalValueResult.protocol = this._protocol; } if (this._sourceAddresses !== undefined) { hasAnyValues = true; internalValueResult.sourceAddresses = this._sourceAddresses; } if (this._sourceIpGroups !== undefined) { hasAnyValues = true; internalValueResult.sourceIpGroups = this._sourceIpGroups; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._description = undefined; this._destinationAddresses = undefined; this._destinationIpGroups = undefined; this._destinationPorts = undefined; this._name = undefined; this._protocol = undefined; this._sourceAddresses = undefined; this._sourceIpGroups = 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._description = value.description; this._destinationAddresses = value.destinationAddresses; this._destinationIpGroups = value.destinationIpGroups; this._destinationPorts = value.destinationPorts; this._name = value.name; this._protocol = value.protocol; this._sourceAddresses = value.sourceAddresses; this._sourceIpGroups = value.sourceIpGroups; } } get description() { return this.getStringAttribute('description'); } set description(value) { this._description = value; } resetDescription() { this._description = undefined; } // Temporarily expose input value. Use with caution. get descriptionInput() { return this._description; } get destinationAddresses() { return cdktf.Fn.tolist(this.getListAttribute('destination_addresses')); } set destinationAddresses(value) { this._destinationAddresses = value; } resetDestinationAddresses() { this._destinationAddresses = undefined; } // Temporarily expose input value. Use with caution. get destinationAddressesInput() { return this._destinationAddresses; } get destinationIpGroups() { return cdktf.Fn.tolist(this.getListAttribute('destination_ip_groups')); } set destinationIpGroups(value) { this._destinationIpGroups = value; } resetDestinationIpGroups() { this._destinationIpGroups = undefined; } // Temporarily expose input value. Use with caution. get destinationIpGroupsInput() { return this._destinationIpGroups; } get destinationPorts() { return cdktf.Fn.tolist(this.getListAttribute('destination_ports')); } set destinationPorts(value) { this._destinationPorts = value; } resetDestinationPorts() { this._destinationPorts = undefined; } // Temporarily expose input value. Use with caution. get destinationPortsInput() { return this._destinationPorts; } 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 protocol() { return this.getStringAttribute('protocol'); } set protocol(value) { this._protocol = value; } // Temporarily expose input value. Use with caution. get protocolInput() { return this._protocol; } get sourceAddresses() { return cdktf.Fn.tolist(this.getListAttribute('source_addresses')); } set sourceAddresses(value) { this._sourceAddresses = value; } resetSourceAddresses() { this._sourceAddresses = undefined; } // Temporarily expose input value. Use with caution. get sourceAddressesInput() { return this._sourceAddresses; } get sourceIpGroups() { return cdktf.Fn.tolist(this.getListAttribute('source_ip_groups')); } set sourceIpGroups(value) { this._sourceIpGroups = value; } resetSourceIpGroups() { this._sourceIpGroups = undefined; } // Temporarily expose input value. Use with caution. get sourceIpGroupsInput() { return this._sourceIpGroups; } } exports.FirewallPolicyIntrusionDetectionTrafficBypassOutputReference = FirewallPolicyIntrusionDetectionTrafficBypassOutputReference; _j = JSII_RTTI_SYMBOL_1; FirewallPolicyIntrusionDetectionTrafficBypassOutputReference[_j] = { fqn: "@cdktf/provider-azurerm.firewallPolicy.FirewallPolicyIntrusionDetectionTrafficBypassOutputReference", version: "12.27.0" }; class FirewallPolicyIntrusionDetectionTrafficBypassList 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 FirewallPolicyIntrusionDetectionTrafficBypassOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.FirewallPolicyIntrusionDetectionTrafficBypassList = FirewallPolicyIntrusionDetectionTrafficBypassList; _k = JSII_RTTI_SYMBOL_1; FirewallPolicyIntrusionDetectionTrafficBypassList[_k] = { fqn: "@cdktf/provider-azurerm.firewallPolicy.FirewallPolicyIntrusionDetectionTrafficBypassList", version: "12.27.0" }; function firewallPolicyIntrusionDetectionToTerraform(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 { mode: cdktf.stringToTerraform(struct.mode), private_ranges: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.privateRanges), signature_overrides: cdktf.listMapper(firewallPolicyIntrusionDetectionSignatureOverridesToTerraform, true)(struct.signatureOverrides), traffic_bypass: cdktf.listMapper(firewallPolicyIntrusionDetectionTrafficBypassToTerraform, true)(struct.trafficBypass), }; } exports.firewallPolicyIntrusionDetectionToTerraform = firewallPolicyIntrusionDetectionToTerraform; function firewallPolicyIntrusionDetectionToHclTerraform(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 = { mode: { value: cdktf.stringToHclTerraform(struct.mode), isBlock: false, type: "simple", storageClassType: "string", }, private_ranges: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.privateRanges), isBlock: false, type: "list", storageClassType: "stringList", }, signature_overrides: { value: cdktf.listMapperHcl(firewallPolicyIntrusionDetectionSignatureOverridesToHclTerraform, true)(struct.signatureOverrides), isBlock: true, type: "list", storageClassType: "FirewallPolicyIntrusionDetectionSignatureOverridesList", }, traffic_bypass: { value: cdktf.listMapperHcl(firewallPolicyIntrusionDetectionTrafficBypassToHclTerraform, true)(struct.trafficBypass), isBlock: true, type: "list", storageClassType: "FirewallPolicyIntrusionDetectionTrafficBypassList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.firewallPolicyIntrusionDetectionToHclTerraform = firewallPolicyIntrusionDetectionToHclTerraform; class FirewallPolicyIntrusionDetectionOutputReference 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; // signature_overri