ExpressRouteCircuitArgs

data class ExpressRouteCircuitArgs(val allowClassicOperations: Output<Boolean>? = null, val authorizationKey: Output<String>? = null, val authorizations: Output<List<ExpressRouteCircuitAuthorizationArgs>>? = null, val bandwidthInGbps: Output<Double>? = null, val circuitName: Output<String>? = null, val circuitProvisioningState: Output<String>? = null, val enableDirectPortRateLimit: Output<Boolean>? = null, val expressRoutePort: Output<SubResourceArgs>? = null, val gatewayManagerEtag: Output<String>? = null, val globalReachEnabled: Output<Boolean>? = null, val id: Output<String>? = null, val location: Output<String>? = null, val peerings: Output<List<ExpressRouteCircuitPeeringArgs>>? = null, val resourceGroupName: Output<String>? = null, val serviceKey: Output<String>? = null, val serviceProviderNotes: Output<String>? = null, val serviceProviderProperties: Output<ExpressRouteCircuitServiceProviderPropertiesArgs>? = null, val serviceProviderProvisioningState: Output<Either<String, ServiceProviderProvisioningState>>? = null, val sku: Output<ExpressRouteCircuitSkuArgs>? = null, val tags: Output<Map<String, String>>? = null) : ConvertibleToJava<ExpressRouteCircuitArgs>

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}

Constructors

Link copied to clipboard
constructor(allowClassicOperations: Output<Boolean>? = null, authorizationKey: Output<String>? = null, authorizations: Output<List<ExpressRouteCircuitAuthorizationArgs>>? = null, bandwidthInGbps: Output<Double>? = null, circuitName: Output<String>? = null, circuitProvisioningState: Output<String>? = null, enableDirectPortRateLimit: Output<Boolean>? = null, expressRoutePort: Output<SubResourceArgs>? = null, gatewayManagerEtag: Output<String>? = null, globalReachEnabled: Output<Boolean>? = null, id: Output<String>? = null, location: Output<String>? = null, peerings: Output<List<ExpressRouteCircuitPeeringArgs>>? = null, resourceGroupName: Output<String>? = null, serviceKey: Output<String>? = null, serviceProviderNotes: Output<String>? = null, serviceProviderProperties: Output<ExpressRouteCircuitServiceProviderPropertiesArgs>? = null, serviceProviderProvisioningState: Output<Either<String, ServiceProviderProvisioningState>>? = null, sku: Output<ExpressRouteCircuitSkuArgs>? = null, tags: Output<Map<String, String>>? = null)

Properties

Link copied to clipboard
val allowClassicOperations: Output<Boolean>? = null

Allow classic operations.

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

The authorizationKey.

Link copied to clipboard

The list of authorizations. These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion.

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

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

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

The name of the circuit.

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

The CircuitProvisioningState state of the resource.

Link copied to clipboard
val enableDirectPortRateLimit: Output<Boolean>? = null

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

Link copied to clipboard
val expressRoutePort: Output<SubResourceArgs>? = null

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

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

The GatewayManager Etag.

Link copied to clipboard
val globalReachEnabled: Output<Boolean>? = null

Flag denoting global reach status.

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

Resource ID.

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

Resource location.

Link copied to clipboard

The list of peerings. These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion.

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

The name of the resource group.

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

The ServiceKey.

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

The ServiceProviderNotes.

Link copied to clipboard

The ServiceProviderProperties.

Link copied to clipboard

The ServiceProviderProvisioningState state of the resource.

Link copied to clipboard
val sku: Output<ExpressRouteCircuitSkuArgs>? = null

The SKU.

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

Resource tags.

Functions

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