Class: Google::Apis::ComputeV1::InstanceProperties
- Inherits:
-
Object
- Object
- Google::Apis::ComputeV1::InstanceProperties
- 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
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?)
Enables instances created based on these properties to send packets with source IP addresses other than their own and receive packets with destination IP addresses other than their own.
-
#confidential_instance_config ⇒ Google::Apis::ComputeV1::ConfidentialInstanceConfig
A set of Confidential Instance options.
-
#description ⇒ String
An optional text description for the instances that are created from these properties.
-
#disks ⇒ Array<Google::Apis::ComputeV1::AttachedDisk>
An array of disks that are associated with the instances that are created from these properties.
-
#guest_accelerators ⇒ Array<Google::Apis::ComputeV1::AcceleratorConfig>
A list of guest accelerator cards' type and count to use for instances created from these properties.
-
#key_revocation_action_type ⇒ String
KeyRevocationActionType of the instance.
-
#labels ⇒ Hash<String,String>
Labels to apply to instances that are created from these properties.
-
#local_ssd_encryption_mode ⇒ String
Specifies which method should be used for encrypting the Local SSDs attached to the VM.
-
#machine_type ⇒ String
The machine type to use for instances that are created from these properties.
-
#metadata ⇒ Google::Apis::ComputeV1::Metadata
A metadata key/value entry.
-
#min_cpu_platform ⇒ String
Minimum cpu/platform to be used by instances.
-
#network_interfaces ⇒ Array<Google::Apis::ComputeV1::NetworkInterface>
An array of network access configurations for this interface.
-
#network_performance_config ⇒ Google::Apis::ComputeV1::NetworkPerformanceConfig
Note that for MachineImage, this is not supported yet.
-
#private_ipv6_google_access ⇒ String
The private IPv6 google access type for VMs.
-
#reservation_affinity ⇒ Google::Apis::ComputeV1::ReservationAffinity
Specifies the reservations that this instance can consume from.
-
#resource_manager_tags ⇒ Hash<String,String>
Input only.
-
#resource_policies ⇒ Array<String>
Resource policies (names, not URLs) applied to instances created from these properties.
-
#scheduling ⇒ Google::Apis::ComputeV1::Scheduling
Sets the scheduling options for an Instance.
-
#service_accounts ⇒ Array<Google::Apis::ComputeV1::ServiceAccount>
A list of service accounts with specified scopes.
-
#shielded_instance_config ⇒ Google::Apis::ComputeV1::ShieldedInstanceConfig
A set of Shielded Instance options.
-
#tags ⇒ Google::Apis::ComputeV1::Tags
A set of instance tags.
-
#workload_identity_config ⇒ Google::Apis::ComputeV1::WorkloadIdentityConfig
Corresponds to the JSON property
workloadIdentityConfig.
Instance Method Summary collapse
-
#initialize(**args) ⇒ InstanceProperties
constructor
A new instance of InstanceProperties.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ InstanceProperties
Returns a new instance of InstanceProperties.
26682 26683 26684 |
# File 'lib/google/apis/compute_v1/classes.rb', line 26682 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
26534 26535 26536 |
# File 'lib/google/apis/compute_v1/classes.rb', line 26534 def advanced_machine_features @advanced_machine_features end |
#can_ip_forward ⇒ Boolean Also known as: can_ip_forward?
Enables instances created based on these properties to send packets with
source IP addresses other than their own and receive packets with
destination IP addresses other than their own. If these instances will be
used as an IP gateway or it will be set as the next-hop in a Route
resource, specify true. If unsure, leave this set tofalse. See theEnable IP
forwarding
documentation for more information.
Corresponds to the JSON property canIpForward
26545 26546 26547 |
# File 'lib/google/apis/compute_v1/classes.rb', line 26545 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
26551 26552 26553 |
# File 'lib/google/apis/compute_v1/classes.rb', line 26551 def confidential_instance_config @confidential_instance_config end |
#description ⇒ String
An optional text description for the instances that are created from these
properties.
Corresponds to the JSON property description
26557 26558 26559 |
# File 'lib/google/apis/compute_v1/classes.rb', line 26557 def description @description end |
#disks ⇒ Array<Google::Apis::ComputeV1::AttachedDisk>
An array of disks that are associated with the instances that are created
from these properties.
Corresponds to the JSON property disks
26563 26564 26565 |
# File 'lib/google/apis/compute_v1/classes.rb', line 26563 def disks @disks end |
#guest_accelerators ⇒ Array<Google::Apis::ComputeV1::AcceleratorConfig>
A list of guest accelerator cards' type and count to use for instances
created from these properties.
Corresponds to the JSON property guestAccelerators
26569 26570 26571 |
# File 'lib/google/apis/compute_v1/classes.rb', line 26569 def guest_accelerators @guest_accelerators 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
26575 26576 26577 |
# File 'lib/google/apis/compute_v1/classes.rb', line 26575 def key_revocation_action_type @key_revocation_action_type end |
#labels ⇒ Hash<String,String>
Labels to apply to instances that are created from these properties.
Corresponds to the JSON property labels
26580 26581 26582 |
# File 'lib/google/apis/compute_v1/classes.rb', line 26580 def labels @labels 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
26586 26587 26588 |
# File 'lib/google/apis/compute_v1/classes.rb', line 26586 def local_ssd_encryption_mode @local_ssd_encryption_mode end |
#machine_type ⇒ String
The machine type to use for instances that are created from these
properties.
This field only accepts a machine type name, for example n2-standard-4.
If you use the machine type full or partial URL, for example
projects/my-l7ilb-project/zones/us-central1-a/machineTypes/n2-standard-4,
the request will result in an INTERNAL_ERROR.
Corresponds to the JSON property machineType
26596 26597 26598 |
# File 'lib/google/apis/compute_v1/classes.rb', line 26596 def machine_type @machine_type end |
#metadata ⇒ Google::Apis::ComputeV1::Metadata
A metadata key/value entry.
Corresponds to the JSON property metadata
26601 26602 26603 |
# File 'lib/google/apis/compute_v1/classes.rb', line 26601 def @metadata end |
#min_cpu_platform ⇒ String
Minimum cpu/platform to be used by instances. The instance may be
scheduled on the specified or newer cpu/platform. Applicable values are the
friendly names of CPU platforms, such asminCpuPlatform: "Intel Haswell"
orminCpuPlatform: "Intel Sandy Bridge". For more
information, read Specifying a
Minimum CPU Platform.
Corresponds to the JSON property minCpuPlatform
26611 26612 26613 |
# File 'lib/google/apis/compute_v1/classes.rb', line 26611 def min_cpu_platform @min_cpu_platform end |
#network_interfaces ⇒ Array<Google::Apis::ComputeV1::NetworkInterface>
An array of network access configurations for this interface.
Corresponds to the JSON property networkInterfaces
26616 26617 26618 |
# File 'lib/google/apis/compute_v1/classes.rb', line 26616 def network_interfaces @network_interfaces end |
#network_performance_config ⇒ Google::Apis::ComputeV1::NetworkPerformanceConfig
Note that for MachineImage, this is not supported yet.
Corresponds to the JSON property networkPerformanceConfig
26621 26622 26623 |
# File 'lib/google/apis/compute_v1/classes.rb', line 26621 def network_performance_config @network_performance_config end |
#private_ipv6_google_access ⇒ String
The private IPv6 google access type for VMs.
If not specified, use INHERIT_FROM_SUBNETWORK as default.
Note that for MachineImage, this is not supported yet.
Corresponds to the JSON property privateIpv6GoogleAccess
26628 26629 26630 |
# File 'lib/google/apis/compute_v1/classes.rb', line 26628 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
26633 26634 26635 |
# File 'lib/google/apis/compute_v1/classes.rb', line 26633 def reservation_affinity @reservation_affinity end |
#resource_manager_tags ⇒ Hash<String,String>
Input only. Resource manager tags to be bound to the instance. Tag keys and
values
have the same definition as resource
manager tags. Keys and values can be either in numeric format,
such as tagKeys/tag_key_idand `tagValues/`tag_value_id or in
namespaced format such as org_id|project_id`/`tag_key_short_name and
tag_value_short_name. The field is ignored (both PUT &
PATCH) when empty.
Corresponds to the JSON property resourceManagerTags
26645 26646 26647 |
# File 'lib/google/apis/compute_v1/classes.rb', line 26645 def @resource_manager_tags end |
#resource_policies ⇒ Array<String>
Resource policies (names, not URLs) applied to instances created from
these properties.
Note that for MachineImage, this is not supported yet.
Corresponds to the JSON property resourcePolicies
26652 26653 26654 |
# File 'lib/google/apis/compute_v1/classes.rb', line 26652 def resource_policies @resource_policies end |
#scheduling ⇒ Google::Apis::ComputeV1::Scheduling
Sets the scheduling options for an Instance.
Corresponds to the JSON property scheduling
26657 26658 26659 |
# File 'lib/google/apis/compute_v1/classes.rb', line 26657 def scheduling @scheduling end |
#service_accounts ⇒ Array<Google::Apis::ComputeV1::ServiceAccount>
A list of service accounts with specified scopes. Access tokens for these
service accounts are available to the instances that are created from
these properties. Use metadata queries to obtain the access tokens for
these instances.
Corresponds to the JSON property serviceAccounts
26665 26666 26667 |
# File 'lib/google/apis/compute_v1/classes.rb', line 26665 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
26670 26671 26672 |
# File 'lib/google/apis/compute_v1/classes.rb', line 26670 def shielded_instance_config @shielded_instance_config end |
#tags ⇒ Google::Apis::ComputeV1::Tags
A set of instance tags.
Corresponds to the JSON property tags
26675 26676 26677 |
# File 'lib/google/apis/compute_v1/classes.rb', line 26675 def @tags end |
#workload_identity_config ⇒ Google::Apis::ComputeV1::WorkloadIdentityConfig
Corresponds to the JSON property workloadIdentityConfig
26680 26681 26682 |
# File 'lib/google/apis/compute_v1/classes.rb', line 26680 def workload_identity_config @workload_identity_config end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
26687 26688 26689 26690 26691 26692 26693 26694 26695 26696 26697 26698 26699 26700 26701 26702 26703 26704 26705 26706 26707 26708 26709 26710 26711 |
# File 'lib/google/apis/compute_v1/classes.rb', line 26687 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) @description = args[:description] if args.key?(:description) @disks = args[:disks] if args.key?(:disks) @guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators) @key_revocation_action_type = args[:key_revocation_action_type] if args.key?(:key_revocation_action_type) @labels = args[:labels] if args.key?(:labels) @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) @network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces) @network_performance_config = args[:network_performance_config] if args.key?(:network_performance_config) @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_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags) @resource_policies = args[:resource_policies] if args.key?(:resource_policies) @scheduling = args[:scheduling] if args.key?(:scheduling) @service_accounts = args[:service_accounts] if args.key?(:service_accounts) @shielded_instance_config = args[:shielded_instance_config] if args.key?(:shielded_instance_config) @tags = args[:tags] if args.key?(:tags) @workload_identity_config = args[:workload_identity_config] if args.key?(:workload_identity_config) end |