class Google::Apis::ComputeV1::MachineImage

Represents a machine image resource. A machine image is a Compute Engine resource that stores all the configuration, metadata, permissions, and data from one or more disks required to create a Virtual machine (VM) instance. For more information, see Machine images.

Attributes

creation_timestamp[RW]
Output Only

The creation timestamp for this machine image in RFC3339 text

format. Corresponds to the JSON property `creationTimestamp` @return [String]

description[RW]

An optional description of this resource. Provide this property when you create the resource. Corresponds to the JSON property `description` @return [String]

guest_flush[RW]
Input Only

Whether to attempt an application consistent machine image by

informing the OS to prepare for the snapshot process. Corresponds to the JSON property `guestFlush` @return [Boolean]

guest_flush?[RW]
Input Only

Whether to attempt an application consistent machine image by

informing the OS to prepare for the snapshot process. Corresponds to the JSON property `guestFlush` @return [Boolean]

id[RW]
Output Only

A unique identifier for this machine image. The server defines

this identifier. Corresponds to the JSON property `id` @return [Fixnum]

instance_properties[RW]
Output Only

Properties of source instance

Corresponds to the JSON property `instanceProperties` @return [Google::Apis::ComputeV1::InstanceProperties]

kind[RW]
Output Only

The resource type, which is always compute#machineImage for

machine image. Corresponds to the JSON property `kind` @return [String]

machine_image_encryption_key[RW]

Encrypts the machine image using a customer-supplied encryption key. After you encrypt a machine image using a customer-supplied key, you must provide the same key if you use the machine image later. For example, you must provide the encryption key when you create an instance from the encrypted machine image in a future request. Customer-supplied encryption keys do not protect access to metadata of the machine image. If you do not provide an encryption key when creating the machine image, then the machine image will be encrypted using an automatically generated key and you do not need to provide a key to use the machine image later. Corresponds to the JSON property `machineImageEncryptionKey` @return [Google::Apis::ComputeV1::CustomerEncryptionKey]

name[RW]

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]*)?` 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. Corresponds to the JSON property `name` @return [String]

satisfies_pzs[RW]
Output Only

Reserved for future use.

Corresponds to the JSON property `satisfiesPzs` @return [Boolean]

satisfies_pzs?[RW]
Output Only

Reserved for future use.

Corresponds to the JSON property `satisfiesPzs` @return [Boolean]

saved_disks[RW]

An array of Machine Image specific properties for disks attached to the source instance Corresponds to the JSON property `savedDisks` @return [Array<Google::Apis::ComputeV1::SavedDisk>]

source_disk_encryption_keys[RW]
Input Only

The customer-supplied encryption key of the disks attached to the

source instance. Required if the source disk is protected by a customer- supplied encryption key. Corresponds to the JSON property `sourceDiskEncryptionKeys` @return [Array<Google::Apis::ComputeV1::SourceDiskEncryptionKey>]

source_instance[RW]

The source instance used to create the machine image. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - www.googleapis.com/compute/v1/projects/project/zones/zone / instances/instance - projects/project/zones/zone/instances/instance Corresponds to the JSON property `sourceInstance` @return [String]

source_instance_properties[RW]

DEPRECATED: Please use compute#instanceProperties instead. New properties will not be added to this field. Corresponds to the JSON property `sourceInstanceProperties` @return [Google::Apis::ComputeV1::SourceInstanceProperties]

status[RW]
Output Only

The status of the machine image. One of the following values:

INVALID, CREATING, READY, DELETING, and UPLOADING. Corresponds to the JSON property `status` @return [String]

storage_locations[RW]

The regional or multi-regional Cloud Storage bucket location where the machine image is stored. Corresponds to the JSON property `storageLocations` @return [Array<String>]

total_storage_bytes[RW]
Output Only

Total size of the storage used by the machine image.

Corresponds to the JSON property `totalStorageBytes` @return [Fixnum]

Public Class Methods

new(**args) click to toggle source
# File lib/google/apis/compute_v1/classes.rb, line 18382
def initialize(**args)
   update!(**args)
end

Public Instance Methods

update!(**args) click to toggle source

Update properties of this object

# File lib/google/apis/compute_v1/classes.rb, line 18387
def update!(**args)
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
  @description = args[:description] if args.key?(:description)
  @guest_flush = args[:guest_flush] if args.key?(:guest_flush)
  @id = args[:id] if args.key?(:id)
  @instance_properties = args[:instance_properties] if args.key?(:instance_properties)
  @kind = args[:kind] if args.key?(:kind)
  @machine_image_encryption_key = args[:machine_image_encryption_key] if args.key?(:machine_image_encryption_key)
  @name = args[:name] if args.key?(:name)
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
  @saved_disks = args[:saved_disks] if args.key?(:saved_disks)
  @self_link = args[:self_link] if args.key?(:self_link)
  @source_disk_encryption_keys = args[:source_disk_encryption_keys] if args.key?(:source_disk_encryption_keys)
  @source_instance = args[:source_instance] if args.key?(:source_instance)
  @source_instance_properties = args[:source_instance_properties] if args.key?(:source_instance_properties)
  @status = args[:status] if args.key?(:status)
  @storage_locations = args[:storage_locations] if args.key?(:storage_locations)
  @total_storage_bytes = args[:total_storage_bytes] if args.key?(:total_storage_bytes)
end