Class: Google::Apis::ComputeV1::AttachedDisk
- Inherits:
-
Object
- Object
- Google::Apis::ComputeV1::AttachedDisk
- Includes:
- Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
- Defined in:
- lib/google/apis/compute_v1/classes.rb,
lib/google/apis/compute_v1/representations.rb,
lib/google/apis/compute_v1/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::ComputeV1::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::ComputeV1::GuestOsFeature>
A list of features to enable on the guest operating system.
-
#index ⇒ Fixnum
Output only.
-
#initialize_params ⇒ Google::Apis::ComputeV1::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.
-
#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::ComputeV1::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.
1890 1891 1892 |
# File 'lib/google/apis/compute_v1/classes.rb', line 1890 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
1736 1737 1738 |
# File 'lib/google/apis/compute_v1/classes.rb', line 1736 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
1742 1743 1744 |
# File 'lib/google/apis/compute_v1/classes.rb', line 1742 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
1749 1750 1751 |
# File 'lib/google/apis/compute_v1/classes.rb', line 1749 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
1762 1763 1764 |
# File 'lib/google/apis/compute_v1/classes.rb', line 1762 def device_name @device_name end |
#disk_encryption_key ⇒ Google::Apis::ComputeV1::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
1786 1787 1788 |
# File 'lib/google/apis/compute_v1/classes.rb', line 1786 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
1791 1792 1793 |
# File 'lib/google/apis/compute_v1/classes.rb', line 1791 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
1798 1799 1800 |
# File 'lib/google/apis/compute_v1/classes.rb', line 1798 def force_attach @force_attach end |
#guest_os_features ⇒ Array<Google::Apis::ComputeV1::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
1807 1808 1809 |
# File 'lib/google/apis/compute_v1/classes.rb', line 1807 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
1815 1816 1817 |
# File 'lib/google/apis/compute_v1/classes.rb', line 1815 def index @index end |
#initialize_params ⇒ Google::Apis::ComputeV1::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
1826 1827 1828 |
# File 'lib/google/apis/compute_v1/classes.rb', line 1826 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
1836 1837 1838 |
# File 'lib/google/apis/compute_v1/classes.rb', line 1836 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
1842 1843 1844 |
# File 'lib/google/apis/compute_v1/classes.rb', line 1842 def kind @kind end |
#licenses ⇒ Array<String>
Output only. [Output Only] Any valid publicly visible licenses.
Corresponds to the JSON property licenses
1847 1848 1849 |
# File 'lib/google/apis/compute_v1/classes.rb', line 1847 def licenses @licenses 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
1854 1855 1856 |
# File 'lib/google/apis/compute_v1/classes.rb', line 1854 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
1864 1865 1866 |
# File 'lib/google/apis/compute_v1/classes.rb', line 1864 def saved_state @saved_state end |
#shielded_instance_initial_state ⇒ Google::Apis::ComputeV1::InitialStateConfig
Initial State for shielded instance,
these are public keys which are safe to store in public
Corresponds to the JSON property shieldedInstanceInitialState
1870 1871 1872 |
# File 'lib/google/apis/compute_v1/classes.rb', line 1870 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
1882 1883 1884 |
# File 'lib/google/apis/compute_v1/classes.rb', line 1882 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
1888 1889 1890 |
# File 'lib/google/apis/compute_v1/classes.rb', line 1888 def type @type end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 |
# File 'lib/google/apis/compute_v1/classes.rb', line 1895 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) @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 |