import * as pulumi from "@pulumi/pulumi"; /** * Provides details about a Hetzner Cloud volume. * This resource is useful if you want to use a non-terraform managed volume. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as hcloud from "@pulumi/hcloud"; * * const volume1 = hcloud.getVolume({ * id: 1234, * }); * const volume2 = hcloud.getVolume({ * name: "my-volume", * }); * const volume3 = hcloud.getVolume({ * withSelector: "key=value", * }); * ``` */ export declare function getVolume(args?: GetVolumeArgs, opts?: pulumi.InvokeOptions): Promise; /** * A collection of arguments for invoking getVolume. */ export interface GetVolumeArgs { /** * ID of the volume. */ id?: number; /** * (string) The location name. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-locations-are-there) for more details about locations. */ location?: string; /** * Name of the volume. */ name?: string; /** * @deprecated Please use the withSelector property instead. */ selector?: string; /** * (Optional, int) Server ID the volume is attached to */ serverId?: number; /** * Label Selector. For more information about possible values, visit the [Hetzner Cloud Documentation](https://docs.hetzner.cloud/reference/cloud#label-selector). */ withSelector?: string; /** * List only volumes with the specified status, could contain `creating` or `available`. */ withStatuses?: string[]; } /** * A collection of values returned by getVolume. */ export interface GetVolumeResult { /** * (bool) Whether delete protection is enabled. */ readonly deleteProtection: boolean; /** * (int) Unique ID of the volume. */ readonly id: number; /** * (map) User-defined labels (key-value pairs). */ readonly labels: { [key: string]: string; }; /** * (string) Device path on the file system for the Volume. */ readonly linuxDevice: string; /** * (string) The location name. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-locations-are-there) for more details about locations. */ readonly location?: string; /** * (string) Name of the volume. */ readonly name: string; /** * @deprecated Please use the withSelector property instead. */ readonly selector?: string; /** * (Optional, int) Server ID the volume is attached to */ readonly serverId?: number; /** * (int) Size of the volume. */ readonly size: number; readonly withSelector?: string; readonly withStatuses?: string[]; } /** * Provides details about a Hetzner Cloud volume. * This resource is useful if you want to use a non-terraform managed volume. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as hcloud from "@pulumi/hcloud"; * * const volume1 = hcloud.getVolume({ * id: 1234, * }); * const volume2 = hcloud.getVolume({ * name: "my-volume", * }); * const volume3 = hcloud.getVolume({ * withSelector: "key=value", * }); * ``` */ export declare function getVolumeOutput(args?: GetVolumeOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output; /** * A collection of arguments for invoking getVolume. */ export interface GetVolumeOutputArgs { /** * ID of the volume. */ id?: pulumi.Input; /** * (string) The location name. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-locations-are-there) for more details about locations. */ location?: pulumi.Input; /** * Name of the volume. */ name?: pulumi.Input; /** * @deprecated Please use the withSelector property instead. */ selector?: pulumi.Input; /** * (Optional, int) Server ID the volume is attached to */ serverId?: pulumi.Input; /** * Label Selector. For more information about possible values, visit the [Hetzner Cloud Documentation](https://docs.hetzner.cloud/reference/cloud#label-selector). */ withSelector?: pulumi.Input; /** * List only volumes with the specified status, could contain `creating` or `available`. */ withStatuses?: pulumi.Input[]>; }