Class: Google::Apis::ComputeV1::Instance
- Inherits:
-
Object
- Object
- Google::Apis::ComputeV1::Instance
- 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
Represents an Instance resource. An instance is a virtual machine that is hosted on Google Cloud Platform. For more information, readVirtual Machine Instances.
Instance Attribute Summary collapse
-
#advanced_machine_features ⇒ Google::Apis::ComputeV1::AdvancedMachineFeatures
Specifies options for controlling advanced machine features.
-
#can_ip_forward ⇒ Boolean
(also: #can_ip_forward?)
Allows this instance to send and receive packets with non-matching destination or source IPs.
-
#confidential_instance_config ⇒ Google::Apis::ComputeV1::ConfidentialInstanceConfig
A set of Confidential Instance options.
-
#cpu_platform ⇒ String
Output only.
-
#creation_timestamp ⇒ String
Output only.
-
#deletion_protection ⇒ Boolean
(also: #deletion_protection?)
Whether the resource should be protected against deletion.
-
#description ⇒ String
An optional description of this resource.
-
#disks ⇒ Array<Google::Apis::ComputeV1::AttachedDisk>
Array of disks associated with this instance.
-
#display_device ⇒ Google::Apis::ComputeV1::DisplayDevice
A set of Display Device options Corresponds to the JSON property
displayDevice. -
#fingerprint ⇒ String
Specifies a fingerprint for this resource, which is essentially a hash of the instance's contents and used for optimistic locking.
-
#guest_accelerators ⇒ Array<Google::Apis::ComputeV1::AcceleratorConfig>
A list of the type and count of accelerator cards attached to the instance.
-
#hostname ⇒ String
Specifies the hostname of the instance.
-
#id ⇒ Fixnum
Output only.
-
#instance_encryption_key ⇒ Google::Apis::ComputeV1::CustomerEncryptionKey
Encrypts suspended data for an instance with acustomer-managed encryption key.
-
#key_revocation_action_type ⇒ String
KeyRevocationActionType of the instance.
-
#kind ⇒ String
Output only.
-
#label_fingerprint ⇒ String
A fingerprint for this request, which is essentially a hash of the label's contents and used for optimistic locking.
-
#labels ⇒ Hash<String,String>
Labels to apply to this instance.
-
#last_start_timestamp ⇒ String
Output only.
-
#last_stop_timestamp ⇒ String
Output only.
-
#last_suspended_timestamp ⇒ String
Output only.
-
#local_ssd_encryption_mode ⇒ String
Specifies which method should be used for encrypting the Local SSDs attached to the VM.
-
#machine_type ⇒ String
Full or partial URL of the machine type resource to use for this instance, in the format:zones/zone/machineTypes/machine-type.
-
#metadata ⇒ Google::Apis::ComputeV1::Metadata
A metadata key/value entry.
-
#min_cpu_platform ⇒ String
Specifies aminimum CPU platform for the VM instance.
-
#name ⇒ String
The name of the resource, provided by the client when initially creating the resource.
-
#network_interfaces ⇒ Array<Google::Apis::ComputeV1::NetworkInterface>
An array of network configurations for this instance.
-
#network_performance_config ⇒ Google::Apis::ComputeV1::NetworkPerformanceConfig
Corresponds to the JSON property
networkPerformanceConfig. -
#params ⇒ Google::Apis::ComputeV1::InstanceParams
Additional instance params.
-
#private_ipv6_google_access ⇒ String
The private IPv6 google access type for the VM.
-
#reservation_affinity ⇒ Google::Apis::ComputeV1::ReservationAffinity
Specifies the reservations that this instance can consume from.
-
#resource_policies ⇒ Array<String>
Resource policies applied to this instance.
-
#resource_status ⇒ Google::Apis::ComputeV1::ResourceStatus
Contains output only fields.
-
#satisfies_pzi ⇒ Boolean
(also: #satisfies_pzi?)
Output only.
-
#satisfies_pzs ⇒ Boolean
(also: #satisfies_pzs?)
Output only.
-
#scheduling ⇒ Google::Apis::ComputeV1::Scheduling
Sets the scheduling options for an Instance.
-
#self_link ⇒ String
Output only.
-
#service_accounts ⇒ Array<Google::Apis::ComputeV1::ServiceAccount>
A list of service accounts, with their specified scopes, authorized for this instance.
-
#shielded_instance_config ⇒ Google::Apis::ComputeV1::ShieldedInstanceConfig
A set of Shielded Instance options.
-
#shielded_instance_integrity_policy ⇒ Google::Apis::ComputeV1::ShieldedInstanceIntegrityPolicy
The policy describes the baseline against which Instance boot integrity is measured.
-
#source_machine_image ⇒ String
Source machine image Corresponds to the JSON property
sourceMachineImage. -
#source_machine_image_encryption_key ⇒ Google::Apis::ComputeV1::CustomerEncryptionKey
Source machine image encryption key when creating an instance from a machine image.
-
#start_restricted ⇒ Boolean
(also: #start_restricted?)
Output only.
-
#status ⇒ String
Output only.
-
#status_message ⇒ String
Output only.
-
#tags ⇒ Google::Apis::ComputeV1::Tags
A set of instance tags.
-
#workload_identity_config ⇒ Google::Apis::ComputeV1::WorkloadIdentityConfig
Corresponds to the JSON property
workloadIdentityConfig. -
#zone ⇒ String
Output only.
Instance Method Summary collapse
-
#initialize(**args) ⇒ Instance
constructor
A new instance of Instance.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ Instance
Returns a new instance of Instance.
22183 22184 22185 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22183 def initialize(**args) update!(**args) end |
Instance Attribute Details
#advanced_machine_features ⇒ Google::Apis::ComputeV1::AdvancedMachineFeatures
Specifies options for controlling advanced machine features.
Options that would traditionally be configured in a BIOS belong
here. Features that require operating system support may have
corresponding entries in the GuestOsFeatures of anImage (e.g., whether or not
the OS in theImage supports nested virtualization being enabled or
disabled).
Corresponds to the JSON property advancedMachineFeatures
21858 21859 21860 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21858 def advanced_machine_features @advanced_machine_features end |
#can_ip_forward ⇒ Boolean Also known as: can_ip_forward?
Allows this instance to send and receive packets with non-matching
destination or source IPs. This is required if you plan to use this
instance to forward routes. For more information, seeEnabling IP Forwarding.
Corresponds to the JSON property canIpForward
21865 21866 21867 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21865 def can_ip_forward @can_ip_forward end |
#confidential_instance_config ⇒ Google::Apis::ComputeV1::ConfidentialInstanceConfig
A set of Confidential Instance options.
Corresponds to the JSON property confidentialInstanceConfig
21871 21872 21873 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21871 def confidential_instance_config @confidential_instance_config end |
#cpu_platform ⇒ String
Output only. [Output Only] The CPU platform used by this instance.
Corresponds to the JSON property cpuPlatform
21876 21877 21878 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21876 def cpu_platform @cpu_platform end |
#creation_timestamp ⇒ String
Output only. [Output Only] Creation timestamp inRFC3339 text format.
Corresponds to the JSON property creationTimestamp
21881 21882 21883 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21881 def @creation_timestamp end |
#deletion_protection ⇒ Boolean Also known as: deletion_protection?
Whether the resource should be protected against deletion.
Corresponds to the JSON property deletionProtection
21886 21887 21888 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21886 def deletion_protection @deletion_protection end |
#description ⇒ String
An optional description of this resource. Provide this property when you
create the resource.
Corresponds to the JSON property description
21893 21894 21895 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21893 def description @description end |
#disks ⇒ Array<Google::Apis::ComputeV1::AttachedDisk>
Array of disks associated with this instance. Persistent disks must be
created before you can assign them.
Corresponds to the JSON property disks
21899 21900 21901 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21899 def disks @disks end |
#display_device ⇒ Google::Apis::ComputeV1::DisplayDevice
A set of Display Device options
Corresponds to the JSON property displayDevice
21904 21905 21906 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21904 def display_device @display_device end |
#fingerprint ⇒ String
Specifies a fingerprint for this resource, which is essentially a hash of
the instance's contents and used for optimistic locking. The
fingerprint is initially generated by Compute Engine and changes after
every request to modify or update the instance. You must always provide an
up-to-date fingerprint hash in order to update the instance.
To see the latest fingerprint, make get() request to the
instance.
Corresponds to the JSON property fingerprint
NOTE: Values are automatically base64 encoded/decoded in the client library.
21916 21917 21918 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21916 def fingerprint @fingerprint end |
#guest_accelerators ⇒ Array<Google::Apis::ComputeV1::AcceleratorConfig>
A list of the type and count of accelerator cards attached to the instance.
Corresponds to the JSON property guestAccelerators
21921 21922 21923 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21921 def guest_accelerators @guest_accelerators end |
#hostname ⇒ String
Specifies the hostname of the instance. The specified hostname must be
RFC1035 compliant. If hostname is not specified, the default hostname is
[INSTANCE_NAME].c.[PROJECT_ID].internal when using the global DNS, and
[INSTANCE_NAME].[ZONE].c.[PROJECT_ID].internal when using zonal DNS.
Corresponds to the JSON property hostname
21929 21930 21931 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21929 def hostname @hostname end |
#id ⇒ Fixnum
Output only. [Output Only] The unique identifier for the resource. This
identifier is
defined by the server.
Corresponds to the JSON property id
21936 21937 21938 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21936 def id @id end |
#instance_encryption_key ⇒ Google::Apis::ComputeV1::CustomerEncryptionKey
Encrypts suspended data for an instance with acustomer-managed
encryption key.
If you are creating a new instance, this field will encrypt the local SSD
and in-memory contents of the instance during the suspend operation.
If you do not provide an encryption key when creating the instance, then
the local SSD and in-memory contents will be encrypted using
an automatically generated key during the suspend operation.
Corresponds to the JSON property instanceEncryptionKey
21947 21948 21949 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21947 def instance_encryption_key @instance_encryption_key end |
#key_revocation_action_type ⇒ String
KeyRevocationActionType of the instance. Supported options are "STOP" and
"NONE". The default value is "NONE" if it is not specified.
Corresponds to the JSON property keyRevocationActionType
21953 21954 21955 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21953 def key_revocation_action_type @key_revocation_action_type end |
#kind ⇒ String
Output only. [Output Only] Type of the resource. Always compute#instance
for instances.
Corresponds to the JSON property kind
21959 21960 21961 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21959 def kind @kind end |
#label_fingerprint ⇒ String
A fingerprint for this request, which is essentially a hash of
the label's contents and used for optimistic locking. The
fingerprint is initially generated by Compute Engine and changes after
every request to modify or update labels. You must always provide an
up-to-date fingerprint hash in order to update or change labels.
To see the latest fingerprint, make get() request to the
instance.
Corresponds to the JSON property labelFingerprint
NOTE: Values are automatically base64 encoded/decoded in the client library.
21971 21972 21973 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21971 def label_fingerprint @label_fingerprint end |
#labels ⇒ Hash<String,String>
Labels to apply to this instance. These can be later modified by
the setLabels method.
Corresponds to the JSON property labels
21977 21978 21979 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21977 def labels @labels end |
#last_start_timestamp ⇒ String
Output only. [Output Only] Last start timestamp inRFC3339 text format.
Corresponds to the JSON property lastStartTimestamp
21982 21983 21984 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21982 def @last_start_timestamp end |
#last_stop_timestamp ⇒ String
Output only. [Output Only] Last stop timestamp inRFC3339 text format.
Corresponds to the JSON property lastStopTimestamp
21987 21988 21989 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21987 def @last_stop_timestamp end |
#last_suspended_timestamp ⇒ String
Output only. [Output Only] Last suspended timestamp inRFC3339 text format.
Corresponds to the JSON property lastSuspendedTimestamp
21992 21993 21994 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21992 def @last_suspended_timestamp end |
#local_ssd_encryption_mode ⇒ String
Specifies which method should be used for encrypting the
Local SSDs attached to the VM.
Corresponds to the JSON property localSsdEncryptionMode
21998 21999 22000 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21998 def local_ssd_encryption_mode @local_ssd_encryption_mode end |
#machine_type ⇒ String
Full or partial URL of the machine type resource to use for this instance,
in the format:zones/zone/machineTypes/machine-type. This is provided by the
client
when the instance is created. For example, the following is a valid partial
url to a predefined
machine type:
zones/us-central1-f/machineTypes/n1-standard-1
To create acustom
machine type, provide a URL to a machine type in the following format,
where CPUS is 1 or an even number up to 32 (2,
4, 6, ... 24, etc), and MEMORY is the total
memory for this instance. Memory must be a multiple of 256 MB and must
be supplied in MB (e.g. 5 GB of memory is 5120 MB):
zones/zone/machineTypes/custom-CPUS-MEMORY
For example: zones/us-central1-f/machineTypes/custom-4-5120
For a full list of restrictions, read theSpecifications
for custom machine types.
Corresponds to the JSON property machineType
22019 22020 22021 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22019 def machine_type @machine_type end |
#metadata ⇒ Google::Apis::ComputeV1::Metadata
A metadata key/value entry.
Corresponds to the JSON property metadata
22024 22025 22026 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22024 def @metadata end |
#min_cpu_platform ⇒ String
Specifies aminimum CPU
platform for the VM instance. Applicable values are the friendly names
of CPU platforms, such as minCpuPlatform: "Intel
Haswell" or minCpuPlatform: "Intel Sandy
Bridge".
Corresponds to the JSON property minCpuPlatform
22033 22034 22035 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22033 def min_cpu_platform @min_cpu_platform end |
#name ⇒ String
The name of the resource, provided by the client when initially creating
the resource. The resource name must be 1-63 characters long, and comply
withRFC1035.
Specifically, the name must be 1-63 characters long and match the regular
expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first
character must be a lowercase letter, and all following characters must be
a dash, lowercase letter, or digit, except the last character, which cannot
be a dash.
Corresponds to the JSON property name
22045 22046 22047 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22045 def name @name end |
#network_interfaces ⇒ Array<Google::Apis::ComputeV1::NetworkInterface>
An array of network configurations for this instance. These specify how
interfaces are configured to interact with other network services, such as
connecting to the internet. Multiple interfaces are supported
per instance.
Corresponds to the JSON property networkInterfaces
22053 22054 22055 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22053 def network_interfaces @network_interfaces end |
#network_performance_config ⇒ Google::Apis::ComputeV1::NetworkPerformanceConfig
Corresponds to the JSON property networkPerformanceConfig
22058 22059 22060 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22058 def network_performance_config @network_performance_config end |
#params ⇒ Google::Apis::ComputeV1::InstanceParams
Additional instance params.
Corresponds to the JSON property params
22063 22064 22065 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22063 def params @params end |
#private_ipv6_google_access ⇒ String
The private IPv6 google access type for the VM.
If not specified, use INHERIT_FROM_SUBNETWORK as default.
Corresponds to the JSON property privateIpv6GoogleAccess
22069 22070 22071 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22069 def private_ipv6_google_access @private_ipv6_google_access end |
#reservation_affinity ⇒ Google::Apis::ComputeV1::ReservationAffinity
Specifies the reservations that this instance can consume from.
Corresponds to the JSON property reservationAffinity
22074 22075 22076 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22074 def reservation_affinity @reservation_affinity end |
#resource_policies ⇒ Array<String>
Resource policies applied to this instance.
Corresponds to the JSON property resourcePolicies
22079 22080 22081 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22079 def resource_policies @resource_policies end |
#resource_status ⇒ Google::Apis::ComputeV1::ResourceStatus
Contains output only fields.
Use this sub-message for actual values set on Instance attributes as compared
to the value requested by the user (intent) in their instance CRUD calls.
Corresponds to the JSON property resourceStatus
22086 22087 22088 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22086 def resource_status @resource_status end |
#satisfies_pzi ⇒ Boolean Also known as: satisfies_pzi?
Output only. [Output Only] Reserved for future use.
Corresponds to the JSON property satisfiesPzi
22091 22092 22093 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22091 def satisfies_pzi @satisfies_pzi end |
#satisfies_pzs ⇒ Boolean Also known as: satisfies_pzs?
Output only. [Output Only] Reserved for future use.
Corresponds to the JSON property satisfiesPzs
22097 22098 22099 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22097 def satisfies_pzs @satisfies_pzs end |
#scheduling ⇒ Google::Apis::ComputeV1::Scheduling
Sets the scheduling options for an Instance.
Corresponds to the JSON property scheduling
22103 22104 22105 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22103 def scheduling @scheduling end |
#self_link ⇒ String
Output only. [Output Only] Server-defined URL for this resource.
Corresponds to the JSON property selfLink
22108 22109 22110 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22108 def self_link @self_link end |
#service_accounts ⇒ Array<Google::Apis::ComputeV1::ServiceAccount>
A list of service accounts, with their specified scopes, authorized for
this instance. Only one service account per VM instance is supported.
Service accounts generate access tokens that can be accessed
through the metadata server and used to authenticate applications on the
instance. SeeService Accounts
for more information.
Corresponds to the JSON property serviceAccounts
22118 22119 22120 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22118 def service_accounts @service_accounts end |
#shielded_instance_config ⇒ Google::Apis::ComputeV1::ShieldedInstanceConfig
A set of Shielded Instance options.
Corresponds to the JSON property shieldedInstanceConfig
22123 22124 22125 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22123 def shielded_instance_config @shielded_instance_config end |
#shielded_instance_integrity_policy ⇒ Google::Apis::ComputeV1::ShieldedInstanceIntegrityPolicy
The policy describes the baseline against which
Instance boot integrity is measured.
Corresponds to the JSON property shieldedInstanceIntegrityPolicy
22129 22130 22131 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22129 def shielded_instance_integrity_policy @shielded_instance_integrity_policy end |
#source_machine_image ⇒ String
Source machine image
Corresponds to the JSON property sourceMachineImage
22134 22135 22136 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22134 def source_machine_image @source_machine_image end |
#source_machine_image_encryption_key ⇒ Google::Apis::ComputeV1::CustomerEncryptionKey
Source machine image encryption key when creating an instance from a
machine image.
Corresponds to the JSON property sourceMachineImageEncryptionKey
22140 22141 22142 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22140 def source_machine_image_encryption_key @source_machine_image_encryption_key end |
#start_restricted ⇒ Boolean Also known as: start_restricted?
Output only. [Output Only] Whether a VM has been restricted for start because
Compute
Engine has detected suspicious activity.
Corresponds to the JSON property startRestricted
22147 22148 22149 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22147 def start_restricted @start_restricted end |
#status ⇒ String
Output only. [Output Only] The status of the instance. One of the
following values: PROVISIONING, STAGING,RUNNING, STOPPING, SUSPENDING,
SUSPENDED, REPAIRING, andTERMINATED. For more information about the status of
the
instance, see
Instance life cycle.
Corresponds to the JSON property status
22158 22159 22160 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22158 def status @status end |
#status_message ⇒ String
Output only. [Output Only] An optional, human-readable explanation of the
status.
Corresponds to the JSON property statusMessage
22164 22165 22166 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22164 def @status_message end |
#tags ⇒ Google::Apis::ComputeV1::Tags
A set of instance tags.
Corresponds to the JSON property tags
22169 22170 22171 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22169 def @tags end |
#workload_identity_config ⇒ Google::Apis::ComputeV1::WorkloadIdentityConfig
Corresponds to the JSON property workloadIdentityConfig
22174 22175 22176 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22174 def workload_identity_config @workload_identity_config end |
#zone ⇒ String
Output only. [Output Only] URL of the zone where the instance resides.
You must specify this field as part of the HTTP request URL. It is
not settable as a field in the request body.
Corresponds to the JSON property zone
22181 22182 22183 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22181 def zone @zone end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
22188 22189 22190 22191 22192 22193 22194 22195 22196 22197 22198 22199 22200 22201 22202 22203 22204 22205 22206 22207 22208 22209 22210 22211 22212 22213 22214 22215 22216 22217 22218 22219 22220 22221 22222 22223 22224 22225 22226 22227 22228 22229 22230 22231 22232 22233 22234 22235 22236 22237 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22188 def update!(**args) @advanced_machine_features = args[:advanced_machine_features] if args.key?(:advanced_machine_features) @can_ip_forward = args[:can_ip_forward] if args.key?(:can_ip_forward) @confidential_instance_config = args[:confidential_instance_config] if args.key?(:confidential_instance_config) @cpu_platform = args[:cpu_platform] if args.key?(:cpu_platform) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @deletion_protection = args[:deletion_protection] if args.key?(:deletion_protection) @description = args[:description] if args.key?(:description) @disks = args[:disks] if args.key?(:disks) @display_device = args[:display_device] if args.key?(:display_device) @fingerprint = args[:fingerprint] if args.key?(:fingerprint) @guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators) @hostname = args[:hostname] if args.key?(:hostname) @id = args[:id] if args.key?(:id) @instance_encryption_key = args[:instance_encryption_key] if args.key?(:instance_encryption_key) @key_revocation_action_type = args[:key_revocation_action_type] if args.key?(:key_revocation_action_type) @kind = args[:kind] if args.key?(:kind) @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint) @labels = args[:labels] if args.key?(:labels) @last_start_timestamp = args[:last_start_timestamp] if args.key?(:last_start_timestamp) @last_stop_timestamp = args[:last_stop_timestamp] if args.key?(:last_stop_timestamp) @last_suspended_timestamp = args[:last_suspended_timestamp] if args.key?(:last_suspended_timestamp) @local_ssd_encryption_mode = args[:local_ssd_encryption_mode] if args.key?(:local_ssd_encryption_mode) @machine_type = args[:machine_type] if args.key?(:machine_type) @metadata = args[:metadata] if args.key?(:metadata) @min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform) @name = args[:name] if args.key?(:name) @network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces) @network_performance_config = args[:network_performance_config] if args.key?(:network_performance_config) @params = args[:params] if args.key?(:params) @private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access) @reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity) @resource_policies = args[:resource_policies] if args.key?(:resource_policies) @resource_status = args[:resource_status] if args.key?(:resource_status) @satisfies_pzi = args[:satisfies_pzi] if args.key?(:satisfies_pzi) @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs) @scheduling = args[:scheduling] if args.key?(:scheduling) @self_link = args[:self_link] if args.key?(:self_link) @service_accounts = args[:service_accounts] if args.key?(:service_accounts) @shielded_instance_config = args[:shielded_instance_config] if args.key?(:shielded_instance_config) @shielded_instance_integrity_policy = args[:shielded_instance_integrity_policy] if args.key?(:shielded_instance_integrity_policy) @source_machine_image = args[:source_machine_image] if args.key?(:source_machine_image) @source_machine_image_encryption_key = args[:source_machine_image_encryption_key] if args.key?(:source_machine_image_encryption_key) @start_restricted = args[:start_restricted] if args.key?(:start_restricted) @status = args[:status] if args.key?(:status) @status_message = args[:status_message] if args.key?(:status_message) @tags = args[:tags] if args.key?(:tags) @workload_identity_config = args[:workload_identity_config] if args.key?(:workload_identity_config) @zone = args[:zone] if args.key?(:zone) end |