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.
-
#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.
-
#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_policies ⇒ Array<String>
Resource policies (names, not ULRs) 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.
14688 14689 14690 |
# File 'lib/google/apis/compute_v1/classes.rb', line 14688 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
14583 14584 14585 |
# File 'lib/google/apis/compute_v1/classes.rb', line 14583 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
14593 14594 14595 |
# File 'lib/google/apis/compute_v1/classes.rb', line 14593 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
14599 14600 14601 |
# File 'lib/google/apis/compute_v1/classes.rb', line 14599 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
14605 14606 14607 |
# File 'lib/google/apis/compute_v1/classes.rb', line 14605 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
14611 14612 14613 |
# File 'lib/google/apis/compute_v1/classes.rb', line 14611 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
14617 14618 14619 |
# File 'lib/google/apis/compute_v1/classes.rb', line 14617 def guest_accelerators @guest_accelerators end |
#labels ⇒ Hash<String,String>
Labels to apply to instances that are created from these properties.
Corresponds to the JSON property labels
14622 14623 14624 |
# File 'lib/google/apis/compute_v1/classes.rb', line 14622 def labels @labels end |
#machine_type ⇒ String
The machine type to use for instances that are created from these properties.
Corresponds to the JSON property machineType
14627 14628 14629 |
# File 'lib/google/apis/compute_v1/classes.rb', line 14627 def machine_type @machine_type end |
#metadata ⇒ Google::Apis::ComputeV1::Metadata
A metadata key/value entry.
Corresponds to the JSON property metadata
14632 14633 14634 |
# File 'lib/google/apis/compute_v1/classes.rb', line 14632 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
14641 14642 14643 |
# File 'lib/google/apis/compute_v1/classes.rb', line 14641 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
14646 14647 14648 |
# File 'lib/google/apis/compute_v1/classes.rb', line 14646 def network_interfaces @network_interfaces end |
#private_ipv6_google_access ⇒ String
The private IPv6 google access type for VMs. If not specified, use
INHERIT_FROM_SUBNETWORK as default.
Corresponds to the JSON property privateIpv6GoogleAccess
14652 14653 14654 |
# File 'lib/google/apis/compute_v1/classes.rb', line 14652 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
14657 14658 14659 |
# File 'lib/google/apis/compute_v1/classes.rb', line 14657 def reservation_affinity @reservation_affinity end |
#resource_policies ⇒ Array<String>
Resource policies (names, not ULRs) applied to instances created from these
properties.
Corresponds to the JSON property resourcePolicies
14663 14664 14665 |
# File 'lib/google/apis/compute_v1/classes.rb', line 14663 def resource_policies @resource_policies end |
#scheduling ⇒ Google::Apis::ComputeV1::Scheduling
Sets the scheduling options for an Instance. NextID: 21
Corresponds to the JSON property scheduling
14668 14669 14670 |
# File 'lib/google/apis/compute_v1/classes.rb', line 14668 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
14676 14677 14678 |
# File 'lib/google/apis/compute_v1/classes.rb', line 14676 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
14681 14682 14683 |
# File 'lib/google/apis/compute_v1/classes.rb', line 14681 def shielded_instance_config @shielded_instance_config end |
#tags ⇒ Google::Apis::ComputeV1::Tags
A set of instance tags.
Corresponds to the JSON property tags
14686 14687 14688 |
# File 'lib/google/apis/compute_v1/classes.rb', line 14686 def @tags end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
14693 14694 14695 14696 14697 14698 14699 14700 14701 14702 14703 14704 14705 14706 14707 14708 14709 14710 14711 14712 |
# File 'lib/google/apis/compute_v1/classes.rb', line 14693 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) @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) @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_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 |