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.
19015 19016 19017 |
# File 'lib/google/apis/compute_v1/classes.rb', line 19015 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
18696 18697 18698 |
# File 'lib/google/apis/compute_v1/classes.rb', line 18696 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
18703 18704 18705 |
# File 'lib/google/apis/compute_v1/classes.rb', line 18703 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
18709 18710 18711 |
# File 'lib/google/apis/compute_v1/classes.rb', line 18709 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
18714 18715 18716 |
# File 'lib/google/apis/compute_v1/classes.rb', line 18714 def cpu_platform @cpu_platform end |
#creation_timestamp ⇒ String
Output only. [Output Only] Creation timestamp inRFC3339 text format.
Corresponds to the JSON property creationTimestamp
18719 18720 18721 |
# File 'lib/google/apis/compute_v1/classes.rb', line 18719 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
18724 18725 18726 |
# File 'lib/google/apis/compute_v1/classes.rb', line 18724 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
18731 18732 18733 |
# File 'lib/google/apis/compute_v1/classes.rb', line 18731 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
18737 18738 18739 |
# File 'lib/google/apis/compute_v1/classes.rb', line 18737 def disks @disks end |
#display_device ⇒ Google::Apis::ComputeV1::DisplayDevice
A set of Display Device options
Corresponds to the JSON property displayDevice
18742 18743 18744 |
# File 'lib/google/apis/compute_v1/classes.rb', line 18742 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.
18754 18755 18756 |
# File 'lib/google/apis/compute_v1/classes.rb', line 18754 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
18759 18760 18761 |
# File 'lib/google/apis/compute_v1/classes.rb', line 18759 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
18767 18768 18769 |
# File 'lib/google/apis/compute_v1/classes.rb', line 18767 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
18774 18775 18776 |
# File 'lib/google/apis/compute_v1/classes.rb', line 18774 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
18785 18786 18787 |
# File 'lib/google/apis/compute_v1/classes.rb', line 18785 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
18791 18792 18793 |
# File 'lib/google/apis/compute_v1/classes.rb', line 18791 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
18797 18798 18799 |
# File 'lib/google/apis/compute_v1/classes.rb', line 18797 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.
18809 18810 18811 |
# File 'lib/google/apis/compute_v1/classes.rb', line 18809 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
18815 18816 18817 |
# File 'lib/google/apis/compute_v1/classes.rb', line 18815 def labels @labels end |
#last_start_timestamp ⇒ String
Output only. [Output Only] Last start timestamp inRFC3339 text format.
Corresponds to the JSON property lastStartTimestamp
18820 18821 18822 |
# File 'lib/google/apis/compute_v1/classes.rb', line 18820 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
18825 18826 18827 |
# File 'lib/google/apis/compute_v1/classes.rb', line 18825 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
18830 18831 18832 |
# File 'lib/google/apis/compute_v1/classes.rb', line 18830 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
18851 18852 18853 |
# File 'lib/google/apis/compute_v1/classes.rb', line 18851 def machine_type @machine_type end |
#metadata ⇒ Google::Apis::ComputeV1::Metadata
A metadata key/value entry.
Corresponds to the JSON property metadata
18856 18857 18858 |
# File 'lib/google/apis/compute_v1/classes.rb', line 18856 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
18865 18866 18867 |
# File 'lib/google/apis/compute_v1/classes.rb', line 18865 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
18877 18878 18879 |
# File 'lib/google/apis/compute_v1/classes.rb', line 18877 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
18885 18886 18887 |
# File 'lib/google/apis/compute_v1/classes.rb', line 18885 def network_interfaces @network_interfaces end |
#network_performance_config ⇒ Google::Apis::ComputeV1::NetworkPerformanceConfig
Corresponds to the JSON property networkPerformanceConfig
18890 18891 18892 |
# File 'lib/google/apis/compute_v1/classes.rb', line 18890 def network_performance_config @network_performance_config end |
#params ⇒ Google::Apis::ComputeV1::InstanceParams
Additional instance params.
Corresponds to the JSON property params
18895 18896 18897 |
# File 'lib/google/apis/compute_v1/classes.rb', line 18895 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
18901 18902 18903 |
# File 'lib/google/apis/compute_v1/classes.rb', line 18901 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
18906 18907 18908 |
# File 'lib/google/apis/compute_v1/classes.rb', line 18906 def reservation_affinity @reservation_affinity end |
#resource_policies ⇒ Array<String>
Resource policies applied to this instance.
Corresponds to the JSON property resourcePolicies
18911 18912 18913 |
# File 'lib/google/apis/compute_v1/classes.rb', line 18911 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
18918 18919 18920 |
# File 'lib/google/apis/compute_v1/classes.rb', line 18918 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
18923 18924 18925 |
# File 'lib/google/apis/compute_v1/classes.rb', line 18923 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
18929 18930 18931 |
# File 'lib/google/apis/compute_v1/classes.rb', line 18929 def satisfies_pzs @satisfies_pzs end |
#scheduling ⇒ Google::Apis::ComputeV1::Scheduling
Sets the scheduling options for an Instance.
Corresponds to the JSON property scheduling
18935 18936 18937 |
# File 'lib/google/apis/compute_v1/classes.rb', line 18935 def scheduling @scheduling end |
#self_link ⇒ String
Output only. [Output Only] Server-defined URL for this resource.
Corresponds to the JSON property selfLink
18940 18941 18942 |
# File 'lib/google/apis/compute_v1/classes.rb', line 18940 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
18950 18951 18952 |
# File 'lib/google/apis/compute_v1/classes.rb', line 18950 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
18955 18956 18957 |
# File 'lib/google/apis/compute_v1/classes.rb', line 18955 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
18961 18962 18963 |
# File 'lib/google/apis/compute_v1/classes.rb', line 18961 def shielded_instance_integrity_policy @shielded_instance_integrity_policy end |
#source_machine_image ⇒ String
Source machine image
Corresponds to the JSON property sourceMachineImage
18966 18967 18968 |
# File 'lib/google/apis/compute_v1/classes.rb', line 18966 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
18972 18973 18974 |
# File 'lib/google/apis/compute_v1/classes.rb', line 18972 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
18979 18980 18981 |
# File 'lib/google/apis/compute_v1/classes.rb', line 18979 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
18990 18991 18992 |
# File 'lib/google/apis/compute_v1/classes.rb', line 18990 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
18996 18997 18998 |
# File 'lib/google/apis/compute_v1/classes.rb', line 18996 def @status_message end |
#tags ⇒ Google::Apis::ComputeV1::Tags
A set of instance tags.
Corresponds to the JSON property tags
19001 19002 19003 |
# File 'lib/google/apis/compute_v1/classes.rb', line 19001 def @tags end |
#workload_identity_config ⇒ Google::Apis::ComputeV1::WorkloadIdentityConfig
Corresponds to the JSON property workloadIdentityConfig
19006 19007 19008 |
# File 'lib/google/apis/compute_v1/classes.rb', line 19006 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
19013 19014 19015 |
# File 'lib/google/apis/compute_v1/classes.rb', line 19013 def zone @zone end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
19020 19021 19022 19023 19024 19025 19026 19027 19028 19029 19030 19031 19032 19033 19034 19035 19036 19037 19038 19039 19040 19041 19042 19043 19044 19045 19046 19047 19048 19049 19050 19051 19052 19053 19054 19055 19056 19057 19058 19059 19060 19061 19062 19063 19064 19065 19066 19067 19068 |
# File 'lib/google/apis/compute_v1/classes.rb', line 19020 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 |