NetworkFabricArgs

data class NetworkFabricArgs(val annotation: Output<String>? = null, val fabricASN: Output<Double>? = null, val fabricVersion: Output<String>? = null, val ipv4Prefix: Output<String>? = null, val ipv6Prefix: Output<String>? = null, val location: Output<String>? = null, val managementNetworkConfiguration: Output<ManagementNetworkConfigurationPropertiesArgs>? = null, val networkFabricControllerId: Output<String>? = null, val networkFabricName: Output<String>? = null, val networkFabricSku: Output<String>? = null, val rackCount: Output<Int>? = null, val resourceGroupName: Output<String>? = null, val serverCountPerRack: Output<Int>? = null, val tags: Output<Map<String, String>>? = null, val terminalServerConfiguration: Output<TerminalServerConfigurationArgs>? = null) : ConvertibleToJava<NetworkFabricArgs>

The Network Fabric 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

NetworkFabrics_Create_MaximumSet_Gen

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var networkFabric = new AzureNative.ManagedNetworkFabric.NetworkFabric("networkFabric", new()
{
Annotation = "annotation",
FabricASN = 29249,
FabricVersion = "1.x.x",
Ipv4Prefix = "10.18.0.0/19",
Ipv6Prefix = "3FFE:FFFF:0:CD40::/59",
Location = "eastuseuap",
ManagementNetworkConfiguration = new AzureNative.ManagedNetworkFabric.Inputs.ManagementNetworkConfigurationPropertiesArgs
{
InfrastructureVpnConfiguration = new AzureNative.ManagedNetworkFabric.Inputs.VpnConfigurationPropertiesArgs
{
NetworkToNetworkInterconnectId = "/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/networkFabrics/example-fabric/networkToNetworkInterconnects/example-nni",
OptionAProperties = new AzureNative.ManagedNetworkFabric.Inputs.VpnConfigurationPropertiesOptionAPropertiesArgs
{
BfdConfiguration = new AzureNative.ManagedNetworkFabric.Inputs.BfdConfigurationArgs
{
IntervalInMilliSeconds = 300,
Multiplier = 10,
},
Mtu = 1501,
PeerASN = 1235,
PrimaryIpv4Prefix = "10.0.0.12/30",
PrimaryIpv6Prefix = "4FFE:FFFF:0:CD30::a8/127",
SecondaryIpv4Prefix = "20.0.0.13/30",
SecondaryIpv6Prefix = "6FFE:FFFF:0:CD30::ac/127",
VlanId = 3001,
},
OptionBProperties = new AzureNative.ManagedNetworkFabric.Inputs.FabricOptionBPropertiesArgs
{
ExportRouteTargets = new[]
{
"65046:10050",
},
ImportRouteTargets = new[]
{
"65046:10050",
},
RouteTargets = new AzureNative.ManagedNetworkFabric.Inputs.RouteTargetInformationArgs
{
ExportIpv4RouteTargets = new[]
{
"65046:10039",
},
ExportIpv6RouteTargets = new[]
{
"65046:10039",
},
ImportIpv4RouteTargets = new[]
{
"65046:10039",
},
ImportIpv6RouteTargets = new[]
{
"65046:10039",
},
},
},
PeeringOption = AzureNative.ManagedNetworkFabric.PeeringOption.OptionA,
},
WorkloadVpnConfiguration = new AzureNative.ManagedNetworkFabric.Inputs.VpnConfigurationPropertiesArgs
{
NetworkToNetworkInterconnectId = "/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/networkFabrics/example-fabric/networkToNetworkInterconnects/example-nni",
OptionAProperties = new AzureNative.ManagedNetworkFabric.Inputs.VpnConfigurationPropertiesOptionAPropertiesArgs
{
BfdConfiguration = new AzureNative.ManagedNetworkFabric.Inputs.BfdConfigurationArgs
{
IntervalInMilliSeconds = 300,
Multiplier = 5,
},
Mtu = 1500,
PeerASN = 61234,
PrimaryIpv4Prefix = "10.0.0.14/30",
PrimaryIpv6Prefix = "2FFE:FFFF:0:CD30::a7/126",
SecondaryIpv4Prefix = "10.0.0.15/30",
SecondaryIpv6Prefix = "2FFE:FFFF:0:CD30::ac/126",
VlanId = 3000,
},
OptionBProperties = new AzureNative.ManagedNetworkFabric.Inputs.FabricOptionBPropertiesArgs
{
ExportRouteTargets = new[]
{
"65046:10050",
},
ImportRouteTargets = new[]
{
"65046:10050",
},
RouteTargets = new AzureNative.ManagedNetworkFabric.Inputs.RouteTargetInformationArgs
{
ExportIpv4RouteTargets = new[]
{
"65046:10039",
},
ExportIpv6RouteTargets = new[]
{
"65046:10039",
},
ImportIpv4RouteTargets = new[]
{
"65046:10039",
},
ImportIpv6RouteTargets = new[]
{
"65046:10039",
},
},
},
PeeringOption = AzureNative.ManagedNetworkFabric.PeeringOption.OptionA,
},
},
NetworkFabricControllerId = "/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/example-fabricController",
NetworkFabricName = "example-fabric",
NetworkFabricSku = "M4-A400-A100-C16-aa",
RackCount = 4,
ResourceGroupName = "example-rg",
ServerCountPerRack = 8,
Tags =
{
{ "keyID", "keyValue" },
},
TerminalServerConfiguration = new AzureNative.ManagedNetworkFabric.Inputs.TerminalServerConfigurationArgs
{
Password = "xxxx",
PrimaryIpv4Prefix = "10.0.0.12/30",
PrimaryIpv6Prefix = "4FFE:FFFF:0:CD30::a8/127",
SecondaryIpv4Prefix = "20.0.0.13/30",
SecondaryIpv6Prefix = "6FFE:FFFF:0:CD30::ac/127",
SerialNumber = "123456",
Username = "username",
},
});
});
package main
import (
managednetworkfabric "github.com/pulumi/pulumi-azure-native-sdk/managednetworkfabric/v3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := managednetworkfabric.NewNetworkFabric(ctx, "networkFabric", &managednetworkfabric.NetworkFabricArgs{
Annotation: pulumi.String("annotation"),
FabricASN: pulumi.Float64(29249),
FabricVersion: pulumi.String("1.x.x"),
Ipv4Prefix: pulumi.String("10.18.0.0/19"),
Ipv6Prefix: pulumi.String("3FFE:FFFF:0:CD40::/59"),
Location: pulumi.String("eastuseuap"),
ManagementNetworkConfiguration: &managednetworkfabric.ManagementNetworkConfigurationPropertiesArgs{
InfrastructureVpnConfiguration: &managednetworkfabric.VpnConfigurationPropertiesArgs{
NetworkToNetworkInterconnectId: pulumi.String("/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/networkFabrics/example-fabric/networkToNetworkInterconnects/example-nni"),
OptionAProperties: &managednetworkfabric.VpnConfigurationPropertiesOptionAPropertiesArgs{
BfdConfiguration: &managednetworkfabric.BfdConfigurationArgs{
IntervalInMilliSeconds: pulumi.Int(300),
Multiplier: pulumi.Int(10),
},
Mtu: pulumi.Int(1501),
PeerASN: pulumi.Float64(1235),
PrimaryIpv4Prefix: pulumi.String("10.0.0.12/30"),
PrimaryIpv6Prefix: pulumi.String("4FFE:FFFF:0:CD30::a8/127"),
SecondaryIpv4Prefix: pulumi.String("20.0.0.13/30"),
SecondaryIpv6Prefix: pulumi.String("6FFE:FFFF:0:CD30::ac/127"),
VlanId: pulumi.Int(3001),
},
OptionBProperties: &managednetworkfabric.FabricOptionBPropertiesArgs{
ExportRouteTargets: pulumi.StringArray{
pulumi.String("65046:10050"),
},
ImportRouteTargets: pulumi.StringArray{
pulumi.String("65046:10050"),
},
RouteTargets: &managednetworkfabric.RouteTargetInformationArgs{
ExportIpv4RouteTargets: pulumi.StringArray{
pulumi.String("65046:10039"),
},
ExportIpv6RouteTargets: pulumi.StringArray{
pulumi.String("65046:10039"),
},
ImportIpv4RouteTargets: pulumi.StringArray{
pulumi.String("65046:10039"),
},
ImportIpv6RouteTargets: pulumi.StringArray{
pulumi.String("65046:10039"),
},
},
},
PeeringOption: pulumi.String(managednetworkfabric.PeeringOptionOptionA),
},
WorkloadVpnConfiguration: &managednetworkfabric.VpnConfigurationPropertiesArgs{
NetworkToNetworkInterconnectId: pulumi.String("/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/networkFabrics/example-fabric/networkToNetworkInterconnects/example-nni"),
OptionAProperties: &managednetworkfabric.VpnConfigurationPropertiesOptionAPropertiesArgs{
BfdConfiguration: &managednetworkfabric.BfdConfigurationArgs{
IntervalInMilliSeconds: pulumi.Int(300),
Multiplier: pulumi.Int(5),
},
Mtu: pulumi.Int(1500),
PeerASN: pulumi.Float64(61234),
PrimaryIpv4Prefix: pulumi.String("10.0.0.14/30"),
PrimaryIpv6Prefix: pulumi.String("2FFE:FFFF:0:CD30::a7/126"),
SecondaryIpv4Prefix: pulumi.String("10.0.0.15/30"),
SecondaryIpv6Prefix: pulumi.String("2FFE:FFFF:0:CD30::ac/126"),
VlanId: pulumi.Int(3000),
},
OptionBProperties: &managednetworkfabric.FabricOptionBPropertiesArgs{
ExportRouteTargets: pulumi.StringArray{
pulumi.String("65046:10050"),
},
ImportRouteTargets: pulumi.StringArray{
pulumi.String("65046:10050"),
},
RouteTargets: &managednetworkfabric.RouteTargetInformationArgs{
ExportIpv4RouteTargets: pulumi.StringArray{
pulumi.String("65046:10039"),
},
ExportIpv6RouteTargets: pulumi.StringArray{
pulumi.String("65046:10039"),
},
ImportIpv4RouteTargets: pulumi.StringArray{
pulumi.String("65046:10039"),
},
ImportIpv6RouteTargets: pulumi.StringArray{
pulumi.String("65046:10039"),
},
},
},
PeeringOption: pulumi.String(managednetworkfabric.PeeringOptionOptionA),
},
},
NetworkFabricControllerId: pulumi.String("/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/example-fabricController"),
NetworkFabricName: pulumi.String("example-fabric"),
NetworkFabricSku: pulumi.String("M4-A400-A100-C16-aa"),
RackCount: pulumi.Int(4),
ResourceGroupName: pulumi.String("example-rg"),
ServerCountPerRack: pulumi.Int(8),
Tags: pulumi.StringMap{
"keyID": pulumi.String("keyValue"),
},
TerminalServerConfiguration: &managednetworkfabric.TerminalServerConfigurationArgs{
Password: pulumi.String("xxxx"),
PrimaryIpv4Prefix: pulumi.String("10.0.0.12/30"),
PrimaryIpv6Prefix: pulumi.String("4FFE:FFFF:0:CD30::a8/127"),
SecondaryIpv4Prefix: pulumi.String("20.0.0.13/30"),
SecondaryIpv6Prefix: pulumi.String("6FFE:FFFF:0:CD30::ac/127"),
SerialNumber: pulumi.String("123456"),
Username: pulumi.String("username"),
},
})
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.NetworkFabric;
import com.pulumi.azurenative.managednetworkfabric.NetworkFabricArgs;
import com.pulumi.azurenative.managednetworkfabric.inputs.ManagementNetworkConfigurationPropertiesArgs;
import com.pulumi.azurenative.managednetworkfabric.inputs.VpnConfigurationPropertiesArgs;
import com.pulumi.azurenative.managednetworkfabric.inputs.VpnConfigurationPropertiesOptionAPropertiesArgs;
import com.pulumi.azurenative.managednetworkfabric.inputs.BfdConfigurationArgs;
import com.pulumi.azurenative.managednetworkfabric.inputs.FabricOptionBPropertiesArgs;
import com.pulumi.azurenative.managednetworkfabric.inputs.RouteTargetInformationArgs;
import com.pulumi.azurenative.managednetworkfabric.inputs.TerminalServerConfigurationArgs;
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 networkFabric = new NetworkFabric("networkFabric", NetworkFabricArgs.builder()
.annotation("annotation")
.fabricASN(29249.0)
.fabricVersion("1.x.x")
.ipv4Prefix("10.18.0.0/19")
.ipv6Prefix("3FFE:FFFF:0:CD40::/59")
.location("eastuseuap")
.managementNetworkConfiguration(ManagementNetworkConfigurationPropertiesArgs.builder()
.infrastructureVpnConfiguration(VpnConfigurationPropertiesArgs.builder()
.networkToNetworkInterconnectId("/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/networkFabrics/example-fabric/networkToNetworkInterconnects/example-nni")
.optionAProperties(VpnConfigurationPropertiesOptionAPropertiesArgs.builder()
.bfdConfiguration(BfdConfigurationArgs.builder()
.intervalInMilliSeconds(300)
.multiplier(10)
.build())
.mtu(1501)
.peerASN(1235.0)
.primaryIpv4Prefix("10.0.0.12/30")
.primaryIpv6Prefix("4FFE:FFFF:0:CD30::a8/127")
.secondaryIpv4Prefix("20.0.0.13/30")
.secondaryIpv6Prefix("6FFE:FFFF:0:CD30::ac/127")
.vlanId(3001)
.build())
.optionBProperties(FabricOptionBPropertiesArgs.builder()
.exportRouteTargets("65046:10050")
.importRouteTargets("65046:10050")
.routeTargets(RouteTargetInformationArgs.builder()
.exportIpv4RouteTargets("65046:10039")
.exportIpv6RouteTargets("65046:10039")
.importIpv4RouteTargets("65046:10039")
.importIpv6RouteTargets("65046:10039")
.build())
.build())
.peeringOption("OptionA")
.build())
.workloadVpnConfiguration(VpnConfigurationPropertiesArgs.builder()
.networkToNetworkInterconnectId("/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/networkFabrics/example-fabric/networkToNetworkInterconnects/example-nni")
.optionAProperties(VpnConfigurationPropertiesOptionAPropertiesArgs.builder()
.bfdConfiguration(BfdConfigurationArgs.builder()
.intervalInMilliSeconds(300)
.multiplier(5)
.build())
.mtu(1500)
.peerASN(61234.0)
.primaryIpv4Prefix("10.0.0.14/30")
.primaryIpv6Prefix("2FFE:FFFF:0:CD30::a7/126")
.secondaryIpv4Prefix("10.0.0.15/30")
.secondaryIpv6Prefix("2FFE:FFFF:0:CD30::ac/126")
.vlanId(3000)
.build())
.optionBProperties(FabricOptionBPropertiesArgs.builder()
.exportRouteTargets("65046:10050")
.importRouteTargets("65046:10050")
.routeTargets(RouteTargetInformationArgs.builder()
.exportIpv4RouteTargets("65046:10039")
.exportIpv6RouteTargets("65046:10039")
.importIpv4RouteTargets("65046:10039")
.importIpv6RouteTargets("65046:10039")
.build())
.build())
.peeringOption("OptionA")
.build())
.build())
.networkFabricControllerId("/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/example-fabricController")
.networkFabricName("example-fabric")
.networkFabricSku("M4-A400-A100-C16-aa")
.rackCount(4)
.resourceGroupName("example-rg")
.serverCountPerRack(8)
.tags(Map.of("keyID", "keyValue"))
.terminalServerConfiguration(TerminalServerConfigurationArgs.builder()
.password("xxxx")
.primaryIpv4Prefix("10.0.0.12/30")
.primaryIpv6Prefix("4FFE:FFFF:0:CD30::a8/127")
.secondaryIpv4Prefix("20.0.0.13/30")
.secondaryIpv6Prefix("6FFE:FFFF:0:CD30::ac/127")
.serialNumber("123456")
.username("username")
.build())
.build());
}
}

Import

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

$ pulumi import azure-native:managednetworkfabric:NetworkFabric example-fabric /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedNetworkFabric/networkFabrics/{networkFabricName}

Constructors

Link copied to clipboard
constructor(annotation: Output<String>? = null, fabricASN: Output<Double>? = null, fabricVersion: Output<String>? = null, ipv4Prefix: Output<String>? = null, ipv6Prefix: Output<String>? = null, location: Output<String>? = null, managementNetworkConfiguration: Output<ManagementNetworkConfigurationPropertiesArgs>? = null, networkFabricControllerId: Output<String>? = null, networkFabricName: Output<String>? = null, networkFabricSku: Output<String>? = null, rackCount: Output<Int>? = null, resourceGroupName: Output<String>? = null, serverCountPerRack: Output<Int>? = null, tags: Output<Map<String, String>>? = null, terminalServerConfiguration: Output<TerminalServerConfigurationArgs>? = null)

Properties

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

Switch configuration description.

Link copied to clipboard
val fabricASN: Output<Double>? = null

ASN of CE devices for CE/PE connectivity.

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

The version of Network Fabric.

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

IPv4Prefix for Management Network. Example: 10.1.0.0/19.

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

IPv6Prefix for Management Network. Example: 3FFE:FFFF:0:CD40::/59

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

The geo-location where the resource lives

Link copied to clipboard

Configuration to be used to setup the management network.

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

Azure resource ID for the NetworkFabricController the NetworkFabric belongs.

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

Name of the Network Fabric.

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

Supported Network Fabric SKU.Example: Compute / Aggregate racks. Once the user chooses a particular SKU, only supported racks can be added to the Network Fabric. The SKU determines whether it is a single / multi rack Network Fabric.

Link copied to clipboard
val rackCount: Output<Int>? = null

Number of compute racks associated to Network Fabric.

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 serverCountPerRack: Output<Int>? = null

Number of servers.Possible values are from 1-16.

Link copied to clipboard
val tags: Output<Map<String, String>>? = null

Resource tags.

Link copied to clipboard

Network and credentials configuration currently applied to terminal server.

Functions

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