UNPKG

@cuemby/equinix

Version:

A Pulumi package for creating and managing equinix cloud resources.

155 lines (154 loc) 4.3 kB
import * as pulumi from "@pulumi/pulumi"; import { output as outputs } from "./types"; /** * Provides an Equinix Metal device datasource. * * > **Note:** All arguments including the `rootPassword` and `userData` will be stored in * the raw state as plain-text. * [Read more about sensitive data in state](https://www.terraform.io/docs/state/sensitive-data.html). * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as equinix from "@pulumi/equinix"; * * const test = equinix.GetMetalDevice({ * projectId: local.project_id, * hostname: "mydevice", * }); * export const id = test.then(test => test.id); * ``` * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as equinix from "@pulumi/equinix"; * * const test = equinix.GetMetalDevice({ * deviceId: "4c641195-25e5-4c3c-b2b7-4cd7a42c7b40", * }); * export const ipv4 = test.then(test => test.accessPublicIpv4); * ``` */ export declare function getMetalDevice(args?: GetMetalDeviceArgs, opts?: pulumi.InvokeOptions): Promise<GetMetalDeviceResult>; /** * A collection of arguments for invoking GetMetalDevice. */ export interface GetMetalDeviceArgs { /** * Device ID. */ deviceId?: string; /** * The device name. */ hostname?: string; /** * The id of the project in which the devices exists. */ projectId?: string; } /** * A collection of values returned by GetMetalDevice. */ export interface GetMetalDeviceResult { /** * The ipv4 private IP assigned to the device. */ readonly accessPrivateIpv4: string; /** * The ipv4 management IP assigned to the device. */ readonly accessPublicIpv4: string; /** * The ipv6 management IP assigned to the device. */ readonly accessPublicIpv6: string; readonly alwaysPxe: boolean; /** * The billing cycle of the device (monthly or hourly). */ readonly billingCycle: string; /** * Description string for the device. */ readonly description: string; readonly deviceId: string; /** * The facility where the device is deployed. */ readonly facility: string; /** * The id of hardware reservation which this device occupies. */ readonly hardwareReservationId: string; readonly hostname: string; /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; readonly ipxeScriptUrl: string; /** * The metro where the device is deployed */ readonly metro: string; /** * L2 network type of the device, one of `layer3`, `layer2-bonded`, * `layer2-individual`, `hybrid`. */ readonly networkType: string; /** * The device's private and public IP (v4 and v6) network details. See * Network Attribute below for more details. */ readonly networks: outputs.GetMetalDeviceNetwork[]; /** * The operating system running on the device. */ readonly operatingSystem: string; /** * The hardware config of the device. */ readonly plan: string; /** * List of ports assigned to the device. See Ports Attribute below for * more details. */ readonly ports: outputs.GetMetalDevicePort[]; readonly projectId: string; /** * Root password to the server (if still available). */ readonly rootPassword: string; /** * List of IDs of SSH keys deployed in the device, can be both user or project SSH keys. */ readonly sshKeyIds: string[]; /** * The state of the device. */ readonly state: string; readonly storage: string; /** * Tags attached to the device. */ readonly tags: string[]; } export declare function getMetalDeviceOutput(args?: GetMetalDeviceOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetMetalDeviceResult>; /** * A collection of arguments for invoking GetMetalDevice. */ export interface GetMetalDeviceOutputArgs { /** * Device ID. */ deviceId?: pulumi.Input<string>; /** * The device name. */ hostname?: pulumi.Input<string>; /** * The id of the project in which the devices exists. */ projectId?: pulumi.Input<string>; }