Class: Google::Apis::ComputeBeta::InstanceProperties
- Inherits:
-
Object
- Object
- Google::Apis::ComputeBeta::InstanceProperties
- Includes:
- Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
- Defined in:
- lib/google/apis/compute_beta/classes.rb,
lib/google/apis/compute_beta/representations.rb,
lib/google/apis/compute_beta/representations.rb
Instance Attribute Summary collapse
-
#advanced_machine_features ⇒ Google::Apis::ComputeBeta::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::ComputeBeta::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::ComputeBeta::AttachedDisk>
An array of disks that are associated with the instances that are created from these properties.
-
#display_device ⇒ Google::Apis::ComputeBeta::DisplayDevice
A set of Display Device options Corresponds to the JSON property
displayDevice. -
#guest_accelerators ⇒ Array<Google::Apis::ComputeBeta::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.
-
#machine_type ⇒ String
The machine type to use for instances that are created from these properties.
-
#metadata ⇒ Google::Apis::ComputeBeta::Metadata
A metadata key/value entry.
-
#min_cpu_platform ⇒ String
Minimum cpu/platform to be used by instances.
-
#network_interfaces ⇒ Array<Google::Apis::ComputeBeta::NetworkInterface>
An array of network access configurations for this interface.
-
#network_performance_config ⇒ Google::Apis::ComputeBeta::NetworkPerformanceConfig
Note that for MachineImage, this is not supported yet.
-
#partner_metadata ⇒ Hash<String,Google::Apis::ComputeBeta::StructuredEntries>
Partner Metadata assigned to the instance properties.
-
#post_key_revocation_action_type ⇒ String
PostKeyRevocationActionType of the instance.
-
#private_ipv6_google_access ⇒ String
The private IPv6 google access type for VMs.
-
#reservation_affinity ⇒ Google::Apis::ComputeBeta::ReservationAffinity
Specifies the reservations that this instance can consume from.
-
#resource_manager_tags ⇒ Hash<String,String>
Resource manager tags to be bound to the instance.
-
#resource_policies ⇒ Array<String>
Resource policies (names, not URLs) applied to instances created from these properties.
-
#scheduling ⇒ Google::Apis::ComputeBeta::Scheduling
Sets the scheduling options for an Instance.
-
#service_accounts ⇒ Array<Google::Apis::ComputeBeta::ServiceAccount>
A list of service accounts with specified scopes.
-
#shielded_instance_config ⇒ Google::Apis::ComputeBeta::ShieldedInstanceConfig
A set of Shielded Instance options.
-
#shielded_vm_config ⇒ Google::Apis::ComputeBeta::ShieldedVmConfig
A set of Shielded VM options.
-
#tags ⇒ Google::Apis::ComputeBeta::Tags
A set of instance tags.
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.
25774 25775 25776 |
# File 'lib/google/apis/compute_beta/classes.rb', line 25774 def initialize(**args) update!(**args) end |
Instance Attribute Details
#advanced_machine_features ⇒ Google::Apis::ComputeBeta::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
25619 25620 25621 |
# File 'lib/google/apis/compute_beta/classes.rb', line 25619 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
25630 25631 25632 |
# File 'lib/google/apis/compute_beta/classes.rb', line 25630 def can_ip_forward @can_ip_forward end |
#confidential_instance_config ⇒ Google::Apis::ComputeBeta::ConfidentialInstanceConfig
A set of Confidential Instance options.
Corresponds to the JSON property confidentialInstanceConfig
25636 25637 25638 |
# File 'lib/google/apis/compute_beta/classes.rb', line 25636 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
25642 25643 25644 |
# File 'lib/google/apis/compute_beta/classes.rb', line 25642 def description @description end |
#disks ⇒ Array<Google::Apis::ComputeBeta::AttachedDisk>
An array of disks that are associated with the instances that are created
from these properties.
Corresponds to the JSON property disks
25648 25649 25650 |
# File 'lib/google/apis/compute_beta/classes.rb', line 25648 def disks @disks end |
#display_device ⇒ Google::Apis::ComputeBeta::DisplayDevice
A set of Display Device options
Corresponds to the JSON property displayDevice
25653 25654 25655 |
# File 'lib/google/apis/compute_beta/classes.rb', line 25653 def display_device @display_device end |
#guest_accelerators ⇒ Array<Google::Apis::ComputeBeta::AcceleratorConfig>
A list of guest accelerator cards' type and count to use for instances
created from these properties.
Corresponds to the JSON property guestAccelerators
25659 25660 25661 |
# File 'lib/google/apis/compute_beta/classes.rb', line 25659 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
25665 25666 25667 |
# File 'lib/google/apis/compute_beta/classes.rb', line 25665 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
25670 25671 25672 |
# File 'lib/google/apis/compute_beta/classes.rb', line 25670 def labels @labels 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
25680 25681 25682 |
# File 'lib/google/apis/compute_beta/classes.rb', line 25680 def machine_type @machine_type end |
#metadata ⇒ Google::Apis::ComputeBeta::Metadata
A metadata key/value entry.
Corresponds to the JSON property metadata
25685 25686 25687 |
# File 'lib/google/apis/compute_beta/classes.rb', line 25685 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
25695 25696 25697 |
# File 'lib/google/apis/compute_beta/classes.rb', line 25695 def min_cpu_platform @min_cpu_platform end |
#network_interfaces ⇒ Array<Google::Apis::ComputeBeta::NetworkInterface>
An array of network access configurations for this interface.
Corresponds to the JSON property networkInterfaces
25700 25701 25702 |
# File 'lib/google/apis/compute_beta/classes.rb', line 25700 def network_interfaces @network_interfaces end |
#network_performance_config ⇒ Google::Apis::ComputeBeta::NetworkPerformanceConfig
Note that for MachineImage, this is not supported yet.
Corresponds to the JSON property networkPerformanceConfig
25705 25706 25707 |
# File 'lib/google/apis/compute_beta/classes.rb', line 25705 def network_performance_config @network_performance_config end |
#partner_metadata ⇒ Hash<String,Google::Apis::ComputeBeta::StructuredEntries>
Partner Metadata assigned to the instance properties. A map from a
subdomain (namespace) to entries map.
Corresponds to the JSON property partnerMetadata
25711 25712 25713 |
# File 'lib/google/apis/compute_beta/classes.rb', line 25711 def @partner_metadata end |
#post_key_revocation_action_type ⇒ String
PostKeyRevocationActionType of the instance.
Corresponds to the JSON property postKeyRevocationActionType
25716 25717 25718 |
# File 'lib/google/apis/compute_beta/classes.rb', line 25716 def post_key_revocation_action_type @post_key_revocation_action_type 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
25723 25724 25725 |
# File 'lib/google/apis/compute_beta/classes.rb', line 25723 def private_ipv6_google_access @private_ipv6_google_access end |
#reservation_affinity ⇒ Google::Apis::ComputeBeta::ReservationAffinity
Specifies the reservations that this instance can consume from.
Corresponds to the JSON property reservationAffinity
25728 25729 25730 |
# File 'lib/google/apis/compute_beta/classes.rb', line 25728 def reservation_affinity @reservation_affinity end |
#resource_manager_tags ⇒ Hash<String,String>
Resource manager tags to be bound to the instance. Tag keys and values
have the same definition as resource
manager tags. Keys must be in the format tagKeys/tag_key_id`, and
values are in the formattagValues/456. The field is ignored (both PUT &
PATCH) when empty.
Corresponds to the JSON propertyresourceManagerTags`
25737 25738 25739 |
# File 'lib/google/apis/compute_beta/classes.rb', line 25737 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
25744 25745 25746 |
# File 'lib/google/apis/compute_beta/classes.rb', line 25744 def resource_policies @resource_policies end |
#scheduling ⇒ Google::Apis::ComputeBeta::Scheduling
Sets the scheduling options for an Instance.
Corresponds to the JSON property scheduling
25749 25750 25751 |
# File 'lib/google/apis/compute_beta/classes.rb', line 25749 def scheduling @scheduling end |
#service_accounts ⇒ Array<Google::Apis::ComputeBeta::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
25757 25758 25759 |
# File 'lib/google/apis/compute_beta/classes.rb', line 25757 def service_accounts @service_accounts end |
#shielded_instance_config ⇒ Google::Apis::ComputeBeta::ShieldedInstanceConfig
A set of Shielded Instance options.
Corresponds to the JSON property shieldedInstanceConfig
25762 25763 25764 |
# File 'lib/google/apis/compute_beta/classes.rb', line 25762 def shielded_instance_config @shielded_instance_config end |
#shielded_vm_config ⇒ Google::Apis::ComputeBeta::ShieldedVmConfig
A set of Shielded VM options.
Corresponds to the JSON property shieldedVmConfig
25767 25768 25769 |
# File 'lib/google/apis/compute_beta/classes.rb', line 25767 def shielded_vm_config @shielded_vm_config end |
#tags ⇒ Google::Apis::ComputeBeta::Tags
A set of instance tags.
Corresponds to the JSON property tags
25772 25773 25774 |
# File 'lib/google/apis/compute_beta/classes.rb', line 25772 def @tags end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
25779 25780 25781 25782 25783 25784 25785 25786 25787 25788 25789 25790 25791 25792 25793 25794 25795 25796 25797 25798 25799 25800 25801 25802 25803 25804 25805 |
# File 'lib/google/apis/compute_beta/classes.rb', line 25779 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) @display_device = args[:display_device] if args.key?(:display_device) @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) @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) @partner_metadata = args[:partner_metadata] if args.key?(:partner_metadata) @post_key_revocation_action_type = args[:post_key_revocation_action_type] if args.key?(:post_key_revocation_action_type) @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) @shielded_vm_config = args[:shielded_vm_config] if args.key?(:shielded_vm_config) @tags = args[:tags] if args.key?(:tags) end |