import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Manages an Express Route Connection. * * > **Note:** The provider status of the Express Route Circuit must be set as provisioned while creating the Express Route Connection. See more details [here](https://docs.microsoft.com/azure/expressroute/expressroute-howto-circuit-portal-resource-manager#send-the-service-key-to-your-connectivity-provider-for-provisioning). * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as azure from "@pulumi/azure"; * * const example = new azure.core.ResourceGroup("example", { * name: "example-resources", * location: "West Europe", * }); * const exampleVirtualWan = new azure.network.VirtualWan("example", { * name: "example-vwan", * resourceGroupName: example.name, * location: example.location, * }); * const exampleVirtualHub = new azure.network.VirtualHub("example", { * name: "example-vhub", * resourceGroupName: example.name, * location: example.location, * virtualWanId: exampleVirtualWan.id, * addressPrefix: "10.0.1.0/24", * }); * const exampleExpressRouteGateway = new azure.network.ExpressRouteGateway("example", { * name: "example-expressroutegateway", * resourceGroupName: example.name, * location: example.location, * virtualHubId: exampleVirtualHub.id, * scaleUnits: 1, * }); * const exampleExpressRoutePort = new azure.network.ExpressRoutePort("example", { * name: "example-erp", * resourceGroupName: example.name, * location: example.location, * peeringLocation: "Equinix-Seattle-SE2", * bandwidthInGbps: 10, * encapsulation: "Dot1Q", * }); * const exampleExpressRouteCircuit = new azure.network.ExpressRouteCircuit("example", { * name: "example-erc", * location: example.location, * resourceGroupName: example.name, * expressRoutePortId: exampleExpressRoutePort.id, * bandwidthInGbps: 5, * sku: { * tier: "Standard", * family: "MeteredData", * }, * }); * const exampleExpressRouteCircuitPeering = new azure.network.ExpressRouteCircuitPeering("example", { * peeringType: "AzurePrivatePeering", * expressRouteCircuitName: exampleExpressRouteCircuit.name, * resourceGroupName: example.name, * sharedKey: "ItsASecret", * peerAsn: 100, * primaryPeerAddressPrefix: "192.168.1.0/30", * secondaryPeerAddressPrefix: "192.168.2.0/30", * vlanId: 100, * }); * const exampleExpressRouteConnection = new azure.network.ExpressRouteConnection("example", { * name: "example-expressrouteconn", * expressRouteGatewayId: exampleExpressRouteGateway.id, * expressRouteCircuitPeeringId: exampleExpressRouteCircuitPeering.id, * }); * ``` * * ## API Providers * * * This resource uses the following Azure API Providers: * * * `Microsoft.Network` - 2025-01-01 * * ## Import * * Express Route Connections can be imported using the `resource id`, e.g. * * ```sh * $ pulumi import azure:network/expressRouteConnection:ExpressRouteConnection example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Network/expressRouteGateways/expressRouteGateway1/expressRouteConnections/connection1 * ``` */ export declare class ExpressRouteConnection extends pulumi.CustomResource { /** * Get an existing ExpressRouteConnection resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: ExpressRouteConnectionState, opts?: pulumi.CustomResourceOptions): ExpressRouteConnection; /** * Returns true if the given object is an instance of ExpressRouteConnection. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is ExpressRouteConnection; /** * The authorization key to establish the Express Route Connection. */ readonly authorizationKey: pulumi.Output; /** * @deprecated the `enableInternetSecurity` property has been deprecated in favour of the `internetSecurityEnabled` property and will be removed in v5.0 of the AzureRM Provider */ readonly enableInternetSecurity: pulumi.Output; /** * The ID of the Express Route Circuit Peering that this Express Route Connection connects with. Changing this forces a new resource to be created. */ readonly expressRouteCircuitPeeringId: pulumi.Output; /** * Specified whether Fast Path is enabled for Virtual Wan Firewall Hub. Defaults to `false`. */ readonly expressRouteGatewayBypassEnabled: pulumi.Output; /** * The ID of the Express Route Gateway that this Express Route Connection connects with. Changing this forces a new resource to be created. */ readonly expressRouteGatewayId: pulumi.Output; /** * Is Internet security enabled for this Express Route Connection? Defaults to `false`. */ readonly internetSecurityEnabled: pulumi.Output; /** * The name which should be used for this Express Route Connection. Changing this forces a new resource to be created. */ readonly name: pulumi.Output; /** * @deprecated 'private_link_fast_path_enabled' has been deprecated as it is no longer supported by the resource and will be removed in v5.0 of the AzureRM Provider */ readonly privateLinkFastPathEnabled: pulumi.Output; /** * A `routing` block as defined below. */ readonly routing: pulumi.Output; /** * The routing weight associated to the Express Route Connection. Possible value is between `0` and `32000`. Defaults to `0`. */ readonly routingWeight: pulumi.Output; /** * Create a ExpressRouteConnection resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: ExpressRouteConnectionArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering ExpressRouteConnection resources. */ export interface ExpressRouteConnectionState { /** * The authorization key to establish the Express Route Connection. */ authorizationKey?: pulumi.Input; /** * @deprecated the `enableInternetSecurity` property has been deprecated in favour of the `internetSecurityEnabled` property and will be removed in v5.0 of the AzureRM Provider */ enableInternetSecurity?: pulumi.Input; /** * The ID of the Express Route Circuit Peering that this Express Route Connection connects with. Changing this forces a new resource to be created. */ expressRouteCircuitPeeringId?: pulumi.Input; /** * Specified whether Fast Path is enabled for Virtual Wan Firewall Hub. Defaults to `false`. */ expressRouteGatewayBypassEnabled?: pulumi.Input; /** * The ID of the Express Route Gateway that this Express Route Connection connects with. Changing this forces a new resource to be created. */ expressRouteGatewayId?: pulumi.Input; /** * Is Internet security enabled for this Express Route Connection? Defaults to `false`. */ internetSecurityEnabled?: pulumi.Input; /** * The name which should be used for this Express Route Connection. Changing this forces a new resource to be created. */ name?: pulumi.Input; /** * @deprecated 'private_link_fast_path_enabled' has been deprecated as it is no longer supported by the resource and will be removed in v5.0 of the AzureRM Provider */ privateLinkFastPathEnabled?: pulumi.Input; /** * A `routing` block as defined below. */ routing?: pulumi.Input; /** * The routing weight associated to the Express Route Connection. Possible value is between `0` and `32000`. Defaults to `0`. */ routingWeight?: pulumi.Input; } /** * The set of arguments for constructing a ExpressRouteConnection resource. */ export interface ExpressRouteConnectionArgs { /** * The authorization key to establish the Express Route Connection. */ authorizationKey?: pulumi.Input; /** * @deprecated the `enableInternetSecurity` property has been deprecated in favour of the `internetSecurityEnabled` property and will be removed in v5.0 of the AzureRM Provider */ enableInternetSecurity?: pulumi.Input; /** * The ID of the Express Route Circuit Peering that this Express Route Connection connects with. Changing this forces a new resource to be created. */ expressRouteCircuitPeeringId: pulumi.Input; /** * Specified whether Fast Path is enabled for Virtual Wan Firewall Hub. Defaults to `false`. */ expressRouteGatewayBypassEnabled?: pulumi.Input; /** * The ID of the Express Route Gateway that this Express Route Connection connects with. Changing this forces a new resource to be created. */ expressRouteGatewayId: pulumi.Input; /** * Is Internet security enabled for this Express Route Connection? Defaults to `false`. */ internetSecurityEnabled?: pulumi.Input; /** * The name which should be used for this Express Route Connection. Changing this forces a new resource to be created. */ name?: pulumi.Input; /** * @deprecated 'private_link_fast_path_enabled' has been deprecated as it is no longer supported by the resource and will be removed in v5.0 of the AzureRM Provider */ privateLinkFastPathEnabled?: pulumi.Input; /** * A `routing` block as defined below. */ routing?: pulumi.Input; /** * The routing weight associated to the Express Route Connection. Possible value is between `0` and `32000`. Defaults to `0`. */ routingWeight?: pulumi.Input; }