@cdktf/provider-google
Version:
Prebuilt google Provider for Terraform CDK (cdktf)
967 lines (966 loc) • 49.7 kB
TypeScript
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface ComputeImageConfig extends cdktf.TerraformMetaArguments {
/**
* An optional description of this resource. Provide this property when
* you create the resource.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#description ComputeImage#description}
*/
readonly description?: string;
/**
* Size of the image when restored onto a persistent disk (in GB).
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#disk_size_gb ComputeImage#disk_size_gb}
*/
readonly diskSizeGb?: number;
/**
* The name of the image family to which this image belongs. You can
* create disks by specifying an image family instead of a specific
* image name. The image family always returns its latest image that is
* not deprecated. The name of the image family must comply with
* RFC1035.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#family ComputeImage#family}
*/
readonly family?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#id ComputeImage#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;
/**
* Labels to apply to this Image.
*
* **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
* Please refer to the field 'effective_labels' for all of the labels present on the resource.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#labels ComputeImage#labels}
*/
readonly labels?: {
[key: string]: string;
};
/**
* Any applicable license URI.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#licenses ComputeImage#licenses}
*/
readonly licenses?: string[];
/**
* Name of the resource; provided by the client when the resource is
* created. The name must be 1-63 characters long, and comply with
* RFC1035. Specifically, the name must be 1-63 characters long and
* match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means
* the first character must be a lowercase letter, and all following
* characters must be a dash, lowercase letter, or digit, except the
* last character, which cannot be a dash.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#name ComputeImage#name}
*/
readonly name: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#project ComputeImage#project}
*/
readonly project?: string;
/**
* The source disk to create this image based on.
* You must provide either this property or the
* rawDisk.source property but not both to create an image.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#source_disk ComputeImage#source_disk}
*/
readonly sourceDisk?: string;
/**
* URL of the source image used to create this image. In order to create an image, you must provide the full or partial
* URL of one of the following:
*
* * The selfLink URL
* * This property
* * The rawDisk.source URL
* * The sourceDisk URL
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#source_image ComputeImage#source_image}
*/
readonly sourceImage?: string;
/**
* URL of the source snapshot used to create this image.
*
* In order to create an image, you must provide the full or partial URL of one of the following:
*
* * The selfLink URL
* * This property
* * The sourceImage URL
* * The rawDisk.source URL
* * The sourceDisk URL
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#source_snapshot ComputeImage#source_snapshot}
*/
readonly sourceSnapshot?: string;
/**
* Cloud Storage bucket storage location of the image
* (regional or multi-regional).
* Reference link: https://cloud.google.com/compute/docs/reference/rest/v1/images
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#storage_locations ComputeImage#storage_locations}
*/
readonly storageLocations?: string[];
/**
* guest_os_features block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#guest_os_features ComputeImage#guest_os_features}
*/
readonly guestOsFeatures?: ComputeImageGuestOsFeatures[] | cdktf.IResolvable;
/**
* image_encryption_key block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#image_encryption_key ComputeImage#image_encryption_key}
*/
readonly imageEncryptionKey?: ComputeImageImageEncryptionKey;
/**
* raw_disk block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#raw_disk ComputeImage#raw_disk}
*/
readonly rawDisk?: ComputeImageRawDisk;
/**
* shielded_instance_initial_state block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#shielded_instance_initial_state ComputeImage#shielded_instance_initial_state}
*/
readonly shieldedInstanceInitialState?: ComputeImageShieldedInstanceInitialState;
/**
* source_disk_encryption_key block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#source_disk_encryption_key ComputeImage#source_disk_encryption_key}
*/
readonly sourceDiskEncryptionKey?: ComputeImageSourceDiskEncryptionKey;
/**
* source_image_encryption_key block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#source_image_encryption_key ComputeImage#source_image_encryption_key}
*/
readonly sourceImageEncryptionKey?: ComputeImageSourceImageEncryptionKey;
/**
* source_snapshot_encryption_key block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#source_snapshot_encryption_key ComputeImage#source_snapshot_encryption_key}
*/
readonly sourceSnapshotEncryptionKey?: ComputeImageSourceSnapshotEncryptionKey;
/**
* timeouts block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#timeouts ComputeImage#timeouts}
*/
readonly timeouts?: ComputeImageTimeouts;
}
export interface ComputeImageGuestOsFeatures {
/**
* The type of supported feature. Read [Enabling guest operating system features](https://cloud.google.com/compute/docs/images/create-delete-deprecate-private-images#guest-os-features) to see a list of available options. Possible values: ["MULTI_IP_SUBNET", "SECURE_BOOT", "SEV_CAPABLE", "UEFI_COMPATIBLE", "VIRTIO_SCSI_MULTIQUEUE", "WINDOWS", "GVNIC", "IDPF", "SEV_LIVE_MIGRATABLE", "SEV_SNP_CAPABLE", "SUSPEND_RESUME_COMPATIBLE", "TDX_CAPABLE", "SEV_LIVE_MIGRATABLE_V2"]
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#type ComputeImage#type}
*/
readonly type: string;
}
export declare function computeImageGuestOsFeaturesToTerraform(struct?: ComputeImageGuestOsFeatures | cdktf.IResolvable): any;
export declare function computeImageGuestOsFeaturesToHclTerraform(struct?: ComputeImageGuestOsFeatures | cdktf.IResolvable): any;
export declare class ComputeImageGuestOsFeaturesOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
private resolvableValue?;
/**
* @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(): ComputeImageGuestOsFeatures | cdktf.IResolvable | undefined;
set internalValue(value: ComputeImageGuestOsFeatures | cdktf.IResolvable | undefined);
private _type?;
get type(): string;
set type(value: string);
get typeInput(): string | undefined;
}
export declare class ComputeImageGuestOsFeaturesList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: ComputeImageGuestOsFeatures[] | cdktf.IResolvable;
/**
* @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): ComputeImageGuestOsFeaturesOutputReference;
}
export interface ComputeImageImageEncryptionKey {
/**
* The self link of the encryption key that is stored in Google Cloud
* KMS.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#kms_key_self_link ComputeImage#kms_key_self_link}
*/
readonly kmsKeySelfLink?: string;
/**
* The service account being used for the encryption request for the
* given KMS key. If absent, the Compute Engine default service
* account is used.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#kms_key_service_account ComputeImage#kms_key_service_account}
*/
readonly kmsKeyServiceAccount?: string;
/**
* Specifies a 256-bit customer-supplied encryption key, encoded in
* RFC 4648 base64 to either encrypt or decrypt this resource.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#raw_key ComputeImage#raw_key}
*/
readonly rawKey?: string;
/**
* Specifies a 256-bit customer-supplied encryption key, encoded in
* RFC 4648 base64 to either encrypt or decrypt this resource.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#rsa_encrypted_key ComputeImage#rsa_encrypted_key}
*/
readonly rsaEncryptedKey?: string;
}
export declare function computeImageImageEncryptionKeyToTerraform(struct?: ComputeImageImageEncryptionKeyOutputReference | ComputeImageImageEncryptionKey): any;
export declare function computeImageImageEncryptionKeyToHclTerraform(struct?: ComputeImageImageEncryptionKeyOutputReference | ComputeImageImageEncryptionKey): any;
export declare class ComputeImageImageEncryptionKeyOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): ComputeImageImageEncryptionKey | undefined;
set internalValue(value: ComputeImageImageEncryptionKey | undefined);
private _kmsKeySelfLink?;
get kmsKeySelfLink(): string;
set kmsKeySelfLink(value: string);
resetKmsKeySelfLink(): void;
get kmsKeySelfLinkInput(): string | undefined;
private _kmsKeyServiceAccount?;
get kmsKeyServiceAccount(): string;
set kmsKeyServiceAccount(value: string);
resetKmsKeyServiceAccount(): void;
get kmsKeyServiceAccountInput(): string | undefined;
private _rawKey?;
get rawKey(): string;
set rawKey(value: string);
resetRawKey(): void;
get rawKeyInput(): string | undefined;
private _rsaEncryptedKey?;
get rsaEncryptedKey(): string;
set rsaEncryptedKey(value: string);
resetRsaEncryptedKey(): void;
get rsaEncryptedKeyInput(): string | undefined;
}
export interface ComputeImageRawDisk {
/**
* The format used to encode and transmit the block device, which
* should be TAR. This is just a container and transmission format
* and not a runtime format. Provided by the client when the disk
* image is created. Default value: "TAR" Possible values: ["TAR"]
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#container_type ComputeImage#container_type}
*/
readonly containerType?: string;
/**
* An optional SHA1 checksum of the disk image before unpackaging.
* This is provided by the client when the disk image is created.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#sha1 ComputeImage#sha1}
*/
readonly sha1?: string;
/**
* The full Google Cloud Storage URL where disk storage is stored
* You must provide either this property or the sourceDisk property
* but not both.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#source ComputeImage#source}
*/
readonly source: string;
}
export declare function computeImageRawDiskToTerraform(struct?: ComputeImageRawDiskOutputReference | ComputeImageRawDisk): any;
export declare function computeImageRawDiskToHclTerraform(struct?: ComputeImageRawDiskOutputReference | ComputeImageRawDisk): any;
export declare class ComputeImageRawDiskOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): ComputeImageRawDisk | undefined;
set internalValue(value: ComputeImageRawDisk | undefined);
private _containerType?;
get containerType(): string;
set containerType(value: string);
resetContainerType(): void;
get containerTypeInput(): string | undefined;
private _sha1?;
get sha1(): string;
set sha1(value: string);
resetSha1(): void;
get sha1Input(): string | undefined;
private _source?;
get source(): string;
set source(value: string);
get sourceInput(): string | undefined;
}
export interface ComputeImageShieldedInstanceInitialStateDbs {
/**
* The raw content in the secure keys file.
*
* A base64-encoded string.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#content ComputeImage#content}
*/
readonly content: string;
/**
* The file type of source file.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#file_type ComputeImage#file_type}
*/
readonly fileType?: string;
}
export declare function computeImageShieldedInstanceInitialStateDbsToTerraform(struct?: ComputeImageShieldedInstanceInitialStateDbs | cdktf.IResolvable): any;
export declare function computeImageShieldedInstanceInitialStateDbsToHclTerraform(struct?: ComputeImageShieldedInstanceInitialStateDbs | cdktf.IResolvable): any;
export declare class ComputeImageShieldedInstanceInitialStateDbsOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
private resolvableValue?;
/**
* @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(): ComputeImageShieldedInstanceInitialStateDbs | cdktf.IResolvable | undefined;
set internalValue(value: ComputeImageShieldedInstanceInitialStateDbs | cdktf.IResolvable | undefined);
private _content?;
get content(): string;
set content(value: string);
get contentInput(): string | undefined;
private _fileType?;
get fileType(): string;
set fileType(value: string);
resetFileType(): void;
get fileTypeInput(): string | undefined;
}
export declare class ComputeImageShieldedInstanceInitialStateDbsList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: ComputeImageShieldedInstanceInitialStateDbs[] | cdktf.IResolvable;
/**
* @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): ComputeImageShieldedInstanceInitialStateDbsOutputReference;
}
export interface ComputeImageShieldedInstanceInitialStateDbxs {
/**
* The raw content in the secure keys file.
*
* A base64-encoded string.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#content ComputeImage#content}
*/
readonly content: string;
/**
* The file type of source file.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#file_type ComputeImage#file_type}
*/
readonly fileType?: string;
}
export declare function computeImageShieldedInstanceInitialStateDbxsToTerraform(struct?: ComputeImageShieldedInstanceInitialStateDbxs | cdktf.IResolvable): any;
export declare function computeImageShieldedInstanceInitialStateDbxsToHclTerraform(struct?: ComputeImageShieldedInstanceInitialStateDbxs | cdktf.IResolvable): any;
export declare class ComputeImageShieldedInstanceInitialStateDbxsOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
private resolvableValue?;
/**
* @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(): ComputeImageShieldedInstanceInitialStateDbxs | cdktf.IResolvable | undefined;
set internalValue(value: ComputeImageShieldedInstanceInitialStateDbxs | cdktf.IResolvable | undefined);
private _content?;
get content(): string;
set content(value: string);
get contentInput(): string | undefined;
private _fileType?;
get fileType(): string;
set fileType(value: string);
resetFileType(): void;
get fileTypeInput(): string | undefined;
}
export declare class ComputeImageShieldedInstanceInitialStateDbxsList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: ComputeImageShieldedInstanceInitialStateDbxs[] | cdktf.IResolvable;
/**
* @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): ComputeImageShieldedInstanceInitialStateDbxsOutputReference;
}
export interface ComputeImageShieldedInstanceInitialStateKeks {
/**
* The raw content in the secure keys file.
*
* A base64-encoded string.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#content ComputeImage#content}
*/
readonly content: string;
/**
* The file type of source file.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#file_type ComputeImage#file_type}
*/
readonly fileType?: string;
}
export declare function computeImageShieldedInstanceInitialStateKeksToTerraform(struct?: ComputeImageShieldedInstanceInitialStateKeks | cdktf.IResolvable): any;
export declare function computeImageShieldedInstanceInitialStateKeksToHclTerraform(struct?: ComputeImageShieldedInstanceInitialStateKeks | cdktf.IResolvable): any;
export declare class ComputeImageShieldedInstanceInitialStateKeksOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
private resolvableValue?;
/**
* @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(): ComputeImageShieldedInstanceInitialStateKeks | cdktf.IResolvable | undefined;
set internalValue(value: ComputeImageShieldedInstanceInitialStateKeks | cdktf.IResolvable | undefined);
private _content?;
get content(): string;
set content(value: string);
get contentInput(): string | undefined;
private _fileType?;
get fileType(): string;
set fileType(value: string);
resetFileType(): void;
get fileTypeInput(): string | undefined;
}
export declare class ComputeImageShieldedInstanceInitialStateKeksList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: ComputeImageShieldedInstanceInitialStateKeks[] | cdktf.IResolvable;
/**
* @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): ComputeImageShieldedInstanceInitialStateKeksOutputReference;
}
export interface ComputeImageShieldedInstanceInitialStatePk {
/**
* The raw content in the secure keys file.
*
* A base64-encoded string.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#content ComputeImage#content}
*/
readonly content: string;
/**
* The file type of source file.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#file_type ComputeImage#file_type}
*/
readonly fileType?: string;
}
export declare function computeImageShieldedInstanceInitialStatePkToTerraform(struct?: ComputeImageShieldedInstanceInitialStatePkOutputReference | ComputeImageShieldedInstanceInitialStatePk): any;
export declare function computeImageShieldedInstanceInitialStatePkToHclTerraform(struct?: ComputeImageShieldedInstanceInitialStatePkOutputReference | ComputeImageShieldedInstanceInitialStatePk): any;
export declare class ComputeImageShieldedInstanceInitialStatePkOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): ComputeImageShieldedInstanceInitialStatePk | undefined;
set internalValue(value: ComputeImageShieldedInstanceInitialStatePk | undefined);
private _content?;
get content(): string;
set content(value: string);
get contentInput(): string | undefined;
private _fileType?;
get fileType(): string;
set fileType(value: string);
resetFileType(): void;
get fileTypeInput(): string | undefined;
}
export interface ComputeImageShieldedInstanceInitialState {
/**
* dbs block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#dbs ComputeImage#dbs}
*/
readonly dbs?: ComputeImageShieldedInstanceInitialStateDbs[] | cdktf.IResolvable;
/**
* dbxs block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#dbxs ComputeImage#dbxs}
*/
readonly dbxs?: ComputeImageShieldedInstanceInitialStateDbxs[] | cdktf.IResolvable;
/**
* keks block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#keks ComputeImage#keks}
*/
readonly keks?: ComputeImageShieldedInstanceInitialStateKeks[] | cdktf.IResolvable;
/**
* pk block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#pk ComputeImage#pk}
*/
readonly pk?: ComputeImageShieldedInstanceInitialStatePk;
}
export declare function computeImageShieldedInstanceInitialStateToTerraform(struct?: ComputeImageShieldedInstanceInitialStateOutputReference | ComputeImageShieldedInstanceInitialState): any;
export declare function computeImageShieldedInstanceInitialStateToHclTerraform(struct?: ComputeImageShieldedInstanceInitialStateOutputReference | ComputeImageShieldedInstanceInitialState): any;
export declare class ComputeImageShieldedInstanceInitialStateOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): ComputeImageShieldedInstanceInitialState | undefined;
set internalValue(value: ComputeImageShieldedInstanceInitialState | undefined);
private _dbs;
get dbs(): ComputeImageShieldedInstanceInitialStateDbsList;
putDbs(value: ComputeImageShieldedInstanceInitialStateDbs[] | cdktf.IResolvable): void;
resetDbs(): void;
get dbsInput(): cdktf.IResolvable | ComputeImageShieldedInstanceInitialStateDbs[] | undefined;
private _dbxs;
get dbxs(): ComputeImageShieldedInstanceInitialStateDbxsList;
putDbxs(value: ComputeImageShieldedInstanceInitialStateDbxs[] | cdktf.IResolvable): void;
resetDbxs(): void;
get dbxsInput(): cdktf.IResolvable | ComputeImageShieldedInstanceInitialStateDbxs[] | undefined;
private _keks;
get keks(): ComputeImageShieldedInstanceInitialStateKeksList;
putKeks(value: ComputeImageShieldedInstanceInitialStateKeks[] | cdktf.IResolvable): void;
resetKeks(): void;
get keksInput(): cdktf.IResolvable | ComputeImageShieldedInstanceInitialStateKeks[] | undefined;
private _pk;
get pk(): ComputeImageShieldedInstanceInitialStatePkOutputReference;
putPk(value: ComputeImageShieldedInstanceInitialStatePk): void;
resetPk(): void;
get pkInput(): ComputeImageShieldedInstanceInitialStatePk | undefined;
}
export interface ComputeImageSourceDiskEncryptionKey {
/**
* The self link of the encryption key used to decrypt this resource. Also called KmsKeyName
* in the cloud console. Your project's Compute Engine System service account
* ('service-{{PROJECT_NUMBER}}@compute-system.iam.gserviceaccount.com') must have
* 'roles/cloudkms.cryptoKeyEncrypterDecrypter' to use this feature.
* See https://cloud.google.com/compute/docs/disks/customer-managed-encryption#encrypt_a_new_persistent_disk_with_your_own_keys
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#kms_key_self_link ComputeImage#kms_key_self_link}
*/
readonly kmsKeySelfLink?: string;
/**
* The service account being used for the encryption request for the
* given KMS key. If absent, the Compute Engine default service
* account is used.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#kms_key_service_account ComputeImage#kms_key_service_account}
*/
readonly kmsKeyServiceAccount?: string;
/**
* Specifies a 256-bit customer-supplied encryption key, encoded in
* RFC 4648 base64 to either encrypt or decrypt this resource.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#raw_key ComputeImage#raw_key}
*/
readonly rawKey?: string;
/**
* Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit
* customer-supplied encryption key to either encrypt or decrypt
* this resource. You can provide either the rawKey or the rsaEncryptedKey.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#rsa_encrypted_key ComputeImage#rsa_encrypted_key}
*/
readonly rsaEncryptedKey?: string;
}
export declare function computeImageSourceDiskEncryptionKeyToTerraform(struct?: ComputeImageSourceDiskEncryptionKeyOutputReference | ComputeImageSourceDiskEncryptionKey): any;
export declare function computeImageSourceDiskEncryptionKeyToHclTerraform(struct?: ComputeImageSourceDiskEncryptionKeyOutputReference | ComputeImageSourceDiskEncryptionKey): any;
export declare class ComputeImageSourceDiskEncryptionKeyOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): ComputeImageSourceDiskEncryptionKey | undefined;
set internalValue(value: ComputeImageSourceDiskEncryptionKey | undefined);
private _kmsKeySelfLink?;
get kmsKeySelfLink(): string;
set kmsKeySelfLink(value: string);
resetKmsKeySelfLink(): void;
get kmsKeySelfLinkInput(): string | undefined;
private _kmsKeyServiceAccount?;
get kmsKeyServiceAccount(): string;
set kmsKeyServiceAccount(value: string);
resetKmsKeyServiceAccount(): void;
get kmsKeyServiceAccountInput(): string | undefined;
private _rawKey?;
get rawKey(): string;
set rawKey(value: string);
resetRawKey(): void;
get rawKeyInput(): string | undefined;
private _rsaEncryptedKey?;
get rsaEncryptedKey(): string;
set rsaEncryptedKey(value: string);
resetRsaEncryptedKey(): void;
get rsaEncryptedKeyInput(): string | undefined;
}
export interface ComputeImageSourceImageEncryptionKey {
/**
* The self link of the encryption key used to decrypt this resource. Also called KmsKeyName
* in the cloud console. Your project's Compute Engine System service account
* ('service-{{PROJECT_NUMBER}}@compute-system.iam.gserviceaccount.com') must have
* 'roles/cloudkms.cryptoKeyEncrypterDecrypter' to use this feature.
* See https://cloud.google.com/compute/docs/disks/customer-managed-encryption#encrypt_a_new_persistent_disk_with_your_own_keys
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#kms_key_self_link ComputeImage#kms_key_self_link}
*/
readonly kmsKeySelfLink?: string;
/**
* The service account being used for the encryption request for the
* given KMS key. If absent, the Compute Engine default service
* account is used.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#kms_key_service_account ComputeImage#kms_key_service_account}
*/
readonly kmsKeyServiceAccount?: string;
/**
* Specifies a 256-bit customer-supplied encryption key, encoded in
* RFC 4648 base64 to either encrypt or decrypt this resource.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#raw_key ComputeImage#raw_key}
*/
readonly rawKey?: string;
/**
* Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit
* customer-supplied encryption key to either encrypt or decrypt
* this resource. You can provide either the rawKey or the rsaEncryptedKey.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#rsa_encrypted_key ComputeImage#rsa_encrypted_key}
*/
readonly rsaEncryptedKey?: string;
}
export declare function computeImageSourceImageEncryptionKeyToTerraform(struct?: ComputeImageSourceImageEncryptionKeyOutputReference | ComputeImageSourceImageEncryptionKey): any;
export declare function computeImageSourceImageEncryptionKeyToHclTerraform(struct?: ComputeImageSourceImageEncryptionKeyOutputReference | ComputeImageSourceImageEncryptionKey): any;
export declare class ComputeImageSourceImageEncryptionKeyOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): ComputeImageSourceImageEncryptionKey | undefined;
set internalValue(value: ComputeImageSourceImageEncryptionKey | undefined);
private _kmsKeySelfLink?;
get kmsKeySelfLink(): string;
set kmsKeySelfLink(value: string);
resetKmsKeySelfLink(): void;
get kmsKeySelfLinkInput(): string | undefined;
private _kmsKeyServiceAccount?;
get kmsKeyServiceAccount(): string;
set kmsKeyServiceAccount(value: string);
resetKmsKeyServiceAccount(): void;
get kmsKeyServiceAccountInput(): string | undefined;
private _rawKey?;
get rawKey(): string;
set rawKey(value: string);
resetRawKey(): void;
get rawKeyInput(): string | undefined;
private _rsaEncryptedKey?;
get rsaEncryptedKey(): string;
set rsaEncryptedKey(value: string);
resetRsaEncryptedKey(): void;
get rsaEncryptedKeyInput(): string | undefined;
}
export interface ComputeImageSourceSnapshotEncryptionKey {
/**
* The self link of the encryption key used to decrypt this resource. Also called KmsKeyName
* in the cloud console. Your project's Compute Engine System service account
* ('service-{{PROJECT_NUMBER}}@compute-system.iam.gserviceaccount.com') must have
* 'roles/cloudkms.cryptoKeyEncrypterDecrypter' to use this feature.
* See https://cloud.google.com/compute/docs/disks/customer-managed-encryption#encrypt_a_new_persistent_disk_with_your_own_keys
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#kms_key_self_link ComputeImage#kms_key_self_link}
*/
readonly kmsKeySelfLink?: string;
/**
* The service account being used for the encryption request for the
* given KMS key. If absent, the Compute Engine default service
* account is used.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#kms_key_service_account ComputeImage#kms_key_service_account}
*/
readonly kmsKeyServiceAccount?: string;
/**
* Specifies a 256-bit customer-supplied encryption key, encoded in
* RFC 4648 base64 to either encrypt or decrypt this resource.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#raw_key ComputeImage#raw_key}
*/
readonly rawKey?: string;
/**
* Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit
* customer-supplied encryption key to either encrypt or decrypt
* this resource. You can provide either the rawKey or the rsaEncryptedKey.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#rsa_encrypted_key ComputeImage#rsa_encrypted_key}
*/
readonly rsaEncryptedKey?: string;
}
export declare function computeImageSourceSnapshotEncryptionKeyToTerraform(struct?: ComputeImageSourceSnapshotEncryptionKeyOutputReference | ComputeImageSourceSnapshotEncryptionKey): any;
export declare function computeImageSourceSnapshotEncryptionKeyToHclTerraform(struct?: ComputeImageSourceSnapshotEncryptionKeyOutputReference | ComputeImageSourceSnapshotEncryptionKey): any;
export declare class ComputeImageSourceSnapshotEncryptionKeyOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): ComputeImageSourceSnapshotEncryptionKey | undefined;
set internalValue(value: ComputeImageSourceSnapshotEncryptionKey | undefined);
private _kmsKeySelfLink?;
get kmsKeySelfLink(): string;
set kmsKeySelfLink(value: string);
resetKmsKeySelfLink(): void;
get kmsKeySelfLinkInput(): string | undefined;
private _kmsKeyServiceAccount?;
get kmsKeyServiceAccount(): string;
set kmsKeyServiceAccount(value: string);
resetKmsKeyServiceAccount(): void;
get kmsKeyServiceAccountInput(): string | undefined;
private _rawKey?;
get rawKey(): string;
set rawKey(value: string);
resetRawKey(): void;
get rawKeyInput(): string | undefined;
private _rsaEncryptedKey?;
get rsaEncryptedKey(): string;
set rsaEncryptedKey(value: string);
resetRsaEncryptedKey(): void;
get rsaEncryptedKeyInput(): string | undefined;
}
export interface ComputeImageTimeouts {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#create ComputeImage#create}
*/
readonly create?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#delete ComputeImage#delete}
*/
readonly delete?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#update ComputeImage#update}
*/
readonly update?: string;
}
export declare function computeImageTimeoutsToTerraform(struct?: ComputeImageTimeouts | cdktf.IResolvable): any;
export declare function computeImageTimeoutsToHclTerraform(struct?: ComputeImageTimeouts | cdktf.IResolvable): any;
export declare class ComputeImageTimeoutsOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
private resolvableValue?;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): ComputeImageTimeouts | cdktf.IResolvable | undefined;
set internalValue(value: ComputeImageTimeouts | cdktf.IResolvable | undefined);
private _create?;
get create(): string;
set create(value: string);
resetCreate(): void;
get createInput(): string | undefined;
private _delete?;
get delete(): string;
set delete(value: string);
resetDelete(): void;
get deleteInput(): string | undefined;
private _update?;
get update(): string;
set update(value: string);
resetUpdate(): void;
get updateInput(): string | undefined;
}
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image google_compute_image}
*/
export declare class ComputeImage extends cdktf.TerraformResource {
static readonly tfResourceType = "google_compute_image";
/**
* Generates CDKTF code for importing a ComputeImage resource upon running "cdktf plan <stack-name>"
* @param scope The scope in which to define this construct
* @param importToId The construct id used in the generated config for the ComputeImage to import
* @param importFromId The id of the existing ComputeImage that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image#import import section} in the documentation of this resource for the id to use
* @param provider? Optional instance of the provider where the ComputeImage to import is found
*/
static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): cdktf.ImportableResource;
/**
* Create a new {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_image google_compute_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 ComputeImageConfig
*/
constructor(scope: Construct, id: string, config: ComputeImageConfig);
get archiveSizeBytes(): number;
get creationTimestamp(): string;
private _description?;
get description(): string;
set description(value: string);
resetDescription(): void;
get descriptionInput(): string | undefined;
private _diskSizeGb?;
get diskSizeGb(): number;
set diskSizeGb(value: number);
resetDiskSizeGb(): void;
get diskSizeGbInput(): number | undefined;
private _effectiveLabels;
get effectiveLabels(): cdktf.StringMap;
private _family?;
get family(): string;
set family(value: string);
resetFamily(): void;
get familyInput(): string | undefined;
private _id?;
get id(): string;
set id(value: string);
resetId(): void;
get idInput(): string | undefined;
get labelFingerprint(): string;
private _labels?;
get labels(): {
[key: string]: string;
};
set labels(value: {
[key: string]: string;
});
resetLabels(): void;
get labelsInput(): {
[key: string]: string;
} | undefined;
private _licenses?;
get licenses(): string[];
set licenses(value: string[]);
resetLicenses(): void;
get licensesInput(): string[] | undefined;
private _name?;
get name(): string;
set name(value: string);
get nameInput(): string | undefined;
private _project?;
get project(): string;
set project(value: string);
resetProject(): void;
get projectInput(): string | undefined;
get selfLink(): string;
private _sourceDisk?;
get sourceDisk(): string;
set sourceDisk(value: string);
resetSourceDisk(): void;
get sourceDiskInput(): string | undefined;
private _sourceImage?;
get sourceImage(): string;
set sourceImage(value: string);
resetSourceImage(): void;
get sourceImageInput(): string | undefined;
private _sourceSnapshot?;
get sourceSnapshot(): string;
set sourceSnapshot(value: string);
resetSourceSnapshot(): void;
get sourceSnapshotInput(): string | undefined;
private _storageLocations?;
get storageLocations(): string[];
set storageLocations(value: string[]);
resetStorageLocations(): void;
get storageLocationsInput(): string[] | undefined;
private _terraformLabels;
get terraformLabels(): cdktf.StringMap;
private _guestOsFeatures;
get guestOsFeatures(): ComputeImageGuestOsFeaturesList;
putGuestOsFeatures(value: ComputeImageGuestOsFeatures[] | cdktf.IResolvable): void;
resetGuestOsFeatures(): void;
get guestOsFeaturesInput(): cdktf.IResolvable | ComputeImageGuestOsFeatures[] | undefined;
private _imageEncryptionKey;
get imageEncryptionKey(): ComputeImageImageEncryptionKeyOutputReference;
putImageEncryptionKey(value: ComputeImageImageEncryptionKey): void;
resetImageEncryptionKey(): void;
get imageEncryptionKeyInput(): ComputeImageImageEncryptionKey | undefined;
private _rawDisk;
get rawDisk(): ComputeImageRawDiskOutputReference;
putRawDisk(value: ComputeImageRawDisk): void;
resetRawDisk(): void;
get rawDiskInput(): ComputeImageRawDisk | undefined;
private _shieldedInstanceInitialState;
get shieldedInstanceInitialState(): ComputeImageShieldedInstanceInitialStateOutputReference;
putShieldedInstanceInitialState(value: ComputeImageShieldedInstanceInitialState): void;
resetShieldedInstanceInitialState(): void;
get shieldedInstanceInitialStateInput(): ComputeImageShieldedInstanceInitialState | undefined;
private _sourceDiskEncryptionKey;
get sourceDiskEncryptionKey(): ComputeImageSourceDiskEncryptionKeyOutputReference;
putSourceDiskEncryptionKey(value: ComputeImageSourceDiskEncryptionKey): void;
resetSourceDiskEncryptionKey(): void;
get sourceDiskEncryptionKeyInput(): ComputeImageSourceDiskEncryptionKey | undefined;
private _sourceImageEncryptionKey;
get sourceImageEncryptionKey(): ComputeImageSourceImageEncryptionKeyOutputReference;
putSourceImageEncryptionKey(value: ComputeImageSourceImageEncryptionKey): void;
resetSourceImageEncryptionKey(): void;
get sourceImageEncryptionKeyInput(): ComputeImageSourceImageEncryptionKey | undefined;
private _sourceSnapshotEncryptionKey;
get sourceSnapshotEncryptionKey(): ComputeImageSourceSnapshotEncryptionKeyOutputReference;
putSourceSnapshotEncryptionKey(value: ComputeImageSourceSnapshotEncryptionKey): void;
resetSourceSnapshotEncryptionKey(): void;
get sourceSnapshotEncryptionKeyInput(): ComputeImageSourceSnapshotEncryptionKey | undefined;
private _timeouts;
get timeouts(): ComputeImageTimeoutsOutputReference;
putTimeouts(value: ComputeImageTimeouts): void;
resetTimeouts(): void;
get timeoutsInput(): cdktf.IResolvable | ComputeImageTimeouts | undefined;
protected synthesizeAttributes(): {
[name: string]: any;
};
protected synthesizeHclAttributes(): {
[name: string]: any;
};
}