UNPKG

@huaweicloudos/pulumi

Version:

A Pulumi package for creating and managing Huaweicloud cloud resources.

158 lines (157 loc) 6.92 kB
import * as pulumi from "@pulumi/pulumi"; /** * Manages an IMS image export resource within HuaweiCloud. * * > 1. The whole image, ISO image, private images created by public images of Windows, SUSE, Red Hat, Ubuntu, and * > Oracle Linux, and private images created by market images are not allowed to be exported. * > <br/>2. The image size must be less than `1` TB. The images larger than `128` GB only support fast export, the * > maximum image size supported for export in some regions may be greater than `128` GB, please refer to the actual * > operation prompts on the console for accuracy.<br/>3. Destroying resource does not change the current action of the * > image export resource. * * ## Example Usage * ### Ordinary export image * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as pulumi from "@huaweicloudos/pulumi"; * * const config = new pulumi.Config(); * const imageId = config.requireObject("imageId"); * const bucketUrl = config.requireObject("bucketUrl"); * const fileFormat = config.requireObject("fileFormat"); * const test = new huaweicloud.ims.ImageExport("test", { * imageId: imageId, * bucketUrl: bucketUrl, * fileFormat: fileFormat, * }); * ``` * ### Quickly export image * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as pulumi from "@huaweicloudos/pulumi"; * * const config = new pulumi.Config(); * const imageId = config.requireObject("imageId"); * const bucketUrl = config.requireObject("bucketUrl"); * const test = new huaweicloud.ims.ImageExport("test", { * imageId: imageId, * bucketUrl: bucketUrl, * isQuickExport: true, * }); * ``` */ export declare class ImageExport extends pulumi.CustomResource { /** * Get an existing ImageExport 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?: ImageExportState, opts?: pulumi.CustomResourceOptions): ImageExport; /** * Returns true if the given object is an instance of ImageExport. 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 ImageExport; /** * Specifies the URL of the image file to be exported to the OBS bucket, the * format is **OBS bucket name:image file name**, e.g. **test_bucket:test_image_file**. The storage category of the OBS * bucket and image file here must be OBS standard storage. Changing this parameter will create a new resource. */ readonly bucketUrl: pulumi.Output<string>; /** * Specifies the format of the image file to be exported. The valid values * are **qcow2**, **vhd**, **zvhd**, or **vmdk**. Changing this parameter will create a new resource. */ readonly fileFormat: pulumi.Output<string | undefined>; /** * Specifies the image ID to export. * Changing this parameter will create a new resource. */ readonly imageId: pulumi.Output<string>; /** * Specifies whether to use quick export. The valid value is **true** or * **false**. Changing this parameter will create a new resource. */ readonly isQuickExport: pulumi.Output<boolean | undefined>; /** * Specifies the region in which to create the resource. * If omitted, the provider-level region will be used. Changing this parameter will create a new resource. */ readonly region: pulumi.Output<string>; /** * Create a ImageExport 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: ImageExportArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering ImageExport resources. */ export interface ImageExportState { /** * Specifies the URL of the image file to be exported to the OBS bucket, the * format is **OBS bucket name:image file name**, e.g. **test_bucket:test_image_file**. The storage category of the OBS * bucket and image file here must be OBS standard storage. Changing this parameter will create a new resource. */ bucketUrl?: pulumi.Input<string>; /** * Specifies the format of the image file to be exported. The valid values * are **qcow2**, **vhd**, **zvhd**, or **vmdk**. Changing this parameter will create a new resource. */ fileFormat?: pulumi.Input<string>; /** * Specifies the image ID to export. * Changing this parameter will create a new resource. */ imageId?: pulumi.Input<string>; /** * Specifies whether to use quick export. The valid value is **true** or * **false**. Changing this parameter will create a new resource. */ isQuickExport?: pulumi.Input<boolean>; /** * Specifies the region in which to create the resource. * If omitted, the provider-level region will be used. Changing this parameter will create a new resource. */ region?: pulumi.Input<string>; } /** * The set of arguments for constructing a ImageExport resource. */ export interface ImageExportArgs { /** * Specifies the URL of the image file to be exported to the OBS bucket, the * format is **OBS bucket name:image file name**, e.g. **test_bucket:test_image_file**. The storage category of the OBS * bucket and image file here must be OBS standard storage. Changing this parameter will create a new resource. */ bucketUrl: pulumi.Input<string>; /** * Specifies the format of the image file to be exported. The valid values * are **qcow2**, **vhd**, **zvhd**, or **vmdk**. Changing this parameter will create a new resource. */ fileFormat?: pulumi.Input<string>; /** * Specifies the image ID to export. * Changing this parameter will create a new resource. */ imageId: pulumi.Input<string>; /** * Specifies whether to use quick export. The valid value is **true** or * **false**. Changing this parameter will create a new resource. */ isQuickExport?: pulumi.Input<boolean>; /** * Specifies the region in which to create the resource. * If omitted, the provider-level region will be used. Changing this parameter will create a new resource. */ region?: pulumi.Input<string>; }