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.
22171 22172 22173 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22171 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
21846 21847 21848 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21846 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
21853 21854 21855 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21853 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
21859 21860 21861 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21859 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
21864 21865 21866 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21864 def cpu_platform @cpu_platform end |
#creation_timestamp ⇒ String
Output only. [Output Only] Creation timestamp inRFC3339 text format.
Corresponds to the JSON property creationTimestamp
21869 21870 21871 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21869 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
21874 21875 21876 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21874 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
21881 21882 21883 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21881 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
21887 21888 21889 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21887 def disks @disks end |
#display_device ⇒ Google::Apis::ComputeV1::DisplayDevice
A set of Display Device options
Corresponds to the JSON property displayDevice
21892 21893 21894 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21892 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.
21904 21905 21906 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21904 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
21909 21910 21911 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21909 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
21917 21918 21919 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21917 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
21924 21925 21926 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21924 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
21935 21936 21937 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21935 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
21941 21942 21943 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21941 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
21947 21948 21949 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21947 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.
21959 21960 21961 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21959 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
21965 21966 21967 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21965 def labels @labels end |
#last_start_timestamp ⇒ String
Output only. [Output Only] Last start timestamp inRFC3339 text format.
Corresponds to the JSON property lastStartTimestamp
21970 21971 21972 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21970 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
21975 21976 21977 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21975 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
21980 21981 21982 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21980 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
21986 21987 21988 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21986 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
22007 22008 22009 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22007 def machine_type @machine_type end |
#metadata ⇒ Google::Apis::ComputeV1::Metadata
A metadata key/value entry.
Corresponds to the JSON property metadata
22012 22013 22014 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22012 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
22021 22022 22023 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22021 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
22033 22034 22035 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22033 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
22041 22042 22043 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22041 def network_interfaces @network_interfaces end |
#network_performance_config ⇒ Google::Apis::ComputeV1::NetworkPerformanceConfig
Corresponds to the JSON property networkPerformanceConfig
22046 22047 22048 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22046 def network_performance_config @network_performance_config end |
#params ⇒ Google::Apis::ComputeV1::InstanceParams
Additional instance params.
Corresponds to the JSON property params
22051 22052 22053 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22051 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
22057 22058 22059 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22057 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
22062 22063 22064 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22062 def reservation_affinity @reservation_affinity end |
#resource_policies ⇒ Array<String>
Resource policies applied to this instance.
Corresponds to the JSON property resourcePolicies
22067 22068 22069 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22067 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
22074 22075 22076 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22074 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
22079 22080 22081 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22079 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
22085 22086 22087 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22085 def satisfies_pzs @satisfies_pzs end |
#scheduling ⇒ Google::Apis::ComputeV1::Scheduling
Sets the scheduling options for an Instance.
Corresponds to the JSON property scheduling
22091 22092 22093 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22091 def scheduling @scheduling end |
#self_link ⇒ String
Output only. [Output Only] Server-defined URL for this resource.
Corresponds to the JSON property selfLink
22096 22097 22098 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22096 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
22106 22107 22108 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22106 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
22111 22112 22113 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22111 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
22117 22118 22119 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22117 def shielded_instance_integrity_policy @shielded_instance_integrity_policy end |
#source_machine_image ⇒ String
Source machine image
Corresponds to the JSON property sourceMachineImage
22122 22123 22124 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22122 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
22128 22129 22130 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22128 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
22135 22136 22137 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22135 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
22146 22147 22148 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22146 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
22152 22153 22154 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22152 def @status_message end |
#tags ⇒ Google::Apis::ComputeV1::Tags
A set of instance tags.
Corresponds to the JSON property tags
22157 22158 22159 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22157 def @tags end |
#workload_identity_config ⇒ Google::Apis::ComputeV1::WorkloadIdentityConfig
Corresponds to the JSON property workloadIdentityConfig
22162 22163 22164 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22162 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
22169 22170 22171 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22169 def zone @zone end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
22176 22177 22178 22179 22180 22181 22182 22183 22184 22185 22186 22187 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 |
# File 'lib/google/apis/compute_v1/classes.rb', line 22176 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 |