UNPKG

@cdktf/provider-azurerm

Version:

Prebuilt azurerm Provider for Terraform CDK (cdktf)

1,038 lines 186 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j; Object.defineProperty(exports, "__esModule", { value: true }); exports.PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestack = exports.PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackTimeoutsOutputReference = exports.paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackTimeoutsToHclTerraform = exports.paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackTimeoutsToTerraform = exports.PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackNetworkProfileOutputReference = exports.paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackNetworkProfileToHclTerraform = exports.paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackNetworkProfileToTerraform = exports.PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackNetworkProfileVnetConfigurationOutputReference = exports.paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackNetworkProfileVnetConfigurationToHclTerraform = exports.paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackNetworkProfileVnetConfigurationToTerraform = exports.PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDnsSettingsOutputReference = exports.paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDnsSettingsToHclTerraform = exports.paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDnsSettingsToTerraform = exports.PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatList = exports.PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatOutputReference = exports.paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatToHclTerraform = exports.paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatToTerraform = exports.PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatFrontendConfigOutputReference = exports.paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatFrontendConfigToHclTerraform = exports.paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatFrontendConfigToTerraform = exports.PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatBackendConfigOutputReference = exports.paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatBackendConfigToHclTerraform = exports.paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatBackendConfigToTerraform = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatBackendConfigToTerraform(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.paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatBackendConfigToTerraform = paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatBackendConfigToTerraform; function paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatBackendConfigToHclTerraform(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.paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatBackendConfigToHclTerraform = paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatBackendConfigToHclTerraform; class PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatBackendConfigOutputReference 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.PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatBackendConfigOutputReference = PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatBackendConfigOutputReference; _a = JSII_RTTI_SYMBOL_1; PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatBackendConfigOutputReference[_a] = { fqn: "@cdktf/provider-azurerm.paloAltoNextGenerationFirewallVirtualNetworkLocalRulestack.PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatBackendConfigOutputReference", version: "12.27.0" }; function paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatFrontendConfigToTerraform(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.paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatFrontendConfigToTerraform = paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatFrontendConfigToTerraform; function paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatFrontendConfigToHclTerraform(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.paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatFrontendConfigToHclTerraform = paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatFrontendConfigToHclTerraform; class PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatFrontendConfigOutputReference 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.PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatFrontendConfigOutputReference = PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatFrontendConfigOutputReference; _b = JSII_RTTI_SYMBOL_1; PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatFrontendConfigOutputReference[_b] = { fqn: "@cdktf/provider-azurerm.paloAltoNextGenerationFirewallVirtualNetworkLocalRulestack.PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatFrontendConfigOutputReference", version: "12.27.0" }; function paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatToTerraform(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: paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatBackendConfigToTerraform(struct.backendConfig), frontend_config: paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatFrontendConfigToTerraform(struct.frontendConfig), }; } exports.paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatToTerraform = paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatToTerraform; function paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatToHclTerraform(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: paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatBackendConfigToHclTerraform(struct.backendConfig), isBlock: true, type: "list", storageClassType: "PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatBackendConfigList", }, frontend_config: { value: paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatFrontendConfigToHclTerraform(struct.frontendConfig), isBlock: true, type: "list", storageClassType: "PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatFrontendConfigList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatToHclTerraform = paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatToHclTerraform; class PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatOutputReference 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 PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatBackendConfigOutputReference(this, "backend_config"); // frontend_config - computed: false, optional: true, required: false this._frontendConfig = new PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatFrontendConfigOutputReference(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.PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatOutputReference = PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatOutputReference; _c = JSII_RTTI_SYMBOL_1; PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatOutputReference[_c] = { fqn: "@cdktf/provider-azurerm.paloAltoNextGenerationFirewallVirtualNetworkLocalRulestack.PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatOutputReference", version: "12.27.0" }; class PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatList 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 PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatList = PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatList; _d = JSII_RTTI_SYMBOL_1; PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatList[_d] = { fqn: "@cdktf/provider-azurerm.paloAltoNextGenerationFirewallVirtualNetworkLocalRulestack.PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatList", version: "12.27.0" }; function paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDnsSettingsToTerraform(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.paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDnsSettingsToTerraform = paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDnsSettingsToTerraform; function paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDnsSettingsToHclTerraform(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.paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDnsSettingsToHclTerraform = paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDnsSettingsToHclTerraform; class PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDnsSettingsOutputReference 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.PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDnsSettingsOutputReference = PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDnsSettingsOutputReference; _e = JSII_RTTI_SYMBOL_1; PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDnsSettingsOutputReference[_e] = { fqn: "@cdktf/provider-azurerm.paloAltoNextGenerationFirewallVirtualNetworkLocalRulestack.PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDnsSettingsOutputReference", version: "12.27.0" }; function paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackNetworkProfileVnetConfigurationToTerraform(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 { trusted_subnet_id: cdktf.stringToTerraform(struct.trustedSubnetId), untrusted_subnet_id: cdktf.stringToTerraform(struct.untrustedSubnetId), virtual_network_id: cdktf.stringToTerraform(struct.virtualNetworkId), }; } exports.paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackNetworkProfileVnetConfigurationToTerraform = paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackNetworkProfileVnetConfigurationToTerraform; function paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackNetworkProfileVnetConfigurationToHclTerraform(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 = { trusted_subnet_id: { value: cdktf.stringToHclTerraform(struct.trustedSubnetId), isBlock: false, type: "simple", storageClassType: "string", }, untrusted_subnet_id: { value: cdktf.stringToHclTerraform(struct.untrustedSubnetId), isBlock: false, type: "simple", storageClassType: "string", }, virtual_network_id: { value: cdktf.stringToHclTerraform(struct.virtualNetworkId), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackNetworkProfileVnetConfigurationToHclTerraform = paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackNetworkProfileVnetConfigurationToHclTerraform; class PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackNetworkProfileVnetConfigurationOutputReference 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._trustedSubnetId !== undefined) { hasAnyValues = true; internalValueResult.trustedSubnetId = this._trustedSubnetId; } if (this._untrustedSubnetId !== undefined) { hasAnyValues = true; internalValueResult.untrustedSubnetId = this._untrustedSubnetId; } if (this._virtualNetworkId !== undefined) { hasAnyValues = true; internalValueResult.virtualNetworkId = this._virtualNetworkId; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._trustedSubnetId = undefined; this._untrustedSubnetId = undefined; this._virtualNetworkId = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._trustedSubnetId = value.trustedSubnetId; this._untrustedSubnetId = value.untrustedSubnetId; this._virtualNetworkId = value.virtualNetworkId; } } // 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 trustedSubnetId() { return this.getStringAttribute('trusted_subnet_id'); } set trustedSubnetId(value) { this._trustedSubnetId = value; } resetTrustedSubnetId() { this._trustedSubnetId = undefined; } // Temporarily expose input value. Use with caution. get trustedSubnetIdInput() { return this._trustedSubnetId; } get untrustedSubnetId() { return this.getStringAttribute('untrusted_subnet_id'); } set untrustedSubnetId(value) { this._untrustedSubnetId = value; } resetUntrustedSubnetId() { this._untrustedSubnetId = undefined; } // Temporarily expose input value. Use with caution. get untrustedSubnetIdInput() { return this._untrustedSubnetId; } get virtualNetworkId() { return this.getStringAttribute('virtual_network_id'); } set virtualNetworkId(value) { this._virtualNetworkId = value; } // Temporarily expose input value. Use with caution. get virtualNetworkIdInput() { return this._virtualNetworkId; } } exports.PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackNetworkProfileVnetConfigurationOutputReference = PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackNetworkProfileVnetConfigurationOutputReference; _f = JSII_RTTI_SYMBOL_1; PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackNetworkProfileVnetConfigurationOutputReference[_f] = { fqn: "@cdktf/provider-azurerm.paloAltoNextGenerationFirewallVirtualNetworkLocalRulestack.PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackNetworkProfileVnetConfigurationOutputReference", version: "12.27.0" }; function paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackNetworkProfileToTerraform(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), public_ip_address_ids: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.publicIpAddressIds), trusted_address_ranges: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.trustedAddressRanges), vnet_configuration: paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackNetworkProfileVnetConfigurationToTerraform(struct.vnetConfiguration), }; } exports.paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackNetworkProfileToTerraform = paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackNetworkProfileToTerraform; function paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackNetworkProfileToHclTerraform(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", }, 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", }, vnet_configuration: { value: paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackNetworkProfileVnetConfigurationToHclTerraform(struct.vnetConfiguration), isBlock: true, type: "list", storageClassType: "PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackNetworkProfileVnetConfigurationList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackNetworkProfileToHclTerraform = paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackNetworkProfileToHclTerraform; class PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackNetworkProfileOutputReference 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; // vnet_configuration - computed: false, optional: false, required: true this._vnetConfiguration = new PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackNetworkProfileVnetConfigurationOutputReference(this, "vnet_configuration"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._egressNatIpAddressIds !== undefined) { hasAnyValues = true; internalValueResult.egressNatIpAddressIds = this._egressNatIpAddressIds; } if (this._publicIpAddressIds !== undefined) { hasAnyValues = true; internalValueResult.publicIpAddressIds = this._publicIpAddressIds; } if (this._trustedAddressRanges !== undefined) { hasAnyValues = true; internalValueResult.trustedAddressRanges = this._trustedAddressRanges; } if (this._vnetConfiguration?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.vnetConfiguration = this._vnetConfiguration?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._egressNatIpAddressIds = undefined; this._publicIpAddressIds = undefined; this._trustedAddressRanges = undefined; this._vnetConfiguration.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._egressNatIpAddressIds = value.egressNatIpAddressIds; this._publicIpAddressIds = value.publicIpAddressIds; this._trustedAddressRanges = value.trustedAddressRanges; this._vnetConfiguration.internalValue = value.vnetConfiguration; } } 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'); } 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; } get vnetConfiguration() { return this._vnetConfiguration; } putVnetConfiguration(value) { this._vnetConfiguration.internalValue = value; } // Temporarily expose input value. Use with caution. get vnetConfigurationInput() { return this._vnetConfiguration.internalValue; } } exports.PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackNetworkProfileOutputReference = PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackNetworkProfileOutputReference; _g = JSII_RTTI_SYMBOL_1; PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackNetworkProfileOutputReference[_g] = { fqn: "@cdktf/provider-azurerm.paloAltoNextGenerationFirewallVirtualNetworkLocalRulestack.PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackNetworkProfileOutputReference", version: "12.27.0" }; function paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackTimeoutsToTerraform(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.paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackTimeoutsToTerraform = paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackTimeoutsToTerraform; function paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackTimeoutsToHclTerraform(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.paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackTimeoutsToHclTerraform = paloAltoNextGenerationFirewallVirtualNetworkLocalRulestackTimeoutsToHclTerraform; class PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackTimeoutsOutputReference 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.PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackTimeoutsOutputReference = PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackTimeoutsOutputReference; _h = JSII_RTTI_SYMBOL_1; PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackTimeoutsOutputReference[_h] = { fqn: "@cdktf/provider-azurerm.paloAltoNextGenerationFirewallVirtualNetworkLocalRulestack.PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackTimeoutsOutputReference", 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_network_local_rulestack azurerm_palo_alto_next_generation_firewall_virtual_network_local_rulestack} */ class PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestack extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestack 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 PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestack to import * @param importFromId The id of the existing PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestack 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_network_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 PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestack to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "azurerm_palo_alto_next_generation_firewall_virtual_network_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_network_local_rulestack azurerm_palo_alto_next_generation_firewall_virtual_network_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 PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackConfig */ constructor(scope, id, config) { super(scope, id, { terraformResourceType: 'azurerm_palo_alto_next_generation_firewall_virtual_network_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 PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatList(this, "destination_nat", false); // dns_settings - computed: false, optional: true, required: false this._dnsSettings = new PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackDnsSettingsOutputReference(this, "dns_settings"); // network_profile - computed: false, optional: false, required: true this._networkProfile = new PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackNetworkProfileOutputReference(this, "network_profile"); // timeouts - computed: false, optional: true, required: false this._timeouts = new PaloAltoNextGenerationFirewallVirtualNetworkLocalRulestackTimeoutsOutputReference(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 = val