import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * An image is a special file containing the basic operating system and application data required for a cloud server instance. You must select an image when creating an instance. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as volcenginecc from "@volcengine/pulumi-volcenginecc"; * * const imageDemo = new volcenginecc.ecs.Image("ImageDemo", { * description: "ImageDemo Example", * imageName: "image-demo", * instanceId: "i-ydzhj1el8gr9cxxdnxxxx", * projectName: "default", * sharePermissions: ["2000000***"], * tags: [{ * key: "env", * value: "test", * }], * }); * ``` * * ## Import * * ```sh * $ pulumi import volcenginecc:ecs/image:Image example "image_id" * ``` */ 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, 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; /** * Image architecture type. Options: amd64 (x86 compute), arm64 (ARM compute). */ readonly architecture: pulumi.Output; /** * Image boot mode. You can select BIOS or UEFI */ readonly bootMode: pulumi.Output; /** * Whether to create a full instance image. Values: false: Default, do not create a full instance image. true: Create a full instance image. */ readonly createWholeImage: pulumi.Output; /** * Image creation time */ readonly createdAt: pulumi.Output; /** * Image description. Must start with a letter or Chinese character. Can contain Chinese characters, letters, numbers, underscores "_", hyphens "-", equals signs "=", English commas ",", English periods ".", Chinese commas ",", Chinese periods "。", and spaces. Length: 0–255 characters. If left blank, defaults to empty. */ readonly description: pulumi.Output; /** * Image check result. */ readonly detectionResults: pulumi.Output; /** * Image ID */ readonly imageId: pulumi.Output; /** * Image name. Must start with a letter or Chinese character. Can only contain Chinese characters, letters, numbers, underscores "_", hyphens "-", and periods ".". Length: 1–128 characters */ readonly imageName: pulumi.Output; /** * Account ID to which the image belongs. */ readonly imageOwnerId: pulumi.Output; /** * Imported image information */ readonly importImage: pulumi.Output; /** * Instance ID. You must specify one of InstanceId, SnapshotId, or SnapshotGroupId. */ readonly instanceId: pulumi.Output; /** * Whether Cloud Assistant Agent is installed in the image */ readonly isInstallRunCommandAgent: pulumi.Output; /** * Whether the public image is maintained long-term. */ readonly isLts: pulumi.Output; /** * Whether the image supports Cloud-init. */ readonly isSupportCloudInit: pulumi.Output; /** * Image kernel version. */ readonly kernel: pulumi.Output; /** * Image license type. VolcanoEngine: Default, uses the official license based on your platform setting. BYOL: Bring Your Own License (BYOL) */ readonly licenseType: pulumi.Output; /** * Whether to perform image check. Values: true: Default, check enabled. false: Check disabled. */ readonly needDetection: pulumi.Output; /** * Name of the image operating system. */ readonly osName: pulumi.Output; /** * Operating system type */ readonly osType: pulumi.Output; /** * Release version of the image operating system. Options: CentOS, Debian, veLinux, Windows Server, Fedora, OpenSUSE, Ubuntu. */ readonly platform: pulumi.Output; /** * Image release version. */ readonly platformVersion: pulumi.Output; /** * Product code for marketplace image */ readonly productCode: pulumi.Output; /** * Project to which the resource belongs. If the API caller account only has permissions for certain projects, you must provide a project with the required permissions */ readonly projectName: pulumi.Output; /** * Accounts with which the image is shared */ readonly sharePermissions: pulumi.Output; /** * Image sharing status. HasShared: The custom image has been shared with other users. If the custom image is not shared or a public image is used, ShareStatus returns empty. */ readonly shareStatus: pulumi.Output; /** * Image size, in GiB. */ readonly size: pulumi.Output; /** * Snapshot consistency group ID, used to create a custom image from a snapshot consistency group. One of Snapshot consistency group ID, SnapshotId, or InstanceId must be provided */ readonly snapshotGroupId: pulumi.Output; /** * System disk snapshot ID, used to create a custom image from a system disk snapshot. You must specify one of InstanceId, SnapshotId, or SnapshotGroupId. */ readonly snapshotId: pulumi.Output; readonly snapshots: pulumi.Output; /** * Image status. */ readonly status: pulumi.Output; readonly tags: pulumi.Output; /** * Image update time */ readonly updatedAt: pulumi.Output; /** * Image size, in Bytes. */ readonly virtualSize: pulumi.Output; /** * Image visibility. public: Public image. private: Private image. shared: Shared image. */ readonly visibility: pulumi.Output; /** * 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 { /** * Image architecture type. Options: amd64 (x86 compute), arm64 (ARM compute). */ architecture?: pulumi.Input; /** * Image boot mode. You can select BIOS or UEFI */ bootMode?: pulumi.Input; /** * Whether to create a full instance image. Values: false: Default, do not create a full instance image. true: Create a full instance image. */ createWholeImage?: pulumi.Input; /** * Image creation time */ createdAt?: pulumi.Input; /** * Image description. Must start with a letter or Chinese character. Can contain Chinese characters, letters, numbers, underscores "_", hyphens "-", equals signs "=", English commas ",", English periods ".", Chinese commas ",", Chinese periods "。", and spaces. Length: 0–255 characters. If left blank, defaults to empty. */ description?: pulumi.Input; /** * Image check result. */ detectionResults?: pulumi.Input; /** * Image ID */ imageId?: pulumi.Input; /** * Image name. Must start with a letter or Chinese character. Can only contain Chinese characters, letters, numbers, underscores "_", hyphens "-", and periods ".". Length: 1–128 characters */ imageName?: pulumi.Input; /** * Account ID to which the image belongs. */ imageOwnerId?: pulumi.Input; /** * Imported image information */ importImage?: pulumi.Input; /** * Instance ID. You must specify one of InstanceId, SnapshotId, or SnapshotGroupId. */ instanceId?: pulumi.Input; /** * Whether Cloud Assistant Agent is installed in the image */ isInstallRunCommandAgent?: pulumi.Input; /** * Whether the public image is maintained long-term. */ isLts?: pulumi.Input; /** * Whether the image supports Cloud-init. */ isSupportCloudInit?: pulumi.Input; /** * Image kernel version. */ kernel?: pulumi.Input; /** * Image license type. VolcanoEngine: Default, uses the official license based on your platform setting. BYOL: Bring Your Own License (BYOL) */ licenseType?: pulumi.Input; /** * Whether to perform image check. Values: true: Default, check enabled. false: Check disabled. */ needDetection?: pulumi.Input; /** * Name of the image operating system. */ osName?: pulumi.Input; /** * Operating system type */ osType?: pulumi.Input; /** * Release version of the image operating system. Options: CentOS, Debian, veLinux, Windows Server, Fedora, OpenSUSE, Ubuntu. */ platform?: pulumi.Input; /** * Image release version. */ platformVersion?: pulumi.Input; /** * Product code for marketplace image */ productCode?: pulumi.Input; /** * Project to which the resource belongs. If the API caller account only has permissions for certain projects, you must provide a project with the required permissions */ projectName?: pulumi.Input; /** * Accounts with which the image is shared */ sharePermissions?: pulumi.Input[]>; /** * Image sharing status. HasShared: The custom image has been shared with other users. If the custom image is not shared or a public image is used, ShareStatus returns empty. */ shareStatus?: pulumi.Input; /** * Image size, in GiB. */ size?: pulumi.Input; /** * Snapshot consistency group ID, used to create a custom image from a snapshot consistency group. One of Snapshot consistency group ID, SnapshotId, or InstanceId must be provided */ snapshotGroupId?: pulumi.Input; /** * System disk snapshot ID, used to create a custom image from a system disk snapshot. You must specify one of InstanceId, SnapshotId, or SnapshotGroupId. */ snapshotId?: pulumi.Input; snapshots?: pulumi.Input[]>; /** * Image status. */ status?: pulumi.Input; tags?: pulumi.Input[]>; /** * Image update time */ updatedAt?: pulumi.Input; /** * Image size, in Bytes. */ virtualSize?: pulumi.Input; /** * Image visibility. public: Public image. private: Private image. shared: Shared image. */ visibility?: pulumi.Input; } /** * The set of arguments for constructing a Image resource. */ export interface ImageArgs { /** * Image architecture type. Options: amd64 (x86 compute), arm64 (ARM compute). */ architecture?: pulumi.Input; /** * Image boot mode. You can select BIOS or UEFI */ bootMode?: pulumi.Input; /** * Whether to create a full instance image. Values: false: Default, do not create a full instance image. true: Create a full instance image. */ createWholeImage?: pulumi.Input; /** * Image description. Must start with a letter or Chinese character. Can contain Chinese characters, letters, numbers, underscores "_", hyphens "-", equals signs "=", English commas ",", English periods ".", Chinese commas ",", Chinese periods "。", and spaces. Length: 0–255 characters. If left blank, defaults to empty. */ description?: pulumi.Input; /** * Image name. Must start with a letter or Chinese character. Can only contain Chinese characters, letters, numbers, underscores "_", hyphens "-", and periods ".". Length: 1–128 characters */ imageName: pulumi.Input; /** * Imported image information */ importImage?: pulumi.Input; /** * Instance ID. You must specify one of InstanceId, SnapshotId, or SnapshotGroupId. */ instanceId?: pulumi.Input; /** * Image license type. VolcanoEngine: Default, uses the official license based on your platform setting. BYOL: Bring Your Own License (BYOL) */ licenseType?: pulumi.Input; /** * Whether to perform image check. Values: true: Default, check enabled. false: Check disabled. */ needDetection?: pulumi.Input; /** * Operating system type */ osType?: pulumi.Input; /** * Release version of the image operating system. Options: CentOS, Debian, veLinux, Windows Server, Fedora, OpenSUSE, Ubuntu. */ platform?: pulumi.Input; /** * Image release version. */ platformVersion?: pulumi.Input; /** * Project to which the resource belongs. If the API caller account only has permissions for certain projects, you must provide a project with the required permissions */ projectName?: pulumi.Input; /** * Accounts with which the image is shared */ sharePermissions?: pulumi.Input[]>; /** * Snapshot consistency group ID, used to create a custom image from a snapshot consistency group. One of Snapshot consistency group ID, SnapshotId, or InstanceId must be provided */ snapshotGroupId?: pulumi.Input; /** * System disk snapshot ID, used to create a custom image from a system disk snapshot. You must specify one of InstanceId, SnapshotId, or SnapshotGroupId. */ snapshotId?: pulumi.Input; tags?: pulumi.Input[]>; }