@muhlba91/pulumi-proxmoxve
Version:
A Pulumi package for creating and managing Proxmox Virtual Environment cloud resources.
159 lines • 6.09 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
/**
* Manages OCI images pulled from OCI registries using PVE oci-registry-pull API. Pulls OCI container images and stores them as tar files in Proxmox VE datastores.
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as proxmoxve from "@muhlba91/pulumi-proxmoxve";
*
* const ubuntuLatest = new proxmoxve.oci.Image("ubuntu_latest", {
* nodeName: "pve",
* datastoreId: "local",
* reference: "docker.io/library/ubuntu:latest",
* });
* const nginx = new proxmoxve.oci.Image("nginx", {
* nodeName: "pve",
* datastoreId: "local",
* reference: "docker.io/library/nginx:alpine",
* fileName: "custom_image_name.tar",
* });
* const debian = new proxmoxve.oci.Image("debian", {
* nodeName: "pve",
* datastoreId: "local",
* reference: "docker.io/library/debian:bookworm",
* uploadTimeout: 900,
* overwrite: false,
* overwriteUnmanaged: true,
* });
* ```
*/
export declare class Image extends pulumi.CustomResource {
/**
* Get an existing Image resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param state Any extra arguments used during the lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ImageState, opts?: pulumi.CustomResourceOptions): Image;
/**
* Returns true if the given object is an instance of Image. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is Image;
/**
* The identifier for the target datastore.
*/
readonly datastoreId: pulumi.Output<string>;
/**
* The file name for the pulled OCI image. If not provided, it will be generated automatically. The file will be stored as a .tar file.
*/
readonly fileName: pulumi.Output<string>;
/**
* The node name.
*/
readonly nodeName: pulumi.Output<string>;
/**
* By default `true`. If `true` and the OCI image size has changed in the datastore, it will be replaced. If `false`, there will be no check.
*/
readonly overwrite: pulumi.Output<boolean>;
/**
* If `true` and an OCI image with the same name already exists in the datastore, it will be deleted and the new image will be pulled. If `false` and the image already exists, an error will be returned.
*/
readonly overwriteUnmanaged: pulumi.Output<boolean>;
/**
* The reference to the OCI image.
*/
readonly reference: pulumi.Output<string>;
/**
* The image size in PVE.
*/
readonly size: pulumi.Output<number>;
/**
* The OCI image pull timeout in seconds. Default is 600 (10min).
*/
readonly uploadTimeout: pulumi.Output<number>;
/**
* Create a Image resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args: ImageArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering Image resources.
*/
export interface ImageState {
/**
* The identifier for the target datastore.
*/
datastoreId?: pulumi.Input<string | undefined>;
/**
* The file name for the pulled OCI image. If not provided, it will be generated automatically. The file will be stored as a .tar file.
*/
fileName?: pulumi.Input<string | undefined>;
/**
* The node name.
*/
nodeName?: pulumi.Input<string | undefined>;
/**
* By default `true`. If `true` and the OCI image size has changed in the datastore, it will be replaced. If `false`, there will be no check.
*/
overwrite?: pulumi.Input<boolean | undefined>;
/**
* If `true` and an OCI image with the same name already exists in the datastore, it will be deleted and the new image will be pulled. If `false` and the image already exists, an error will be returned.
*/
overwriteUnmanaged?: pulumi.Input<boolean | undefined>;
/**
* The reference to the OCI image.
*/
reference?: pulumi.Input<string | undefined>;
/**
* The image size in PVE.
*/
size?: pulumi.Input<number | undefined>;
/**
* The OCI image pull timeout in seconds. Default is 600 (10min).
*/
uploadTimeout?: pulumi.Input<number | undefined>;
}
/**
* The set of arguments for constructing a Image resource.
*/
export interface ImageArgs {
/**
* The identifier for the target datastore.
*/
datastoreId: pulumi.Input<string>;
/**
* The file name for the pulled OCI image. If not provided, it will be generated automatically. The file will be stored as a .tar file.
*/
fileName?: pulumi.Input<string | undefined>;
/**
* The node name.
*/
nodeName: pulumi.Input<string>;
/**
* By default `true`. If `true` and the OCI image size has changed in the datastore, it will be replaced. If `false`, there will be no check.
*/
overwrite?: pulumi.Input<boolean | undefined>;
/**
* If `true` and an OCI image with the same name already exists in the datastore, it will be deleted and the new image will be pulled. If `false` and the image already exists, an error will be returned.
*/
overwriteUnmanaged?: pulumi.Input<boolean | undefined>;
/**
* The reference to the OCI image.
*/
reference: pulumi.Input<string>;
/**
* The OCI image pull timeout in seconds. Default is 600 (10min).
*/
uploadTimeout?: pulumi.Input<number | undefined>;
}
//# sourceMappingURL=image.d.ts.map