ImageArgs class

The set of arguments for Image. The set of arguments for Image.

Constructors

ImageArgs({Input<ImageArchitecture>? architecture, Input<String>? archiveSizeBytes, Input<DeprecationStatus>? deprecated, Input<String>? description, Input<String>? diskSizeGb, Input<bool>? enableConfidentialCompute, Input<String>? family, Input<bool>? forceCreate, Input<List<GuestOsFeature>>? guestOsFeatures, Input<CustomerEncryptionKey>? imageEncryptionKey, Input<Map<String, String>>? labels, Input<List<String>>? licenseCodes, Input<List<String>>? licenses, Input<bool>? locked, Input<String>? name, Input<String>? project, Input<ImageRawDisk>? rawDisk, Input<String>? requestId, Input<RolloutPolicy>? rolloutOverride, Input<InitialStateConfig>? shieldedInstanceInitialState, Input<String>? sourceDisk, Input<CustomerEncryptionKey>? sourceDiskEncryptionKey, Input<String>? sourceImage, Input<CustomerEncryptionKey>? sourceImageEncryptionKey, Input<String>? sourceSnapshot, Input<CustomerEncryptionKey>? sourceSnapshotEncryptionKey, Input<ImageSourceType>? sourceType, Input<List<String>>? storageLocations, Input<List<String>>? userLicenses})
Creates a new ImageArgs. architecture The architecture of the image. Valid values are ARM64 or X86_64. archiveSizeBytes Size of the image tar.gz archive stored in Google Cloud Storage (in bytes). deprecated The deprecation status associated with this image. description An optional description of this resource. Provide this property when you create the resource. diskSizeGb Size of the image when restored onto a persistent disk (in GB). enableConfidentialCompute Whether this image is created from a confidential compute mode disk. Output Only: This field is not set by user, but from source disk. family The name of the image family to which this image belongs. The image family name can be from a publicly managed image family provided by Compute Engine, or from a custom image family you create. For example, centos-stream-9 is a publicly available image family. For more information, see Image family best practices. When creating disks, you can specify 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. forceCreate Force image creation if true. guestOsFeatures A list of features to enable on the guest operating system. Applicable only for bootable images. To see a list of available options, see the guestOSfeatures[].type parameter. imageEncryptionKey Encrypts the image using a customer-supplied encryption key. After you encrypt an image with a customer-supplied key, you must provide the same key if you use the image later (e.g. to create a disk from the image). Customer-supplied encryption keys do not protect access to metadata of the disk. If you do not provide an encryption key when creating the image, then the disk will be encrypted using an automatically generated key and you do not need to provide a key to use the image later. labels Labels to apply to this image. These can be later modified by the setLabels method. licenseCodes Integer license codes indicating which licenses are attached to this image. licenses Any applicable license URI. locked A flag for marketplace VM disk created from the image, which is designed for marketplace VM disk to prevent the proprietary data on the disk from being accessed unwantedly. The flag will be inherited by the disk created from the image. The disk with locked flag set to true will be prohibited from performing the operations below: - R/W or R/O disk attach - Disk detach, if disk is created via create-on-create - Create images - Create snapshots - Create disk clone (create disk from the current disk) The image with the locked field set to true will be prohibited from performing the operations below: - Create images from the current image - Update the locked field for the current image The instance with at least one disk with locked flag set to true will be prohibited from performing the operations below: - Secondary disk attach - Create instant snapshot - Create machine images - Create instance template - Delete the instance with --keep-disk parameter set to true name 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. project Optional. rawDisk The parameters of the raw disk image. requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). rolloutOverride A rollout policy to apply to this image. When specified, the rollout policy overrides per-zone references to the image via the associated image family. The rollout policy restricts the zones where this image is accessible when using a zonal image family reference. When the rollout policy does not include the user specified zone, or if the zone is rolled out, this image is accessible. The rollout policy for this image is read-only, except for allowlisted users. This field might not be configured. To view the latest non-deprecated image in a specific zone, use the imageFamilyViews.get method. shieldedInstanceInitialState Set the secure boot keys of shielded instance. sourceDisk URL of the source disk used to create this image. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - projects/project/zones/zone/disks/disk - zones/zone/disks/disk In order to create an image, you must provide the full or partial URL of one of the following: - The rawDisk.source URL - The sourceDisk URL - The sourceImage URL - The sourceSnapshot URL sourceDiskEncryptionKey The customer-supplied encryption key of the source disk. Required if the source disk is protected by a customer-supplied encryption key. sourceImage URL of the source image used to create this image. The following are valid formats for the URL: - https://www.googleapis.com/compute/v1/projects/project_id/global/ images/image_name - projects/project_id/global/images/image_name In order to create an image, you must provide the full or partial URL of one of the following: - The rawDisk.source URL - The sourceDisk URL - The sourceImage URL - The sourceSnapshot URL sourceImageEncryptionKey The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key. sourceSnapshot URL of the source snapshot used to create this image. The following are valid formats for the URL: - https://www.googleapis.com/compute/v1/projects/project_id/global/ snapshots/snapshot_name - projects/project_id/global/snapshots/snapshot_name In order to create an image, you must provide the full or partial URL of one of the following: - The rawDisk.source URL - The sourceDisk URL - The sourceImage URL - The sourceSnapshot URL sourceSnapshotEncryptionKey The customer-supplied encryption key of the source snapshot. Required if the source snapshot is protected by a customer-supplied encryption key. sourceType The type of the image used to create this disk. The default and only valid value is RAW. storageLocations Cloud Storage bucket storage location of the image (regional or multi-regional). userLicenses A list of publicly visible user-licenses. Unlike regular licenses, user provided licenses can be modified after the disk is created. This includes a list of URLs to the license resource. For example, to provide a debian license: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/licenses/debian-9-stretch
const
ImageArgs.fromMap(Map<String, dynamic> map)
factory

Properties

architecture → Input<ImageArchitecture>?
The architecture of the image. Valid values are ARM64 or X86_64.
final
archiveSizeBytes → Input<String>?
Size of the image tar.gz archive stored in Google Cloud Storage (in bytes).
final
deprecated → Input<DeprecationStatus>?
The deprecation status associated with this image.
final
description → Input<String>?
An optional description of this resource. Provide this property when you create the resource.
final
diskSizeGb → Input<String>?
Size of the image when restored onto a persistent disk (in GB).
final
enableConfidentialCompute → Input<bool>?
Whether this image is created from a confidential compute mode disk. Output Only: This field is not set by user, but from source disk.
final
family → Input<String>?
The name of the image family to which this image belongs. The image family name can be from a publicly managed image family provided by Compute Engine, or from a custom image family you create. For example, centos-stream-9 is a publicly available image family. For more information, see Image family best practices. When creating disks, you can specify 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.
final
forceCreate → Input<bool>?
Force image creation if true.
final
guestOsFeatures → Input<List<GuestOsFeature>>?
A list of features to enable on the guest operating system. Applicable only for bootable images. To see a list of available options, see the guestOSfeatures[].type parameter.
final
hashCode → int
The hash code for this object.
no setterinherited
imageEncryptionKey → Input<CustomerEncryptionKey>?
Encrypts the image using a customer-supplied encryption key. After you encrypt an image with a customer-supplied key, you must provide the same key if you use the image later (e.g. to create a disk from the image). Customer-supplied encryption keys do not protect access to metadata of the disk. If you do not provide an encryption key when creating the image, then the disk will be encrypted using an automatically generated key and you do not need to provide a key to use the image later.
final
labels → Input<Map<String, String>>?
Labels to apply to this image. These can be later modified by the setLabels method.
final
licenseCodes → Input<List<String>>?
Integer license codes indicating which licenses are attached to this image.
final
licenses → Input<List<String>>?
Any applicable license URI.
final
locked → Input<bool>?
A flag for marketplace VM disk created from the image, which is designed for marketplace VM disk to prevent the proprietary data on the disk from being accessed unwantedly. The flag will be inherited by the disk created from the image. The disk with locked flag set to true will be prohibited from performing the operations below: - R/W or R/O disk attach - Disk detach, if disk is created via create-on-create - Create images - Create snapshots - Create disk clone (create disk from the current disk) The image with the locked field set to true will be prohibited from performing the operations below: - Create images from the current image - Update the locked field for the current image The instance with at least one disk with locked flag set to true will be prohibited from performing the operations below: - Secondary disk attach - Create instant snapshot - Create machine images - Create instance template - Delete the instance with --keep-disk parameter set to true
final
name → Input<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.
final
project → Input<String>?
final
rawDisk → Input<ImageRawDisk>?
The parameters of the raw disk image.
final
requestId → Input<String>?
An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).
final
rolloutOverride → Input<RolloutPolicy>?
A rollout policy to apply to this image. When specified, the rollout policy overrides per-zone references to the image via the associated image family. The rollout policy restricts the zones where this image is accessible when using a zonal image family reference. When the rollout policy does not include the user specified zone, or if the zone is rolled out, this image is accessible. The rollout policy for this image is read-only, except for allowlisted users. This field might not be configured. To view the latest non-deprecated image in a specific zone, use the imageFamilyViews.get method.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
shieldedInstanceInitialState → Input<InitialStateConfig>?
Set the secure boot keys of shielded instance.
final
sourceDisk → Input<String>?
URL of the source disk used to create this image. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - projects/project/zones/zone/disks/disk - zones/zone/disks/disk In order to create an image, you must provide the full or partial URL of one of the following: - The rawDisk.source URL - The sourceDisk URL - The sourceImage URL - The sourceSnapshot URL
final
sourceDiskEncryptionKey → Input<CustomerEncryptionKey>?
The customer-supplied encryption key of the source disk. Required if the source disk is protected by a customer-supplied encryption key.
final
sourceImage → Input<String>?
URL of the source image used to create this image. The following are valid formats for the URL: - https://www.googleapis.com/compute/v1/projects/project_id/global/ images/image_name - projects/project_id/global/images/image_name In order to create an image, you must provide the full or partial URL of one of the following: - The rawDisk.source URL - The sourceDisk URL - The sourceImage URL - The sourceSnapshot URL
final
sourceImageEncryptionKey → Input<CustomerEncryptionKey>?
The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key.
final
sourceSnapshot → Input<String>?
URL of the source snapshot used to create this image. The following are valid formats for the URL: - https://www.googleapis.com/compute/v1/projects/project_id/global/ snapshots/snapshot_name - projects/project_id/global/snapshots/snapshot_name In order to create an image, you must provide the full or partial URL of one of the following: - The rawDisk.source URL - The sourceDisk URL - The sourceImage URL - The sourceSnapshot URL
final
sourceSnapshotEncryptionKey → Input<CustomerEncryptionKey>?
The customer-supplied encryption key of the source snapshot. Required if the source snapshot is protected by a customer-supplied encryption key.
final
sourceType → Input<ImageSourceType>?
The type of the image used to create this disk. The default and only valid value is RAW.
final
storageLocations → Input<List<String>>?
Cloud Storage bucket storage location of the image (regional or multi-regional).
final
userLicenses → Input<List<String>>?
A list of publicly visible user-licenses. Unlike regular licenses, user provided licenses can be modified after the disk is created. This includes a list of URLs to the license resource. For example, to provide a debian license: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/licenses/debian-9-stretch
final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toMap() → Map<String, dynamic>
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited