Class: Google::Apis::ComputeBeta::AttachedDisk
- Inherits:
-
Object
- Object
- Google::Apis::ComputeBeta::AttachedDisk
- Includes:
- Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
- Defined in:
- lib/google/apis/compute_beta/classes.rb,
lib/google/apis/compute_beta/representations.rb,
lib/google/apis/compute_beta/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::ComputeBeta::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::ComputeBeta::GuestOsFeature>
A list of features to enable on the guest operating system.
-
#index ⇒ Fixnum
Output only.
-
#initialize_params ⇒ Google::Apis::ComputeBeta::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::ComputeBeta::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.
1937 1938 1939 |
# File 'lib/google/apis/compute_beta/classes.rb', line 1937 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
1771 1772 1773 |
# File 'lib/google/apis/compute_beta/classes.rb', line 1771 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
1777 1778 1779 |
# File 'lib/google/apis/compute_beta/classes.rb', line 1777 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
1784 1785 1786 |
# File 'lib/google/apis/compute_beta/classes.rb', line 1784 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
1797 1798 1799 |
# File 'lib/google/apis/compute_beta/classes.rb', line 1797 def device_name @device_name end |
#disk_encryption_key ⇒ Google::Apis::ComputeBeta::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
1821 1822 1823 |
# File 'lib/google/apis/compute_beta/classes.rb', line 1821 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
1826 1827 1828 |
# File 'lib/google/apis/compute_beta/classes.rb', line 1826 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
1833 1834 1835 |
# File 'lib/google/apis/compute_beta/classes.rb', line 1833 def force_attach @force_attach end |
#guest_os_features ⇒ Array<Google::Apis::ComputeBeta::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
1842 1843 1844 |
# File 'lib/google/apis/compute_beta/classes.rb', line 1842 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
1850 1851 1852 |
# File 'lib/google/apis/compute_beta/classes.rb', line 1850 def index @index end |
#initialize_params ⇒ Google::Apis::ComputeBeta::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
1861 1862 1863 |
# File 'lib/google/apis/compute_beta/classes.rb', line 1861 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
1871 1872 1873 |
# File 'lib/google/apis/compute_beta/classes.rb', line 1871 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
1877 1878 1879 |
# File 'lib/google/apis/compute_beta/classes.rb', line 1877 def kind @kind end |
#licenses ⇒ Array<String>
Output only. [Output Only] Any valid publicly visible licenses.
Corresponds to the JSON property licenses
1882 1883 1884 |
# File 'lib/google/apis/compute_beta/classes.rb', line 1882 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
1893 1894 1895 |
# File 'lib/google/apis/compute_beta/classes.rb', line 1893 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
1901 1902 1903 |
# File 'lib/google/apis/compute_beta/classes.rb', line 1901 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
1911 1912 1913 |
# File 'lib/google/apis/compute_beta/classes.rb', line 1911 def saved_state @saved_state end |
#shielded_instance_initial_state ⇒ Google::Apis::ComputeBeta::InitialStateConfig
Initial State for shielded instance,
these are public keys which are safe to store in public
Corresponds to the JSON property shieldedInstanceInitialState
1917 1918 1919 |
# File 'lib/google/apis/compute_beta/classes.rb', line 1917 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
1929 1930 1931 |
# File 'lib/google/apis/compute_beta/classes.rb', line 1929 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
1935 1936 1937 |
# File 'lib/google/apis/compute_beta/classes.rb', line 1935 def type @type end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 |
# File 'lib/google/apis/compute_beta/classes.rb', line 1942 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 |