@equinix-labs/pulumi-equinix
Version:
A Pulumi package for creating and managing equinix cloud resources.
176 lines (175 loc) • 8.32 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
* Fabric V4 API compatible data resource that allow user to fetch connection for a given UUID
*
* Additional documentation:
* * Getting Started: https://docs.equinix.com/en-us/Content/Interconnection/Fabric/IMPLEMENTATION/fabric-connections-implement.htm
* * API: https://developer.equinix.com/dev-docs/fabric/api-reference/fabric-v4-apis#connections
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as equinix from "@equinix-labs/pulumi-equinix";
*
* const connectionDataName = equinix.fabric.getConnection({
* uuid: "<uuid_of_connection>",
* });
* export const id = connectionDataName.then(connectionDataName => connectionDataName.id);
* export const name = connectionDataName.then(connectionDataName => connectionDataName.bandwidth);
* export const accountNumber = connectionDataName.then(connectionDataName => connectionDataName.account?.accountNumber);
* export const bandwidth = connectionDataName.then(connectionDataName => connectionDataName.bandwidth);
* export const projectId = connectionDataName.then(connectionDataName => connectionDataName.project?.projectId);
* export const redundancyGroup = connectionDataName.then(connectionDataName => connectionDataName.redundancy?.group);
* export const redundancyPriority = connectionDataName.then(connectionDataName => connectionDataName.redundancy?.priority);
* export const state = connectionDataName.then(connectionDataName => connectionDataName.state);
* export const type = connectionDataName.then(connectionDataName => connectionDataName.type);
* export const accessPointType = connectionDataName.then(connectionDataName => connectionDataName.aSide?.accessPoint?.type);
* export const accessPointLinkProtocolType = connectionDataName.then(connectionDataName => connectionDataName.aSide?.accessPoint?.linkProtocol?.type);
* export const accessPointLinkProtocolVlanTag = connectionDataName.then(connectionDataName => connectionDataName.aSide?.accessPoint?.linkProtocol?.vlanTag);
* export const accessPointLinkProtocolVlanCTag = connectionDataName.then(connectionDataName => connectionDataName.aSide?.accessPoint?.linkProtocol?.vlanCTag);
* export const accessPointLinkProtocolVlanSTag = connectionDataName.then(connectionDataName => connectionDataName.aSide?.accessPoint?.linkProtocol?.vlanSTag);
* export const accessPointProviderConnectionId = connectionDataName.then(connectionDataName => connectionDataName.aSide?.accessPoint?.providerConnectionId);
* ```
*/
export declare function getConnection(args: GetConnectionArgs, opts?: pulumi.InvokeOptions): Promise<GetConnectionResult>;
/**
* A collection of arguments for invoking getConnection.
*/
export interface GetConnectionArgs {
/**
* Equinix-assigned connection identifier
*/
uuid: string;
}
/**
* A collection of values returned by getConnection.
*/
export interface GetConnectionResult {
/**
* Requester or Customer side connection configuration object of the multi-segment connection
*/
readonly aSide: outputs.fabric.GetConnectionASide;
/**
* Customer account information that is associated with this connection
*/
readonly account: outputs.fabric.GetConnectionAccount;
/**
* Connection additional information
*/
readonly additionalInfo: {
[key: string]: string;
}[];
/**
* Connection bandwidth in Mbps
*/
readonly bandwidth: number;
/**
* Captures connection lifecycle change information
*/
readonly changeLog: outputs.fabric.GetConnectionChangeLog;
/**
* Customer-provided connection description
*/
readonly description: string;
/**
* Connection directionality from the requester point of view
*/
readonly direction: string;
/**
* Connection URI information
*/
readonly href: string;
/**
* The provider-assigned unique ID for this managed resource.
*/
readonly id: string;
/**
* Connection property derived from access point locations
*/
readonly isRemote: boolean;
/**
* Connection name. An alpha-numeric 24 characters string which can include only hyphens and underscores
*/
readonly name: string;
/**
* Preferences for notifications on connection configuration or status changes
*/
readonly notifications: outputs.fabric.GetConnectionNotification[];
/**
* Connection type-specific operational data
*/
readonly operation: outputs.fabric.GetConnectionOperation;
/**
* Order details
*/
readonly order: outputs.fabric.GetConnectionOrder;
/**
* Project information
*/
readonly project: outputs.fabric.GetConnectionProject;
/**
* Connection Redundancy Configuration
*/
readonly redundancy: outputs.fabric.GetConnectionRedundancy;
/**
* Connection overall state
*/
readonly state: string;
/**
* Defines the connection type like EVPL*VC, EPL*VC, IPWAN*VC, IP*VC, ACCESS*EPL*VC, EVPLAN*VC, EPLAN*VC, EIA*VC, IA*VC, EC_VC
*/
readonly type: string;
/**
* Equinix-assigned connection identifier
*/
readonly uuid: string;
/**
* Destination or Provider side connection configuration object of the multi-segment connection
*/
readonly zSide: outputs.fabric.GetConnectionZSide;
}
/**
* Fabric V4 API compatible data resource that allow user to fetch connection for a given UUID
*
* Additional documentation:
* * Getting Started: https://docs.equinix.com/en-us/Content/Interconnection/Fabric/IMPLEMENTATION/fabric-connections-implement.htm
* * API: https://developer.equinix.com/dev-docs/fabric/api-reference/fabric-v4-apis#connections
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as equinix from "@equinix-labs/pulumi-equinix";
*
* const connectionDataName = equinix.fabric.getConnection({
* uuid: "<uuid_of_connection>",
* });
* export const id = connectionDataName.then(connectionDataName => connectionDataName.id);
* export const name = connectionDataName.then(connectionDataName => connectionDataName.bandwidth);
* export const accountNumber = connectionDataName.then(connectionDataName => connectionDataName.account?.accountNumber);
* export const bandwidth = connectionDataName.then(connectionDataName => connectionDataName.bandwidth);
* export const projectId = connectionDataName.then(connectionDataName => connectionDataName.project?.projectId);
* export const redundancyGroup = connectionDataName.then(connectionDataName => connectionDataName.redundancy?.group);
* export const redundancyPriority = connectionDataName.then(connectionDataName => connectionDataName.redundancy?.priority);
* export const state = connectionDataName.then(connectionDataName => connectionDataName.state);
* export const type = connectionDataName.then(connectionDataName => connectionDataName.type);
* export const accessPointType = connectionDataName.then(connectionDataName => connectionDataName.aSide?.accessPoint?.type);
* export const accessPointLinkProtocolType = connectionDataName.then(connectionDataName => connectionDataName.aSide?.accessPoint?.linkProtocol?.type);
* export const accessPointLinkProtocolVlanTag = connectionDataName.then(connectionDataName => connectionDataName.aSide?.accessPoint?.linkProtocol?.vlanTag);
* export const accessPointLinkProtocolVlanCTag = connectionDataName.then(connectionDataName => connectionDataName.aSide?.accessPoint?.linkProtocol?.vlanCTag);
* export const accessPointLinkProtocolVlanSTag = connectionDataName.then(connectionDataName => connectionDataName.aSide?.accessPoint?.linkProtocol?.vlanSTag);
* export const accessPointProviderConnectionId = connectionDataName.then(connectionDataName => connectionDataName.aSide?.accessPoint?.providerConnectionId);
* ```
*/
export declare function getConnectionOutput(args: GetConnectionOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetConnectionResult>;
/**
* A collection of arguments for invoking getConnection.
*/
export interface GetConnectionOutputArgs {
/**
* Equinix-assigned connection identifier
*/
uuid: pulumi.Input<string>;
}