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.
-
#user_licenses ⇒ Array<String>
Output only.
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.
1936 1937 1938 |
# File 'lib/google/apis/compute_beta/classes.rb', line 1936 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
1762 1763 1764 |
# File 'lib/google/apis/compute_beta/classes.rb', line 1762 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
1768 1769 1770 |
# File 'lib/google/apis/compute_beta/classes.rb', line 1768 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
1775 1776 1777 |
# File 'lib/google/apis/compute_beta/classes.rb', line 1775 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
1788 1789 1790 |
# File 'lib/google/apis/compute_beta/classes.rb', line 1788 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
1812 1813 1814 |
# File 'lib/google/apis/compute_beta/classes.rb', line 1812 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
1817 1818 1819 |
# File 'lib/google/apis/compute_beta/classes.rb', line 1817 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
1824 1825 1826 |
# File 'lib/google/apis/compute_beta/classes.rb', line 1824 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
1833 1834 1835 |
# File 'lib/google/apis/compute_beta/classes.rb', line 1833 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
1841 1842 1843 |
# File 'lib/google/apis/compute_beta/classes.rb', line 1841 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
1852 1853 1854 |
# File 'lib/google/apis/compute_beta/classes.rb', line 1852 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
1862 1863 1864 |
# File 'lib/google/apis/compute_beta/classes.rb', line 1862 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
1868 1869 1870 |
# File 'lib/google/apis/compute_beta/classes.rb', line 1868 def kind @kind end |
#licenses ⇒ Array<String>
Output only. [Output Only] Any valid publicly visible licenses.
Corresponds to the JSON property licenses
1873 1874 1875 |
# File 'lib/google/apis/compute_beta/classes.rb', line 1873 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
1884 1885 1886 |
# File 'lib/google/apis/compute_beta/classes.rb', line 1884 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
1892 1893 1894 |
# File 'lib/google/apis/compute_beta/classes.rb', line 1892 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
1902 1903 1904 |
# File 'lib/google/apis/compute_beta/classes.rb', line 1902 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
1908 1909 1910 |
# File 'lib/google/apis/compute_beta/classes.rb', line 1908 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
1920 1921 1922 |
# File 'lib/google/apis/compute_beta/classes.rb', line 1920 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
1926 1927 1928 |
# File 'lib/google/apis/compute_beta/classes.rb', line 1926 def type @type end |
#user_licenses ⇒ Array<String>
Output only. [Output Only] A list of user provided licenses. It represents a
list of
URLs to the license resource. Unlike regular licenses, user provided
licenses can be modified after the disk is created.
Corresponds to the JSON property userLicenses
1934 1935 1936 |
# File 'lib/google/apis/compute_beta/classes.rb', line 1934 def user_licenses @user_licenses end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
1941 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 1941 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) @user_licenses = args[:user_licenses] if args.key?(:user_licenses) end |