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.
21801 21802 21803 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21801 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
21482 21483 21484 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21482 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
21489 21490 21491 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21489 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
21495 21496 21497 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21495 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
21500 21501 21502 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21500 def cpu_platform @cpu_platform end |
#creation_timestamp ⇒ String
Output only. [Output Only] Creation timestamp inRFC3339 text format.
Corresponds to the JSON property creationTimestamp
21505 21506 21507 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21505 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
21510 21511 21512 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21510 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
21517 21518 21519 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21517 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
21523 21524 21525 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21523 def disks @disks end |
#display_device ⇒ Google::Apis::ComputeV1::DisplayDevice
A set of Display Device options
Corresponds to the JSON property displayDevice
21528 21529 21530 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21528 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.
21540 21541 21542 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21540 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
21545 21546 21547 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21545 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
21553 21554 21555 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21553 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
21560 21561 21562 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21560 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
21571 21572 21573 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21571 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
21577 21578 21579 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21577 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
21583 21584 21585 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21583 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.
21595 21596 21597 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21595 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
21601 21602 21603 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21601 def labels @labels end |
#last_start_timestamp ⇒ String
Output only. [Output Only] Last start timestamp inRFC3339 text format.
Corresponds to the JSON property lastStartTimestamp
21606 21607 21608 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21606 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
21611 21612 21613 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21611 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
21616 21617 21618 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21616 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
21637 21638 21639 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21637 def machine_type @machine_type end |
#metadata ⇒ Google::Apis::ComputeV1::Metadata
A metadata key/value entry.
Corresponds to the JSON property metadata
21642 21643 21644 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21642 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
21651 21652 21653 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21651 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
21663 21664 21665 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21663 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
21671 21672 21673 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21671 def network_interfaces @network_interfaces end |
#network_performance_config ⇒ Google::Apis::ComputeV1::NetworkPerformanceConfig
Corresponds to the JSON property networkPerformanceConfig
21676 21677 21678 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21676 def network_performance_config @network_performance_config end |
#params ⇒ Google::Apis::ComputeV1::InstanceParams
Additional instance params.
Corresponds to the JSON property params
21681 21682 21683 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21681 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
21687 21688 21689 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21687 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
21692 21693 21694 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21692 def reservation_affinity @reservation_affinity end |
#resource_policies ⇒ Array<String>
Resource policies applied to this instance.
Corresponds to the JSON property resourcePolicies
21697 21698 21699 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21697 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
21704 21705 21706 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21704 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
21709 21710 21711 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21709 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
21715 21716 21717 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21715 def satisfies_pzs @satisfies_pzs end |
#scheduling ⇒ Google::Apis::ComputeV1::Scheduling
Sets the scheduling options for an Instance.
Corresponds to the JSON property scheduling
21721 21722 21723 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21721 def scheduling @scheduling end |
#self_link ⇒ String
Output only. [Output Only] Server-defined URL for this resource.
Corresponds to the JSON property selfLink
21726 21727 21728 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21726 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
21736 21737 21738 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21736 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
21741 21742 21743 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21741 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
21747 21748 21749 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21747 def shielded_instance_integrity_policy @shielded_instance_integrity_policy end |
#source_machine_image ⇒ String
Source machine image
Corresponds to the JSON property sourceMachineImage
21752 21753 21754 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21752 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
21758 21759 21760 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21758 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
21765 21766 21767 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21765 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
21776 21777 21778 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21776 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
21782 21783 21784 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21782 def @status_message end |
#tags ⇒ Google::Apis::ComputeV1::Tags
A set of instance tags.
Corresponds to the JSON property tags
21787 21788 21789 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21787 def @tags end |
#workload_identity_config ⇒ Google::Apis::ComputeV1::WorkloadIdentityConfig
Corresponds to the JSON property workloadIdentityConfig
21792 21793 21794 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21792 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
21799 21800 21801 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21799 def zone @zone end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
21806 21807 21808 21809 21810 21811 21812 21813 21814 21815 21816 21817 21818 21819 21820 21821 21822 21823 21824 21825 21826 21827 21828 21829 21830 21831 21832 21833 21834 21835 21836 21837 21838 21839 21840 21841 21842 21843 21844 21845 21846 21847 21848 21849 21850 21851 21852 21853 21854 |
# File 'lib/google/apis/compute_v1/classes.rb', line 21806 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 |