@cuemby/equinix
Version:
A Pulumi package for creating and managing equinix cloud resources.
269 lines (268 loc) • 9.91 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import { input as inputs, output as outputs } from "./types";
/**
* Use this resource to request the creation an Interconnection asset to connect with other parties using [Equinix Fabric - software-defined interconnections](https://metal.equinix.com/developers/docs/networking/fabric/).
*
* > Equinix Metal connection with serviceTokenType `aSide` is not generally available and may not be enabled yet for your organization.
*
* ## Example Usage
* ### Shared Connection with zSide token - Non-redundant Connection from your own Equinix Fabric Port to Equinix Metal
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as equinix from "@cuemby/equinix";
* import * as equinix from "@pulumi/equinix";
*
* const exampleMetalConnection = new equinix.MetalConnection("exampleMetalConnection", {
* projectId: local.project_id,
* type: "shared",
* redundancy: "primary",
* metro: "FR",
* speed: "200Mbps",
* serviceTokenType: "z_side",
* });
* const exampleGetECXPort = equinix.GetECXPort({
* name: "CX-FR5-NL-Dot1q-BO-1G-PRI",
* });
* const exampleECXL2Connection = new equinix.ECXL2Connection("exampleECXL2Connection", {
* zsideServiceToken: exampleMetalConnection.serviceTokens.apply(serviceTokens => serviceTokens[0].id),
* speed: 200,
* speedUnit: "MB",
* notifications: ["example@equinix.com"],
* sellerMetroCode: "FR",
* portUuid: exampleGetECXPort.then(exampleGetECXPort => exampleGetECXPort.id),
* vlanStag: 1020,
* });
* ```
*/
export declare class MetalConnection extends pulumi.CustomResource {
/**
* Get an existing MetalConnection 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<pulumi.ID>, state?: MetalConnectionState, opts?: pulumi.CustomResourceOptions): MetalConnection;
/**
* Returns true if the given object is an instance of MetalConnection. 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 MetalConnection;
/**
* Description for the connection resource.
*/
readonly description: pulumi.Output<string | undefined>;
/**
* Facility where the connection will be created.
*/
readonly facility: pulumi.Output<string>;
/**
* Metro where the connection will be created.
*/
readonly metro: pulumi.Output<string>;
/**
* Mode for connections in IBX facilities with the dedicated type - standard or tunnel. Default is standard.
*/
readonly mode: pulumi.Output<string | undefined>;
/**
* Name of the connection resource
*/
readonly name: pulumi.Output<string>;
/**
* ID of the organization where the connection is scoped to.
*/
readonly organizationId: pulumi.Output<string>;
/**
* List of connection ports - primary (`ports[0]`) and secondary (`ports[1]`). Schema of
* port is described in documentation of the
* equinix.MetalConnection datasource.
*/
readonly ports: pulumi.Output<outputs.MetalConnectionPort[]>;
/**
* ID of the project where the connection is scoped to, must be set for.
*/
readonly projectId: pulumi.Output<string | undefined>;
/**
* Connection redundancy - redundant or primary.
*/
readonly redundancy: pulumi.Output<string>;
/**
* Only used with shared connection. Type of service token to use for the connection, aSide or z_side.
*/
readonly serviceTokenType: pulumi.Output<string | undefined>;
/**
* List of connection service tokens with attributes. Scehma of serviceToken is described in documentation of the equinix.MetalConnection datasource.
*/
readonly serviceTokens: pulumi.Output<outputs.MetalConnectionServiceToken[]>;
/**
* Connection speed - one of 50Mbps, 200Mbps, 500Mbps, 1Gbps, 2Gbps, 5Gbps, 10Gbps.
*/
readonly speed: pulumi.Output<string>;
/**
* Status of the connection resource.
*/
readonly status: pulumi.Output<string>;
/**
* String list of tags.
*/
readonly tags: pulumi.Output<string[] | undefined>;
/**
* Fabric Token from the [Equinix Fabric Portal](https://ecxfabric.equinix.com/dashboard)
*
* @deprecated token is deprecated. Use service_tokens instead
*/
readonly token: pulumi.Output<string>;
/**
* Connection type - dedicated or shared.
*/
readonly type: pulumi.Output<string>;
/**
* Only used with shared connection. Vlans to attach. Pass one vlan for Primary/Single connection and two vlans for Redundant connection.
*/
readonly vlans: pulumi.Output<number[] | undefined>;
/**
* Create a MetalConnection 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: MetalConnectionArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering MetalConnection resources.
*/
export interface MetalConnectionState {
/**
* Description for the connection resource.
*/
description?: pulumi.Input<string>;
/**
* Facility where the connection will be created.
*/
facility?: pulumi.Input<string>;
/**
* Metro where the connection will be created.
*/
metro?: pulumi.Input<string>;
/**
* Mode for connections in IBX facilities with the dedicated type - standard or tunnel. Default is standard.
*/
mode?: pulumi.Input<string>;
/**
* Name of the connection resource
*/
name?: pulumi.Input<string>;
/**
* ID of the organization where the connection is scoped to.
*/
organizationId?: pulumi.Input<string>;
/**
* List of connection ports - primary (`ports[0]`) and secondary (`ports[1]`). Schema of
* port is described in documentation of the
* equinix.MetalConnection datasource.
*/
ports?: pulumi.Input<pulumi.Input<inputs.MetalConnectionPort>[]>;
/**
* ID of the project where the connection is scoped to, must be set for.
*/
projectId?: pulumi.Input<string>;
/**
* Connection redundancy - redundant or primary.
*/
redundancy?: pulumi.Input<string>;
/**
* Only used with shared connection. Type of service token to use for the connection, aSide or z_side.
*/
serviceTokenType?: pulumi.Input<string>;
/**
* List of connection service tokens with attributes. Scehma of serviceToken is described in documentation of the equinix.MetalConnection datasource.
*/
serviceTokens?: pulumi.Input<pulumi.Input<inputs.MetalConnectionServiceToken>[]>;
/**
* Connection speed - one of 50Mbps, 200Mbps, 500Mbps, 1Gbps, 2Gbps, 5Gbps, 10Gbps.
*/
speed?: pulumi.Input<string>;
/**
* Status of the connection resource.
*/
status?: pulumi.Input<string>;
/**
* String list of tags.
*/
tags?: pulumi.Input<pulumi.Input<string>[]>;
/**
* Fabric Token from the [Equinix Fabric Portal](https://ecxfabric.equinix.com/dashboard)
*
* @deprecated token is deprecated. Use service_tokens instead
*/
token?: pulumi.Input<string>;
/**
* Connection type - dedicated or shared.
*/
type?: pulumi.Input<string>;
/**
* Only used with shared connection. Vlans to attach. Pass one vlan for Primary/Single connection and two vlans for Redundant connection.
*/
vlans?: pulumi.Input<pulumi.Input<number>[]>;
}
/**
* The set of arguments for constructing a MetalConnection resource.
*/
export interface MetalConnectionArgs {
/**
* Description for the connection resource.
*/
description?: pulumi.Input<string>;
/**
* Facility where the connection will be created.
*/
facility?: pulumi.Input<string>;
/**
* Metro where the connection will be created.
*/
metro?: pulumi.Input<string>;
/**
* Mode for connections in IBX facilities with the dedicated type - standard or tunnel. Default is standard.
*/
mode?: pulumi.Input<string>;
/**
* Name of the connection resource
*/
name?: pulumi.Input<string>;
/**
* ID of the organization where the connection is scoped to.
*/
organizationId?: pulumi.Input<string>;
/**
* ID of the project where the connection is scoped to, must be set for.
*/
projectId?: pulumi.Input<string>;
/**
* Connection redundancy - redundant or primary.
*/
redundancy: pulumi.Input<string>;
/**
* Only used with shared connection. Type of service token to use for the connection, aSide or z_side.
*/
serviceTokenType?: pulumi.Input<string>;
/**
* Connection speed - one of 50Mbps, 200Mbps, 500Mbps, 1Gbps, 2Gbps, 5Gbps, 10Gbps.
*/
speed: pulumi.Input<string>;
/**
* String list of tags.
*/
tags?: pulumi.Input<pulumi.Input<string>[]>;
/**
* Connection type - dedicated or shared.
*/
type: pulumi.Input<string>;
/**
* Only used with shared connection. Vlans to attach. Pass one vlan for Primary/Single connection and two vlans for Redundant connection.
*/
vlans?: pulumi.Input<pulumi.Input<number>[]>;
}