@equinix-labs/pulumi-equinix
Version:
A Pulumi package for creating and managing equinix cloud resources.
217 lines (216 loc) • 6.61 kB
TypeScript
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>;
}