Next Generation Firewall Virtual Hub Panorama Args
Manages a Palo Alto Next Generation Firewall VHub Panorama.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
const example = new azure.core.ResourceGroup("example", {
name: "example-resources",
location: "West Europe",
});
const examplePublicIp = new azure.network.PublicIp("example", {
name: "acceptanceTestPublicIp1",
resourceGroupName: example.name,
location: example.location,
allocationMethod: "Static",
tags: {
environment: "Production",
},
});
const exampleVirtualWan = new azure.network.VirtualWan("example", {
name: "example-virtualwan",
resourceGroupName: example.name,
location: example.location,
});
const exampleVirtualHub = new azure.network.VirtualHub("example", {
name: "example-virtualhub",
resourceGroupName: example.name,
location: example.location,
virtualWanId: exampleVirtualWan.id,
addressPrefix: "10.0.0.0/23",
tags: {
hubSaaSPreview: "true",
},
});
const exampleVirtualNetworkAppliance = new azure.paloalto.VirtualNetworkAppliance("example", {
name: "example-appliance",
virtualHubId: exampleVirtualHub.id,
});
const exampleNextGenerationFirewallVirtualHubPanorama = new azure.paloalto.NextGenerationFirewallVirtualHubPanorama("example", {
name: "example",
resourceGroupName: example.name,
location: example.location,
networkProfile: {
publicIpAddressIds: [examplePublicIp.id],
virtualHubId: exampleVirtualHub.id,
networkVirtualApplianceId: exampleVirtualNetworkAppliance.id,
},
panoramaBase64Config: "VGhpcyBpcyBub3QgYSByZWFsIGNvbmZpZywgcGxlYXNlIHVzZSB5b3VyIFBhbm9yYW1hIHNlcnZlciB0byBnZW5lcmF0ZSBhIHJlYWwgdmFsdWUgZm9yIHRoaXMgcHJvcGVydHkhCg==",
});
import pulumi
import pulumi_azure as azure
example = azure.core.ResourceGroup("example",
name="example-resources",
location="West Europe")
example_public_ip = azure.network.PublicIp("example",
name="acceptanceTestPublicIp1",
resource_group_name=example.name,
location=example.location,
allocation_method="Static",
tags={
"environment": "Production",
})
example_virtual_wan = azure.network.VirtualWan("example",
name="example-virtualwan",
resource_group_name=example.name,
location=example.location)
example_virtual_hub = azure.network.VirtualHub("example",
name="example-virtualhub",
resource_group_name=example.name,
location=example.location,
virtual_wan_id=example_virtual_wan.id,
address_prefix="10.0.0.0/23",
tags={
"hubSaaSPreview": "true",
})
example_virtual_network_appliance = azure.paloalto.VirtualNetworkAppliance("example",
name="example-appliance",
virtual_hub_id=example_virtual_hub.id)
example_next_generation_firewall_virtual_hub_panorama = azure.paloalto.NextGenerationFirewallVirtualHubPanorama("example",
name="example",
resource_group_name=example.name,
location=example.location,
network_profile={
"public_ip_address_ids": [example_public_ip.id],
"virtual_hub_id": example_virtual_hub.id,
"network_virtual_appliance_id": example_virtual_network_appliance.id,
},
panorama_base64_config="VGhpcyBpcyBub3QgYSByZWFsIGNvbmZpZywgcGxlYXNlIHVzZSB5b3VyIFBhbm9yYW1hIHNlcnZlciB0byBnZW5lcmF0ZSBhIHJlYWwgdmFsdWUgZm9yIHRoaXMgcHJvcGVydHkhCg==")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;
return await Deployment.RunAsync(() =>
{
var example = new Azure.Core.ResourceGroup("example", new()
{
Name = "example-resources",
Location = "West Europe",
});
var examplePublicIp = new Azure.Network.PublicIp("example", new()
{
Name = "acceptanceTestPublicIp1",
ResourceGroupName = example.Name,
Location = example.Location,
AllocationMethod = "Static",
Tags =
{
{ "environment", "Production" },
},
});
var exampleVirtualWan = new Azure.Network.VirtualWan("example", new()
{
Name = "example-virtualwan",
ResourceGroupName = example.Name,
Location = example.Location,
});
var exampleVirtualHub = new Azure.Network.VirtualHub("example", new()
{
Name = "example-virtualhub",
ResourceGroupName = example.Name,
Location = example.Location,
VirtualWanId = exampleVirtualWan.Id,
AddressPrefix = "10.0.0.0/23",
Tags =
{
{ "hubSaaSPreview", "true" },
},
});
var exampleVirtualNetworkAppliance = new Azure.PaloAlto.VirtualNetworkAppliance("example", new()
{
Name = "example-appliance",
VirtualHubId = exampleVirtualHub.Id,
});
var exampleNextGenerationFirewallVirtualHubPanorama = new Azure.PaloAlto.NextGenerationFirewallVirtualHubPanorama("example", new()
{
Name = "example",
ResourceGroupName = example.Name,
Location = example.Location,
NetworkProfile = new Azure.PaloAlto.Inputs.NextGenerationFirewallVirtualHubPanoramaNetworkProfileArgs
{
PublicIpAddressIds = new[]
{
examplePublicIp.Id,
},
VirtualHubId = exampleVirtualHub.Id,
NetworkVirtualApplianceId = exampleVirtualNetworkAppliance.Id,
},
PanoramaBase64Config = "VGhpcyBpcyBub3QgYSByZWFsIGNvbmZpZywgcGxlYXNlIHVzZSB5b3VyIFBhbm9yYW1hIHNlcnZlciB0byBnZW5lcmF0ZSBhIHJlYWwgdmFsdWUgZm9yIHRoaXMgcHJvcGVydHkhCg==",
});
});
package main
import (
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/paloalto"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
Name: pulumi.String("example-resources"),
Location: pulumi.String("West Europe"),
})
if err != nil {
return err
}
examplePublicIp, err := network.NewPublicIp(ctx, "example", &network.PublicIpArgs{
Name: pulumi.String("acceptanceTestPublicIp1"),
ResourceGroupName: example.Name,
Location: example.Location,
AllocationMethod: pulumi.String("Static"),
Tags: pulumi.StringMap{
"environment": pulumi.String("Production"),
},
})
if err != nil {
return err
}
exampleVirtualWan, err := network.NewVirtualWan(ctx, "example", &network.VirtualWanArgs{
Name: pulumi.String("example-virtualwan"),
ResourceGroupName: example.Name,
Location: example.Location,
})
if err != nil {
return err
}
exampleVirtualHub, err := network.NewVirtualHub(ctx, "example", &network.VirtualHubArgs{
Name: pulumi.String("example-virtualhub"),
ResourceGroupName: example.Name,
Location: example.Location,
VirtualWanId: exampleVirtualWan.ID(),
AddressPrefix: pulumi.String("10.0.0.0/23"),
Tags: pulumi.StringMap{
"hubSaaSPreview": pulumi.String("true"),
},
})
if err != nil {
return err
}
exampleVirtualNetworkAppliance, err := paloalto.NewVirtualNetworkAppliance(ctx, "example", &paloalto.VirtualNetworkApplianceArgs{
Name: pulumi.String("example-appliance"),
VirtualHubId: exampleVirtualHub.ID(),
})
if err != nil {
return err
}
_, err = paloalto.NewNextGenerationFirewallVirtualHubPanorama(ctx, "example", &paloalto.NextGenerationFirewallVirtualHubPanoramaArgs{
Name: pulumi.String("example"),
ResourceGroupName: example.Name,
Location: example.Location,
NetworkProfile: &paloalto.NextGenerationFirewallVirtualHubPanoramaNetworkProfileArgs{
PublicIpAddressIds: pulumi.StringArray{
examplePublicIp.ID(),
},
VirtualHubId: exampleVirtualHub.ID(),
NetworkVirtualApplianceId: exampleVirtualNetworkAppliance.ID(),
},
PanoramaBase64Config: pulumi.String("VGhpcyBpcyBub3QgYSByZWFsIGNvbmZpZywgcGxlYXNlIHVzZSB5b3VyIFBhbm9yYW1hIHNlcnZlciB0byBnZW5lcmF0ZSBhIHJlYWwgdmFsdWUgZm9yIHRoaXMgcHJvcGVydHkhCg=="),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.network.PublicIp;
import com.pulumi.azure.network.PublicIpArgs;
import com.pulumi.azure.network.VirtualWan;
import com.pulumi.azure.network.VirtualWanArgs;
import com.pulumi.azure.network.VirtualHub;
import com.pulumi.azure.network.VirtualHubArgs;
import com.pulumi.azure.paloalto.VirtualNetworkAppliance;
import com.pulumi.azure.paloalto.VirtualNetworkApplianceArgs;
import com.pulumi.azure.paloalto.NextGenerationFirewallVirtualHubPanorama;
import com.pulumi.azure.paloalto.NextGenerationFirewallVirtualHubPanoramaArgs;
import com.pulumi.azure.paloalto.inputs.NextGenerationFirewallVirtualHubPanoramaNetworkProfileArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new ResourceGroup("example", ResourceGroupArgs.builder()
.name("example-resources")
.location("West Europe")
.build());
var examplePublicIp = new PublicIp("examplePublicIp", PublicIpArgs.builder()
.name("acceptanceTestPublicIp1")
.resourceGroupName(example.name())
.location(example.location())
.allocationMethod("Static")
.tags(Map.of("environment", "Production"))
.build());
var exampleVirtualWan = new VirtualWan("exampleVirtualWan", VirtualWanArgs.builder()
.name("example-virtualwan")
.resourceGroupName(example.name())
.location(example.location())
.build());
var exampleVirtualHub = new VirtualHub("exampleVirtualHub", VirtualHubArgs.builder()
.name("example-virtualhub")
.resourceGroupName(example.name())
.location(example.location())
.virtualWanId(exampleVirtualWan.id())
.addressPrefix("10.0.0.0/23")
.tags(Map.of("hubSaaSPreview", "true"))
.build());
var exampleVirtualNetworkAppliance = new VirtualNetworkAppliance("exampleVirtualNetworkAppliance", VirtualNetworkApplianceArgs.builder()
.name("example-appliance")
.virtualHubId(exampleVirtualHub.id())
.build());
var exampleNextGenerationFirewallVirtualHubPanorama = new NextGenerationFirewallVirtualHubPanorama("exampleNextGenerationFirewallVirtualHubPanorama", NextGenerationFirewallVirtualHubPanoramaArgs.builder()
.name("example")
.resourceGroupName(example.name())
.location(example.location())
.networkProfile(NextGenerationFirewallVirtualHubPanoramaNetworkProfileArgs.builder()
.publicIpAddressIds(examplePublicIp.id())
.virtualHubId(exampleVirtualHub.id())
.networkVirtualApplianceId(exampleVirtualNetworkAppliance.id())
.build())
.panoramaBase64Config("VGhpcyBpcyBub3QgYSByZWFsIGNvbmZpZywgcGxlYXNlIHVzZSB5b3VyIFBhbm9yYW1hIHNlcnZlciB0byBnZW5lcmF0ZSBhIHJlYWwgdmFsdWUgZm9yIHRoaXMgcHJvcGVydHkhCg==")
.build());
}
}
resources:
example:
type: azure:core:ResourceGroup
properties:
name: example-resources
location: West Europe
examplePublicIp:
type: azure:network:PublicIp
name: example
properties:
name: acceptanceTestPublicIp1
resourceGroupName: ${example.name}
location: ${example.location}
allocationMethod: Static
tags:
environment: Production
exampleVirtualWan:
type: azure:network:VirtualWan
name: example
properties:
name: example-virtualwan
resourceGroupName: ${example.name}
location: ${example.location}
exampleVirtualHub:
type: azure:network:VirtualHub
name: example
properties:
name: example-virtualhub
resourceGroupName: ${example.name}
location: ${example.location}
virtualWanId: ${exampleVirtualWan.id}
addressPrefix: 10.0.0.0/23
tags:
hubSaaSPreview: 'true'
exampleVirtualNetworkAppliance:
type: azure:paloalto:VirtualNetworkAppliance
name: example
properties:
name: example-appliance
virtualHubId: ${exampleVirtualHub.id}
exampleNextGenerationFirewallVirtualHubPanorama:
type: azure:paloalto:NextGenerationFirewallVirtualHubPanorama
name: example
properties:
name: example
resourceGroupName: ${example.name}
location: ${example.location}
networkProfile:
publicIpAddressIds:
- ${examplePublicIp.id}
virtualHubId: ${exampleVirtualHub.id}
networkVirtualApplianceId: ${exampleVirtualNetworkAppliance.id}
panoramaBase64Config: VGhpcyBpcyBub3QgYSByZWFsIGNvbmZpZywgcGxlYXNlIHVzZSB5b3VyIFBhbm9yYW1hIHNlcnZlciB0byBnZW5lcmF0ZSBhIHJlYWwgdmFsdWUgZm9yIHRoaXMgcHJvcGVydHkhCg==
API Providers
This resource uses the following Azure API Providers:
PaloAltoNetworks.Cloudngfw
: 2023-09-01
Import
Palo Alto Next Generation Firewall VHub Panoramas can be imported using the resource id
, e.g.
$ pulumi import azure:paloalto/nextGenerationFirewallVirtualHubPanorama:NextGenerationFirewallVirtualHubPanorama example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/PaloAltoNetworks.Cloudngfw/firewalls/myVhubPanoramaFW
Constructors
Properties
One or more destination_nat
blocks as defined below.
A dns_settings
block as defined below.
The marketplace offer ID. Defaults to pan_swfw_cloud_ngfw
. Changing this forces a new resource to be created.
A network_profile
block as defined below.
The Base64 Encoded configuration value for connecting to the Panorama Configuration server.
The name of the Resource Group where the Palo Alto Next Generation Firewall VHub Panorama should exist. Changing this forces a new Palo Alto Next Generation Firewall VHub Panorama to be created.