@pulumi/tailscale
Version:
A Pulumi package for creating and managing Tailscale cloud resources.
113 lines (112 loc) • 3.23 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
/**
* The device data source describes a single device in a tailnet
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as tailscale from "@pulumi/tailscale";
*
* const sampleDevice = tailscale.getDevice({
* name: "device1.example.ts.net",
* waitFor: "60s",
* });
* const sampleDevice2 = tailscale.getDevice({
* hostname: "device2",
* waitFor: "60s",
* });
* ```
*/
export declare function getDevice(args?: GetDeviceArgs, opts?: pulumi.InvokeOptions): Promise<GetDeviceResult>;
/**
* A collection of arguments for invoking getDevice.
*/
export interface GetDeviceArgs {
/**
* The short hostname of the device
*/
hostname?: string;
/**
* The full name of the device (e.g. `hostname.domain.ts.net`)
*/
name?: string;
/**
* If specified, the provider will make multiple attempts to obtain the data source until the waitFor duration is reached. Retries are made every second so this value should be greater than 1s
*/
waitFor?: string;
}
/**
* A collection of values returned by getDevice.
*/
export interface GetDeviceResult {
/**
* The list of device's IPs
*/
readonly addresses: string[];
/**
* The short hostname of the device
*/
readonly hostname?: string;
/**
* The provider-assigned unique ID for this managed resource.
*/
readonly id: string;
/**
* The full name of the device (e.g. `hostname.domain.ts.net`)
*/
readonly name?: string;
/**
* The preferred indentifier for a device.
*/
readonly nodeId: string;
/**
* The tags applied to the device
*/
readonly tags: string[];
/**
* The user associated with the device
*/
readonly user: string;
/**
* If specified, the provider will make multiple attempts to obtain the data source until the waitFor duration is reached. Retries are made every second so this value should be greater than 1s
*/
readonly waitFor?: string;
}
/**
* The device data source describes a single device in a tailnet
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as tailscale from "@pulumi/tailscale";
*
* const sampleDevice = tailscale.getDevice({
* name: "device1.example.ts.net",
* waitFor: "60s",
* });
* const sampleDevice2 = tailscale.getDevice({
* hostname: "device2",
* waitFor: "60s",
* });
* ```
*/
export declare function getDeviceOutput(args?: GetDeviceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetDeviceResult>;
/**
* A collection of arguments for invoking getDevice.
*/
export interface GetDeviceOutputArgs {
/**
* The short hostname of the device
*/
hostname?: pulumi.Input<string>;
/**
* The full name of the device (e.g. `hostname.domain.ts.net`)
*/
name?: pulumi.Input<string>;
/**
* If specified, the provider will make multiple attempts to obtain the data source until the waitFor duration is reached. Retries are made every second so this value should be greater than 1s
*/
waitFor?: pulumi.Input<string>;
}