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.
-
#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>
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::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.
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.
17380 17381 17382 |
# File 'lib/google/apis/compute_v1/classes.rb', line 17380 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 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
17251 17252 17253 |
# File 'lib/google/apis/compute_v1/classes.rb', line 17251 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
17261 17262 17263 |
# File 'lib/google/apis/compute_v1/classes.rb', line 17261 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
17267 17268 17269 |
# File 'lib/google/apis/compute_v1/classes.rb', line 17267 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
17273 17274 17275 |
# File 'lib/google/apis/compute_v1/classes.rb', line 17273 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
17279 17280 17281 |
# File 'lib/google/apis/compute_v1/classes.rb', line 17279 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
17285 17286 17287 |
# File 'lib/google/apis/compute_v1/classes.rb', line 17285 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
17291 17292 17293 |
# File 'lib/google/apis/compute_v1/classes.rb', line 17291 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
17296 17297 17298 |
# File 'lib/google/apis/compute_v1/classes.rb', line 17296 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
17305 17306 17307 |
# File 'lib/google/apis/compute_v1/classes.rb', line 17305 def machine_type @machine_type end |
#metadata ⇒ Google::Apis::ComputeV1::Metadata
A metadata key/value entry.
Corresponds to the JSON property metadata
17310 17311 17312 |
# File 'lib/google/apis/compute_v1/classes.rb', line 17310 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
17319 17320 17321 |
# File 'lib/google/apis/compute_v1/classes.rb', line 17319 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
17324 17325 17326 |
# File 'lib/google/apis/compute_v1/classes.rb', line 17324 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
17329 17330 17331 |
# File 'lib/google/apis/compute_v1/classes.rb', line 17329 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
17336 17337 17338 |
# File 'lib/google/apis/compute_v1/classes.rb', line 17336 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
17341 17342 17343 |
# File 'lib/google/apis/compute_v1/classes.rb', line 17341 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`
17349 17350 17351 |
# File 'lib/google/apis/compute_v1/classes.rb', line 17349 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
17355 17356 17357 |
# File 'lib/google/apis/compute_v1/classes.rb', line 17355 def resource_policies @resource_policies end |
#scheduling ⇒ Google::Apis::ComputeV1::Scheduling
Sets the scheduling options for an Instance.
Corresponds to the JSON property scheduling
17360 17361 17362 |
# File 'lib/google/apis/compute_v1/classes.rb', line 17360 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
17368 17369 17370 |
# File 'lib/google/apis/compute_v1/classes.rb', line 17368 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
17373 17374 17375 |
# File 'lib/google/apis/compute_v1/classes.rb', line 17373 def shielded_instance_config @shielded_instance_config end |
#tags ⇒ Google::Apis::ComputeV1::Tags
A set of instance tags.
Corresponds to the JSON property tags
17378 17379 17380 |
# File 'lib/google/apis/compute_v1/classes.rb', line 17378 def @tags end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
17385 17386 17387 17388 17389 17390 17391 17392 17393 17394 17395 17396 17397 17398 17399 17400 17401 17402 17403 17404 17405 17406 17407 |
# File 'lib/google/apis/compute_v1/classes.rb', line 17385 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) @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) end |