Class: Google::Apis::ComputeAlpha::MachineImage
- Inherits:
-
Object
- Object
- Google::Apis::ComputeAlpha::MachineImage
- Includes:
- Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
- Defined in:
- lib/google/apis/compute_alpha/classes.rb,
lib/google/apis/compute_alpha/representations.rb,
lib/google/apis/compute_alpha/representations.rb
Overview
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. (==
resource_for $api_version.machineImages ==)
Instance Attribute Summary collapse
-
#creation_timestamp ⇒ String
[Output Only] The creation timestamp for this machine image in RFC3339 text format.
-
#description ⇒ String
An optional description of this resource.
-
#guest_flush ⇒ Boolean
(also: #guest_flush?)
[Input Only] Whether to attempt an application consistent machine image by informing the OS to prepare for the snapshot process.
-
#id ⇒ Fixnum
[Output Only] A unique identifier for this machine image.
-
#kind ⇒ String
[Output Only] The resource type, which is always compute#machineImage for machine image.
-
#machine_image_encryption_key ⇒ Google::Apis::ComputeAlpha::CustomerEncryptionKey
Encrypts the machine image using a customer-supplied encryption key.
-
#name ⇒ String
Name of the resource; provided by the client when the resource is created.
-
#satisfies_pzs ⇒ Boolean
(also: #satisfies_pzs?)
[Output Only] Reserved for future use.
-
#self_link ⇒ String
[Output Only] The URL for this machine image.
-
#self_link_with_id ⇒ String
[Output Only] Server-defined URL for this resource with the resource id.
-
#source_disk_encryption_keys ⇒ Array<Google::Apis::ComputeAlpha::SourceDiskEncryptionKey>
[Input Only] The customer-supplied encryption key of the disks attached to the source instance.
-
#source_instance ⇒ String
The source instance used to create the machine image.
-
#source_instance_properties ⇒ Google::Apis::ComputeAlpha::SourceInstanceProperties
Corresponds to the JSON property
sourceInstanceProperties. -
#status ⇒ String
[Output Only] The status of the machine image.
-
#storage_locations ⇒ Array<String>
The regional or multi-regional Cloud Storage bucket location where the machine image is stored.
-
#total_storage_bytes ⇒ Fixnum
[Output Only] Total size of the storage used by the machine image.
Instance Method Summary collapse
-
#initialize(**args) ⇒ MachineImage
constructor
A new instance of MachineImage.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ MachineImage
Returns a new instance of MachineImage.
20438 20439 20440 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 20438 def initialize(**args) update!(**args) end |
Instance Attribute Details
#creation_timestamp ⇒ String
[Output Only] The creation timestamp for this machine image in RFC3339 text
format.
Corresponds to the JSON property creationTimestamp
20331 20332 20333 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 20331 def @creation_timestamp end |
#description ⇒ String
An optional description of this resource. Provide this property when you
create the resource.
Corresponds to the JSON property description
20337 20338 20339 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 20337 def description @description end |
#guest_flush ⇒ Boolean Also known as: guest_flush?
[Input Only] Whether to attempt an application consistent machine image by
informing the OS to prepare for the snapshot process. Currently only supported
on Windows instances using the Volume Shadow Copy Service (VSS).
Corresponds to the JSON property guestFlush
20344 20345 20346 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 20344 def guest_flush @guest_flush end |
#id ⇒ Fixnum
[Output Only] A unique identifier for this machine image. The server defines
this identifier.
Corresponds to the JSON property id
20351 20352 20353 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 20351 def id @id end |
#kind ⇒ String
[Output Only] The resource type, which is always compute#machineImage for
machine image.
Corresponds to the JSON property kind
20357 20358 20359 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 20357 def kind @kind end |
#machine_image_encryption_key ⇒ Google::Apis::ComputeAlpha::CustomerEncryptionKey
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
20371 20372 20373 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 20371 def machine_image_encryption_key @machine_image_encryption_key end |
#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.
Corresponds to the JSON property name
20381 20382 20383 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 20381 def name @name end |
#satisfies_pzs ⇒ Boolean Also known as: satisfies_pzs?
[Output Only] Reserved for future use.
Corresponds to the JSON property satisfiesPzs
20386 20387 20388 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 20386 def satisfies_pzs @satisfies_pzs end |
#self_link ⇒ String
[Output Only] The URL for this machine image. The server defines this URL.
Corresponds to the JSON property selfLink
20392 20393 20394 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 20392 def self_link @self_link end |
#self_link_with_id ⇒ String
[Output Only] Server-defined URL for this resource with the resource id.
Corresponds to the JSON property selfLinkWithId
20397 20398 20399 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 20397 def self_link_with_id @self_link_with_id end |
#source_disk_encryption_keys ⇒ Array<Google::Apis::ComputeAlpha::SourceDiskEncryptionKey>
[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
20404 20405 20406 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 20404 def source_disk_encryption_keys @source_disk_encryption_keys end |
#source_instance ⇒ String
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:
- https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/ instance
- projects/project/zones/zone/instances/instance
Corresponds to the JSON property
sourceInstance
20414 20415 20416 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 20414 def source_instance @source_instance end |
#source_instance_properties ⇒ Google::Apis::ComputeAlpha::SourceInstanceProperties
Corresponds to the JSON property sourceInstanceProperties
20419 20420 20421 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 20419 def source_instance_properties @source_instance_properties end |
#status ⇒ String
[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
20425 20426 20427 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 20425 def status @status end |
#storage_locations ⇒ Array<String>
The regional or multi-regional Cloud Storage bucket location where the machine
image is stored.
Corresponds to the JSON property storageLocations
20431 20432 20433 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 20431 def storage_locations @storage_locations end |
#total_storage_bytes ⇒ Fixnum
[Output Only] Total size of the storage used by the machine image.
Corresponds to the JSON property totalStorageBytes
20436 20437 20438 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 20436 def total_storage_bytes @total_storage_bytes end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
20443 20444 20445 20446 20447 20448 20449 20450 20451 20452 20453 20454 20455 20456 20457 20458 20459 20460 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 20443 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) @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) @self_link = args[:self_link] if args.key?(:self_link) @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id) @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 |