UNPKG

@equinix-labs/pulumi-equinix

Version:

A Pulumi package for creating and managing equinix cloud resources.

217 lines (216 loc) 6.61 kB
import * as pulumi from "@pulumi/pulumi"; import * as outputs from "../types/output"; /** * Use this data source to get Equinix Network Edge device details. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as equinix from "@equinix-labs/pulumi-equinix"; * * const byUuid = equinix.networkedge.getDevice({ * uuid: "f0b5c553-cdeb-4bc3-95b8-23db9ccfd5ee", * }); * const byName = equinix.networkedge.getDevice({ * name: "Arcus-Gateway-A1", * }); * ``` */ export declare function getDevice(args?: GetDeviceArgs, opts?: pulumi.InvokeOptions): Promise<GetDeviceResult>; /** * A collection of arguments for invoking getDevice. */ export interface GetDeviceArgs { /** * Name of an existing Equinix Network Edge device */ name?: string; /** * UUID of an existing Equinix Network Edge device */ uuid?: string; /** * Device states to be considered valid when searching for a device by name * * NOTE: Exactly one of either `uuid` or `name` must be specified. */ validStatusList?: string; } /** * A collection of values returned by getDevice. */ export interface GetDeviceResult { readonly accountNumber: string; /** * Unique identifier of applied ACL template */ readonly aclTemplateId: string; readonly additionalBandwidth: number; /** * Autonomous system number */ readonly asn: number; readonly byol: boolean; readonly clusterDetails: outputs.networkedge.GetDeviceClusterDetail[]; /** * Device accessibility (INTERNET-ACCESS or PRIVATE or INTERNET-ACCESS-WITH-PRVT-MGMT) */ readonly connectivity: string; readonly coreCount: number; /** * diverse device uuid */ readonly diverseDeviceId: string; /** * Name of the device with diverse device UUID */ readonly diverseDeviceName: string; readonly hostname: string; /** * Device location Equinix Business Exchange name */ readonly ibx: string; /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; readonly interfaceCount: number; /** * List of device interfaces * * `interface.#.id` - interface identifier * * `interface.#.name` - interface name * * `interface.#.status` - interface status (AVAILABLE, RESERVED, ASSIGNED) * * `interface.#.operational_status` - interface operational status (up or down) * * `interface.#.mac_address` - interface MAC address * * `interface.#.ip_address` - interface IP address * * `interface.#.assigned_type` - interface management type (Equinix Managed or empty) * * `interface.#.type` - interface type */ readonly interfaces: outputs.networkedge.GetDeviceInterface[]; readonly licenseFile: string; /** * Unique identifier of applied license file */ readonly licenseFileId: string; /** * Device license registration status * * APPLYING_LICENSE * * REGISTERED * * APPLIED * * WAITING_FOR_CLUSTER_SETUP * * REGISTRATION_FAILED * * NA */ readonly licenseStatus: string; readonly licenseToken: string; readonly metroCode: string; readonly mgmtAclTemplateUuid: string; readonly name: string; readonly notifications: string[]; readonly orderReference: string; readonly packageCode: string; readonly projectId: string; readonly purchaseOrderNumber: string; /** * Device redundancy type applicable for HA devices, either primary or secondary */ readonly redundancyType: string; /** * Unique identifier for a redundant device applicable for HA devices */ readonly redundantId: string; /** * Device location region */ readonly region: string; readonly secondaryDevices: outputs.networkedge.GetDeviceSecondaryDevice[]; readonly selfManaged: boolean; /** * IP address of SSH enabled interface on the device */ readonly sshIpAddress: string; /** * FQDN of SSH enabled interface on the device */ readonly sshIpFqdn: string; readonly sshKeys: outputs.networkedge.GetDeviceSshKey[]; /** * Device provisioning status * * INITIALIZING * * PROVISIONING * * PROVISIONED (**NOTE: By default data source will only return devices in this state. To include other states see `validStateList`**) * * WAITING_FOR_PRIMARY * * WAITING_FOR_SECONDARY * * WAITING_FOR_REPLICA_CLUSTER_NODES * * CLUSTER_SETUP_IN_PROGRESS * * FAILED * * DEPROVISIONING * * DEPROVISIONED * * RESOURCE_UPGRADE_IN_PROGRESS * * RESOURCE_UPGRADE_FAILED */ readonly status: string; readonly termLength: number; readonly throughput: number; readonly throughputUnit: string; /** * Throughput Tier (applicable for C8000V, C8000V-SDWAN devices) */ readonly tier: number; readonly typeCode: string; /** * Device unique identifier */ readonly uuid: string; /** * Comma separated list of device states (from see `status` for full list) to be considered valid. Default is 'PROVISIONED'. Case insensitive. */ readonly validStatusList?: string; readonly vendorConfiguration: { [key: string]: string; }; readonly version: string; readonly wanInterfaceId: string; /** * Device location zone code */ readonly zoneCode: string; } /** * Use this data source to get Equinix Network Edge device details. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as equinix from "@equinix-labs/pulumi-equinix"; * * const byUuid = equinix.networkedge.getDevice({ * uuid: "f0b5c553-cdeb-4bc3-95b8-23db9ccfd5ee", * }); * const byName = equinix.networkedge.getDevice({ * name: "Arcus-Gateway-A1", * }); * ``` */ export declare function getDeviceOutput(args?: GetDeviceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetDeviceResult>; /** * A collection of arguments for invoking getDevice. */ export interface GetDeviceOutputArgs { /** * Name of an existing Equinix Network Edge device */ name?: pulumi.Input<string>; /** * UUID of an existing Equinix Network Edge device */ uuid?: pulumi.Input<string>; /** * Device states to be considered valid when searching for a device by name * * NOTE: Exactly one of either `uuid` or `name` must be specified. */ validStatusList?: pulumi.Input<string>; }