ExternalNetworkArgs

data class ExternalNetworkArgs(val annotation: Output<String>? = null, val exportRoutePolicy: Output<ExportRoutePolicyArgs>? = null, val exportRoutePolicyId: Output<String>? = null, val externalNetworkName: Output<String>? = null, val importRoutePolicy: Output<ImportRoutePolicyArgs>? = null, val importRoutePolicyId: Output<String>? = null, val l3IsolationDomainName: Output<String>? = null, val networkToNetworkInterconnectId: Output<String>? = null, val optionAProperties: Output<ExternalNetworkPropertiesOptionAPropertiesArgs>? = null, val optionBProperties: Output<L3OptionBPropertiesArgs>? = null, val peeringOption: Output<Either<String, PeeringOption>>? = null, val resourceGroupName: Output<String>? = null) : ConvertibleToJava<ExternalNetworkArgs>

Defines the External Network resource. 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

ExternalNetworks_Create_MaximumSet_Gen

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var externalNetwork = new AzureNative.ManagedNetworkFabric.ExternalNetwork("externalNetwork", new()
{
Annotation = "annotation",
ExportRoutePolicy = new AzureNative.ManagedNetworkFabric.Inputs.ExportRoutePolicyArgs
{
ExportIpv4RoutePolicyId = "/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/routePolicies/routePolicyName",
ExportIpv6RoutePolicyId = "/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/routePolicies/routePolicyName",
},
ExportRoutePolicyId = "/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/routePolicies/routePolicyName",
ExternalNetworkName = "example-externalnetwork",
ImportRoutePolicy = new AzureNative.ManagedNetworkFabric.Inputs.ImportRoutePolicyArgs
{
ImportIpv4RoutePolicyId = "/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/routePolicies/routePolicyName",
ImportIpv6RoutePolicyId = "/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/routePolicies/routePolicyName",
},
ImportRoutePolicyId = "/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/routePolicies/routePolicyName",
L3IsolationDomainName = "example-l3domain",
NetworkToNetworkInterconnectId = "/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/networkFabrics/example-fabric/networkToNetworkInterconnects/example-nni",
OptionAProperties = new AzureNative.ManagedNetworkFabric.Inputs.ExternalNetworkPropertiesOptionAPropertiesArgs
{
BfdConfiguration = new AzureNative.ManagedNetworkFabric.Inputs.BfdConfigurationArgs
{
IntervalInMilliSeconds = 300,
Multiplier = 15,
},
EgressAclId = "/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/accessControlLists/example-acl",
IngressAclId = "/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/accessControlLists/example-acl",
Mtu = 1500,
PeerASN = 65047,
PrimaryIpv4Prefix = "10.1.1.0/30",
PrimaryIpv6Prefix = "3FFE:FFFF:0:CD30::a0/126",
SecondaryIpv4Prefix = "10.1.1.4/30",
SecondaryIpv6Prefix = "3FFE:FFFF:0:CD30::a4/126",
VlanId = 1001,
},
OptionBProperties = new AzureNative.ManagedNetworkFabric.Inputs.L3OptionBPropertiesArgs
{
ExportRouteTargets = new[]
{
"65046:10039",
},
ImportRouteTargets = new[]
{
"65046:10039",
},
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,
ResourceGroupName = "example-rg",
});
});
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.NewExternalNetwork(ctx, "externalNetwork", &managednetworkfabric.ExternalNetworkArgs{
Annotation: pulumi.String("annotation"),
ExportRoutePolicy: &managednetworkfabric.ExportRoutePolicyArgs{
ExportIpv4RoutePolicyId: pulumi.String("/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/routePolicies/routePolicyName"),
ExportIpv6RoutePolicyId: pulumi.String("/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/routePolicies/routePolicyName"),
},
ExportRoutePolicyId: pulumi.String("/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/routePolicies/routePolicyName"),
ExternalNetworkName: pulumi.String("example-externalnetwork"),
ImportRoutePolicy: &managednetworkfabric.ImportRoutePolicyArgs{
ImportIpv4RoutePolicyId: pulumi.String("/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/routePolicies/routePolicyName"),
ImportIpv6RoutePolicyId: pulumi.String("/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/routePolicies/routePolicyName"),
},
ImportRoutePolicyId: pulumi.String("/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/routePolicies/routePolicyName"),
L3IsolationDomainName: pulumi.String("example-l3domain"),
NetworkToNetworkInterconnectId: pulumi.String("/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/networkFabrics/example-fabric/networkToNetworkInterconnects/example-nni"),
OptionAProperties: &managednetworkfabric.ExternalNetworkPropertiesOptionAPropertiesArgs{
BfdConfiguration: &managednetworkfabric.BfdConfigurationArgs{
IntervalInMilliSeconds: pulumi.Int(300),
Multiplier: pulumi.Int(15),
},
EgressAclId: pulumi.String("/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/accessControlLists/example-acl"),
IngressAclId: pulumi.String("/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/accessControlLists/example-acl"),
Mtu: pulumi.Int(1500),
PeerASN: pulumi.Float64(65047),
PrimaryIpv4Prefix: pulumi.String("10.1.1.0/30"),
PrimaryIpv6Prefix: pulumi.String("3FFE:FFFF:0:CD30::a0/126"),
SecondaryIpv4Prefix: pulumi.String("10.1.1.4/30"),
SecondaryIpv6Prefix: pulumi.String("3FFE:FFFF:0:CD30::a4/126"),
VlanId: pulumi.Int(1001),
},
OptionBProperties: &managednetworkfabric.L3OptionBPropertiesArgs{
ExportRouteTargets: pulumi.StringArray{
pulumi.String("65046:10039"),
},
ImportRouteTargets: pulumi.StringArray{
pulumi.String("65046:10039"),
},
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),
ResourceGroupName: pulumi.String("example-rg"),
})
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.ExternalNetwork;
import com.pulumi.azurenative.managednetworkfabric.ExternalNetworkArgs;
import com.pulumi.azurenative.managednetworkfabric.inputs.ExportRoutePolicyArgs;
import com.pulumi.azurenative.managednetworkfabric.inputs.ImportRoutePolicyArgs;
import com.pulumi.azurenative.managednetworkfabric.inputs.ExternalNetworkPropertiesOptionAPropertiesArgs;
import com.pulumi.azurenative.managednetworkfabric.inputs.BfdConfigurationArgs;
import com.pulumi.azurenative.managednetworkfabric.inputs.L3OptionBPropertiesArgs;
import com.pulumi.azurenative.managednetworkfabric.inputs.RouteTargetInformationArgs;
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 externalNetwork = new ExternalNetwork("externalNetwork", ExternalNetworkArgs.builder()
.annotation("annotation")
.exportRoutePolicy(ExportRoutePolicyArgs.builder()
.exportIpv4RoutePolicyId("/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/routePolicies/routePolicyName")
.exportIpv6RoutePolicyId("/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/routePolicies/routePolicyName")
.build())
.exportRoutePolicyId("/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/routePolicies/routePolicyName")
.externalNetworkName("example-externalnetwork")
.importRoutePolicy(ImportRoutePolicyArgs.builder()
.importIpv4RoutePolicyId("/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/routePolicies/routePolicyName")
.importIpv6RoutePolicyId("/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/routePolicies/routePolicyName")
.build())
.importRoutePolicyId("/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/routePolicies/routePolicyName")
.l3IsolationDomainName("example-l3domain")
.networkToNetworkInterconnectId("/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/networkFabrics/example-fabric/networkToNetworkInterconnects/example-nni")
.optionAProperties(ExternalNetworkPropertiesOptionAPropertiesArgs.builder()
.bfdConfiguration(BfdConfigurationArgs.builder()
.intervalInMilliSeconds(300)
.multiplier(15)
.build())
.egressAclId("/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/accessControlLists/example-acl")
.ingressAclId("/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/accessControlLists/example-acl")
.mtu(1500)
.peerASN(65047.0)
.primaryIpv4Prefix("10.1.1.0/30")
.primaryIpv6Prefix("3FFE:FFFF:0:CD30::a0/126")
.secondaryIpv4Prefix("10.1.1.4/30")
.secondaryIpv6Prefix("3FFE:FFFF:0:CD30::a4/126")
.vlanId(1001)
.build())
.optionBProperties(L3OptionBPropertiesArgs.builder()
.exportRouteTargets("65046:10039")
.importRouteTargets("65046:10039")
.routeTargets(RouteTargetInformationArgs.builder()
.exportIpv4RouteTargets("65046:10039")
.exportIpv6RouteTargets("65046:10039")
.importIpv4RouteTargets("65046:10039")
.importIpv6RouteTargets("65046:10039")
.build())
.build())
.peeringOption("OptionA")
.resourceGroupName("example-rg")
.build());
}
}

Import

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

$ pulumi import azure-native:managednetworkfabric:ExternalNetwork example-externalnetwork /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/{l3IsolationDomainName}/externalNetworks/{externalNetworkName}

Constructors

Link copied to clipboard
constructor(annotation: Output<String>? = null, exportRoutePolicy: Output<ExportRoutePolicyArgs>? = null, exportRoutePolicyId: Output<String>? = null, externalNetworkName: Output<String>? = null, importRoutePolicy: Output<ImportRoutePolicyArgs>? = null, importRoutePolicyId: Output<String>? = null, l3IsolationDomainName: Output<String>? = null, networkToNetworkInterconnectId: Output<String>? = null, optionAProperties: Output<ExternalNetworkPropertiesOptionAPropertiesArgs>? = null, optionBProperties: Output<L3OptionBPropertiesArgs>? = null, peeringOption: Output<Either<String, PeeringOption>>? = null, resourceGroupName: Output<String>? = null)

Properties

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

Switch configuration description.

Link copied to clipboard

Export Route Policy either IPv4 or IPv6.

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

ARM Resource ID of the RoutePolicy. This is used for the backward compatibility.

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

Name of the External Network.

Link copied to clipboard

Import Route Policy either IPv4 or IPv6.

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

ARM Resource ID of the RoutePolicy. This is used for the backward compatibility.

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

Name of the L3 Isolation Domain.

Link copied to clipboard

ARM Resource ID of the networkToNetworkInterconnectId of the ExternalNetwork resource.

Link copied to clipboard

option A properties object

Link copied to clipboard

option B properties object

Link copied to clipboard
val peeringOption: Output<Either<String, PeeringOption>>? = null

Peering option list.

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

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

Functions

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