ExpressRouteCircuit

class ExpressRouteCircuit : KotlinCustomResource

ExpressRouteCircuit resource. Uses Azure REST API version 2024-05-01. In version 2.x of the Azure Native provider, it used API version 2023-02-01. Other available API versions: 2018-06-01, 2018-07-01, 2018-08-01, 2018-10-01, 2018-11-01, 2018-12-01, 2019-02-01, 2019-04-01, 2019-06-01, 2019-07-01, 2019-08-01, 2019-09-01, 2019-11-01, 2019-12-01, 2020-03-01, 2020-04-01, 2020-05-01, 2020-06-01, 2020-07-01, 2020-08-01, 2020-11-01, 2021-02-01, 2021-03-01, 2021-05-01, 2021-08-01, 2022-01-01, 2022-05-01, 2022-07-01, 2022-09-01, 2022-11-01, 2023-02-01, 2023-04-01, 2023-05-01, 2023-06-01, 2023-09-01, 2023-11-01, 2024-01-01, 2024-03-01. These can be accessed by generating a local SDK package using the CLI command pulumi package add azure-native network [ApiVersion]. See the ../../../version-guide/#accessing-any-api-version-via-local-packages for details.

Example Usage

Create ExpressRouteCircuit

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var expressRouteCircuit = new AzureNative.Network.ExpressRouteCircuit("expressRouteCircuit", new()
{
AllowClassicOperations = false,
Authorizations = new[] {},
CircuitName = "circuitName",
Location = "Brazil South",
Peerings = new[] {},
ResourceGroupName = "rg1",
ServiceProviderProperties = new AzureNative.Network.Inputs.ExpressRouteCircuitServiceProviderPropertiesArgs
{
BandwidthInMbps = 200,
PeeringLocation = "Silicon Valley",
ServiceProviderName = "Equinix",
},
Sku = new AzureNative.Network.Inputs.ExpressRouteCircuitSkuArgs
{
Family = AzureNative.Network.ExpressRouteCircuitSkuFamily.MeteredData,
Name = "Standard_MeteredData",
Tier = AzureNative.Network.ExpressRouteCircuitSkuTier.Standard,
},
});
});
package main
import (
network "github.com/pulumi/pulumi-azure-native-sdk/network/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := network.NewExpressRouteCircuit(ctx, "expressRouteCircuit", &network.ExpressRouteCircuitArgs{
AllowClassicOperations: pulumi.Bool(false),
Authorizations: network.ExpressRouteCircuitAuthorizationTypeArray{},
CircuitName: pulumi.String("circuitName"),
Location: pulumi.String("Brazil South"),
Peerings: network.ExpressRouteCircuitPeeringTypeArray{},
ResourceGroupName: pulumi.String("rg1"),
ServiceProviderProperties: &network.ExpressRouteCircuitServiceProviderPropertiesArgs{
BandwidthInMbps: pulumi.Int(200),
PeeringLocation: pulumi.String("Silicon Valley"),
ServiceProviderName: pulumi.String("Equinix"),
},
Sku: &network.ExpressRouteCircuitSkuArgs{
Family: pulumi.String(network.ExpressRouteCircuitSkuFamilyMeteredData),
Name: pulumi.String("Standard_MeteredData"),
Tier: pulumi.String(network.ExpressRouteCircuitSkuTierStandard),
},
})
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.network.ExpressRouteCircuit;
import com.pulumi.azurenative.network.ExpressRouteCircuitArgs;
import com.pulumi.azurenative.network.inputs.ExpressRouteCircuitServiceProviderPropertiesArgs;
import com.pulumi.azurenative.network.inputs.ExpressRouteCircuitSkuArgs;
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 expressRouteCircuit = new ExpressRouteCircuit("expressRouteCircuit", ExpressRouteCircuitArgs.builder()
.allowClassicOperations(false)
.authorizations()
.circuitName("circuitName")
.location("Brazil South")
.peerings()
.resourceGroupName("rg1")
.serviceProviderProperties(ExpressRouteCircuitServiceProviderPropertiesArgs.builder()
.bandwidthInMbps(200)
.peeringLocation("Silicon Valley")
.serviceProviderName("Equinix")
.build())
.sku(ExpressRouteCircuitSkuArgs.builder()
.family("MeteredData")
.name("Standard_MeteredData")
.tier("Standard")
.build())
.build());
}
}

Create ExpressRouteCircuit on ExpressRoutePort

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var expressRouteCircuit = new AzureNative.Network.ExpressRouteCircuit("expressRouteCircuit", new()
{
AuthorizationKey = "b0be57f5-1fba-463b-adec-ffe767354cdd",
BandwidthInGbps = 10,
CircuitName = "expressRouteCircuit1",
EnableDirectPortRateLimit = false,
ExpressRoutePort = new AzureNative.Network.Inputs.SubResourceArgs
{
Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName",
},
Location = "westus",
ResourceGroupName = "rg1",
Sku = new AzureNative.Network.Inputs.ExpressRouteCircuitSkuArgs
{
Family = AzureNative.Network.ExpressRouteCircuitSkuFamily.MeteredData,
Name = "Premium_MeteredData",
Tier = AzureNative.Network.ExpressRouteCircuitSkuTier.Premium,
},
});
});
package main
import (
network "github.com/pulumi/pulumi-azure-native-sdk/network/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := network.NewExpressRouteCircuit(ctx, "expressRouteCircuit", &network.ExpressRouteCircuitArgs{
AuthorizationKey: pulumi.String("b0be57f5-1fba-463b-adec-ffe767354cdd"),
BandwidthInGbps: pulumi.Float64(10),
CircuitName: pulumi.String("expressRouteCircuit1"),
EnableDirectPortRateLimit: pulumi.Bool(false),
ExpressRoutePort: &network.SubResourceArgs{
Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName"),
},
Location: pulumi.String("westus"),
ResourceGroupName: pulumi.String("rg1"),
Sku: &network.ExpressRouteCircuitSkuArgs{
Family: pulumi.String(network.ExpressRouteCircuitSkuFamilyMeteredData),
Name: pulumi.String("Premium_MeteredData"),
Tier: pulumi.String(network.ExpressRouteCircuitSkuTierPremium),
},
})
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.network.ExpressRouteCircuit;
import com.pulumi.azurenative.network.ExpressRouteCircuitArgs;
import com.pulumi.azurenative.network.inputs.SubResourceArgs;
import com.pulumi.azurenative.network.inputs.ExpressRouteCircuitSkuArgs;
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 expressRouteCircuit = new ExpressRouteCircuit("expressRouteCircuit", ExpressRouteCircuitArgs.builder()
.authorizationKey("b0be57f5-1fba-463b-adec-ffe767354cdd")
.bandwidthInGbps(10)
.circuitName("expressRouteCircuit1")
.enableDirectPortRateLimit(false)
.expressRoutePort(SubResourceArgs.builder()
.id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName")
.build())
.location("westus")
.resourceGroupName("rg1")
.sku(ExpressRouteCircuitSkuArgs.builder()
.family("MeteredData")
.name("Premium_MeteredData")
.tier("Premium")
.build())
.build());
}
}

Import

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

$ pulumi import azure-native:network:ExpressRouteCircuit expressRouteCircuit1 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}

Properties

Link copied to clipboard

Allow classic operations.

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

The authorizationKey.

Link copied to clipboard

The list of authorizations.

Link copied to clipboard

The authorization status of the Circuit.

Link copied to clipboard
val azureApiVersion: Output<String>

The Azure API version of the resource.

Link copied to clipboard
val bandwidthInGbps: Output<Double>?

The bandwidth of the circuit when the circuit is provisioned on an ExpressRoutePort resource.

Link copied to clipboard

The CircuitProvisioningState state of the resource.

Link copied to clipboard

Flag denoting rate-limiting status of the ExpressRoute direct-port circuit.

Link copied to clipboard
val etag: Output<String>

A unique read-only string that changes whenever the resource is updated.

Link copied to clipboard

The reference to the ExpressRoutePort resource when the circuit is provisioned on an ExpressRoutePort resource.

Link copied to clipboard

The GatewayManager Etag.

Link copied to clipboard

Flag denoting global reach status.

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

Resource location.

Link copied to clipboard
val name: Output<String>

Resource name.

Link copied to clipboard

The list of peerings.

Link copied to clipboard

The provisioning state of the express route circuit resource.

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val serviceKey: Output<String>?

The ServiceKey.

Link copied to clipboard

The ServiceProviderNotes.

Link copied to clipboard
Link copied to clipboard

The ServiceProviderProvisioningState state of the resource.

Link copied to clipboard

The SKU.

Link copied to clipboard
val stag: Output<Int>

The identifier of the circuit traffic. Outer tag for QinQ encapsulation.

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

Resource tags.

Link copied to clipboard
val type: Output<String>

Resource type.

Link copied to clipboard
val urn: Output<String>