class Google::Apis::ComputeBeta::Disk
A Disk resource.
Attributes
- Output Only
-
Creation timestamp in RFC3339 text format.
Corresponds to the JSON property `creationTimestamp` @return [String]
An optional description of this resource. Provide this property when you create the resource. Corresponds to the JSON property `description` @return [String]
Represents a customer-supplied encryption key Corresponds to the JSON property `diskEncryptionKey` @return [Google::Apis::ComputeBeta::CustomerEncryptionKey]
- Output Only
-
The unique identifier for the resource. This identifier is
defined by the server. Corresponds to the JSON property `id` @return [String]
- Output Only
-
Type of the resource. Always compute#disk for disks.
Corresponds to the JSON property `kind` @return [String]
A fingerprint for the labels being applied to this disk, which is essentially a hash of the labels set 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. To see the latest fingerprint, make a get() request to retrieve a disk. Corresponds to the JSON property `labelFingerprint` @return [String]
Labels to apply to this disk. These can be later modified by the setLabels() method. Each label key & value must 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. A label value can also be empty (e.g. “example-label”: “”). Corresponds to the JSON property `labels` @return [Hash<String,String>]
- Output Only
-
Last attach timestamp in RFC3339 text format.
Corresponds to the JSON property `lastAttachTimestamp` @return [String]
- Output Only
-
Last detach timestamp in RFC3339 text format.
Corresponds to the JSON property `lastDetachTimestamp` @return [String]
- Output Only
-
Any applicable publicly visible licenses.
Corresponds to the JSON property `licenses` @return [Array<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]*)? 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]
Internal use only. Corresponds to the JSON property `options` @return [String]
- Output Only
-
Server-defined fully-qualified URL for this resource.
Corresponds to the JSON property `selfLink` @return [String]
Size of the persistent disk, specified in GB. You can specify this field when creating a persistent disk using the sourceImage or sourceSnapshot parameter, or specify it alone to create an empty persistent disk. If you specify this field along with sourceImage or sourceSnapshot, the value of sizeGb must not be less than the size of the sourceImage or the size of the snapshot. Corresponds to the JSON property `sizeGb` @return [String]
The source image used to create this disk. If the source image is deleted, this field will not be set. To create a disk with one of the public operating system images, specify the image by its family name. For example, specify family/debian-8 to use the latest Debian 8 image: projects/debian-cloud/global/images/family/debian-8 Alternatively, use a specific version of a public operating system image: projects/debian-cloud/global/images/debian-8-jessie-vYYYYMMDD To create a disk with a private image that you created, specify the image name in the following format: global/images/my-private-image You can also specify a private image by its image family, which returns the latest version of the image in that family. Replace the image name with family/ family-name: global/images/family/my-private-family Corresponds to the JSON property `sourceImage` @return [String]
Represents a customer-supplied encryption key Corresponds to the JSON property `sourceImageEncryptionKey` @return [Google::Apis::ComputeBeta::CustomerEncryptionKey]
- Output Only
-
The ID value of the image used to create this disk. This value
identifies the exact image that was used to create this persistent disk. For example, if you created the persistent disk from an image that was later deleted and recreated under the same name, the source image ID would identify the exact version of the image that was used. Corresponds to the JSON property `sourceImageId` @return [String]
The source snapshot used to create this disk. You can provide this as a partial or full URL to the resource. For example, the following are valid values:
snapshot
-
projects/project/global/snapshots/snapshot
-
global/snapshots/snapshot
Corresponds to the JSON property `sourceSnapshot` @return [String]
Represents a customer-supplied encryption key Corresponds to the JSON property `sourceSnapshotEncryptionKey` @return [Google::Apis::ComputeBeta::CustomerEncryptionKey]
- Output Only
-
The unique ID of the snapshot used to create this disk. This
value identifies the exact snapshot that was used to create this persistent disk. For example, if you created the persistent disk from a snapshot that was later deleted and recreated under the same name, the source snapshot ID would identify the exact version of the snapshot that was used. Corresponds to the JSON property `sourceSnapshotId` @return [String]
- Output Only
-
The status of disk creation. Applicable statuses includes:
CREATING, FAILED, READY, RESTORING. Corresponds to the JSON property `status` @return [String]
- Deprecated
-
Storage type of the persistent disk.
Corresponds to the JSON property `storageType` @return [String]
URL of the disk type resource describing which disk type to use to create the disk. Provide this when creating the disk. Corresponds to the JSON property `type` @return [String]
- Output Only
-
Links to the users of the disk (attached instances) in form:
project/zones/zone/instances/instance Corresponds to the JSON property `users` @return [Array<String>]
- Output Only
-
URL of the zone where the disk resides.
Corresponds to the JSON property `zone` @return [String]
Public Class Methods
# File generated/google/apis/compute_beta/classes.rb, line 1510 def initialize(**args) update!(**args) end
Public Instance Methods
Update properties of this object
# File generated/google/apis/compute_beta/classes.rb, line 1515 def update!(**args) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @disk_encryption_key = args[:disk_encryption_key] if args.key?(:disk_encryption_key) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint) @labels = args[:labels] if args.key?(:labels) @last_attach_timestamp = args[:last_attach_timestamp] if args.key?(:last_attach_timestamp) @last_detach_timestamp = args[:last_detach_timestamp] if args.key?(:last_detach_timestamp) @licenses = args[:licenses] if args.key?(:licenses) @name = args[:name] if args.key?(:name) @options = args[:options] if args.key?(:options) @self_link = args[:self_link] if args.key?(:self_link) @size_gb = args[:size_gb] if args.key?(:size_gb) @source_image = args[:source_image] if args.key?(:source_image) @source_image_encryption_key = args[:source_image_encryption_key] if args.key?(:source_image_encryption_key) @source_image_id = args[:source_image_id] if args.key?(:source_image_id) @source_snapshot = args[:source_snapshot] if args.key?(:source_snapshot) @source_snapshot_encryption_key = args[:source_snapshot_encryption_key] if args.key?(:source_snapshot_encryption_key) @source_snapshot_id = args[:source_snapshot_id] if args.key?(:source_snapshot_id) @status = args[:status] if args.key?(:status) @storage_type = args[:storage_type] if args.key?(:storage_type) @type = args[:type] if args.key?(:type) @users = args[:users] if args.key?(:users) @zone = args[:zone] if args.key?(:zone) end