UNPKG

@cuemby/equinix

Version:

A Pulumi package for creating and managing equinix cloud resources.

269 lines (268 loc) 9.91 kB
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>[]>; }