Network Fabric
The NetworkFabric resource definition. Uses Azure REST API version 2023-02-01-preview. In version 1.x of the Azure Native provider, it used API version 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 = AzureNative.ManagedNetworkFabric.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 = AzureNative.ManagedNetworkFabric.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 (
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.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.ManagementNetworkConfigurationArgs{
InfrastructureVpnConfiguration: &managednetworkfabric.VpnConfigurationPropertiesArgs{
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(managednetworkfabric.PeeringOptionOptionA),
},
WorkloadVpnConfiguration: &managednetworkfabric.VpnConfigurationPropertiesArgs{
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(managednetworkfabric.PeeringOptionOptionA),
},
},
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 com.pulumi.azurenative.managednetworkfabric.inputs.ManagementNetworkConfigurationArgs;
import com.pulumi.azurenative.managednetworkfabric.inputs.VpnConfigurationPropertiesArgs;
import com.pulumi.azurenative.managednetworkfabric.inputs.OptionAPropertiesArgs;
import com.pulumi.azurenative.managednetworkfabric.inputs.FabricOptionBPropertiesArgs;
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("annotationValue")
.fabricASN(29249)
.ipv4Prefix("10.18.0.0/19")
.ipv6Prefix("3FFE:FFFF:0:CD40::/59")
.location("eastuseuap")
.managementNetworkConfiguration(ManagementNetworkConfigurationArgs.builder()
.infrastructureVpnConfiguration(VpnConfigurationPropertiesArgs.builder()
.optionAProperties(OptionAPropertiesArgs.builder()
.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)
.build())
.optionBProperties(FabricOptionBPropertiesArgs.builder()
.exportRouteTargets("65046:10039")
.importRouteTargets("65046:10039")
.build())
.peeringOption("OptionA")
.build())
.workloadVpnConfiguration(VpnConfigurationPropertiesArgs.builder()
.optionAProperties(OptionAPropertiesArgs.builder()
.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)
.build())
.optionBProperties(FabricOptionBPropertiesArgs.builder()
.exportRouteTargets("65046:10050")
.importRouteTargets("65046:10050")
.build())
.peeringOption("OptionA")
.build())
.build())
.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(TerminalServerConfigurationArgs.builder()
.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")
.build())
.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}
Properties
Switch configuration description.
IPv4Prefix for Management Network. Example: 10.1.0.0/19.
IPv6Prefix for Management Network. Example: 3FFE:FFFF:0:CD40::/59.
List of L2IsolationDomain resource IDs under the Network Fabric.
List of L3IsolationDomain resource IDs under the Network Fabric.
Configuration to be used to setup the management network.
Azure resource ID for the NetworkFabricController the NetworkFabric belongs.
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.
Gets the operational state of the resource.
Gets the provisioning state of the resource.
Number of servers.Possible values are from 1-16.
Azure Resource Manager metadata containing createdBy and modifiedBy information.
Network and credentials configuration currently applied to terminal server.