@cuemby/equinix
Version:
A Pulumi package for creating and managing equinix cloud resources.
155 lines (154 loc) • 4.3 kB
TypeScript
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>;
}