text: # coding=utf-8
  # --------------------------------------------------------------------------
  # Copyright (c) Microsoft Corporation. All rights reserved.
  # Licensed under the MIT License. See License.txt in the project root for
  # license information.
  #
  # Code generated by Microsoft (R) AutoRest Code Generator.
  # Changes may cause incorrect behavior and will be lost if the code is
  # regenerated.
  # --------------------------------------------------------------------------
  
  from msrest.serialization import Model
  
  
  class NodeDisableSchedulingParameter(Model):
      """Options for disabling scheduling on a compute node.
  
      :param node_disable_scheduling_option: What to do with currently running
       tasks when disabling task scheduling on the compute node. Values are:
       requeue - Terminate running task processes and requeue the tasks. The
       tasks may run again on other compute nodes, or when task scheduling is
       re-enabled on this node. Enter offline state as soon as tasks have been
       terminated.
       terminate - Terminate running tasks. The tasks will not run again. Enter
       offline state as soon as tasks have been terminated.
       taskcompletion - Allow currently running tasks to complete. Schedule no
       new tasks while waiting. Enter offline state when all tasks have
       completed.
       The default value is requeue. Possible values include: 'requeue',
       'terminate', 'taskCompletion'
      :type node_disable_scheduling_option: str or
       ~azure.batch.models.DisableComputeNodeSchedulingOption
      """
  
      _attribute_map = {
          'node_disable_scheduling_option': {'key': 'nodeDisableSchedulingOption', 'type': 'DisableComputeNodeSchedulingOption'},
      }
  
      def __init__(self, node_disable_scheduling_option=None):
          self.node_disable_scheduling_option = node_disable_scheduling_option
  