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; /** * 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; /** * A collection of arguments for invoking getDevice. */ export interface GetDeviceOutputArgs { /** * The short hostname of the device */ hostname?: pulumi.Input; /** * The full name of the device (e.g. `hostname.domain.ts.net`) */ name?: pulumi.Input; /** * 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; }