NetworkToNetworkInterconnect

class NetworkToNetworkInterconnect : KotlinCustomResource

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}

Properties

Link copied to clipboard

Administrative state of the resource.

Link copied to clipboard
val azureApiVersion: Output<String>

The Azure API version of the resource.

Link copied to clipboard

Configuration state of the resource.

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

Egress Acl. ARM resource ID of Access Control Lists.

Link copied to clipboard

Export Route Policy configuration.

Link copied to clipboard
val id: Output<String>
Link copied to clipboard

Import Route Policy configuration.

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

Ingress Acl. ARM resource ID of Access Control Lists.

Link copied to clipboard
val isManagementType: Output<String>?

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

Link copied to clipboard

Common properties for Layer2 Configuration.

Link copied to clipboard
val name: Output<String>

The name of the resource

Link copied to clipboard
val nniType: Output<String>?

Type of NNI used. Example: CE | NPB

Link copied to clipboard

NPB Static Route Configuration properties.

Link copied to clipboard
Link copied to clipboard

Provisioning state of the resource.

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Azure Resource Manager metadata containing createdBy and modifiedBy information.

Link copied to clipboard
val type: Output<String>

The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"

Link copied to clipboard
val urn: Output<String>
Link copied to clipboard
val useOptionB: Output<String>

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