@pulumi/hcloud
Version:
A Pulumi package for creating and managing hcloud cloud resources.
183 lines (182 loc) • 5.01 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
/**
* ## 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<GetImageResult>;
/**
* 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/#overview-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[];
}
/**
* ## 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<GetImageResult>;
/**
* A collection of arguments for invoking getImage.
*/
export interface GetImageOutputArgs {
/**
* ID of the Image.
*/
id?: pulumi.Input<number>;
/**
* Also return the image if it is marked as deprecated.
*/
includeDeprecated?: pulumi.Input<boolean>;
/**
* If more than one result is returned, use the most recent Image.
*/
mostRecent?: pulumi.Input<boolean>;
/**
* Name of the Image.
*/
name?: pulumi.Input<string>;
/**
* @deprecated Please use the withSelector property instead.
*/
selector?: pulumi.Input<string>;
/**
* Select only images with this architecture, could be `x86` (default) or `arm`.
*/
withArchitecture?: pulumi.Input<string>;
/**
* [Label selector](https://docs.hetzner.cloud/#overview-label-selector)
*/
withSelector?: pulumi.Input<string>;
/**
* Select only images with the specified status, could contain `creating` or `available`.
*/
withStatuses?: pulumi.Input<pulumi.Input<string>[]>;
}