import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface CvmSyncImageConfig extends cdktf.TerraformMetaArguments { /** * List of destination regions for synchronization. Limits: It must be a valid region. For a custom image, the destination region cannot be the source region. For a shared image, the destination region must be the source region, which indicates to create a copy of the image as a custom image in the same region. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cvm_sync_image#destination_regions CvmSyncImage#destination_regions} */ readonly destinationRegions: string[]; /** * Checks whether image synchronization can be initiated. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cvm_sync_image#dry_run CvmSyncImage#dry_run} */ readonly dryRun?: boolean | cdktf.IResolvable; /** * Whether to synchronize as an encrypted custom image. Default value is `false`. Synchronization to an encrypted custom image is only supported within the same region. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cvm_sync_image#encrypt CvmSyncImage#encrypt} */ readonly encrypt?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cvm_sync_image#id CvmSyncImage#id} * * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable. */ readonly id?: string; /** * Image ID. The specified image must meet the following requirement: the images must be in the `NORMAL` state. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cvm_sync_image#image_id CvmSyncImage#image_id} */ readonly imageId: string; /** * Destination image name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cvm_sync_image#image_name CvmSyncImage#image_name} */ readonly imageName?: string; /** * Whether to return the ID of image created in the destination region. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cvm_sync_image#image_set_required CvmSyncImage#image_set_required} */ readonly imageSetRequired?: boolean | cdktf.IResolvable; /** * KMS key ID used when synchronizing to an encrypted custom image. This parameter is valid only synchronizing to an encrypted image. If KmsKeyId is not specified, the default CBS cloud product KMS key is used. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cvm_sync_image#kms_key_id CvmSyncImage#kms_key_id} */ readonly kmsKeyId?: string; } export interface CvmSyncImageImageSet { } export declare function cvmSyncImageImageSetToTerraform(struct?: CvmSyncImageImageSet): any; export declare function cvmSyncImageImageSetToHclTerraform(struct?: CvmSyncImageImageSet): any; export declare class CvmSyncImageImageSetOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): CvmSyncImageImageSet | undefined; set internalValue(value: CvmSyncImageImageSet | undefined); get imageId(): any; get region(): any; } export declare class CvmSyncImageImageSetList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): CvmSyncImageImageSetOutputReference; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cvm_sync_image tencentcloud_cvm_sync_image} */ export declare class CvmSyncImage extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_cvm_sync_image"; /** * Generates CDKTF code for importing a CvmSyncImage resource upon running "cdktf plan " * @param scope The scope in which to define this construct * @param importToId The construct id used in the generated config for the CvmSyncImage to import * @param importFromId The id of the existing CvmSyncImage that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cvm_sync_image#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the CvmSyncImage to import is found */ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): any; /** * Create a new {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cvm_sync_image tencentcloud_cvm_sync_image} Resource * * @param scope The scope in which to define this construct * @param id The scoped construct ID. Must be unique amongst siblings in the same scope * @param options CvmSyncImageConfig */ constructor(scope: Construct, id: string, config: CvmSyncImageConfig); private _destinationRegions?; get destinationRegions(): string[]; set destinationRegions(value: string[]); get destinationRegionsInput(): string[]; private _dryRun?; get dryRun(): boolean | cdktf.IResolvable; set dryRun(value: boolean | cdktf.IResolvable); resetDryRun(): void; get dryRunInput(): any; private _encrypt?; get encrypt(): boolean | cdktf.IResolvable; set encrypt(value: boolean | cdktf.IResolvable); resetEncrypt(): void; get encryptInput(): any; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _imageId?; get imageId(): string; set imageId(value: string); get imageIdInput(): string; private _imageName?; get imageName(): string; set imageName(value: string); resetImageName(): void; get imageNameInput(): string; private _imageSet; get imageSet(): CvmSyncImageImageSetList; private _imageSetRequired?; get imageSetRequired(): boolean | cdktf.IResolvable; set imageSetRequired(value: boolean | cdktf.IResolvable); resetImageSetRequired(): void; get imageSetRequiredInput(): any; private _kmsKeyId?; get kmsKeyId(): string; set kmsKeyId(value: string); resetKmsKeyId(): void; get kmsKeyIdInput(): string; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }