NetworkToNetworkInterconnectArgs

data class NetworkToNetworkInterconnectArgs(val egressAclId: Output<String>? = null, val exportRoutePolicy: Output<ExportRoutePolicyInformationArgs>? = null, val importRoutePolicy: Output<ImportRoutePolicyInformationArgs>? = null, val ingressAclId: Output<String>? = null, val isManagementType: Output<Either<String, IsManagementType>>? = null, val layer2Configuration: Output<Layer2ConfigurationArgs>? = null, val networkFabricName: Output<String>? = null, val networkToNetworkInterconnectName: Output<String>? = null, val nniType: Output<Either<String, NniType>>? = null, val npbStaticRouteConfiguration: Output<NpbStaticRouteConfigurationArgs>? = null, val optionBLayer3Configuration: Output<NetworkToNetworkInterconnectPropertiesOptionBLayer3ConfigurationArgs>? = null, val resourceGroupName: Output<String>? = null, val useOptionB: Output<Either<String, BooleanEnumProperty>>? = null) : ConvertibleToJava<NetworkToNetworkInterconnectArgs>

The Network To Network Interconnect resource definition. Uses Azure REST API version 2023-06-15. In version 2.x of the Azure Native provider, it used API version 2023-02-01-preview. Other available API versions: 2023-02-01-preview. These can be accessed by generating a local SDK package using the CLI command pulumi package add azure-native managednetworkfabric [ApiVersion]. See the ../../../version-guide/#accessing-any-api-version-via-local-packages for details.

Example Usage

NetworkToNetworkInterconnects_Create_MaximumSet_Gen

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var networkToNetworkInterconnect = new AzureNative.ManagedNetworkFabric.NetworkToNetworkInterconnect("networkToNetworkInterconnect", new()
{
EgressAclId = "/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/accessControlLists/example-acl",
ExportRoutePolicy = new AzureNative.ManagedNetworkFabric.Inputs.ExportRoutePolicyInformationArgs
{
ExportIpv4RoutePolicyId = "/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/routePolicies/example-routePolicy",
ExportIpv6RoutePolicyId = "/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/routePolicies/example-routePolicy",
},
ImportRoutePolicy = new AzureNative.ManagedNetworkFabric.Inputs.ImportRoutePolicyInformationArgs
{
ImportIpv4RoutePolicyId = "/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/routePolicies/example-routePolicy",
ImportIpv6RoutePolicyId = "/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/routePolicies/example-routePolicy",
},
IngressAclId = "/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/accessControlLists/example-acl",
IsManagementType = AzureNative.ManagedNetworkFabric.IsManagementType.True,
Layer2Configuration = new AzureNative.ManagedNetworkFabric.Inputs.Layer2ConfigurationArgs
{
Interfaces = new[]
{
"/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/networkDevices/example-networkDevice/networkInterfaces/example-networkInterface",
},
Mtu = 1500,
},
NetworkFabricName = "example-fabric",
NetworkToNetworkInterconnectName = "example-nni",
NniType = AzureNative.ManagedNetworkFabric.NniType.CE,
NpbStaticRouteConfiguration = new AzureNative.ManagedNetworkFabric.Inputs.NpbStaticRouteConfigurationArgs
{
BfdConfiguration = new AzureNative.ManagedNetworkFabric.Inputs.BfdConfigurationArgs
{
IntervalInMilliSeconds = 300,
Multiplier = 25,
},
Ipv4Routes = new[]
{
new AzureNative.ManagedNetworkFabric.Inputs.StaticRoutePropertiesArgs
{
NextHop = new[]
{
"21.20.20.20",
},
Prefix = "20.0.0.12/30",
},
},
Ipv6Routes = new[]
{
new AzureNative.ManagedNetworkFabric.Inputs.StaticRoutePropertiesArgs
{
NextHop = new[]
{
"4FFE:FFFF:0:CD30::ac",
},
Prefix = "3FFE:FFFF:0:CD30::ac/127",
},
},
},
OptionBLayer3Configuration = new AzureNative.ManagedNetworkFabric.Inputs.NetworkToNetworkInterconnectPropertiesOptionBLayer3ConfigurationArgs
{
PeerASN = 61234,
PrimaryIpv4Prefix = "10.0.0.12/30",
PrimaryIpv6Prefix = "4FFE:FFFF:0:CD30::a8/127",
SecondaryIpv4Prefix = "40.0.0.14/30",
SecondaryIpv6Prefix = "6FFE:FFFF:0:CD30::ac/127",
VlanId = 1234,
},
ResourceGroupName = "example-rg",
UseOptionB = AzureNative.ManagedNetworkFabric.BooleanEnumProperty.True,
});
});
package main
import (
managednetworkfabric "github.com/pulumi/pulumi-azure-native-sdk/managednetworkfabric/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := managednetworkfabric.NewNetworkToNetworkInterconnect(ctx, "networkToNetworkInterconnect", &managednetworkfabric.NetworkToNetworkInterconnectArgs{
EgressAclId: pulumi.String("/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/accessControlLists/example-acl"),
ExportRoutePolicy: &managednetworkfabric.ExportRoutePolicyInformationArgs{
ExportIpv4RoutePolicyId: pulumi.String("/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/routePolicies/example-routePolicy"),
ExportIpv6RoutePolicyId: pulumi.String("/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/routePolicies/example-routePolicy"),
},
ImportRoutePolicy: &managednetworkfabric.ImportRoutePolicyInformationArgs{
ImportIpv4RoutePolicyId: pulumi.String("/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/routePolicies/example-routePolicy"),
ImportIpv6RoutePolicyId: pulumi.String("/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/routePolicies/example-routePolicy"),
},
IngressAclId: pulumi.String("/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/accessControlLists/example-acl"),
IsManagementType: pulumi.String(managednetworkfabric.IsManagementTypeTrue),
Layer2Configuration: &managednetworkfabric.Layer2ConfigurationArgs{
Interfaces: pulumi.StringArray{
pulumi.String("/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/networkDevices/example-networkDevice/networkInterfaces/example-networkInterface"),
},
Mtu: pulumi.Int(1500),
},
NetworkFabricName: pulumi.String("example-fabric"),
NetworkToNetworkInterconnectName: pulumi.String("example-nni"),
NniType: pulumi.String(managednetworkfabric.NniTypeCE),
NpbStaticRouteConfiguration: &managednetworkfabric.NpbStaticRouteConfigurationArgs{
BfdConfiguration: &managednetworkfabric.BfdConfigurationArgs{
IntervalInMilliSeconds: pulumi.Int(300),
Multiplier: pulumi.Int(25),
},
Ipv4Routes: managednetworkfabric.StaticRoutePropertiesArray{
&managednetworkfabric.StaticRoutePropertiesArgs{
NextHop: pulumi.StringArray{
pulumi.String("21.20.20.20"),
},
Prefix: pulumi.String("20.0.0.12/30"),
},
},
Ipv6Routes: managednetworkfabric.StaticRoutePropertiesArray{
&managednetworkfabric.StaticRoutePropertiesArgs{
NextHop: pulumi.StringArray{
pulumi.String("4FFE:FFFF:0:CD30::ac"),
},
Prefix: pulumi.String("3FFE:FFFF:0:CD30::ac/127"),
},
},
},
OptionBLayer3Configuration: &managednetworkfabric.NetworkToNetworkInterconnectPropertiesOptionBLayer3ConfigurationArgs{
PeerASN: pulumi.Float64(61234),
PrimaryIpv4Prefix: pulumi.String("10.0.0.12/30"),
PrimaryIpv6Prefix: pulumi.String("4FFE:FFFF:0:CD30::a8/127"),
SecondaryIpv4Prefix: pulumi.String("40.0.0.14/30"),
SecondaryIpv6Prefix: pulumi.String("6FFE:FFFF:0:CD30::ac/127"),
VlanId: pulumi.Int(1234),
},
ResourceGroupName: pulumi.String("example-rg"),
UseOptionB: pulumi.String(managednetworkfabric.BooleanEnumPropertyTrue),
})
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.azurenative.managednetworkfabric.NetworkToNetworkInterconnect;
import com.pulumi.azurenative.managednetworkfabric.NetworkToNetworkInterconnectArgs;
import com.pulumi.azurenative.managednetworkfabric.inputs.ExportRoutePolicyInformationArgs;
import com.pulumi.azurenative.managednetworkfabric.inputs.ImportRoutePolicyInformationArgs;
import com.pulumi.azurenative.managednetworkfabric.inputs.Layer2ConfigurationArgs;
import com.pulumi.azurenative.managednetworkfabric.inputs.NpbStaticRouteConfigurationArgs;
import com.pulumi.azurenative.managednetworkfabric.inputs.BfdConfigurationArgs;
import com.pulumi.azurenative.managednetworkfabric.inputs.NetworkToNetworkInterconnectPropertiesOptionBLayer3ConfigurationArgs;
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 networkToNetworkInterconnect = new NetworkToNetworkInterconnect("networkToNetworkInterconnect", NetworkToNetworkInterconnectArgs.builder()
.egressAclId("/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/accessControlLists/example-acl")
.exportRoutePolicy(ExportRoutePolicyInformationArgs.builder()
.exportIpv4RoutePolicyId("/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/routePolicies/example-routePolicy")
.exportIpv6RoutePolicyId("/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/routePolicies/example-routePolicy")
.build())
.importRoutePolicy(ImportRoutePolicyInformationArgs.builder()
.importIpv4RoutePolicyId("/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/routePolicies/example-routePolicy")
.importIpv6RoutePolicyId("/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/routePolicies/example-routePolicy")
.build())
.ingressAclId("/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/accessControlLists/example-acl")
.isManagementType("True")
.layer2Configuration(Layer2ConfigurationArgs.builder()
.interfaces("/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/networkDevices/example-networkDevice/networkInterfaces/example-networkInterface")
.mtu(1500)
.build())
.networkFabricName("example-fabric")
.networkToNetworkInterconnectName("example-nni")
.nniType("CE")
.npbStaticRouteConfiguration(NpbStaticRouteConfigurationArgs.builder()
.bfdConfiguration(BfdConfigurationArgs.builder()
.intervalInMilliSeconds(300)
.multiplier(25)
.build())
.ipv4Routes(StaticRoutePropertiesArgs.builder()
.nextHop("21.20.20.20")
.prefix("20.0.0.12/30")
.build())
.ipv6Routes(StaticRoutePropertiesArgs.builder()
.nextHop("4FFE:FFFF:0:CD30::ac")
.prefix("3FFE:FFFF:0:CD30::ac/127")
.build())
.build())
.optionBLayer3Configuration(NetworkToNetworkInterconnectPropertiesOptionBLayer3ConfigurationArgs.builder()
.peerASN(61234)
.primaryIpv4Prefix("10.0.0.12/30")
.primaryIpv6Prefix("4FFE:FFFF:0:CD30::a8/127")
.secondaryIpv4Prefix("40.0.0.14/30")
.secondaryIpv6Prefix("6FFE:FFFF:0:CD30::ac/127")
.vlanId(1234)
.build())
.resourceGroupName("example-rg")
.useOptionB("True")
.build());
}
}

Import

An existing resource can be imported using its type token, name, and identifier, e.g.

$ pulumi import azure-native:managednetworkfabric:NetworkToNetworkInterconnect example-nni /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedNetworkFabric/networkFabrics/{networkFabricName}/networkToNetworkInterconnects/{networkToNetworkInterconnectName}

Constructors

Link copied to clipboard
constructor(egressAclId: Output<String>? = null, exportRoutePolicy: Output<ExportRoutePolicyInformationArgs>? = null, importRoutePolicy: Output<ImportRoutePolicyInformationArgs>? = null, ingressAclId: Output<String>? = null, isManagementType: Output<Either<String, IsManagementType>>? = null, layer2Configuration: Output<Layer2ConfigurationArgs>? = null, networkFabricName: Output<String>? = null, networkToNetworkInterconnectName: Output<String>? = null, nniType: Output<Either<String, NniType>>? = null, npbStaticRouteConfiguration: Output<NpbStaticRouteConfigurationArgs>? = null, optionBLayer3Configuration: Output<NetworkToNetworkInterconnectPropertiesOptionBLayer3ConfigurationArgs>? = null, resourceGroupName: Output<String>? = null, useOptionB: Output<Either<String, BooleanEnumProperty>>? = null)

Properties

Link copied to clipboard
val egressAclId: Output<String>? = null

Egress Acl. ARM resource ID of Access Control Lists.

Link copied to clipboard

Export Route Policy configuration.

Link copied to clipboard

Import Route Policy configuration.

Link copied to clipboard
val ingressAclId: Output<String>? = null

Ingress Acl. ARM resource ID of Access Control Lists.

Link copied to clipboard
val isManagementType: Output<Either<String, IsManagementType>>? = null

Configuration to use NNI for Infrastructure Management. Example: True/False.

Link copied to clipboard

Common properties for Layer2 Configuration.

Link copied to clipboard
val networkFabricName: Output<String>? = null

Name of the Network Fabric.

Link copied to clipboard

Name of the Network to Network Interconnect.

Link copied to clipboard
val nniType: Output<Either<String, NniType>>? = null

Type of NNI used. Example: CE | NPB

Link copied to clipboard

NPB Static Route Configuration properties.

Link copied to clipboard

Common properties for Layer3Configuration.

Link copied to clipboard
val resourceGroupName: Output<String>? = null

The name of the resource group. The name is case insensitive.

Link copied to clipboard
val useOptionB: Output<Either<String, BooleanEnumProperty>>? = null

Based on this option layer3 parameters are mandatory. Example: True/False

Functions

Link copied to clipboard
open override fun toJava(): NetworkToNetworkInterconnectArgs