NetworkFabricArgs

data class NetworkFabricArgs(val annotation: Output<String>? = null, val fabricASN: Output<Int>? = null, val ipv4Prefix: Output<String>? = null, val ipv6Prefix: Output<String>? = null, val location: Output<String>? = null, val managementNetworkConfiguration: Output<ManagementNetworkConfigurationArgs>? = 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 NetworkFabric resource definition. Azure REST API version: 2023-02-01-preview. Prior API version in Azure Native 1.x: 2023-02-01-preview. Other available API versions: 2023-06-15.

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 = "annotationValue",
FabricASN = 29249,
Ipv4Prefix = "10.18.0.0/19",
Ipv6Prefix = "3FFE:FFFF:0:CD40::/59",
Location = "eastuseuap",
ManagementNetworkConfiguration = new AzureNative.ManagedNetworkFabric.Inputs.ManagementNetworkConfigurationArgs
{
InfrastructureVpnConfiguration = new AzureNative.ManagedNetworkFabric.Inputs.VpnConfigurationPropertiesArgs
{
OptionAProperties = new AzureNative.ManagedNetworkFabric.Inputs.OptionAPropertiesArgs
{
Mtu = 5892,
PeerASN = 42666,
PrimaryIpv4Prefix = "20.0.0.12/30",
PrimaryIpv6Prefix = "3FFE:FFFF:0:CD30::a8/126",
SecondaryIpv4Prefix = "20.0.0.13/30",
SecondaryIpv6Prefix = "3FFE:FFFF:0:CD30::ac/126",
VlanId = 2724,
},
OptionBProperties = new AzureNative.ManagedNetworkFabric.Inputs.FabricOptionBPropertiesArgs
{
ExportRouteTargets = new[]
{
"65046:10039",
},
ImportRouteTargets = new[]
{
"65046:10039",
},
},
PeeringOption = "OptionA",
},
WorkloadVpnConfiguration = new AzureNative.ManagedNetworkFabric.Inputs.VpnConfigurationPropertiesArgs
{
OptionAProperties = new AzureNative.ManagedNetworkFabric.Inputs.OptionAPropertiesArgs
{
Mtu = 5892,
PeerASN = 42666,
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 = 2724,
},
OptionBProperties = new AzureNative.ManagedNetworkFabric.Inputs.FabricOptionBPropertiesArgs
{
ExportRouteTargets = new[]
{
"65046:10050",
},
ImportRouteTargets = new[]
{
"65046:10050",
},
},
PeeringOption = "OptionA",
},
},
NetworkFabricControllerId = "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/fabricControllerName",
NetworkFabricName = "FabricName",
NetworkFabricSku = "M4-A400-A100-C16-aa",
RackCount = 4,
ResourceGroupName = "resourceGroupName",
ServerCountPerRack = 8,
Tags =
{
{ "key6468", "" },
},
TerminalServerConfiguration = new AzureNative.ManagedNetworkFabric.Inputs.TerminalServerConfigurationArgs
{
Password = "xxxx",
PrimaryIpv4Prefix = "20.0.0.12/30",
PrimaryIpv6Prefix = "3FFE:FFFF:0:CD30::a8/126",
SecondaryIpv4Prefix = "20.0.0.13/30",
SecondaryIpv6Prefix = "3FFE:FFFF:0:CD30::ac/126",
SerialNumber = "123456",
Username = "username",
},
});
});
package main
import (
"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.NewNetworkFabric(ctx, "networkFabric", &managednetworkfabric.NetworkFabricArgs{
Annotation: pulumi.String("annotationValue"),
FabricASN: pulumi.Int(29249),
Ipv4Prefix: pulumi.String("10.18.0.0/19"),
Ipv6Prefix: pulumi.String("3FFE:FFFF:0:CD40::/59"),
Location: pulumi.String("eastuseuap"),
ManagementNetworkConfiguration: managednetworkfabric.ManagementNetworkConfigurationResponse{
InfrastructureVpnConfiguration: interface{}{
OptionAProperties: &managednetworkfabric.OptionAPropertiesArgs{
Mtu: pulumi.Int(5892),
PeerASN: pulumi.Int(42666),
PrimaryIpv4Prefix: pulumi.String("20.0.0.12/30"),
PrimaryIpv6Prefix: pulumi.String("3FFE:FFFF:0:CD30::a8/126"),
SecondaryIpv4Prefix: pulumi.String("20.0.0.13/30"),
SecondaryIpv6Prefix: pulumi.String("3FFE:FFFF:0:CD30::ac/126"),
VlanId: pulumi.Int(2724),
},
OptionBProperties: &managednetworkfabric.FabricOptionBPropertiesArgs{
ExportRouteTargets: pulumi.StringArray{
pulumi.String("65046:10039"),
},
ImportRouteTargets: pulumi.StringArray{
pulumi.String("65046:10039"),
},
},
PeeringOption: pulumi.String("OptionA"),
},
WorkloadVpnConfiguration: interface{}{
OptionAProperties: &managednetworkfabric.OptionAPropertiesArgs{
Mtu: pulumi.Int(5892),
PeerASN: pulumi.Int(42666),
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(2724),
},
OptionBProperties: &managednetworkfabric.FabricOptionBPropertiesArgs{
ExportRouteTargets: pulumi.StringArray{
pulumi.String("65046:10050"),
},
ImportRouteTargets: pulumi.StringArray{
pulumi.String("65046:10050"),
},
},
PeeringOption: pulumi.String("OptionA"),
},
},
NetworkFabricControllerId: pulumi.String("/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/fabricControllerName"),
NetworkFabricName: pulumi.String("FabricName"),
NetworkFabricSku: pulumi.String("M4-A400-A100-C16-aa"),
RackCount: pulumi.Int(4),
ResourceGroupName: pulumi.String("resourceGroupName"),
ServerCountPerRack: pulumi.Int(8),
Tags: pulumi.StringMap{
"key6468": pulumi.String(""),
},
TerminalServerConfiguration: &managednetworkfabric.TerminalServerConfigurationArgs{
Password: pulumi.String("xxxx"),
PrimaryIpv4Prefix: pulumi.String("20.0.0.12/30"),
PrimaryIpv6Prefix: pulumi.String("3FFE:FFFF:0:CD30::a8/126"),
SecondaryIpv4Prefix: pulumi.String("20.0.0.13/30"),
SecondaryIpv6Prefix: pulumi.String("3FFE:FFFF:0:CD30::ac/126"),
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 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("annotationValue")
.fabricASN(29249)
.ipv4Prefix("10.18.0.0/19")
.ipv6Prefix("3FFE:FFFF:0:CD40::/59")
.location("eastuseuap")
.managementNetworkConfiguration(Map.ofEntries(
Map.entry("infrastructureVpnConfiguration", Map.ofEntries(
Map.entry("optionAProperties", Map.ofEntries(
Map.entry("mtu", 5892),
Map.entry("peerASN", 42666),
Map.entry("primaryIpv4Prefix", "20.0.0.12/30"),
Map.entry("primaryIpv6Prefix", "3FFE:FFFF:0:CD30::a8/126"),
Map.entry("secondaryIpv4Prefix", "20.0.0.13/30"),
Map.entry("secondaryIpv6Prefix", "3FFE:FFFF:0:CD30::ac/126"),
Map.entry("vlanId", 2724)
)),
Map.entry("optionBProperties", Map.ofEntries(
Map.entry("exportRouteTargets", "65046:10039"),
Map.entry("importRouteTargets", "65046:10039")
)),
Map.entry("peeringOption", "OptionA")
)),
Map.entry("workloadVpnConfiguration", Map.ofEntries(
Map.entry("optionAProperties", Map.ofEntries(
Map.entry("mtu", 5892),
Map.entry("peerASN", 42666),
Map.entry("primaryIpv4Prefix", "10.0.0.14/30"),
Map.entry("primaryIpv6Prefix", "2FFE:FFFF:0:CD30::a7/126"),
Map.entry("secondaryIpv4Prefix", "10.0.0.15/30"),
Map.entry("secondaryIpv6Prefix", "2FFE:FFFF:0:CD30::ac/126"),
Map.entry("vlanId", 2724)
)),
Map.entry("optionBProperties", Map.ofEntries(
Map.entry("exportRouteTargets", "65046:10050"),
Map.entry("importRouteTargets", "65046:10050")
)),
Map.entry("peeringOption", "OptionA")
))
))
.networkFabricControllerId("/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/fabricControllerName")
.networkFabricName("FabricName")
.networkFabricSku("M4-A400-A100-C16-aa")
.rackCount(4)
.resourceGroupName("resourceGroupName")
.serverCountPerRack(8)
.tags(Map.of("key6468", ""))
.terminalServerConfiguration(Map.ofEntries(
Map.entry("password", "xxxx"),
Map.entry("primaryIpv4Prefix", "20.0.0.12/30"),
Map.entry("primaryIpv6Prefix", "3FFE:FFFF:0:CD30::a8/126"),
Map.entry("secondaryIpv4Prefix", "20.0.0.13/30"),
Map.entry("secondaryIpv6Prefix", "3FFE:FFFF:0:CD30::ac/126"),
Map.entry("serialNumber", "123456"),
Map.entry("username", "username")
))
.build());
}
}

Import

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

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

Constructors

Link copied to clipboard
fun NetworkFabricArgs(annotation: Output<String>? = null, fabricASN: Output<Int>? = null, ipv4Prefix: Output<String>? = null, ipv6Prefix: Output<String>? = null, location: Output<String>? = null, managementNetworkConfiguration: Output<ManagementNetworkConfigurationArgs>? = 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)

Functions

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

Properties

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

Switch configuration description.

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

ASN of CE devices for CE/PE connectivity.

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 racks associated to Network Fabric.Possible values are from 2-8.

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.