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.
-
#identity ⇒ String
Corresponds to the JSON property
identity. -
#identity_certificate ⇒ Boolean
(also: #identity_certificate?)
Corresponds to the JSON property
identityCertificate. -
#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>
Input only.
-
#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.
-
#workload_identity_config ⇒ Google::Apis::ComputeAlpha::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.
31003 31004 31005 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 31003 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 anImage (e.g., whether or not
the OS in theImage supports nested virtualization being enabled or
disabled).
Corresponds to the JSON property advancedMachineFeatures
30819 30820 30821 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 30819 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
30830 30831 30832 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 30830 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
30836 30837 30838 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 30836 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
30842 30843 30844 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 30842 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
30848 30849 30850 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 30848 def disks @disks end |
#display_device ⇒ Google::Apis::ComputeAlpha::DisplayDevice
A set of Display Device options
Corresponds to the JSON property displayDevice
30853 30854 30855 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 30853 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
30859 30860 30861 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 30859 def guest_accelerators @guest_accelerators end |
#identity ⇒ String
Corresponds to the JSON property identity
30864 30865 30866 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 30864 def identity @identity end |
#identity_certificate ⇒ Boolean Also known as: identity_certificate?
Corresponds to the JSON property identityCertificate
30869 30870 30871 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 30869 def identity_certificate @identity_certificate 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
30876 30877 30878 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 30876 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
30881 30882 30883 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 30881 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
30891 30892 30893 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 30891 def machine_type @machine_type end |
#metadata ⇒ Google::Apis::ComputeAlpha::Metadata
A metadata key/value entry.
Corresponds to the JSON property metadata
30896 30897 30898 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 30896 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
30906 30907 30908 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 30906 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
30911 30912 30913 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 30911 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
30916 30917 30918 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 30916 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
30922 30923 30924 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 30922 def @partner_metadata end |
#post_key_revocation_action_type ⇒ String
PostKeyRevocationActionType of the instance.
Corresponds to the JSON property postKeyRevocationActionType
30927 30928 30929 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 30927 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
30934 30935 30936 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 30934 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
30939 30940 30941 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 30939 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 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`
30949 30950 30951 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 30949 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
30956 30957 30958 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 30956 def resource_policies @resource_policies end |
#scheduling ⇒ Google::Apis::ComputeAlpha::Scheduling
Sets the scheduling options for an Instance.
Corresponds to the JSON property scheduling
30961 30962 30963 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 30961 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
30968 30969 30970 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 30968 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
30976 30977 30978 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 30976 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
30981 30982 30983 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 30981 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
30986 30987 30988 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 30986 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
30991 30992 30993 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 30991 def shielded_vm_config @shielded_vm_config end |
#tags ⇒ Google::Apis::ComputeAlpha::Tags
A set of instance tags.
Corresponds to the JSON property tags
30996 30997 30998 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 30996 def @tags end |
#workload_identity_config ⇒ Google::Apis::ComputeAlpha::WorkloadIdentityConfig
Corresponds to the JSON property workloadIdentityConfig
31001 31002 31003 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 31001 def workload_identity_config @workload_identity_config end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
31008 31009 31010 31011 31012 31013 31014 31015 31016 31017 31018 31019 31020 31021 31022 31023 31024 31025 31026 31027 31028 31029 31030 31031 31032 31033 31034 31035 31036 31037 31038 31039 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 31008 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) @identity = args[:identity] if args.key?(:identity) @identity_certificate = args[:identity_certificate] if args.key?(:identity_certificate) @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) @workload_identity_config = args[:workload_identity_config] if args.key?(:workload_identity_config) end |