class Google::Apis::ComputeBeta::Scheduling

Sets the scheduling options for an Instance. NextID: 21

Attributes

automatic_restart[RW]

Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. Corresponds to the JSON property `automaticRestart` @return [Boolean]

automatic_restart?[RW]

Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. Corresponds to the JSON property `automaticRestart` @return [Boolean]

host_error_timeout_seconds[RW]

Specify the time in seconds for host error detection, the value must be within the range of [90, 330] with the increment of 30, if unset, the default behavior of host error recovery will be used. Corresponds to the JSON property `hostErrorTimeoutSeconds` @return [Fixnum]

instance_termination_action[RW]

Specifies the termination action for the instance. Corresponds to the JSON property `instanceTerminationAction` @return [String]

location_hint[RW]

An opaque location hint used to place the instance close to other resources. This field is for use by internal tools that use the public API. Corresponds to the JSON property `locationHint` @return [String]

maintenance_freeze_duration_hours[RW]

Specifies the number of hours after VM instance creation where the VM won't be scheduled for maintenance. Corresponds to the JSON property `maintenanceFreezeDurationHours` @return [Fixnum]

maintenance_interval[RW]

For more information about maintenance intervals, see Setting maintenance intervals. Corresponds to the JSON property `maintenanceInterval` @return [String]

min_node_cpus[RW]

The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node. Corresponds to the JSON property `minNodeCpus` @return [Fixnum]

node_affinities[RW]

A set of node affinity and anti-affinity configurations. Refer to Configuring node affinity for more information. Overrides reservationAffinity. Corresponds to the JSON property `nodeAffinities` @return [Array<Google::Apis::ComputeBeta::SchedulingNodeAffinity>]

on_host_maintenance[RW]

Defines the maintenance behavior for this instance. For standard instances, the default behavior is MIGRATE. For preemptible instances, the default and only possible behavior is TERMINATE. For more information, see Setting Instance Scheduling Options. Corresponds to the JSON property `onHostMaintenance` @return [String]

preemptible[RW]

Defines whether the instance is preemptible. This can only be set during instance creation or while the instance is stopped and therefore, in a ` TERMINATED` state. See Instance Life Cycle for more information on the possible instance states. Corresponds to the JSON property `preemptible` @return [Boolean]

preemptible?[RW]

Defines whether the instance is preemptible. This can only be set during instance creation or while the instance is stopped and therefore, in a ` TERMINATED` state. See Instance Life Cycle for more information on the possible instance states. Corresponds to the JSON property `preemptible` @return [Boolean]

provisioning_model[RW]

Specifies the provisioning model of the instance. Corresponds to the JSON property `provisioningModel` @return [String]

Public Class Methods

new(**args) click to toggle source
# File lib/google/apis/compute_beta/classes.rb, line 30728
def initialize(**args)
   update!(**args)
end

Public Instance Methods

update!(**args) click to toggle source

Update properties of this object

# File lib/google/apis/compute_beta/classes.rb, line 30733
def update!(**args)
  @automatic_restart = args[:automatic_restart] if args.key?(:automatic_restart)
  @host_error_timeout_seconds = args[:host_error_timeout_seconds] if args.key?(:host_error_timeout_seconds)
  @instance_termination_action = args[:instance_termination_action] if args.key?(:instance_termination_action)
  @location_hint = args[:location_hint] if args.key?(:location_hint)
  @maintenance_freeze_duration_hours = args[:maintenance_freeze_duration_hours] if args.key?(:maintenance_freeze_duration_hours)
  @maintenance_interval = args[:maintenance_interval] if args.key?(:maintenance_interval)
  @min_node_cpus = args[:min_node_cpus] if args.key?(:min_node_cpus)
  @node_affinities = args[:node_affinities] if args.key?(:node_affinities)
  @on_host_maintenance = args[:on_host_maintenance] if args.key?(:on_host_maintenance)
  @preemptible = args[:preemptible] if args.key?(:preemptible)
  @provisioning_model = args[:provisioning_model] if args.key?(:provisioning_model)
end