Hub Virtual Network Connection
HubVirtualNetworkConnection Resource. Azure REST API version: 2023-02-01. Prior API version in Azure Native 1.x: 2020-11-01. Other available API versions: 2023-04-01, 2023-05-01.
Example Usage
HubVirtualNetworkConnectionPut
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var hubVirtualNetworkConnection = new AzureNative.Network.HubVirtualNetworkConnection("hubVirtualNetworkConnection", new()
{
ConnectionName = "connection1",
EnableInternetSecurity = false,
RemoteVirtualNetwork = new AzureNative.Network.Inputs.SubResourceArgs
{
Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/SpokeVnet1",
},
ResourceGroupName = "rg1",
RoutingConfiguration = new AzureNative.Network.Inputs.RoutingConfigurationArgs
{
AssociatedRouteTable = new AzureNative.Network.Inputs.SubResourceArgs
{
Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1",
},
InboundRouteMap = new AzureNative.Network.Inputs.SubResourceArgs
{
Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap1",
},
OutboundRouteMap = new AzureNative.Network.Inputs.SubResourceArgs
{
Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap2",
},
PropagatedRouteTables = new AzureNative.Network.Inputs.PropagatedRouteTableArgs
{
Ids = new[]
{
new AzureNative.Network.Inputs.SubResourceArgs
{
Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1",
},
},
Labels = new[]
{
"label1",
"label2",
},
},
VnetRoutes = new AzureNative.Network.Inputs.VnetRouteArgs
{
StaticRoutes = new[]
{
new AzureNative.Network.Inputs.StaticRouteArgs
{
AddressPrefixes = new[]
{
"10.1.0.0/16",
"10.2.0.0/16",
},
Name = "route1",
NextHopIpAddress = "10.0.0.68",
},
new AzureNative.Network.Inputs.StaticRouteArgs
{
AddressPrefixes = new[]
{
"10.3.0.0/16",
"10.4.0.0/16",
},
Name = "route2",
NextHopIpAddress = "10.0.0.65",
},
},
StaticRoutesConfig = new AzureNative.Network.Inputs.StaticRoutesConfigArgs
{
VnetLocalRouteOverrideCriteria = "Equal",
},
},
},
VirtualHubName = "virtualHub1",
});
});
Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-azure-native-sdk/network/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := network.NewHubVirtualNetworkConnection(ctx, "hubVirtualNetworkConnection", &network.HubVirtualNetworkConnectionArgs{
ConnectionName: pulumi.String("connection1"),
EnableInternetSecurity: pulumi.Bool(false),
RemoteVirtualNetwork: &network.SubResourceArgs{
Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/SpokeVnet1"),
},
ResourceGroupName: pulumi.String("rg1"),
RoutingConfiguration: network.RoutingConfigurationResponse{
AssociatedRouteTable: &network.SubResourceArgs{
Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1"),
},
InboundRouteMap: &network.SubResourceArgs{
Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap1"),
},
OutboundRouteMap: &network.SubResourceArgs{
Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap2"),
},
PropagatedRouteTables: interface{}{
Ids: network.SubResourceArray{
&network.SubResourceArgs{
Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1"),
},
},
Labels: pulumi.StringArray{
pulumi.String("label1"),
pulumi.String("label2"),
},
},
VnetRoutes: interface{}{
StaticRoutes: network.StaticRouteArray{
&network.StaticRouteArgs{
AddressPrefixes: pulumi.StringArray{
pulumi.String("10.1.0.0/16"),
pulumi.String("10.2.0.0/16"),
},
Name: pulumi.String("route1"),
NextHopIpAddress: pulumi.String("10.0.0.68"),
},
&network.StaticRouteArgs{
AddressPrefixes: pulumi.StringArray{
pulumi.String("10.3.0.0/16"),
pulumi.String("10.4.0.0/16"),
},
Name: pulumi.String("route2"),
NextHopIpAddress: pulumi.String("10.0.0.65"),
},
},
StaticRoutesConfig: &network.StaticRoutesConfigArgs{
VnetLocalRouteOverrideCriteria: pulumi.String("Equal"),
},
},
},
VirtualHubName: pulumi.String("virtualHub1"),
})
if err != nil {
return err
}
return nil
})
}
Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.network.HubVirtualNetworkConnection;
import com.pulumi.azurenative.network.HubVirtualNetworkConnectionArgs;
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 hubVirtualNetworkConnection = new HubVirtualNetworkConnection("hubVirtualNetworkConnection", HubVirtualNetworkConnectionArgs.builder()
.connectionName("connection1")
.enableInternetSecurity(false)
.remoteVirtualNetwork(Map.of("id", "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/SpokeVnet1"))
.resourceGroupName("rg1")
.routingConfiguration(Map.ofEntries(
Map.entry("associatedRouteTable", Map.of("id", "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1")),
Map.entry("inboundRouteMap", Map.of("id", "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap1")),
Map.entry("outboundRouteMap", Map.of("id", "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap2")),
Map.entry("propagatedRouteTables", Map.ofEntries(
Map.entry("ids", Map.of("id", "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1")),
Map.entry("labels",
"label1",
"label2")
)),
Map.entry("vnetRoutes", Map.ofEntries(
Map.entry("staticRoutes",
Map.ofEntries(
Map.entry("addressPrefixes",
"10.1.0.0/16",
"10.2.0.0/16"),
Map.entry("name", "route1"),
Map.entry("nextHopIpAddress", "10.0.0.68")
),
Map.ofEntries(
Map.entry("addressPrefixes",
"10.3.0.0/16",
"10.4.0.0/16"),
Map.entry("name", "route2"),
Map.entry("nextHopIpAddress", "10.0.0.65")
)),
Map.entry("staticRoutesConfig", Map.of("vnetLocalRouteOverrideCriteria", "Equal"))
))
))
.virtualHubName("virtualHub1")
.build());
}
}
Content copied to clipboard
Import
An existing resource can be imported using its type token, name, and identifier, e.g.
$ pulumi import azure-native:network:HubVirtualNetworkConnection connection1 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/hubVirtualNetworkConnections/{connectionName}
Content copied to clipboard