class Google::Apis::ComputeV1::InstanceProperties
Attributes
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` @return [Google::Apis::ComputeV1::AdvancedMachineFeatures]
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` @return [Boolean]
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` @return [Boolean]
A set of Confidential Instance
options. Corresponds to the JSON property `confidentialInstanceConfig` @return [Google::Apis::ComputeV1::ConfidentialInstanceConfig]
An optional text description for the instances that are created from these properties. Corresponds to the JSON property `description` @return [String]
An array of disks that are associated with the instances that are created from these properties. Corresponds to the JSON property `disks` @return [Array<Google::Apis::ComputeV1::AttachedDisk>]
A list of guest accelerator cards' type and count to use for instances created from these properties. Corresponds to the JSON property `guestAccelerators` @return [Array<Google::Apis::ComputeV1::AcceleratorConfig>]
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` @return [String]
Labels to apply to instances that are created from these properties. Corresponds to the JSON property `labels` @return [Hash<String,String>]
The machine type to use for instances that are created from these properties. Corresponds to the JSON property `machineType` @return [String]
A metadata key/value entry. Corresponds to the JSON property `metadata` @return [Google::Apis::ComputeV1::Metadata]
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` @return [String]
An array of network access configurations for this interface. Corresponds to the JSON property `networkInterfaces` @return [Array<Google::Apis::ComputeV1::NetworkInterface>]
Note that for MachineImage
, this is not supported yet. Corresponds to the JSON property `networkPerformanceConfig` @return [Google::Apis::ComputeV1::NetworkPerformanceConfig]
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` @return [String]
Specifies the reservations that this instance can consume from. Corresponds to the JSON property `reservationAffinity` @return [Google::Apis::ComputeV1::ReservationAffinity]
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` @return [Array<String>]
Sets the scheduling options for an Instance
. NextID: 21 Corresponds to the JSON property `scheduling` @return [Google::Apis::ComputeV1::Scheduling]
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` @return [Array<Google::Apis::ComputeV1::ServiceAccount>]
A set of Shielded Instance
options. Corresponds to the JSON property `shieldedInstanceConfig` @return [Google::Apis::ComputeV1::ShieldedInstanceConfig]
Public Class Methods
# File lib/google/apis/compute_v1/classes.rb, line 15379 def initialize(**args) update!(**args) end
Public Instance Methods
Update properties of this object
# File lib/google/apis/compute_v1/classes.rb, line 15384 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