UNPKG

@cdktf/provider-azurerm

Version:

Prebuilt azurerm Provider for Terraform CDK (cdktf)

1,089 lines 168 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h; Object.defineProperty(exports, "__esModule", { value: true }); exports.PaloAltoNextGenerationFirewallVirtualHubLocalRulestack = exports.PaloAltoNextGenerationFirewallVirtualHubLocalRulestackTimeoutsOutputReference = exports.paloAltoNextGenerationFirewallVirtualHubLocalRulestackTimeoutsToHclTerraform = exports.paloAltoNextGenerationFirewallVirtualHubLocalRulestackTimeoutsToTerraform = exports.PaloAltoNextGenerationFirewallVirtualHubLocalRulestackNetworkProfileOutputReference = exports.paloAltoNextGenerationFirewallVirtualHubLocalRulestackNetworkProfileToHclTerraform = exports.paloAltoNextGenerationFirewallVirtualHubLocalRulestackNetworkProfileToTerraform = exports.PaloAltoNextGenerationFirewallVirtualHubLocalRulestackDnsSettingsOutputReference = exports.paloAltoNextGenerationFirewallVirtualHubLocalRulestackDnsSettingsToHclTerraform = exports.paloAltoNextGenerationFirewallVirtualHubLocalRulestackDnsSettingsToTerraform = exports.PaloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatList = exports.PaloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatOutputReference = exports.paloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatToHclTerraform = exports.paloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatToTerraform = exports.PaloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatFrontendConfigOutputReference = exports.paloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatFrontendConfigToHclTerraform = exports.paloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatFrontendConfigToTerraform = exports.PaloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatBackendConfigOutputReference = exports.paloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatBackendConfigToHclTerraform = exports.paloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatBackendConfigToTerraform = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function paloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatBackendConfigToTerraform(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 { port: cdktf.numberToTerraform(struct.port), public_ip_address: cdktf.stringToTerraform(struct.publicIpAddress), }; } exports.paloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatBackendConfigToTerraform = paloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatBackendConfigToTerraform; function paloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatBackendConfigToHclTerraform(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 = { port: { value: cdktf.numberToHclTerraform(struct.port), isBlock: false, type: "simple", storageClassType: "number", }, public_ip_address: { value: cdktf.stringToHclTerraform(struct.publicIpAddress), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.paloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatBackendConfigToHclTerraform = paloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatBackendConfigToHclTerraform; class PaloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatBackendConfigOutputReference 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._port !== undefined) { hasAnyValues = true; internalValueResult.port = this._port; } if (this._publicIpAddress !== undefined) { hasAnyValues = true; internalValueResult.publicIpAddress = this._publicIpAddress; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._port = undefined; this._publicIpAddress = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._port = value.port; this._publicIpAddress = value.publicIpAddress; } } get port() { return this.getNumberAttribute('port'); } set port(value) { this._port = value; } // Temporarily expose input value. Use with caution. get portInput() { return this._port; } get publicIpAddress() { return this.getStringAttribute('public_ip_address'); } set publicIpAddress(value) { this._publicIpAddress = value; } // Temporarily expose input value. Use with caution. get publicIpAddressInput() { return this._publicIpAddress; } } exports.PaloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatBackendConfigOutputReference = PaloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatBackendConfigOutputReference; _a = JSII_RTTI_SYMBOL_1; PaloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatBackendConfigOutputReference[_a] = { fqn: "@cdktf/provider-azurerm.paloAltoNextGenerationFirewallVirtualHubLocalRulestack.PaloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatBackendConfigOutputReference", version: "12.27.0" }; function paloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatFrontendConfigToTerraform(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 { port: cdktf.numberToTerraform(struct.port), public_ip_address_id: cdktf.stringToTerraform(struct.publicIpAddressId), }; } exports.paloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatFrontendConfigToTerraform = paloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatFrontendConfigToTerraform; function paloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatFrontendConfigToHclTerraform(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 = { port: { value: cdktf.numberToHclTerraform(struct.port), isBlock: false, type: "simple", storageClassType: "number", }, public_ip_address_id: { value: cdktf.stringToHclTerraform(struct.publicIpAddressId), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.paloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatFrontendConfigToHclTerraform = paloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatFrontendConfigToHclTerraform; class PaloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatFrontendConfigOutputReference 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._port !== undefined) { hasAnyValues = true; internalValueResult.port = this._port; } if (this._publicIpAddressId !== undefined) { hasAnyValues = true; internalValueResult.publicIpAddressId = this._publicIpAddressId; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._port = undefined; this._publicIpAddressId = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._port = value.port; this._publicIpAddressId = value.publicIpAddressId; } } get port() { return this.getNumberAttribute('port'); } set port(value) { this._port = value; } // Temporarily expose input value. Use with caution. get portInput() { return this._port; } get publicIpAddressId() { return this.getStringAttribute('public_ip_address_id'); } set publicIpAddressId(value) { this._publicIpAddressId = value; } // Temporarily expose input value. Use with caution. get publicIpAddressIdInput() { return this._publicIpAddressId; } } exports.PaloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatFrontendConfigOutputReference = PaloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatFrontendConfigOutputReference; _b = JSII_RTTI_SYMBOL_1; PaloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatFrontendConfigOutputReference[_b] = { fqn: "@cdktf/provider-azurerm.paloAltoNextGenerationFirewallVirtualHubLocalRulestack.PaloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatFrontendConfigOutputReference", version: "12.27.0" }; function paloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatToTerraform(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 { name: cdktf.stringToTerraform(struct.name), protocol: cdktf.stringToTerraform(struct.protocol), backend_config: paloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatBackendConfigToTerraform(struct.backendConfig), frontend_config: paloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatFrontendConfigToTerraform(struct.frontendConfig), }; } exports.paloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatToTerraform = paloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatToTerraform; function paloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatToHclTerraform(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 = { name: { value: cdktf.stringToHclTerraform(struct.name), isBlock: false, type: "simple", storageClassType: "string", }, protocol: { value: cdktf.stringToHclTerraform(struct.protocol), isBlock: false, type: "simple", storageClassType: "string", }, backend_config: { value: paloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatBackendConfigToHclTerraform(struct.backendConfig), isBlock: true, type: "list", storageClassType: "PaloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatBackendConfigList", }, frontend_config: { value: paloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatFrontendConfigToHclTerraform(struct.frontendConfig), isBlock: true, type: "list", storageClassType: "PaloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatFrontendConfigList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.paloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatToHclTerraform = paloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatToHclTerraform; class PaloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatOutputReference 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; // backend_config - computed: false, optional: true, required: false this._backendConfig = new PaloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatBackendConfigOutputReference(this, "backend_config"); // frontend_config - computed: false, optional: true, required: false this._frontendConfig = new PaloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatFrontendConfigOutputReference(this, "frontend_config"); } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } if (this._protocol !== undefined) { hasAnyValues = true; internalValueResult.protocol = this._protocol; } if (this._backendConfig?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.backendConfig = this._backendConfig?.internalValue; } if (this._frontendConfig?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.frontendConfig = this._frontendConfig?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._name = undefined; this._protocol = undefined; this._backendConfig.internalValue = undefined; this._frontendConfig.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._name = value.name; this._protocol = value.protocol; this._backendConfig.internalValue = value.backendConfig; this._frontendConfig.internalValue = value.frontendConfig; } } 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 backendConfig() { return this._backendConfig; } putBackendConfig(value) { this._backendConfig.internalValue = value; } resetBackendConfig() { this._backendConfig.internalValue = undefined; } // Temporarily expose input value. Use with caution. get backendConfigInput() { return this._backendConfig.internalValue; } get frontendConfig() { return this._frontendConfig; } putFrontendConfig(value) { this._frontendConfig.internalValue = value; } resetFrontendConfig() { this._frontendConfig.internalValue = undefined; } // Temporarily expose input value. Use with caution. get frontendConfigInput() { return this._frontendConfig.internalValue; } } exports.PaloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatOutputReference = PaloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatOutputReference; _c = JSII_RTTI_SYMBOL_1; PaloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatOutputReference[_c] = { fqn: "@cdktf/provider-azurerm.paloAltoNextGenerationFirewallVirtualHubLocalRulestack.PaloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatOutputReference", version: "12.27.0" }; class PaloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatList 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 PaloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.PaloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatList = PaloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatList; _d = JSII_RTTI_SYMBOL_1; PaloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatList[_d] = { fqn: "@cdktf/provider-azurerm.paloAltoNextGenerationFirewallVirtualHubLocalRulestack.PaloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatList", version: "12.27.0" }; function paloAltoNextGenerationFirewallVirtualHubLocalRulestackDnsSettingsToTerraform(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 { dns_servers: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.dnsServers), use_azure_dns: cdktf.booleanToTerraform(struct.useAzureDns), }; } exports.paloAltoNextGenerationFirewallVirtualHubLocalRulestackDnsSettingsToTerraform = paloAltoNextGenerationFirewallVirtualHubLocalRulestackDnsSettingsToTerraform; function paloAltoNextGenerationFirewallVirtualHubLocalRulestackDnsSettingsToHclTerraform(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 = { dns_servers: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.dnsServers), isBlock: false, type: "list", storageClassType: "stringList", }, use_azure_dns: { value: cdktf.booleanToHclTerraform(struct.useAzureDns), isBlock: false, type: "simple", storageClassType: "boolean", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.paloAltoNextGenerationFirewallVirtualHubLocalRulestackDnsSettingsToHclTerraform = paloAltoNextGenerationFirewallVirtualHubLocalRulestackDnsSettingsToHclTerraform; class PaloAltoNextGenerationFirewallVirtualHubLocalRulestackDnsSettingsOutputReference 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._dnsServers !== undefined) { hasAnyValues = true; internalValueResult.dnsServers = this._dnsServers; } if (this._useAzureDns !== undefined) { hasAnyValues = true; internalValueResult.useAzureDns = this._useAzureDns; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._dnsServers = undefined; this._useAzureDns = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._dnsServers = value.dnsServers; this._useAzureDns = value.useAzureDns; } } // azure_dns_servers - computed: true, optional: false, required: false get azureDnsServers() { return this.getListAttribute('azure_dns_servers'); } get dnsServers() { return this.getListAttribute('dns_servers'); } set dnsServers(value) { this._dnsServers = value; } resetDnsServers() { this._dnsServers = undefined; } // Temporarily expose input value. Use with caution. get dnsServersInput() { return this._dnsServers; } get useAzureDns() { return this.getBooleanAttribute('use_azure_dns'); } set useAzureDns(value) { this._useAzureDns = value; } resetUseAzureDns() { this._useAzureDns = undefined; } // Temporarily expose input value. Use with caution. get useAzureDnsInput() { return this._useAzureDns; } } exports.PaloAltoNextGenerationFirewallVirtualHubLocalRulestackDnsSettingsOutputReference = PaloAltoNextGenerationFirewallVirtualHubLocalRulestackDnsSettingsOutputReference; _e = JSII_RTTI_SYMBOL_1; PaloAltoNextGenerationFirewallVirtualHubLocalRulestackDnsSettingsOutputReference[_e] = { fqn: "@cdktf/provider-azurerm.paloAltoNextGenerationFirewallVirtualHubLocalRulestack.PaloAltoNextGenerationFirewallVirtualHubLocalRulestackDnsSettingsOutputReference", version: "12.27.0" }; function paloAltoNextGenerationFirewallVirtualHubLocalRulestackNetworkProfileToTerraform(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 { egress_nat_ip_address_ids: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.egressNatIpAddressIds), network_virtual_appliance_id: cdktf.stringToTerraform(struct.networkVirtualApplianceId), public_ip_address_ids: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.publicIpAddressIds), trusted_address_ranges: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.trustedAddressRanges), virtual_hub_id: cdktf.stringToTerraform(struct.virtualHubId), }; } exports.paloAltoNextGenerationFirewallVirtualHubLocalRulestackNetworkProfileToTerraform = paloAltoNextGenerationFirewallVirtualHubLocalRulestackNetworkProfileToTerraform; function paloAltoNextGenerationFirewallVirtualHubLocalRulestackNetworkProfileToHclTerraform(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 = { egress_nat_ip_address_ids: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.egressNatIpAddressIds), isBlock: false, type: "list", storageClassType: "stringList", }, network_virtual_appliance_id: { value: cdktf.stringToHclTerraform(struct.networkVirtualApplianceId), isBlock: false, type: "simple", storageClassType: "string", }, public_ip_address_ids: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.publicIpAddressIds), isBlock: false, type: "list", storageClassType: "stringList", }, trusted_address_ranges: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.trustedAddressRanges), isBlock: false, type: "list", storageClassType: "stringList", }, virtual_hub_id: { value: cdktf.stringToHclTerraform(struct.virtualHubId), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.paloAltoNextGenerationFirewallVirtualHubLocalRulestackNetworkProfileToHclTerraform = paloAltoNextGenerationFirewallVirtualHubLocalRulestackNetworkProfileToHclTerraform; class PaloAltoNextGenerationFirewallVirtualHubLocalRulestackNetworkProfileOutputReference 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._egressNatIpAddressIds !== undefined) { hasAnyValues = true; internalValueResult.egressNatIpAddressIds = this._egressNatIpAddressIds; } if (this._networkVirtualApplianceId !== undefined) { hasAnyValues = true; internalValueResult.networkVirtualApplianceId = this._networkVirtualApplianceId; } if (this._publicIpAddressIds !== undefined) { hasAnyValues = true; internalValueResult.publicIpAddressIds = this._publicIpAddressIds; } if (this._trustedAddressRanges !== undefined) { hasAnyValues = true; internalValueResult.trustedAddressRanges = this._trustedAddressRanges; } if (this._virtualHubId !== undefined) { hasAnyValues = true; internalValueResult.virtualHubId = this._virtualHubId; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._egressNatIpAddressIds = undefined; this._networkVirtualApplianceId = undefined; this._publicIpAddressIds = undefined; this._trustedAddressRanges = undefined; this._virtualHubId = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._egressNatIpAddressIds = value.egressNatIpAddressIds; this._networkVirtualApplianceId = value.networkVirtualApplianceId; this._publicIpAddressIds = value.publicIpAddressIds; this._trustedAddressRanges = value.trustedAddressRanges; this._virtualHubId = value.virtualHubId; } } get egressNatIpAddressIds() { return this.getListAttribute('egress_nat_ip_address_ids'); } set egressNatIpAddressIds(value) { this._egressNatIpAddressIds = value; } resetEgressNatIpAddressIds() { this._egressNatIpAddressIds = undefined; } // Temporarily expose input value. Use with caution. get egressNatIpAddressIdsInput() { return this._egressNatIpAddressIds; } // egress_nat_ip_addresses - computed: true, optional: false, required: false get egressNatIpAddresses() { return this.getListAttribute('egress_nat_ip_addresses'); } // ip_of_trust_for_user_defined_routes - computed: true, optional: false, required: false get ipOfTrustForUserDefinedRoutes() { return this.getStringAttribute('ip_of_trust_for_user_defined_routes'); } get networkVirtualApplianceId() { return this.getStringAttribute('network_virtual_appliance_id'); } set networkVirtualApplianceId(value) { this._networkVirtualApplianceId = value; } // Temporarily expose input value. Use with caution. get networkVirtualApplianceIdInput() { return this._networkVirtualApplianceId; } get publicIpAddressIds() { return this.getListAttribute('public_ip_address_ids'); } set publicIpAddressIds(value) { this._publicIpAddressIds = value; } // Temporarily expose input value. Use with caution. get publicIpAddressIdsInput() { return this._publicIpAddressIds; } // public_ip_addresses - computed: true, optional: false, required: false get publicIpAddresses() { return this.getListAttribute('public_ip_addresses'); } get trustedAddressRanges() { return this.getListAttribute('trusted_address_ranges'); } set trustedAddressRanges(value) { this._trustedAddressRanges = value; } resetTrustedAddressRanges() { this._trustedAddressRanges = undefined; } // Temporarily expose input value. Use with caution. get trustedAddressRangesInput() { return this._trustedAddressRanges; } // trusted_subnet_id - computed: true, optional: false, required: false get trustedSubnetId() { return this.getStringAttribute('trusted_subnet_id'); } // untrusted_subnet_id - computed: true, optional: false, required: false get untrustedSubnetId() { return this.getStringAttribute('untrusted_subnet_id'); } get virtualHubId() { return this.getStringAttribute('virtual_hub_id'); } set virtualHubId(value) { this._virtualHubId = value; } // Temporarily expose input value. Use with caution. get virtualHubIdInput() { return this._virtualHubId; } } exports.PaloAltoNextGenerationFirewallVirtualHubLocalRulestackNetworkProfileOutputReference = PaloAltoNextGenerationFirewallVirtualHubLocalRulestackNetworkProfileOutputReference; _f = JSII_RTTI_SYMBOL_1; PaloAltoNextGenerationFirewallVirtualHubLocalRulestackNetworkProfileOutputReference[_f] = { fqn: "@cdktf/provider-azurerm.paloAltoNextGenerationFirewallVirtualHubLocalRulestack.PaloAltoNextGenerationFirewallVirtualHubLocalRulestackNetworkProfileOutputReference", version: "12.27.0" }; function paloAltoNextGenerationFirewallVirtualHubLocalRulestackTimeoutsToTerraform(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 { create: cdktf.stringToTerraform(struct.create), delete: cdktf.stringToTerraform(struct.delete), read: cdktf.stringToTerraform(struct.read), update: cdktf.stringToTerraform(struct.update), }; } exports.paloAltoNextGenerationFirewallVirtualHubLocalRulestackTimeoutsToTerraform = paloAltoNextGenerationFirewallVirtualHubLocalRulestackTimeoutsToTerraform; function paloAltoNextGenerationFirewallVirtualHubLocalRulestackTimeoutsToHclTerraform(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 = { create: { value: cdktf.stringToHclTerraform(struct.create), isBlock: false, type: "simple", storageClassType: "string", }, delete: { value: cdktf.stringToHclTerraform(struct.delete), isBlock: false, type: "simple", storageClassType: "string", }, read: { value: cdktf.stringToHclTerraform(struct.read), isBlock: false, type: "simple", storageClassType: "string", }, update: { value: cdktf.stringToHclTerraform(struct.update), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.paloAltoNextGenerationFirewallVirtualHubLocalRulestackTimeoutsToHclTerraform = paloAltoNextGenerationFirewallVirtualHubLocalRulestackTimeoutsToHclTerraform; class PaloAltoNextGenerationFirewallVirtualHubLocalRulestackTimeoutsOutputReference 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); this.isEmptyObject = false; } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._create !== undefined) { hasAnyValues = true; internalValueResult.create = this._create; } if (this._delete !== undefined) { hasAnyValues = true; internalValueResult.delete = this._delete; } if (this._read !== undefined) { hasAnyValues = true; internalValueResult.read = this._read; } if (this._update !== undefined) { hasAnyValues = true; internalValueResult.update = this._update; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._create = undefined; this._delete = undefined; this._read = undefined; this._update = 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._create = value.create; this._delete = value.delete; this._read = value.read; this._update = value.update; } } get create() { return this.getStringAttribute('create'); } set create(value) { this._create = value; } resetCreate() { this._create = undefined; } // Temporarily expose input value. Use with caution. get createInput() { return this._create; } get delete() { return this.getStringAttribute('delete'); } set delete(value) { this._delete = value; } resetDelete() { this._delete = undefined; } // Temporarily expose input value. Use with caution. get deleteInput() { return this._delete; } get read() { return this.getStringAttribute('read'); } set read(value) { this._read = value; } resetRead() { this._read = undefined; } // Temporarily expose input value. Use with caution. get readInput() { return this._read; } get update() { return this.getStringAttribute('update'); } set update(value) { this._update = value; } resetUpdate() { this._update = undefined; } // Temporarily expose input value. Use with caution. get updateInput() { return this._update; } } exports.PaloAltoNextGenerationFirewallVirtualHubLocalRulestackTimeoutsOutputReference = PaloAltoNextGenerationFirewallVirtualHubLocalRulestackTimeoutsOutputReference; _g = JSII_RTTI_SYMBOL_1; PaloAltoNextGenerationFirewallVirtualHubLocalRulestackTimeoutsOutputReference[_g] = { fqn: "@cdktf/provider-azurerm.paloAltoNextGenerationFirewallVirtualHubLocalRulestack.PaloAltoNextGenerationFirewallVirtualHubLocalRulestackTimeoutsOutputReference", version: "12.27.0" }; /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/palo_alto_next_generation_firewall_virtual_hub_local_rulestack azurerm_palo_alto_next_generation_firewall_virtual_hub_local_rulestack} */ class PaloAltoNextGenerationFirewallVirtualHubLocalRulestack extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a PaloAltoNextGenerationFirewallVirtualHubLocalRulestack 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 PaloAltoNextGenerationFirewallVirtualHubLocalRulestack to import * @param importFromId The id of the existing PaloAltoNextGenerationFirewallVirtualHubLocalRulestack that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/palo_alto_next_generation_firewall_virtual_hub_local_rulestack#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the PaloAltoNextGenerationFirewallVirtualHubLocalRulestack to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "azurerm_palo_alto_next_generation_firewall_virtual_hub_local_rulestack", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/palo_alto_next_generation_firewall_virtual_hub_local_rulestack azurerm_palo_alto_next_generation_firewall_virtual_hub_local_rulestack} 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 PaloAltoNextGenerationFirewallVirtualHubLocalRulestackConfig */ constructor(scope, id, config) { super(scope, id, { terraformResourceType: 'azurerm_palo_alto_next_generation_firewall_virtual_hub_local_rulestack', terraformGeneratorMetadata: { providerName: 'azurerm', providerVersion: '3.116.0', providerVersionConstraint: '~> 3.10' }, provider: config.provider, dependsOn: config.dependsOn, count: config.count, lifecycle: config.lifecycle, provisioners: config.provisioners, connection: config.connection, forEach: config.forEach }); // destination_nat - computed: false, optional: true, required: false this._destinationNat = new PaloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatList(this, "destination_nat", false); // dns_settings - computed: false, optional: true, required: false this._dnsSettings = new PaloAltoNextGenerationFirewallVirtualHubLocalRulestackDnsSettingsOutputReference(this, "dns_settings"); // network_profile - computed: false, optional: false, required: true this._networkProfile = new PaloAltoNextGenerationFirewallVirtualHubLocalRulestackNetworkProfileOutputReference(this, "network_profile"); // timeouts - computed: false, optional: true, required: false this._timeouts = new PaloAltoNextGenerationFirewallVirtualHubLocalRulestackTimeoutsOutputReference(this, "timeouts"); this._id = config.id; this._name = config.name; this._resourceGroupName = config.resourceGroupName; this._rulestackId = config.rulestackId; this._tags = config.tags; this._destinationNat.internalValue = config.destinationNat; this._dnsSettings.internalValue = config.dnsSettings; this._networkProfile.internalValue = config.networkProfile; this._timeouts.internalValue = config.timeouts; } 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 name() { return this.getStringAttribute('name'); } set name(value) { this._name = value; } // Temporarily expose input value. Use with caution. get nameInput() { return this._name; } get resourceGroupName() { return this.getStringAttribute('resource_group_name'); } set resourceGroupName(value) { this._resourceGroupName = value; } // Temporarily expose input value. Use with caution. get resourceGroupNameInput() { return this._resourceGroupName; } get rulestackId() { return this.getStringAttribute('rulestack_id'); } set rulestackId(value) { this._rulestackId = value; } // Temporarily expose input value. Use with caution. get rulestackIdInput() { return this._rulestackId; } 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 destinationNat() { return this._destinationNat; } putDestinationNat(value) { this._destinationNat.internalValue = value; } resetDestinationNat() { this._destinationNat.internalValue = undefined; } // Temporarily expose input value. Use with caution. get destinationNatInput() { return this._destinationNat.internalValue; } get dnsSettings() { return this._dnsSettings; } putDnsSettings(value) { this._dnsSettings.internalValue = value; } resetDnsSettings() { this._dnsSettings.internalValue = undefined; } // Temporarily expose input value. Use with caution. get dnsSettingsInput() { return this._dnsSettings.internalValue; } get networkProfile() { return this._networkProfile; } putNetworkProfile(value) { this._networkProfile.internalValue = value; } // Temporarily expose input value. Use with caution. get networkProfileInput() { return this._networkProfile.internalValue; } get timeouts() { return this._timeouts; } putTimeouts(value) { this._timeouts.internalValue = value; } resetTimeouts() { this._timeouts.internalValue = undefined; } // Temporarily expose input value. Use with caution. get timeoutsInput() { return this._timeouts.internalValue; } // ========= // SYNTHESIS // ========= synthesizeAttributes() { return { id: cdktf.stringToTerraform(this._id), name: cdktf.stringToTerraform(this._name), resource_group_name: cdktf.stringToTerraform(this._resourceGroupName), rulestack_id: cdktf.stringToTerraform(this._rulestackId), tags: cdktf.hashMapper(cdktf.stringToTerraform)(this._tags), destination_nat: cdktf.listMapper(paloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatToTerraform, true)(this._destinationNat.internalValue), dns_settings: paloAltoNextGenerationFirewallVirtualHubLocalRulestackDnsSettingsToTerraform(this._dnsSettings.internalValue), network_profile: paloAltoNextGenerationFirewallVirtualHubLocalRulestackNetworkProfileToTerraform(this._networkProfile.internalValue), timeouts: paloAltoNextGenerationFirewallVirtualHubLocalRulestackTimeoutsToTerraform(this._timeouts.internalValue), }; } synthesizeHclAttributes() { const attrs = { id: { value: cdktf.stringToHclTerraform(this._id), isBlock: false, type: "simple", storageClassType: "string", }, name: { value: cdktf.stringToHclTerraform(this._name), isBlock: false, type: "simple", storageClassType: "string", }, resource_group_name: { value: cdktf.stringToHclTerraform(this._resourceGroupName), isBlock: false, type: "simple", storageClassType: "string", }, rulestack_id: { value: cdktf.stringToHclTerraform(this._rulestackId), isBlock: false, type: "simple", storageClassType: "string", }, tags: { value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(this._tags), isBlock: false, type: "map", storageClassType: "stringMap", }, destination_nat: { value: cdktf.listMapperHcl(paloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatToHclTerraform, true)(this._destinationNat.internalValue), isBlock: true, type: "list", storageClassType: "PaloAltoNextGenerationFirewallVirtualHubLocalRulestackDestinationNatList", }, dns_settings: { value: paloAltoNextGenerationFirewallVirtualHubLocalRulestackDnsSettingsToHclTerraform(this._dnsSettings.internalValue), isBlock: true, type: "list", storageClassType: "PaloAltoNextGenerationFirewallVirtualHubLocalRulestackDnsSettingsList", }, network_profile: { value: paloAltoNextGenerationFirewallVirtualHubLocalRulestackNetworkProfileToHclTerraform(this._networkProfile.internalValue), isBlock: true, type: "list", storageClassType: "PaloAltoNextGenerationFirewallVirtualHubLocalRulestackNetworkProfileList", }, timeouts: { value: paloAltoNextGenerationFirewallVirtualHubLocalRulestackTimeoutsToHclTerraform(this._timeouts.internalValue), isBlock: true, type: "struct", storageClassType: "PaloAltoNextGenerationFirewallVirtualHubLocalRulestackTimeouts", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } } exports.PaloAltoNextGenerationFirewallVirtualHubLocalRulestack = PaloAltoNextGenerationFirewallVirtualHubLocalRulestack; _h = JSII_RTTI_SYMBOL_1; PaloAltoNextGenerationFirewallVirt