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.
1904 1905 1906 |
# File 'lib/google/apis/compute_v1/classes.rb', line 1904 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
1750 1751 1752 |
# File 'lib/google/apis/compute_v1/classes.rb', line 1750 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
1756 1757 1758 |
# File 'lib/google/apis/compute_v1/classes.rb', line 1756 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
1763 1764 1765 |
# File 'lib/google/apis/compute_v1/classes.rb', line 1763 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
1776 1777 1778 |
# File 'lib/google/apis/compute_v1/classes.rb', line 1776 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
1800 1801 1802 |
# File 'lib/google/apis/compute_v1/classes.rb', line 1800 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
1805 1806 1807 |
# File 'lib/google/apis/compute_v1/classes.rb', line 1805 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
1812 1813 1814 |
# File 'lib/google/apis/compute_v1/classes.rb', line 1812 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
1821 1822 1823 |
# File 'lib/google/apis/compute_v1/classes.rb', line 1821 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
1829 1830 1831 |
# File 'lib/google/apis/compute_v1/classes.rb', line 1829 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
1840 1841 1842 |
# File 'lib/google/apis/compute_v1/classes.rb', line 1840 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
1850 1851 1852 |
# File 'lib/google/apis/compute_v1/classes.rb', line 1850 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
1856 1857 1858 |
# File 'lib/google/apis/compute_v1/classes.rb', line 1856 def kind @kind end |
#licenses ⇒ Array<String>
Output only. [Output Only] Any valid publicly visible licenses.
Corresponds to the JSON property licenses
1861 1862 1863 |
# File 'lib/google/apis/compute_v1/classes.rb', line 1861 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
1868 1869 1870 |
# File 'lib/google/apis/compute_v1/classes.rb', line 1868 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
1878 1879 1880 |
# File 'lib/google/apis/compute_v1/classes.rb', line 1878 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
1884 1885 1886 |
# File 'lib/google/apis/compute_v1/classes.rb', line 1884 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
1896 1897 1898 |
# File 'lib/google/apis/compute_v1/classes.rb', line 1896 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
1902 1903 1904 |
# File 'lib/google/apis/compute_v1/classes.rb', line 1902 def type @type end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 |
# File 'lib/google/apis/compute_v1/classes.rb', line 1909 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 |