1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125
|
# 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 JobSpecification(Model):
"""Specifies details of the jobs to be created on a schedule.
All required parameters must be populated in order to send to Azure.
:param priority: The priority of jobs created under this schedule.
Priority values can range from -1000 to 1000, with -1000 being the lowest
priority and 1000 being the highest priority. The default value is 0. This
priority is used as the default for all jobs under the job schedule. You
can update a job's priority after it has been created using by using the
update job API.
:type priority: int
:param display_name: The display name for jobs created under this
schedule. The name need not be unique and can contain any Unicode
characters up to a maximum length of 1024.
:type display_name: str
:param uses_task_dependencies: Whether tasks in the job can define
dependencies on each other. The default is false.
:type uses_task_dependencies: bool
:param on_all_tasks_complete: The action the Batch service should take
when all tasks in a job created under this schedule are in the completed
state. Note that if a job contains no tasks, then all tasks are considered
complete. This option is therefore most commonly used with a Job Manager
task; if you want to use automatic job termination without a Job Manager,
you should initially set onAllTasksComplete to noaction and update the job
properties to set onAllTasksComplete to terminatejob once you have
finished adding tasks. The default is noaction. Possible values include:
'noAction', 'terminateJob'
:type on_all_tasks_complete: str or ~azure.batch.models.OnAllTasksComplete
:param on_task_failure: The action the Batch service should take when any
task fails in a job created under this schedule. A task is considered to
have failed if it have failed if has a failureInfo. A failureInfo is set
if the task completes with a non-zero exit code after exhausting its retry
count, or if there was an error starting the task, for example due to a
resource file download error. The default is noaction. Possible values
include: 'noAction', 'performExitOptionsJobAction'
:type on_task_failure: str or ~azure.batch.models.OnTaskFailure
:param constraints: The execution constraints for jobs created under this
schedule.
:type constraints: ~azure.batch.models.JobConstraints
:param job_manager_task: The details of a Job Manager task to be launched
when a job is started under this schedule. If the job does not specify a
Job Manager task, the user must explicitly add tasks to the job using the
Task API. If the job does specify a Job Manager task, the Batch service
creates the Job Manager task when the job is created, and will try to
schedule the Job Manager task before scheduling other tasks in the job.
:type job_manager_task: ~azure.batch.models.JobManagerTask
:param job_preparation_task: The Job Preparation task for jobs created
under this schedule. If a job has a Job Preparation task, the Batch
service will run the Job Preparation task on a compute node before
starting any tasks of that job on that compute node.
:type job_preparation_task: ~azure.batch.models.JobPreparationTask
:param job_release_task: The Job Release task for jobs created under this
schedule. The primary purpose of the Job Release task is to undo changes
to compute nodes made by the Job Preparation task. Example activities
include deleting local files, or shutting down services that were started
as part of job preparation. A Job Release task cannot be specified without
also specifying a Job Preparation task for the job. The Batch service runs
the Job Release task on the compute nodes that have run the Job
Preparation task.
:type job_release_task: ~azure.batch.models.JobReleaseTask
:param common_environment_settings: A list of common environment variable
settings. These environment variables are set for all tasks in jobs
created under this schedule (including the Job Manager, Job Preparation
and Job Release tasks). Individual tasks can override an environment
setting specified here by specifying the same setting name with a
different value.
:type common_environment_settings:
list[~azure.batch.models.EnvironmentSetting]
:param pool_info: Required. The pool on which the Batch service runs the
tasks of jobs created under this schedule.
:type pool_info: ~azure.batch.models.PoolInformation
:param metadata: A list of name-value pairs associated with each job
created under this schedule as metadata. The Batch service does not assign
any meaning to metadata; it is solely for the use of user code.
:type metadata: list[~azure.batch.models.MetadataItem]
"""
_validation = {
'pool_info': {'required': True},
}
_attribute_map = {
'priority': {'key': 'priority', 'type': 'int'},
'display_name': {'key': 'displayName', 'type': 'str'},
'uses_task_dependencies': {'key': 'usesTaskDependencies', 'type': 'bool'},
'on_all_tasks_complete': {'key': 'onAllTasksComplete', 'type': 'OnAllTasksComplete'},
'on_task_failure': {'key': 'onTaskFailure', 'type': 'OnTaskFailure'},
'constraints': {'key': 'constraints', 'type': 'JobConstraints'},
'job_manager_task': {'key': 'jobManagerTask', 'type': 'JobManagerTask'},
'job_preparation_task': {'key': 'jobPreparationTask', 'type': 'JobPreparationTask'},
'job_release_task': {'key': 'jobReleaseTask', 'type': 'JobReleaseTask'},
'common_environment_settings': {'key': 'commonEnvironmentSettings', 'type': '[EnvironmentSetting]'},
'pool_info': {'key': 'poolInfo', 'type': 'PoolInformation'},
'metadata': {'key': 'metadata', 'type': '[MetadataItem]'},
}
def __init__(self, **kwargs):
super(JobSpecification, self).__init__(**kwargs)
self.priority = kwargs.get('priority', None)
self.display_name = kwargs.get('display_name', None)
self.uses_task_dependencies = kwargs.get('uses_task_dependencies', None)
self.on_all_tasks_complete = kwargs.get('on_all_tasks_complete', None)
self.on_task_failure = kwargs.get('on_task_failure', None)
self.constraints = kwargs.get('constraints', None)
self.job_manager_task = kwargs.get('job_manager_task', None)
self.job_preparation_task = kwargs.get('job_preparation_task', None)
self.job_release_task = kwargs.get('job_release_task', None)
self.common_environment_settings = kwargs.get('common_environment_settings', None)
self.pool_info = kwargs.get('pool_info', None)
self.metadata = kwargs.get('metadata', None)
|