# coding=utf-8
# --------------------------------------------------------------------------
# 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 PipelineStepRun(Model):
    """PipelineStepRun.

    :param step_name:
    :type step_name: str
    :param run_number:
    :type run_number: int
    :param run_id:
    :type run_id: str
    :param start_time:
    :type start_time: datetime
    :param end_time:
    :type end_time: datetime
    :param run_status: Possible values include: 'NotStarted', 'Starting',
     'Provisioning', 'Preparing', 'Queued', 'Running', 'Finalizing',
     'CancelRequested', 'Completed', 'Failed', 'Canceled', 'NotResponding'
    :type run_status: str or ~designer.models.RunStatus
    :param compute_target:
    :type compute_target: str
    :param compute_type:
    :type compute_type: str
    :param run_type:
    :type run_type: str
    :param step_type:
    :type step_type: str
    :param tags: This is a dictionary
    :type tags: dict[str, str]
    :param is_reused:
    :type is_reused: bool
    """

    _attribute_map = {
        'step_name': {'key': 'stepName', 'type': 'str'},
        'run_number': {'key': 'runNumber', 'type': 'int'},
        'run_id': {'key': 'runId', 'type': 'str'},
        'start_time': {'key': 'startTime', 'type': 'iso-8601'},
        'end_time': {'key': 'endTime', 'type': 'iso-8601'},
        'run_status': {'key': 'runStatus', 'type': 'str'},
        'compute_target': {'key': 'computeTarget', 'type': 'str'},
        'compute_type': {'key': 'computeType', 'type': 'str'},
        'run_type': {'key': 'runType', 'type': 'str'},
        'step_type': {'key': 'stepType', 'type': 'str'},
        'tags': {'key': 'tags', 'type': '{str}'},
        'is_reused': {'key': 'isReused', 'type': 'bool'},
    }

    def __init__(self, **kwargs):
        super(PipelineStepRun, self).__init__(**kwargs)
        self.step_name = kwargs.get('step_name', None)
        self.run_number = kwargs.get('run_number', None)
        self.run_id = kwargs.get('run_id', None)
        self.start_time = kwargs.get('start_time', None)
        self.end_time = kwargs.get('end_time', None)
        self.run_status = kwargs.get('run_status', None)
        self.compute_target = kwargs.get('compute_target', None)
        self.compute_type = kwargs.get('compute_type', None)
        self.run_type = kwargs.get('run_type', None)
        self.step_type = kwargs.get('step_type', None)
        self.tags = kwargs.get('tags', None)
        self.is_reused = kwargs.get('is_reused', None)
