# Source code for azure.batch.models.start_task_information

    # 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 StartTaskInformation(Model):
        """Information about a start task running on a compute node.

        :param state: The state of the start task on the compute node. Possible
         values include: 'running', 'completed'
        :type state: str or :class:`StartTaskState
         <azure.batch.models.StartTaskState>`
        :param start_time: The time at which the start task started running.
        :type start_time: datetime
        :param end_time: The time at which the start task stopped running.
        :type end_time: datetime
        :param exit_code: The exit code of the program specified on the task
         command line. This parameter is returned only if the task is in the
         completed state. The exit code for a process reflects the specific
         convention implemented by the application developer for that process. If
         you use the exit code value to make decisions in your code, be sure that
         you know the exit code convention used by the application process. Note
         that the exit code may also be generated by the compute node operating
         system, such as when a process is forcibly terminated.
        :type exit_code: int
        :param scheduling_error: Any error encountered scheduling the start task.
        :type scheduling_error: :class:`TaskSchedulingError
         <azure.batch.models.TaskSchedulingError>`
        :param retry_count: The number of times the task has been retried by the
         Batch service.
        :type retry_count: int
        :param last_retry_time: The most recent time at which a retry of the task
         started running.
        :type last_retry_time: datetime
        """

        _validation = {
            'state': {'required': True},
            'start_time': {'required': True},
            'retry_count': {'required': True},
        }

        _attribute_map = {
            'state': {'key': 'state', 'type': 'StartTaskState'},
            'start_time': {'key': 'startTime', 'type': 'iso-8601'},
            'end_time': {'key': 'endTime', 'type': 'iso-8601'},
            'exit_code': {'key': 'exitCode', 'type': 'int'},
            'scheduling_error': {'key': 'schedulingError', 'type': 'TaskSchedulingError'},
            'retry_count': {'key': 'retryCount', 'type': 'int'},
            'last_retry_time': {'key': 'lastRetryTime', 'type': 'iso-8601'},
        }

        def __init__(self, state, start_time, retry_count, end_time=None, exit_code=None, scheduling_error=None, last_retry_time=None):
            self.state = state
            self.start_time = start_time
            self.end_time = end_time
            self.exit_code = exit_code
            self.scheduling_error = scheduling_error
            self.retry_count = retry_count
            self.last_retry_time = last_retry_time