Compute V1 Client - Class Image (1.21.0)

Reference documentation and code samples for the Compute V1 Client class Image.

Represents an Image resource. You can use images to create boot disks for your VM instances. For more information, read Images.

Generated from protobuf message google.cloud.compute.v1.Image

Namespace

Google \ Cloud \ Compute \ V1

Methods

__construct

Constructor.

Parameters
Name Description
data array

Optional. Data for populating the Message object.

↳ architecture string

The architecture of the image. Valid values are ARM64 or X86_64. Check the Architecture enum for the list of possible values.

↳ archive_size_bytes int|string

Size of the image tar.gz archive stored in Google Cloud Storage (in bytes).

↳ creation_timestamp string

[Output Only] Creation timestamp in RFC3339 text format.

↳ deprecated DeprecationStatus

The deprecation status associated with this image.

↳ description string

An optional description of this resource. Provide this property when you create the resource.

↳ disk_size_gb int|string

Size of the image when restored onto a persistent disk (in GB).

↳ enable_confidential_compute 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.

↳ family 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.

↳ guest_os_features array<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.

↳ id int|string

[Output Only] The unique identifier for the resource. This identifier is defined by the server.

↳ image_encryption_key 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.

↳ kind string

[Output Only] Type of the resource. Always compute#image for images.

↳ label_fingerprint string

A fingerprint for the labels being applied to this image, which is essentially a hash of the labels used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an image.

↳ labels array|Google\Protobuf\Internal\MapField

Labels to apply to this image. These can be later modified by the setLabels method.

↳ license_codes array

Integer license codes indicating which licenses are attached to this image.

↳ licenses array

Any applicable license URI.

↳ name 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.

↳ raw_disk RawDisk

The parameters of the raw disk image.

↳ satisfies_pzi bool

Output only. Reserved for future use.

↳ satisfies_pzs bool

[Output Only] Reserved for future use.

↳ self_link string

[Output Only] Server-defined URL for the resource.

↳ shielded_instance_initial_state InitialStateConfig

Set the secure boot keys of shielded instance.

↳ source_disk 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

↳ source_disk_encryption_key CustomerEncryptionKey

The customer-supplied encryption key of the source disk. Required if the source disk is protected by a customer-supplied encryption key.

↳ source_disk_id string

[Output Only] The ID value of the disk used to create this image. This value may be used to determine whether the image was taken from the current or a previous instance of a given disk name.

↳ source_image 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

↳ source_image_encryption_key CustomerEncryptionKey

The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key.

↳ source_image_id string

[Output Only] The ID value of the image used to create this image. This value may be used to determine whether the image was taken from the current or a previous instance of a given image name.

↳ source_snapshot 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

↳ source_snapshot_encryption_key CustomerEncryptionKey

The customer-supplied encryption key of the source snapshot. Required if the source snapshot is protected by a customer-supplied encryption key.

↳ source_snapshot_id string

[Output Only] The ID value of the snapshot used to create this image. This value may be used to determine whether the snapshot was taken from the current or a previous instance of a given snapshot name.

↳ source_type string

The type of the image used to create this disk. The default and only valid value is RAW. Check the SourceType enum for the list of possible values.

↳ status string

[Output Only] The status of the image. An image can be used to create other resources, such as instances, only after the image has been successfully created and the status is set to READY. Possible values are FAILED, PENDING, or READY. Check the Status enum for the list of possible values.

↳ storage_locations array

Cloud Storage bucket storage location of the image (regional or multi-regional).

getArchitecture

The architecture of the image. Valid values are ARM64 or X86_64.

Check the Architecture enum for the list of possible values.

Returns
Type Description
string

hasArchitecture

clearArchitecture

setArchitecture

The architecture of the image. Valid values are ARM64 or X86_64.

Check the Architecture enum for the list of possible values.

Parameter
Name Description
var string
Returns
Type Description
$this

getArchiveSizeBytes

Size of the image tar.gz archive stored in Google Cloud Storage (in bytes).

Returns
Type Description
int|string

hasArchiveSizeBytes

clearArchiveSizeBytes

setArchiveSizeBytes

Size of the image tar.gz archive stored in Google Cloud Storage (in bytes).

Parameter
Name Description
var int|string
Returns
Type Description
$this

getCreationTimestamp

[Output Only] Creation timestamp in RFC3339 text format.

Returns
Type Description
string

hasCreationTimestamp

clearCreationTimestamp

setCreationTimestamp

[Output Only] Creation timestamp in RFC3339 text format.

Parameter
Name Description
var string
Returns
Type Description
$this

getDeprecated

The deprecation status associated with this image.

Returns
Type Description
DeprecationStatus|null

hasDeprecated

clearDeprecated

setDeprecated

The deprecation status associated with this image.

Parameter
Name Description
var DeprecationStatus
Returns
Type Description
$this

getDescription

An optional description of this resource. Provide this property when you create the resource.

Returns
Type Description
string

hasDescription

clearDescription

setDescription

An optional description of this resource. Provide this property when you create the resource.

Parameter
Name Description
var string
Returns
Type Description
$this

getDiskSizeGb

Size of the image when restored onto a persistent disk (in GB).

Returns
Type Description
int|string

hasDiskSizeGb

clearDiskSizeGb

setDiskSizeGb

Size of the image when restored onto a persistent disk (in GB).

Parameter
Name Description
var int|string
Returns
Type Description
$this

getEnableConfidentialCompute

Whether this image is created from a confidential compute mode disk. [Output Only]: This field is not set by user, but from source disk.

Returns
Type Description
bool

hasEnableConfidentialCompute

clearEnableConfidentialCompute

setEnableConfidentialCompute

Whether this image is created from a confidential compute mode disk. [Output Only]: This field is not set by user, but from source disk.

Parameter
Name Description
var bool
Returns
Type Description
$this

getFamily

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.

Returns
Type Description
string

hasFamily

clearFamily

setFamily

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.

Parameter
Name Description
var string
Returns
Type Description
$this

getGuestOsFeatures

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.

Returns
Type Description
Google\Protobuf\Internal\RepeatedField

setGuestOsFeatures

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.

Parameter
Name Description
var array<GuestOsFeature>
Returns
Type Description
$this

getId

[Output Only] The unique identifier for the resource. This identifier is defined by the server.

Returns
Type Description
int|string

hasId

clearId

setId

[Output Only] The unique identifier for the resource. This identifier is defined by the server.

Parameter
Name Description
var int|string
Returns
Type Description
$this

getImageEncryptionKey

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.

Returns
Type Description
CustomerEncryptionKey|null

hasImageEncryptionKey

clearImageEncryptionKey

setImageEncryptionKey

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.

Parameter
Name Description
var CustomerEncryptionKey
Returns
Type Description
$this

getKind

[Output Only] Type of the resource. Always compute#image for images.

Returns
Type Description
string

hasKind

clearKind

setKind

[Output Only] Type of the resource. Always compute#image for images.

Parameter
Name Description
var string
Returns
Type Description
$this

getLabelFingerprint

A fingerprint for the labels being applied to this image, which is essentially a hash of the labels used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an image.

Returns
Type Description
string

hasLabelFingerprint

clearLabelFingerprint

setLabelFingerprint

A fingerprint for the labels being applied to this image, which is essentially a hash of the labels used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an image.

Parameter
Name Description
var string
Returns
Type Description
$this

getLabels

Labels to apply to this image. These can be later modified by the setLabels method.

Returns
Type Description
Google\Protobuf\Internal\MapField

setLabels

Labels to apply to this image. These can be later modified by the setLabels method.

Parameter
Name Description
var array|Google\Protobuf\Internal\MapField
Returns
Type Description
$this

getLicenseCodes

Integer license codes indicating which licenses are attached to this image.

Returns
Type Description
Google\Protobuf\Internal\RepeatedField

setLicenseCodes

Integer license codes indicating which licenses are attached to this image.

Parameter
Name Description
var int[]|string[]|Google\Protobuf\Internal\RepeatedField
Returns
Type Description
$this

getLicenses

Any applicable license URI.

Returns
Type Description
Google\Protobuf\Internal\RepeatedField

setLicenses

Any applicable license URI.

Parameter
Name Description
var string[]
Returns
Type Description
$this

getName

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.

Returns
Type Description
string

hasName

clearName

setName

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.

Parameter
Name Description
var string
Returns
Type Description
$this

getRawDisk

The parameters of the raw disk image.

Returns
Type Description
RawDisk|null

hasRawDisk

clearRawDisk

setRawDisk

The parameters of the raw disk image.

Parameter
Name Description
var RawDisk
Returns
Type Description
$this

getSatisfiesPzi

Output only. Reserved for future use.

Returns
Type Description
bool

hasSatisfiesPzi

clearSatisfiesPzi

setSatisfiesPzi

Output only. Reserved for future use.

Parameter
Name Description
var bool
Returns
Type Description
$this

getSatisfiesPzs

[Output Only] Reserved for future use.

Returns
Type Description
bool

hasSatisfiesPzs

clearSatisfiesPzs

setSatisfiesPzs

[Output Only] Reserved for future use.

Parameter
Name Description
var bool
Returns
Type Description
$this

[Output Only] Server-defined URL for the resource.

Returns
Type Description
string

[Output Only] Server-defined URL for the resource.

Parameter
Name Description
var string
Returns
Type Description
$this

getShieldedInstanceInitialState

Set the secure boot keys of shielded instance.

Returns
Type Description
InitialStateConfig|null

hasShieldedInstanceInitialState

clearShieldedInstanceInitialState

setShieldedInstanceInitialState

Set the secure boot keys of shielded instance.

Parameter
Name Description
var InitialStateConfig
Returns
Type Description
$this

getSourceDisk

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

Returns
Type Description
string

hasSourceDisk

clearSourceDisk

setSourceDisk

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

Parameter
Name Description
var string
Returns
Type Description
$this

getSourceDiskEncryptionKey

The customer-supplied encryption key of the source disk. Required if the source disk is protected by a customer-supplied encryption key.

Returns
Type Description
CustomerEncryptionKey|null

hasSourceDiskEncryptionKey

clearSourceDiskEncryptionKey

setSourceDiskEncryptionKey

The customer-supplied encryption key of the source disk. Required if the source disk is protected by a customer-supplied encryption key.

Parameter
Name Description
var CustomerEncryptionKey
Returns
Type Description
$this

getSourceDiskId

[Output Only] The ID value of the disk used to create this image. This value may be used to determine whether the image was taken from the current or a previous instance of a given disk name.

Returns
Type Description
string

hasSourceDiskId

clearSourceDiskId

setSourceDiskId

[Output Only] The ID value of the disk used to create this image. This value may be used to determine whether the image was taken from the current or a previous instance of a given disk name.

Parameter
Name Description
var string
Returns
Type Description
$this

getSourceImage

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

Returns
Type Description
string

hasSourceImage

clearSourceImage

setSourceImage

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

Parameter
Name Description
var string
Returns
Type Description
$this

getSourceImageEncryptionKey

The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key.

Returns
Type Description
CustomerEncryptionKey|null

hasSourceImageEncryptionKey

clearSourceImageEncryptionKey

setSourceImageEncryptionKey

The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key.

Parameter
Name Description
var CustomerEncryptionKey
Returns
Type Description
$this

getSourceImageId

[Output Only] The ID value of the image used to create this image. This value may be used to determine whether the image was taken from the current or a previous instance of a given image name.

Returns
Type Description
string

hasSourceImageId

clearSourceImageId

setSourceImageId

[Output Only] The ID value of the image used to create this image. This value may be used to determine whether the image was taken from the current or a previous instance of a given image name.

Parameter
Name Description
var string
Returns
Type Description
$this

getSourceSnapshot

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

Returns
Type Description
string

hasSourceSnapshot

clearSourceSnapshot

setSourceSnapshot

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

Parameter
Name Description
var string
Returns
Type Description
$this

getSourceSnapshotEncryptionKey

The customer-supplied encryption key of the source snapshot. Required if the source snapshot is protected by a customer-supplied encryption key.

Returns
Type Description
CustomerEncryptionKey|null

hasSourceSnapshotEncryptionKey

clearSourceSnapshotEncryptionKey

setSourceSnapshotEncryptionKey

The customer-supplied encryption key of the source snapshot. Required if the source snapshot is protected by a customer-supplied encryption key.

Parameter
Name Description
var CustomerEncryptionKey
Returns
Type Description
$this

getSourceSnapshotId

[Output Only] The ID value of the snapshot used to create this image. This value may be used to determine whether the snapshot was taken from the current or a previous instance of a given snapshot name.

Returns
Type Description
string

hasSourceSnapshotId

clearSourceSnapshotId

setSourceSnapshotId

[Output Only] The ID value of the snapshot used to create this image. This value may be used to determine whether the snapshot was taken from the current or a previous instance of a given snapshot name.

Parameter
Name Description
var string
Returns
Type Description
$this

getSourceType

The type of the image used to create this disk. The default and only valid value is RAW.

Check the SourceType enum for the list of possible values.

Returns
Type Description
string

hasSourceType

clearSourceType

setSourceType

The type of the image used to create this disk. The default and only valid value is RAW.

Check the SourceType enum for the list of possible values.

Parameter
Name Description
var string
Returns
Type Description
$this

getStatus

[Output Only] The status of the image. An image can be used to create other resources, such as instances, only after the image has been successfully created and the status is set to READY. Possible values are FAILED, PENDING, or READY.

Check the Status enum for the list of possible values.

Returns
Type Description
string

hasStatus

clearStatus

setStatus

[Output Only] The status of the image. An image can be used to create other resources, such as instances, only after the image has been successfully created and the status is set to READY. Possible values are FAILED, PENDING, or READY.

Check the Status enum for the list of possible values.

Parameter
Name Description
var string
Returns
Type Description
$this

getStorageLocations

Cloud Storage bucket storage location of the image (regional or multi-regional).

Returns
Type Description
Google\Protobuf\Internal\RepeatedField

setStorageLocations

Cloud Storage bucket storage location of the image (regional or multi-regional).

Parameter
Name Description
var string[]
Returns
Type Description
$this