import * as pulumi from "@pulumi/pulumi"; /** * Provides details about a Hetzner Cloud Image. * This resource is useful if you want to use a non-terraform managed image. * * When relevant, it is recommended to always provide the image architecture * (`withArchitecture`) when fetching images. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as hcloud from "@pulumi/hcloud"; * * const byId = hcloud.getImage({ * id: 114690387, * }); * const byNameX86 = hcloud.getImage({ * name: "debian-12", * withArchitecture: "x86", * }); * const byNameArm = hcloud.getImage({ * name: "debian-12", * withArchitecture: "arm", * }); * const byLabel = hcloud.getImage({ * withSelector: "key=value", * }); * const main = new hcloud.Server("main", {image: byName.id}); * ``` */ export declare function getImage(args?: GetImageArgs, opts?: pulumi.InvokeOptions): Promise; /** * A collection of arguments for invoking getImage. */ export interface GetImageArgs { /** * ID of the Image. */ id?: number; /** * Also return the image if it is marked as deprecated. */ includeDeprecated?: boolean; /** * If more than one result is returned, use the most recent Image. */ mostRecent?: boolean; /** * Name of the Image. */ name?: string; /** * @deprecated Please use the withSelector property instead. */ selector?: string; /** * Select only images with this architecture, could be `x86` (default) or `arm`. */ withArchitecture?: string; /** * [Label selector](https://docs.hetzner.cloud/reference/cloud#label-selector) */ withSelector?: string; /** * Select only images with the specified status, could contain `creating` or `available`. */ withStatuses?: string[]; } /** * A collection of values returned by getImage. */ export interface GetImageResult { /** * (string) Architecture of the Image. */ readonly architecture: string; /** * (string) Date when the Image was created (in ISO-8601 format). */ readonly created: string; /** * (string) Point in time when the image is considered to be deprecated (in ISO-8601 format). */ readonly deprecated: string; /** * (string) Description of the Image. */ readonly description: string; /** * (int) Unique ID of the Image. */ readonly id: number; readonly includeDeprecated?: boolean; readonly labels: { [key: string]: string; }; readonly mostRecent?: boolean; /** * (string) Name of the Image, only present when the Image is of type `system`. */ readonly name: string; /** * (string) Flavor of operating system contained in the image, could be `ubuntu`, `centos`, `debian`, `fedora` or `unknown`. */ readonly osFlavor: string; /** * (string) Operating system version. */ readonly osVersion: string; /** * (bool) Indicates that rapid deploy of the image is available. */ readonly rapidDeploy: boolean; /** * @deprecated Please use the withSelector property instead. */ readonly selector?: string; /** * (string) Type of the Image, could be `system`, `backup` or `snapshot`. */ readonly type: string; readonly withArchitecture?: string; readonly withSelector?: string; readonly withStatuses?: string[]; } /** * Provides details about a Hetzner Cloud Image. * This resource is useful if you want to use a non-terraform managed image. * * When relevant, it is recommended to always provide the image architecture * (`withArchitecture`) when fetching images. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as hcloud from "@pulumi/hcloud"; * * const byId = hcloud.getImage({ * id: 114690387, * }); * const byNameX86 = hcloud.getImage({ * name: "debian-12", * withArchitecture: "x86", * }); * const byNameArm = hcloud.getImage({ * name: "debian-12", * withArchitecture: "arm", * }); * const byLabel = hcloud.getImage({ * withSelector: "key=value", * }); * const main = new hcloud.Server("main", {image: byName.id}); * ``` */ export declare function getImageOutput(args?: GetImageOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output; /** * A collection of arguments for invoking getImage. */ export interface GetImageOutputArgs { /** * ID of the Image. */ id?: pulumi.Input; /** * Also return the image if it is marked as deprecated. */ includeDeprecated?: pulumi.Input; /** * If more than one result is returned, use the most recent Image. */ mostRecent?: pulumi.Input; /** * Name of the Image. */ name?: pulumi.Input; /** * @deprecated Please use the withSelector property instead. */ selector?: pulumi.Input; /** * Select only images with this architecture, could be `x86` (default) or `arm`. */ withArchitecture?: pulumi.Input; /** * [Label selector](https://docs.hetzner.cloud/reference/cloud#label-selector) */ withSelector?: pulumi.Input; /** * Select only images with the specified status, could contain `creating` or `available`. */ withStatuses?: pulumi.Input[]>; }