Class: Google::Apis::ComputeAlpha::AttachedDisk
- Inherits:
-
Object
- Object
- Google::Apis::ComputeAlpha::AttachedDisk
- 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
An instance-attached disk resource.
Instance Attribute Summary collapse
-
#architecture ⇒ String
Output only.
-
#auto_delete ⇒ Boolean
(also: #auto_delete?)
Specifies whether the disk will be auto-deleted when the instance is deleted (but not when the disk is detached from the instance).
-
#boot ⇒ Boolean
(also: #boot?)
Indicates that this is a boot disk.
-
#device_name ⇒ String
Specifies a unique device name of your choice that is reflected into the/dev/ disk/by-id/google-* tree of a Linux operating system running within the instance.
-
#disk_encryption_key ⇒ Google::Apis::ComputeAlpha::CustomerEncryptionKey
Encrypts or decrypts a disk using acustomer-supplied encryption key.
-
#disk_size_gb ⇒ Fixnum
The size of the disk in GB.
-
#force_attach ⇒ Boolean
(also: #force_attach?)
[Input Only] Whether to force attach the regional disk even if it's currently attached to another instance.
-
#guest_os_features ⇒ Array<Google::Apis::ComputeAlpha::GuestOsFeature>
A list of features to enable on the guest operating system.
-
#index ⇒ Fixnum
Output only.
-
#initialize_params ⇒ Google::Apis::ComputeAlpha::AttachedDiskInitializeParams
[Input Only] Specifies the parameters for a new disk that will be created alongside the new instance.
-
#interface ⇒ String
Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME.
-
#kind ⇒ String
Output only.
-
#licenses ⇒ Array<String>
Output only.
-
#locked ⇒ Boolean
(also: #locked?)
Output only.
-
#mode ⇒ String
The mode in which to attach this disk, either READ_WRITE orREAD_ONLY.
-
#saved_state ⇒ String
Output only.
-
#shielded_instance_initial_state ⇒ Google::Apis::ComputeAlpha::InitialStateConfig
Initial State for shielded instance, these are public keys which are safe to store in public Corresponds to the JSON property
shieldedInstanceInitialState. -
#source ⇒ String
Specifies a valid partial or full URL to an existing Persistent Disk resource.
-
#type ⇒ String
Specifies the type of the disk, either SCRATCH orPERSISTENT.
Instance Method Summary collapse
-
#initialize(**args) ⇒ AttachedDisk
constructor
A new instance of AttachedDisk.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ AttachedDisk
Returns a new instance of AttachedDisk.
2249 2250 2251 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 2249 def initialize(**args) update!(**args) end |
Instance Attribute Details
#architecture ⇒ String
Output only. [Output Only] The architecture of the attached disk. Valid values
are ARM64
or X86_64.
Corresponds to the JSON property architecture
2083 2084 2085 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 2083 def architecture @architecture end |
#auto_delete ⇒ Boolean Also known as: auto_delete?
Specifies whether the disk will be auto-deleted when the instance is
deleted (but not when the disk is detached from the instance).
Corresponds to the JSON property autoDelete
2089 2090 2091 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 2089 def auto_delete @auto_delete end |
#boot ⇒ Boolean Also known as: boot?
Indicates that this is a boot disk. The virtual machine will use the first
partition of the disk for its root filesystem.
Corresponds to the JSON property boot
2096 2097 2098 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 2096 def boot @boot end |
#device_name ⇒ String
Specifies a unique device name of your choice that is reflected into the/dev/
disk/by-id/google-* tree of a Linux operating system
running within the instance. This name can be used to reference the device
for mounting, resizing, and so on, from within the instance.
If not specified, the server chooses a default device name to apply to this
disk, in the form persistent-disk-x, where x is a number
assigned by Google Compute Engine. This field is only applicable for
persistent disks.
Corresponds to the JSON property deviceName
2109 2110 2111 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 2109 def device_name @device_name end |
#disk_encryption_key ⇒ Google::Apis::ComputeAlpha::CustomerEncryptionKey
Encrypts or decrypts a disk using acustomer-supplied
encryption key.
If you are creating a new disk, this field encrypts the new disk using
an encryption key that you provide. If you are attaching an existing
disk that is already encrypted, this field decrypts the disk using
the customer-supplied encryption key.
If you encrypt a disk using a customer-supplied key, you must provide the
same key again when you attempt to use this resource at a later time. For
example, you must provide the key when you create a snapshot or an image
from the disk or when you attach the disk to a virtual machine instance.
If you do not provide an encryption key, then the disk will be encrypted
using an automatically generated key and you do not need to provide a key
to use the disk later.
Note:
Instance templates do not storecustomer-supplied
encryption keys, so you cannot use your own keys to encrypt disks in amanaged
instance group.
You cannot create VMs that have disks with customer-supplied keys using
the bulk
insert method.
Corresponds to the JSON property diskEncryptionKey
2133 2134 2135 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 2133 def disk_encryption_key @disk_encryption_key end |
#disk_size_gb ⇒ Fixnum
The size of the disk in GB.
Corresponds to the JSON property diskSizeGb
2138 2139 2140 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 2138 def disk_size_gb @disk_size_gb end |
#force_attach ⇒ Boolean Also known as: force_attach?
[Input Only] Whether to force attach the regional disk even if it's
currently attached to another instance. If you try to force attach a zonal
disk to an instance, you will receive an error.
Corresponds to the JSON property forceAttach
2145 2146 2147 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 2145 def force_attach @force_attach end |
#guest_os_features ⇒ Array<Google::Apis::ComputeAlpha::GuestOsFeature>
A list of features to enable on the guest operating system. Applicable
only for bootable images. Read
Enabling guest operating system features to see a list of available
options.
Corresponds to the JSON property guestOsFeatures
2154 2155 2156 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 2154 def guest_os_features @guest_os_features end |
#index ⇒ Fixnum
Output only. [Output Only] A zero-based index to this disk, where 0 is
reserved for the
boot disk. If you have many disks attached to an instance, each
disk would have a unique index number.
Corresponds to the JSON property index
2162 2163 2164 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 2162 def index @index end |
#initialize_params ⇒ Google::Apis::ComputeAlpha::AttachedDiskInitializeParams
[Input Only] Specifies the parameters for a new disk that will be created
alongside the new instance. Use initialization parameters to create boot
disks or local SSDs attached to the new instance.
This field is persisted and returned for instanceTemplate and not returned
in the context of instance.
This property is mutually exclusive with the source property;
you can only define one or the other, but not both.
Corresponds to the JSON property initializeParams
2173 2174 2175 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 2173 def initialize_params @initialize_params end |
#interface ⇒ String
Specifies the disk interface to use for attaching this disk, which is
either SCSI or NVME. For most machine types, the
default is SCSI. Local SSDs can use either NVME or SCSI.
In certain configurations, persistent disks can use NVMe. For more
information, seeAbout
persistent disks.
Corresponds to the JSON property interface
2183 2184 2185 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 2183 def interface @interface end |
#kind ⇒ String
Output only. [Output Only] Type of the resource. Alwayscompute#attachedDisk
for attached disks.
Corresponds to the JSON property kind
2189 2190 2191 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 2189 def kind @kind end |
#licenses ⇒ Array<String>
Output only. [Output Only] Any valid publicly visible licenses.
Corresponds to the JSON property licenses
2194 2195 2196 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 2194 def licenses @licenses end |
#locked ⇒ Boolean Also known as: locked?
Output only. [Output Only] Whether to indicate the attached disk is locked.
The locked
disk is not allowed to be detached from the instance, or to be used as the
source of the snapshot creation, and the image creation. The instance with
at least one locked attached disk is not allow to be used as source of
machine image creation, instant snapshot creation, and not allowed to be
deleted with --keep-disk parameter set to true for locked disks.
Corresponds to the JSON property locked
2205 2206 2207 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 2205 def locked @locked end |
#mode ⇒ String
The mode in which to attach this disk, either READ_WRITE orREAD_ONLY. If not
specified, the default is to attach the disk
in READ_WRITE mode.
Corresponds to the JSON property mode
2213 2214 2215 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 2213 def mode @mode end |
#saved_state ⇒ String
Output only. For LocalSSD disks on VM Instances in STOPPED or SUSPENDED state,
this
field is set to PRESERVED if the LocalSSD data has been saved
to a persistent location by customer request. (see the
discard_local_ssd option on Stop/Suspend).
Read-only in the api.
Corresponds to the JSON property savedState
2223 2224 2225 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 2223 def saved_state @saved_state end |
#shielded_instance_initial_state ⇒ Google::Apis::ComputeAlpha::InitialStateConfig
Initial State for shielded instance,
these are public keys which are safe to store in public
Corresponds to the JSON property shieldedInstanceInitialState
2229 2230 2231 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 2229 def shielded_instance_initial_state @shielded_instance_initial_state end |
#source ⇒ String
Specifies a valid partial or full URL to an existing Persistent Disk
resource. When creating a new instance boot disk, one ofinitializeParams.
sourceImage orinitializeParams.sourceSnapshot or disks.source
is required.
If desired, you can also attach existing non-root persistent disks using
this property. This field is only applicable for persistent disks.
Note that for InstanceTemplate, specify the disk name for zonal disk,
and the URL for regional disk.
Corresponds to the JSON property source
2241 2242 2243 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 2241 def source @source end |
#type ⇒ String
Specifies the type of the disk, either SCRATCH orPERSISTENT. If not specified,
the default isPERSISTENT.
Corresponds to the JSON property type
2247 2248 2249 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 2247 def type @type end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 2254 def update!(**args) @architecture = args[:architecture] if args.key?(:architecture) @auto_delete = args[:auto_delete] if args.key?(:auto_delete) @boot = args[:boot] if args.key?(:boot) @device_name = args[:device_name] if args.key?(:device_name) @disk_encryption_key = args[:disk_encryption_key] if args.key?(:disk_encryption_key) @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb) @force_attach = args[:force_attach] if args.key?(:force_attach) @guest_os_features = args[:guest_os_features] if args.key?(:guest_os_features) @index = args[:index] if args.key?(:index) @initialize_params = args[:initialize_params] if args.key?(:initialize_params) @interface = args[:interface] if args.key?(:interface) @kind = args[:kind] if args.key?(:kind) @licenses = args[:licenses] if args.key?(:licenses) @locked = args[:locked] if args.key?(:locked) @mode = args[:mode] if args.key?(:mode) @saved_state = args[:saved_state] if args.key?(:saved_state) @shielded_instance_initial_state = args[:shielded_instance_initial_state] if args.key?(:shielded_instance_initial_state) @source = args[:source] if args.key?(:source) @type = args[:type] if args.key?(:type) end |