Class: Google::Apis::ComputeAlpha::InstanceProperties
- Inherits:
-
Object
- Object
- Google::Apis::ComputeAlpha::InstanceProperties
- Includes:
- Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
- Defined in:
- lib/google/apis/compute_alpha/classes.rb,
lib/google/apis/compute_alpha/representations.rb,
lib/google/apis/compute_alpha/representations.rb
Instance Attribute Summary collapse
-
#advanced_machine_features ⇒ Google::Apis::ComputeAlpha::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::ComputeAlpha::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::ComputeAlpha::AttachedDisk>
An array of disks that are associated with the instances that are created from these properties.
-
#display_device ⇒ Google::Apis::ComputeAlpha::DisplayDevice
A set of Display Device options Corresponds to the JSON property
displayDevice
. -
#guest_accelerators ⇒ Array<Google::Apis::ComputeAlpha::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::ComputeAlpha::Metadata
A metadata key/value entry.
-
#min_cpu_platform ⇒ String
Minimum cpu/platform to be used by instances.
-
#network_interfaces ⇒ Array<Google::Apis::ComputeAlpha::NetworkInterface>
An array of network access configurations for this interface.
-
#network_performance_config ⇒ Google::Apis::ComputeAlpha::NetworkPerformanceConfig
Note that for MachineImage, this is not supported yet.
-
#partner_metadata ⇒ Hash<String,Google::Apis::ComputeAlpha::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::ComputeAlpha::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::ComputeAlpha::Scheduling
Sets the scheduling options for an Instance.
-
#secure_tags ⇒ Array<String>
[Input Only] Secure tags to apply to this instance.
-
#service_accounts ⇒ Array<Google::Apis::ComputeAlpha::ServiceAccount>
A list of service accounts with specified scopes.
-
#service_integration_specs ⇒ Hash<String,Google::Apis::ComputeAlpha::ServiceIntegrationSpec>
Mapping of user defined keys to ServiceIntegrationSpec.
-
#shielded_instance_config ⇒ Google::Apis::ComputeAlpha::ShieldedInstanceConfig
A set of Shielded Instance options.
-
#shielded_vm_config ⇒ Google::Apis::ComputeAlpha::ShieldedVmConfig
A set of Shielded VM options.
-
#tags ⇒ Google::Apis::ComputeAlpha::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.
21950 21951 21952 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 21950 def initialize(**args) update!(**args) end |
Instance Attribute Details
#advanced_machine_features ⇒ Google::Apis::ComputeAlpha::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 an Image (e.g., whether or not the OS in the Image supports nested
virtualization being enabled or disabled).
Corresponds to the JSON property advancedMachineFeatures
21789 21790 21791 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 21789 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 to false. See the Enable IP forwarding documentation
for more information.
Corresponds to the JSON property canIpForward
21799 21800 21801 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 21799 def can_ip_forward @can_ip_forward end |
#confidential_instance_config ⇒ Google::Apis::ComputeAlpha::ConfidentialInstanceConfig
A set of Confidential Instance options.
Corresponds to the JSON property confidentialInstanceConfig
21805 21806 21807 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 21805 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
21811 21812 21813 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 21811 def description @description end |
#disks ⇒ Array<Google::Apis::ComputeAlpha::AttachedDisk>
An array of disks that are associated with the instances that are created from
these properties.
Corresponds to the JSON property disks
21817 21818 21819 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 21817 def disks @disks end |
#display_device ⇒ Google::Apis::ComputeAlpha::DisplayDevice
A set of Display Device options
Corresponds to the JSON property displayDevice
21822 21823 21824 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 21822 def display_device @display_device end |
#guest_accelerators ⇒ Array<Google::Apis::ComputeAlpha::AcceleratorConfig>
A list of guest accelerator cards' type and count to use for instances created
from these properties.
Corresponds to the JSON property guestAccelerators
21828 21829 21830 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 21828 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
21834 21835 21836 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 21834 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
21839 21840 21841 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 21839 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
21848 21849 21850 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 21848 def machine_type @machine_type end |
#metadata ⇒ Google::Apis::ComputeAlpha::Metadata
A metadata key/value entry.
Corresponds to the JSON property metadata
21853 21854 21855 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 21853 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 as minCpuPlatform: "Intel Haswell" or minCpuPlatform: "
Intel Sandy Bridge". For more information, read Specifying a Minimum CPU
Platform.
Corresponds to the JSON property minCpuPlatform
21862 21863 21864 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 21862 def min_cpu_platform @min_cpu_platform end |
#network_interfaces ⇒ Array<Google::Apis::ComputeAlpha::NetworkInterface>
An array of network access configurations for this interface.
Corresponds to the JSON property networkInterfaces
21867 21868 21869 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 21867 def network_interfaces @network_interfaces end |
#network_performance_config ⇒ Google::Apis::ComputeAlpha::NetworkPerformanceConfig
Note that for MachineImage, this is not supported yet.
Corresponds to the JSON property networkPerformanceConfig
21872 21873 21874 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 21872 def network_performance_config @network_performance_config end |
#partner_metadata ⇒ Hash<String,Google::Apis::ComputeAlpha::StructuredEntries>
Partner Metadata assigned to the instance properties. A map from a subdomain (
namespace) to entries map.
Corresponds to the JSON property partnerMetadata
21878 21879 21880 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 21878 def @partner_metadata end |
#post_key_revocation_action_type ⇒ String
PostKeyRevocationActionType of the instance.
Corresponds to the JSON property postKeyRevocationActionType
21883 21884 21885 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 21883 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
21890 21891 21892 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 21890 def private_ipv6_google_access @private_ipv6_google_access end |
#reservation_affinity ⇒ Google::Apis::ComputeAlpha::ReservationAffinity
Specifies the reservations that this instance can consume from.
Corresponds to the JSON property reservationAffinity
21895 21896 21897 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 21895 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 format
tagValues/456. The field
is ignored (both PUT & PATCH) when empty.
Corresponds to the JSON property
resourceManagerTags`
21903 21904 21905 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 21903 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
21909 21910 21911 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 21909 def resource_policies @resource_policies end |
#scheduling ⇒ Google::Apis::ComputeAlpha::Scheduling
Sets the scheduling options for an Instance.
Corresponds to the JSON property scheduling
21914 21915 21916 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 21914 def scheduling @scheduling end |
#secure_tags ⇒ Array<String>
[Input Only] Secure tags to apply to this instance. Maximum number of secure
tags allowed is 50. Note that for MachineImage, this is not supported yet.
Corresponds to the JSON property secureTags
21920 21921 21922 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 21920 def @secure_tags end |
#service_accounts ⇒ Array<Google::Apis::ComputeAlpha::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
21928 21929 21930 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 21928 def service_accounts @service_accounts end |
#service_integration_specs ⇒ Hash<String,Google::Apis::ComputeAlpha::ServiceIntegrationSpec>
Mapping of user defined keys to ServiceIntegrationSpec.
Corresponds to the JSON property serviceIntegrationSpecs
21933 21934 21935 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 21933 def service_integration_specs @service_integration_specs end |
#shielded_instance_config ⇒ Google::Apis::ComputeAlpha::ShieldedInstanceConfig
A set of Shielded Instance options.
Corresponds to the JSON property shieldedInstanceConfig
21938 21939 21940 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 21938 def shielded_instance_config @shielded_instance_config end |
#shielded_vm_config ⇒ Google::Apis::ComputeAlpha::ShieldedVmConfig
A set of Shielded VM options.
Corresponds to the JSON property shieldedVmConfig
21943 21944 21945 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 21943 def shielded_vm_config @shielded_vm_config end |
#tags ⇒ Google::Apis::ComputeAlpha::Tags
A set of instance tags.
Corresponds to the JSON property tags
21948 21949 21950 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 21948 def @tags end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
21955 21956 21957 21958 21959 21960 21961 21962 21963 21964 21965 21966 21967 21968 21969 21970 21971 21972 21973 21974 21975 21976 21977 21978 21979 21980 21981 21982 21983 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 21955 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) @secure_tags = args[:secure_tags] if args.key?(:secure_tags) @service_accounts = args[:service_accounts] if args.key?(:service_accounts) @service_integration_specs = args[:service_integration_specs] if args.key?(:service_integration_specs) @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 |