File: job_information.py

package info (click to toggle)
python-azure 20181112%2Bgit-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 407,300 kB
  • sloc: python: 717,190; makefile: 201; sh: 76
file content (124 lines) | stat: -rw-r--r-- 5,992 bytes parent folder | download | duplicates (2)
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
# 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 .job_information_basic import JobInformationBasic


class JobInformation(JobInformationBasic):
    """The extended Data Lake Analytics job information properties returned when
    retrieving a specific job.

    Variables are only populated by the server, and will be ignored when
    sending a request.

    All required parameters must be populated in order to send to Azure.

    :ivar job_id: The job's unique identifier (a GUID).
    :vartype job_id: str
    :param name: Required. The friendly name of the job.
    :type name: str
    :param type: Required. The job type of the current job (Hive, USql, or
     Scope (for internal use only)). Possible values include: 'USql', 'Hive',
     'Scope'
    :type type: str or ~azure.mgmt.datalake.analytics.job.models.JobType
    :ivar submitter: The user or account that submitted the job.
    :vartype submitter: str
    :param degree_of_parallelism: The degree of parallelism used for this job.
     This must be greater than 0, if set to less than 0 it will default to 1.
     Default value: 1 .
    :type degree_of_parallelism: int
    :param priority: The priority value for the current job. Lower numbers
     have a higher priority. By default, a job has a priority of 1000. This
     must be greater than 0.
    :type priority: int
    :ivar submit_time: The time the job was submitted to the service.
    :vartype submit_time: datetime
    :ivar start_time: The start time of the job.
    :vartype start_time: datetime
    :ivar end_time: The completion time of the job.
    :vartype end_time: datetime
    :ivar state: The job state. When the job is in the Ended state, refer to
     Result and ErrorMessage for details. Possible values include: 'Accepted',
     'Compiling', 'Ended', 'New', 'Queued', 'Running', 'Scheduling',
     'Starting', 'Paused', 'WaitingForCapacity'
    :vartype state: str or ~azure.mgmt.datalake.analytics.job.models.JobState
    :ivar result: The result of job execution or the current result of the
     running job. Possible values include: 'None', 'Succeeded', 'Cancelled',
     'Failed'
    :vartype result: str or
     ~azure.mgmt.datalake.analytics.job.models.JobResult
    :ivar log_folder: The log folder path to use in the following format:
     adl://<accountName>.azuredatalakestore.net/system/jobservice/jobs/Usql/2016/03/13/17/18/5fe51957-93bc-4de0-8ddc-c5a4753b068b/logs/.
    :vartype log_folder: str
    :param log_file_patterns: The list of log file name patterns to find in
     the logFolder. '*' is the only matching character allowed. Example format:
     jobExecution*.log or *mylog*.txt
    :type log_file_patterns: list[str]
    :param related: The recurring job relationship information properties.
    :type related:
     ~azure.mgmt.datalake.analytics.job.models.JobRelationshipProperties
    :param tags: The key-value pairs used to add additional metadata to the
     job information. (Only for use internally with Scope job type.)
    :type tags: dict[str, str]
    :ivar error_message: The error message details for the job, if the job
     failed.
    :vartype error_message:
     list[~azure.mgmt.datalake.analytics.job.models.JobErrorDetails]
    :ivar state_audit_records: The job state audit records, indicating when
     various operations have been performed on this job.
    :vartype state_audit_records:
     list[~azure.mgmt.datalake.analytics.job.models.JobStateAuditRecord]
    :param properties: Required. The job specific properties.
    :type properties: ~azure.mgmt.datalake.analytics.job.models.JobProperties
    """

    _validation = {
        'job_id': {'readonly': True},
        'name': {'required': True},
        'type': {'required': True},
        'submitter': {'readonly': True},
        'submit_time': {'readonly': True},
        'start_time': {'readonly': True},
        'end_time': {'readonly': True},
        'state': {'readonly': True},
        'result': {'readonly': True},
        'log_folder': {'readonly': True},
        'error_message': {'readonly': True},
        'state_audit_records': {'readonly': True},
        'properties': {'required': True},
    }

    _attribute_map = {
        'job_id': {'key': 'jobId', 'type': 'str'},
        'name': {'key': 'name', 'type': 'str'},
        'type': {'key': 'type', 'type': 'JobType'},
        'submitter': {'key': 'submitter', 'type': 'str'},
        'degree_of_parallelism': {'key': 'degreeOfParallelism', 'type': 'int'},
        'priority': {'key': 'priority', 'type': 'int'},
        'submit_time': {'key': 'submitTime', 'type': 'iso-8601'},
        'start_time': {'key': 'startTime', 'type': 'iso-8601'},
        'end_time': {'key': 'endTime', 'type': 'iso-8601'},
        'state': {'key': 'state', 'type': 'JobState'},
        'result': {'key': 'result', 'type': 'JobResult'},
        'log_folder': {'key': 'logFolder', 'type': 'str'},
        'log_file_patterns': {'key': 'logFilePatterns', 'type': '[str]'},
        'related': {'key': 'related', 'type': 'JobRelationshipProperties'},
        'tags': {'key': 'tags', 'type': '{str}'},
        'error_message': {'key': 'errorMessage', 'type': '[JobErrorDetails]'},
        'state_audit_records': {'key': 'stateAuditRecords', 'type': '[JobStateAuditRecord]'},
        'properties': {'key': 'properties', 'type': 'JobProperties'},
    }

    def __init__(self, **kwargs):
        super(JobInformation, self).__init__(**kwargs)
        self.error_message = None
        self.state_audit_records = None
        self.properties = kwargs.get('properties', None)