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.
-
#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.
21135 21136 21137 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21135 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
20816 20817 20818 |
# File 'lib/google/apis/compute_v1/classes.rb', line 20816 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
20823 20824 20825 |
# File 'lib/google/apis/compute_v1/classes.rb', line 20823 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
20829 20830 20831 |
# File 'lib/google/apis/compute_v1/classes.rb', line 20829 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
20834 20835 20836 |
# File 'lib/google/apis/compute_v1/classes.rb', line 20834 def cpu_platform @cpu_platform end |
#creation_timestamp ⇒ String
Output only. [Output Only] Creation timestamp inRFC3339 text format.
Corresponds to the JSON property creationTimestamp
20839 20840 20841 |
# File 'lib/google/apis/compute_v1/classes.rb', line 20839 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
20844 20845 20846 |
# File 'lib/google/apis/compute_v1/classes.rb', line 20844 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
20851 20852 20853 |
# File 'lib/google/apis/compute_v1/classes.rb', line 20851 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
20857 20858 20859 |
# File 'lib/google/apis/compute_v1/classes.rb', line 20857 def disks @disks end |
#display_device ⇒ Google::Apis::ComputeV1::DisplayDevice
A set of Display Device options
Corresponds to the JSON property displayDevice
20862 20863 20864 |
# File 'lib/google/apis/compute_v1/classes.rb', line 20862 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.
20874 20875 20876 |
# File 'lib/google/apis/compute_v1/classes.rb', line 20874 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
20879 20880 20881 |
# File 'lib/google/apis/compute_v1/classes.rb', line 20879 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
20887 20888 20889 |
# File 'lib/google/apis/compute_v1/classes.rb', line 20887 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
20894 20895 20896 |
# File 'lib/google/apis/compute_v1/classes.rb', line 20894 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
20905 20906 20907 |
# File 'lib/google/apis/compute_v1/classes.rb', line 20905 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
20911 20912 20913 |
# File 'lib/google/apis/compute_v1/classes.rb', line 20911 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
20917 20918 20919 |
# File 'lib/google/apis/compute_v1/classes.rb', line 20917 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.
20929 20930 20931 |
# File 'lib/google/apis/compute_v1/classes.rb', line 20929 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
20935 20936 20937 |
# File 'lib/google/apis/compute_v1/classes.rb', line 20935 def labels @labels end |
#last_start_timestamp ⇒ String
Output only. [Output Only] Last start timestamp inRFC3339 text format.
Corresponds to the JSON property lastStartTimestamp
20940 20941 20942 |
# File 'lib/google/apis/compute_v1/classes.rb', line 20940 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
20945 20946 20947 |
# File 'lib/google/apis/compute_v1/classes.rb', line 20945 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
20950 20951 20952 |
# File 'lib/google/apis/compute_v1/classes.rb', line 20950 def @last_suspended_timestamp 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
20971 20972 20973 |
# File 'lib/google/apis/compute_v1/classes.rb', line 20971 def machine_type @machine_type end |
#metadata ⇒ Google::Apis::ComputeV1::Metadata
A metadata key/value entry.
Corresponds to the JSON property metadata
20976 20977 20978 |
# File 'lib/google/apis/compute_v1/classes.rb', line 20976 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
20985 20986 20987 |
# File 'lib/google/apis/compute_v1/classes.rb', line 20985 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
20997 20998 20999 |
# File 'lib/google/apis/compute_v1/classes.rb', line 20997 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
21005 21006 21007 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21005 def network_interfaces @network_interfaces end |
#network_performance_config ⇒ Google::Apis::ComputeV1::NetworkPerformanceConfig
Corresponds to the JSON property networkPerformanceConfig
21010 21011 21012 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21010 def network_performance_config @network_performance_config end |
#params ⇒ Google::Apis::ComputeV1::InstanceParams
Additional instance params.
Corresponds to the JSON property params
21015 21016 21017 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21015 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
21021 21022 21023 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21021 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
21026 21027 21028 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21026 def reservation_affinity @reservation_affinity end |
#resource_policies ⇒ Array<String>
Resource policies applied to this instance.
Corresponds to the JSON property resourcePolicies
21031 21032 21033 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21031 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
21038 21039 21040 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21038 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
21043 21044 21045 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21043 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
21049 21050 21051 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21049 def satisfies_pzs @satisfies_pzs end |
#scheduling ⇒ Google::Apis::ComputeV1::Scheduling
Sets the scheduling options for an Instance.
Corresponds to the JSON property scheduling
21055 21056 21057 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21055 def scheduling @scheduling end |
#self_link ⇒ String
Output only. [Output Only] Server-defined URL for this resource.
Corresponds to the JSON property selfLink
21060 21061 21062 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21060 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
21070 21071 21072 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21070 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
21075 21076 21077 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21075 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
21081 21082 21083 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21081 def shielded_instance_integrity_policy @shielded_instance_integrity_policy end |
#source_machine_image ⇒ String
Source machine image
Corresponds to the JSON property sourceMachineImage
21086 21087 21088 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21086 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
21092 21093 21094 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21092 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
21099 21100 21101 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21099 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
21110 21111 21112 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21110 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
21116 21117 21118 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21116 def @status_message end |
#tags ⇒ Google::Apis::ComputeV1::Tags
A set of instance tags.
Corresponds to the JSON property tags
21121 21122 21123 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21121 def @tags end |
#workload_identity_config ⇒ Google::Apis::ComputeV1::WorkloadIdentityConfig
Corresponds to the JSON property workloadIdentityConfig
21126 21127 21128 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21126 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
21133 21134 21135 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21133 def zone @zone end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
21140 21141 21142 21143 21144 21145 21146 21147 21148 21149 21150 21151 21152 21153 21154 21155 21156 21157 21158 21159 21160 21161 21162 21163 21164 21165 21166 21167 21168 21169 21170 21171 21172 21173 21174 21175 21176 21177 21178 21179 21180 21181 21182 21183 21184 21185 21186 21187 21188 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21140 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) @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 |