Class: Google::Apis::ComputeBeta::Scheduling
- Inherits:
-
Object
- Object
- Google::Apis::ComputeBeta::Scheduling
- Includes:
- Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
- Defined in:
- lib/google/apis/compute_beta/classes.rb,
lib/google/apis/compute_beta/representations.rb,
lib/google/apis/compute_beta/representations.rb
Overview
Sets the scheduling options for an Instance.
Instance Attribute Summary collapse
-
#automatic_restart ⇒ Boolean
(also: #automatic_restart?)
Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user).
-
#availability_domain ⇒ Fixnum
Specifies the availability domain to place the instance in.
-
#graceful_shutdown ⇒ Google::Apis::ComputeBeta::SchedulingGracefulShutdown
The configuration for gracefully shutting down the instance.
-
#host_error_timeout_seconds ⇒ Fixnum
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.
-
#instance_termination_action ⇒ String
Specifies the termination action for the instance.
-
#local_ssd_recovery_timeout ⇒ Google::Apis::ComputeBeta::Duration
A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution.
-
#location_hint ⇒ String
An opaque location hint used to place the instance close to other resources.
-
#maintenance_freeze_duration_hours ⇒ Fixnum
Specifies the number of hours after VM instance creation where the VM won't be scheduled for maintenance.
-
#maintenance_interval ⇒ String
Specifies the frequency of planned maintenance events.
-
#max_run_duration ⇒ Google::Apis::ComputeBeta::Duration
A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution.
-
#min_node_cpus ⇒ Fixnum
The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node.
-
#node_affinities ⇒ Array<Google::Apis::ComputeBeta::SchedulingNodeAffinity>
A set of node affinity and anti-affinity configurations.
-
#on_host_maintenance ⇒ String
Defines the maintenance behavior for this instance.
-
#on_instance_stop_action ⇒ Google::Apis::ComputeBeta::SchedulingOnInstanceStopAction
Defines the behaviour for instances with the instance_termination_actionSTOP.
-
#preemptible ⇒ Boolean
(also: #preemptible?)
Defines whether the instance is preemptible.
-
#preemption_notice_duration ⇒ Google::Apis::ComputeBeta::Duration
A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution.
-
#provisioning_model ⇒ String
Specifies the provisioning model of the instance.
-
#skip_guest_os_shutdown ⇒ Boolean
(also: #skip_guest_os_shutdown?)
Default is false and there will be 120 seconds between GCE ACPI G2 Soft Off and ACPI G3 Mechanical Off for Standard VMs and 30 seconds for Spot VMs.
-
#termination_time ⇒ String
Specifies the timestamp, when the instance will be terminated, inRFC3339 text format.
Instance Method Summary collapse
-
#initialize(**args) ⇒ Scheduling
constructor
A new instance of Scheduling.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ Scheduling
Returns a new instance of Scheduling.
59676 59677 59678 |
# File 'lib/google/apis/compute_beta/classes.rb', line 59676 def initialize(**args) update!(**args) end |
Instance Attribute Details
#automatic_restart ⇒ Boolean Also known as: automatic_restart?
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
59548 59549 59550 |
# File 'lib/google/apis/compute_beta/classes.rb', line 59548 def automatic_restart @automatic_restart end |
#availability_domain ⇒ Fixnum
Specifies the availability domain to place the instance in. The value
must be a number between 1 and the number of availability domains
specified in the spread placement policy attached to the instance.
Corresponds to the JSON property availabilityDomain
59556 59557 59558 |
# File 'lib/google/apis/compute_beta/classes.rb', line 59556 def availability_domain @availability_domain end |
#graceful_shutdown ⇒ Google::Apis::ComputeBeta::SchedulingGracefulShutdown
The configuration for gracefully shutting down the instance.
Corresponds to the JSON property gracefulShutdown
59561 59562 59563 |
# File 'lib/google/apis/compute_beta/classes.rb', line 59561 def graceful_shutdown @graceful_shutdown end |
#host_error_timeout_seconds ⇒ Fixnum
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
59568 59569 59570 |
# File 'lib/google/apis/compute_beta/classes.rb', line 59568 def host_error_timeout_seconds @host_error_timeout_seconds end |
#instance_termination_action ⇒ String
Specifies the termination action for the instance.
Corresponds to the JSON property instanceTerminationAction
59573 59574 59575 |
# File 'lib/google/apis/compute_beta/classes.rb', line 59573 def instance_termination_action @instance_termination_action end |
#local_ssd_recovery_timeout ⇒ Google::Apis::ComputeBeta::Duration
A Duration represents a fixed-length span of time represented
as a count of seconds and fractions of seconds at nanosecond
resolution. It is independent of any calendar and concepts like "day"
or "month". Range is approximately 10,000 years.
Corresponds to the JSON property localSsdRecoveryTimeout
59581 59582 59583 |
# File 'lib/google/apis/compute_beta/classes.rb', line 59581 def local_ssd_recovery_timeout @local_ssd_recovery_timeout end |
#location_hint ⇒ String
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
59588 59589 59590 |
# File 'lib/google/apis/compute_beta/classes.rb', line 59588 def location_hint @location_hint end |
#maintenance_freeze_duration_hours ⇒ Fixnum
Specifies the number of hours after VM instance creation where the VM won't
be scheduled for maintenance.
Corresponds to the JSON property maintenanceFreezeDurationHours
59594 59595 59596 |
# File 'lib/google/apis/compute_beta/classes.rb', line 59594 def maintenance_freeze_duration_hours @maintenance_freeze_duration_hours end |
#maintenance_interval ⇒ String
Specifies the frequency of planned maintenance events. The accepted values
are: PERIODIC.
Corresponds to the JSON property maintenanceInterval
59600 59601 59602 |
# File 'lib/google/apis/compute_beta/classes.rb', line 59600 def maintenance_interval @maintenance_interval end |
#max_run_duration ⇒ Google::Apis::ComputeBeta::Duration
A Duration represents a fixed-length span of time represented
as a count of seconds and fractions of seconds at nanosecond
resolution. It is independent of any calendar and concepts like "day"
or "month". Range is approximately 10,000 years.
Corresponds to the JSON property maxRunDuration
59608 59609 59610 |
# File 'lib/google/apis/compute_beta/classes.rb', line 59608 def max_run_duration @max_run_duration end |
#min_node_cpus ⇒ Fixnum
The minimum number of virtual CPUs this instance will consume when running
on a sole-tenant node.
Corresponds to the JSON property minNodeCpus
59614 59615 59616 |
# File 'lib/google/apis/compute_beta/classes.rb', line 59614 def min_node_cpus @min_node_cpus end |
#node_affinities ⇒ Array<Google::Apis::ComputeBeta::SchedulingNodeAffinity>
A set of node affinity and anti-affinity configurations. Refer toConfiguring
node
affinity for more information.
Overrides reservationAffinity.
Corresponds to the JSON property nodeAffinities
59622 59623 59624 |
# File 'lib/google/apis/compute_beta/classes.rb', line 59622 def node_affinities @node_affinities end |
#on_host_maintenance ⇒ String
Defines the maintenance behavior for this instance. For standard instances,
the default behavior is MIGRATE. Forpreemptible instances,
the default and only possible behavior is TERMINATE. For more
information, see
Set
VM host maintenance policy.
Corresponds to the JSON property onHostMaintenance
59632 59633 59634 |
# File 'lib/google/apis/compute_beta/classes.rb', line 59632 def on_host_maintenance @on_host_maintenance end |
#on_instance_stop_action ⇒ Google::Apis::ComputeBeta::SchedulingOnInstanceStopAction
Defines the behaviour for instances with the instance_termination_actionSTOP.
Corresponds to the JSON property onInstanceStopAction
59637 59638 59639 |
# File 'lib/google/apis/compute_beta/classes.rb', line 59637 def on_instance_stop_action @on_instance_stop_action end |
#preemptible ⇒ Boolean Also known as: preemptible?
Defines whether the instance is preemptible. This can only be set during
instance creation or while the instance isstopped and
therefore, in a TERMINATED state. SeeInstance Life
Cycle for more information on the possible instance states.
Corresponds to the JSON property preemptible
59645 59646 59647 |
# File 'lib/google/apis/compute_beta/classes.rb', line 59645 def preemptible @preemptible end |
#preemption_notice_duration ⇒ Google::Apis::ComputeBeta::Duration
A Duration represents a fixed-length span of time represented
as a count of seconds and fractions of seconds at nanosecond
resolution. It is independent of any calendar and concepts like "day"
or "month". Range is approximately 10,000 years.
Corresponds to the JSON property preemptionNoticeDuration
59654 59655 59656 |
# File 'lib/google/apis/compute_beta/classes.rb', line 59654 def preemption_notice_duration @preemption_notice_duration end |
#provisioning_model ⇒ String
Specifies the provisioning model of the instance.
Corresponds to the JSON property provisioningModel
59659 59660 59661 |
# File 'lib/google/apis/compute_beta/classes.rb', line 59659 def provisioning_model @provisioning_model end |
#skip_guest_os_shutdown ⇒ Boolean Also known as: skip_guest_os_shutdown?
Default is false and there will be 120 seconds between GCE ACPI G2 Soft
Off and ACPI G3 Mechanical
Off for Standard VMs and 30 seconds for Spot VMs.
Corresponds to the JSON property skipGuestOsShutdown
59666 59667 59668 |
# File 'lib/google/apis/compute_beta/classes.rb', line 59666 def skip_guest_os_shutdown @skip_guest_os_shutdown end |
#termination_time ⇒ String
Specifies the timestamp, when the instance will be terminated, inRFC3339 text
format. If specified, the instance
termination action will be performed at the termination time.
Corresponds to the JSON property terminationTime
59674 59675 59676 |
# File 'lib/google/apis/compute_beta/classes.rb', line 59674 def termination_time @termination_time end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
59681 59682 59683 59684 59685 59686 59687 59688 59689 59690 59691 59692 59693 59694 59695 59696 59697 59698 59699 59700 59701 |
# File 'lib/google/apis/compute_beta/classes.rb', line 59681 def update!(**args) @automatic_restart = args[:automatic_restart] if args.key?(:automatic_restart) @availability_domain = args[:availability_domain] if args.key?(:availability_domain) @graceful_shutdown = args[:graceful_shutdown] if args.key?(:graceful_shutdown) @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) @local_ssd_recovery_timeout = args[:local_ssd_recovery_timeout] if args.key?(:local_ssd_recovery_timeout) @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) @max_run_duration = args[:max_run_duration] if args.key?(:max_run_duration) @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) @on_instance_stop_action = args[:on_instance_stop_action] if args.key?(:on_instance_stop_action) @preemptible = args[:preemptible] if args.key?(:preemptible) @preemption_notice_duration = args[:preemption_notice_duration] if args.key?(:preemption_notice_duration) @provisioning_model = args[:provisioning_model] if args.key?(:provisioning_model) @skip_guest_os_shutdown = args[:skip_guest_os_shutdown] if args.key?(:skip_guest_os_shutdown) @termination_time = args[:termination_time] if args.key?(:termination_time) end |