Network Manager Connectivity Configuration
Manages a Network Manager Connectivity Configuration.
Note: The
azure.network.NetworkManagerConnectivityConfigurationdeployment may modify or delete existing Network Peering resource.
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 current = azure.core.getSubscription({});
const exampleNetworkManager = new azure.network.NetworkManager("example", {
name: "example-network-manager",
location: example.location,
resourceGroupName: example.name,
scope: {
subscriptionIds: [current.then(current => current.id)],
},
scopeAccesses: [
"Connectivity",
"SecurityAdmin",
],
description: "example network manager",
});
const exampleNetworkManagerNetworkGroup = new azure.network.NetworkManagerNetworkGroup("example", {
name: "example-group",
networkManagerId: exampleNetworkManager.id,
});
const exampleVirtualNetwork = new azure.network.VirtualNetwork("example", {
name: "example-net",
location: example.location,
resourceGroupName: example.name,
addressSpaces: ["10.0.0.0/16"],
flowTimeoutInMinutes: 10,
});
const example2 = new azure.network.NetworkManagerNetworkGroup("example2", {
name: "example-group2",
networkManagerId: exampleNetworkManager.id,
});
const exampleNetworkManagerConnectivityConfiguration = new azure.network.NetworkManagerConnectivityConfiguration("example", {
name: "example-connectivity-conf",
networkManagerId: exampleNetworkManager.id,
connectivityTopology: "HubAndSpoke",
appliesToGroups: [
{
groupConnectivity: "DirectlyConnected",
networkGroupId: exampleNetworkManagerNetworkGroup.id,
},
{
groupConnectivity: "DirectlyConnected",
networkGroupId: example2.id,
},
],
hub: {
resourceId: exampleVirtualNetwork.id,
resourceType: "Microsoft.Network/virtualNetworks",
},
});import pulumi
import pulumi_azure as azure
example = azure.core.ResourceGroup("example",
name="example-resources",
location="West Europe")
current = azure.core.get_subscription()
example_network_manager = azure.network.NetworkManager("example",
name="example-network-manager",
location=example.location,
resource_group_name=example.name,
scope={
"subscription_ids": [current.id],
},
scope_accesses=[
"Connectivity",
"SecurityAdmin",
],
description="example network manager")
example_network_manager_network_group = azure.network.NetworkManagerNetworkGroup("example",
name="example-group",
network_manager_id=example_network_manager.id)
example_virtual_network = azure.network.VirtualNetwork("example",
name="example-net",
location=example.location,
resource_group_name=example.name,
address_spaces=["10.0.0.0/16"],
flow_timeout_in_minutes=10)
example2 = azure.network.NetworkManagerNetworkGroup("example2",
name="example-group2",
network_manager_id=example_network_manager.id)
example_network_manager_connectivity_configuration = azure.network.NetworkManagerConnectivityConfiguration("example",
name="example-connectivity-conf",
network_manager_id=example_network_manager.id,
connectivity_topology="HubAndSpoke",
applies_to_groups=[
{
"group_connectivity": "DirectlyConnected",
"network_group_id": example_network_manager_network_group.id,
},
{
"group_connectivity": "DirectlyConnected",
"network_group_id": example2.id,
},
],
hub={
"resource_id": example_virtual_network.id,
"resource_type": "Microsoft.Network/virtualNetworks",
})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 current = Azure.Core.GetSubscription.Invoke();
var exampleNetworkManager = new Azure.Network.NetworkManager("example", new()
{
Name = "example-network-manager",
Location = example.Location,
ResourceGroupName = example.Name,
Scope = new Azure.Network.Inputs.NetworkManagerScopeArgs
{
SubscriptionIds = new[]
{
current.Apply(getSubscriptionResult => getSubscriptionResult.Id),
},
},
ScopeAccesses = new[]
{
"Connectivity",
"SecurityAdmin",
},
Description = "example network manager",
});
var exampleNetworkManagerNetworkGroup = new Azure.Network.NetworkManagerNetworkGroup("example", new()
{
Name = "example-group",
NetworkManagerId = exampleNetworkManager.Id,
});
var exampleVirtualNetwork = new Azure.Network.VirtualNetwork("example", new()
{
Name = "example-net",
Location = example.Location,
ResourceGroupName = example.Name,
AddressSpaces = new[]
{
"10.0.0.0/16",
},
FlowTimeoutInMinutes = 10,
});
var example2 = new Azure.Network.NetworkManagerNetworkGroup("example2", new()
{
Name = "example-group2",
NetworkManagerId = exampleNetworkManager.Id,
});
var exampleNetworkManagerConnectivityConfiguration = new Azure.Network.NetworkManagerConnectivityConfiguration("example", new()
{
Name = "example-connectivity-conf",
NetworkManagerId = exampleNetworkManager.Id,
ConnectivityTopology = "HubAndSpoke",
AppliesToGroups = new[]
{
new Azure.Network.Inputs.NetworkManagerConnectivityConfigurationAppliesToGroupArgs
{
GroupConnectivity = "DirectlyConnected",
NetworkGroupId = exampleNetworkManagerNetworkGroup.Id,
},
new Azure.Network.Inputs.NetworkManagerConnectivityConfigurationAppliesToGroupArgs
{
GroupConnectivity = "DirectlyConnected",
NetworkGroupId = example2.Id,
},
},
Hub = new Azure.Network.Inputs.NetworkManagerConnectivityConfigurationHubArgs
{
ResourceId = exampleVirtualNetwork.Id,
ResourceType = "Microsoft.Network/virtualNetworks",
},
});
});package main
import (
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/network"
"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
}
current, err := core.LookupSubscription(ctx, nil, nil)
if err != nil {
return err
}
exampleNetworkManager, err := network.NewNetworkManager(ctx, "example", &network.NetworkManagerArgs{
Name: pulumi.String("example-network-manager"),
Location: example.Location,
ResourceGroupName: example.Name,
Scope: &network.NetworkManagerScopeArgs{
SubscriptionIds: pulumi.StringArray{
pulumi.String(current.Id),
},
},
ScopeAccesses: pulumi.StringArray{
pulumi.String("Connectivity"),
pulumi.String("SecurityAdmin"),
},
Description: pulumi.String("example network manager"),
})
if err != nil {
return err
}
exampleNetworkManagerNetworkGroup, err := network.NewNetworkManagerNetworkGroup(ctx, "example", &network.NetworkManagerNetworkGroupArgs{
Name: pulumi.String("example-group"),
NetworkManagerId: exampleNetworkManager.ID(),
})
if err != nil {
return err
}
exampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, "example", &network.VirtualNetworkArgs{
Name: pulumi.String("example-net"),
Location: example.Location,
ResourceGroupName: example.Name,
AddressSpaces: pulumi.StringArray{
pulumi.String("10.0.0.0/16"),
},
FlowTimeoutInMinutes: pulumi.Int(10),
})
if err != nil {
return err
}
example2, err := network.NewNetworkManagerNetworkGroup(ctx, "example2", &network.NetworkManagerNetworkGroupArgs{
Name: pulumi.String("example-group2"),
NetworkManagerId: exampleNetworkManager.ID(),
})
if err != nil {
return err
}
_, err = network.NewNetworkManagerConnectivityConfiguration(ctx, "example", &network.NetworkManagerConnectivityConfigurationArgs{
Name: pulumi.String("example-connectivity-conf"),
NetworkManagerId: exampleNetworkManager.ID(),
ConnectivityTopology: pulumi.String("HubAndSpoke"),
AppliesToGroups: network.NetworkManagerConnectivityConfigurationAppliesToGroupArray{
&network.NetworkManagerConnectivityConfigurationAppliesToGroupArgs{
GroupConnectivity: pulumi.String("DirectlyConnected"),
NetworkGroupId: exampleNetworkManagerNetworkGroup.ID(),
},
&network.NetworkManagerConnectivityConfigurationAppliesToGroupArgs{
GroupConnectivity: pulumi.String("DirectlyConnected"),
NetworkGroupId: example2.ID(),
},
},
Hub: &network.NetworkManagerConnectivityConfigurationHubArgs{
ResourceId: exampleVirtualNetwork.ID(),
ResourceType: pulumi.String("Microsoft.Network/virtualNetworks"),
},
})
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.core.CoreFunctions;
import com.pulumi.azure.core.inputs.GetSubscriptionArgs;
import com.pulumi.azure.network.NetworkManager;
import com.pulumi.azure.network.NetworkManagerArgs;
import com.pulumi.azure.network.inputs.NetworkManagerScopeArgs;
import com.pulumi.azure.network.NetworkManagerNetworkGroup;
import com.pulumi.azure.network.NetworkManagerNetworkGroupArgs;
import com.pulumi.azure.network.VirtualNetwork;
import com.pulumi.azure.network.VirtualNetworkArgs;
import com.pulumi.azure.network.NetworkManagerConnectivityConfiguration;
import com.pulumi.azure.network.NetworkManagerConnectivityConfigurationArgs;
import com.pulumi.azure.network.inputs.NetworkManagerConnectivityConfigurationAppliesToGroupArgs;
import com.pulumi.azure.network.inputs.NetworkManagerConnectivityConfigurationHubArgs;
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());
final var current = CoreFunctions.getSubscription();
var exampleNetworkManager = new NetworkManager("exampleNetworkManager", NetworkManagerArgs.builder()
.name("example-network-manager")
.location(example.location())
.resourceGroupName(example.name())
.scope(NetworkManagerScopeArgs.builder()
.subscriptionIds(current.applyValue(getSubscriptionResult -> getSubscriptionResult.id()))
.build())
.scopeAccesses(
"Connectivity",
"SecurityAdmin")
.description("example network manager")
.build());
var exampleNetworkManagerNetworkGroup = new NetworkManagerNetworkGroup("exampleNetworkManagerNetworkGroup", NetworkManagerNetworkGroupArgs.builder()
.name("example-group")
.networkManagerId(exampleNetworkManager.id())
.build());
var exampleVirtualNetwork = new VirtualNetwork("exampleVirtualNetwork", VirtualNetworkArgs.builder()
.name("example-net")
.location(example.location())
.resourceGroupName(example.name())
.addressSpaces("10.0.0.0/16")
.flowTimeoutInMinutes(10)
.build());
var example2 = new NetworkManagerNetworkGroup("example2", NetworkManagerNetworkGroupArgs.builder()
.name("example-group2")
.networkManagerId(exampleNetworkManager.id())
.build());
var exampleNetworkManagerConnectivityConfiguration = new NetworkManagerConnectivityConfiguration("exampleNetworkManagerConnectivityConfiguration", NetworkManagerConnectivityConfigurationArgs.builder()
.name("example-connectivity-conf")
.networkManagerId(exampleNetworkManager.id())
.connectivityTopology("HubAndSpoke")
.appliesToGroups(
NetworkManagerConnectivityConfigurationAppliesToGroupArgs.builder()
.groupConnectivity("DirectlyConnected")
.networkGroupId(exampleNetworkManagerNetworkGroup.id())
.build(),
NetworkManagerConnectivityConfigurationAppliesToGroupArgs.builder()
.groupConnectivity("DirectlyConnected")
.networkGroupId(example2.id())
.build())
.hub(NetworkManagerConnectivityConfigurationHubArgs.builder()
.resourceId(exampleVirtualNetwork.id())
.resourceType("Microsoft.Network/virtualNetworks")
.build())
.build());
}
}resources:
example:
type: azure:core:ResourceGroup
properties:
name: example-resources
location: West Europe
exampleNetworkManager:
type: azure:network:NetworkManager
name: example
properties:
name: example-network-manager
location: ${example.location}
resourceGroupName: ${example.name}
scope:
subscriptionIds:
- ${current.id}
scopeAccesses:
- Connectivity
- SecurityAdmin
description: example network manager
exampleNetworkManagerNetworkGroup:
type: azure:network:NetworkManagerNetworkGroup
name: example
properties:
name: example-group
networkManagerId: ${exampleNetworkManager.id}
exampleVirtualNetwork:
type: azure:network:VirtualNetwork
name: example
properties:
name: example-net
location: ${example.location}
resourceGroupName: ${example.name}
addressSpaces:
- 10.0.0.0/16
flowTimeoutInMinutes: 10
example2:
type: azure:network:NetworkManagerNetworkGroup
properties:
name: example-group2
networkManagerId: ${exampleNetworkManager.id}
exampleNetworkManagerConnectivityConfiguration:
type: azure:network:NetworkManagerConnectivityConfiguration
name: example
properties:
name: example-connectivity-conf
networkManagerId: ${exampleNetworkManager.id}
connectivityTopology: HubAndSpoke
appliesToGroups:
- groupConnectivity: DirectlyConnected
networkGroupId: ${exampleNetworkManagerNetworkGroup.id}
- groupConnectivity: DirectlyConnected
networkGroupId: ${example2.id}
hub:
resourceId: ${exampleVirtualNetwork.id}
resourceType: Microsoft.Network/virtualNetworks
variables:
current:
fn::invoke:
Function: azure:core:getSubscription
Arguments: {}Import
Network Manager Connectivity Configuration can be imported using the resource id, e.g.
$ pulumi import azure:network/networkManagerConnectivityConfiguration:NetworkManagerConnectivityConfiguration example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Network/networkManagers/networkManager1/connectivityConfigurations/configuration1Properties
One or more applies_to_group blocks as defined below.
Specifies the connectivity topology type. Possible values are HubAndSpoke and Mesh.
Indicates whether to remove current existing Virtual Network Peering in the Connectivity Configuration affected scope. Possible values are true and false.
A description of the Connectivity Configuration.
Indicates whether to global mesh is supported. Possible values are true and false.
A hub block as defined below.
Specifies the ID of the Network Manager. Changing this forces a new Network Manager Connectivity Configuration to be created.