# 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 StepRunProfile(Model):
    """StepRunProfile.

    :param step_run_id:
    :type step_run_id: str
    :param step_run_number:
    :type step_run_number: int
    :param run_url:
    :type run_url: str
    :param compute_target:
    :type compute_target: str
    :param compute_target_url:
    :type compute_target_url: str
    :param node_id:
    :type node_id: str
    :param node_name:
    :type node_name: str
    :param step_name:
    :type step_name: str
    :param create_time:
    :type create_time: long
    :param start_time:
    :type start_time: long
    :param end_time:
    :type end_time: long
    :param status: Possible values include: 'NotStarted', 'Starting',
     'Provisioning', 'Preparing', 'Queued', 'Running', 'Finalizing',
     'CancelRequested', 'Completed', 'Failed', 'Canceled', 'NotResponding'
    :type status: str or ~designer.models.RunStatus
    :param status_detail:
    :type status_detail: str
    :param is_reused:
    :type is_reused: bool
    :param reused_pipeline_run_id:
    :type reused_pipeline_run_id: str
    :param reused_step_run_id:
    :type reused_step_run_id: str
    :param tags:
    :type tags: dict[str, str]
    :param status_timeline:
    :type status_timeline: list[~designer.models.RunStatusPeriod]
    """

    _attribute_map = {
        'step_run_id': {'key': 'stepRunId', 'type': 'str'},
        'step_run_number': {'key': 'stepRunNumber', 'type': 'int'},
        'run_url': {'key': 'runUrl', 'type': 'str'},
        'compute_target': {'key': 'computeTarget', 'type': 'str'},
        'compute_target_url': {'key': 'computeTargetUrl', 'type': 'str'},
        'node_id': {'key': 'nodeId', 'type': 'str'},
        'node_name': {'key': 'nodeName', 'type': 'str'},
        'step_name': {'key': 'stepName', 'type': 'str'},
        'create_time': {'key': 'createTime', 'type': 'long'},
        'start_time': {'key': 'startTime', 'type': 'long'},
        'end_time': {'key': 'endTime', 'type': 'long'},
        'status': {'key': 'status', 'type': 'str'},
        'status_detail': {'key': 'statusDetail', 'type': 'str'},
        'is_reused': {'key': 'isReused', 'type': 'bool'},
        'reused_pipeline_run_id': {'key': 'reusedPipelineRunId', 'type': 'str'},
        'reused_step_run_id': {'key': 'reusedStepRunId', 'type': 'str'},
        'tags': {'key': 'tags', 'type': '{str}'},
        'status_timeline': {'key': 'statusTimeline', 'type': '[RunStatusPeriod]'},
    }

    def __init__(self, **kwargs):
        super(StepRunProfile, self).__init__(**kwargs)
        self.step_run_id = kwargs.get('step_run_id', None)
        self.step_run_number = kwargs.get('step_run_number', None)
        self.run_url = kwargs.get('run_url', None)
        self.compute_target = kwargs.get('compute_target', None)
        self.compute_target_url = kwargs.get('compute_target_url', None)
        self.node_id = kwargs.get('node_id', None)
        self.node_name = kwargs.get('node_name', None)
        self.step_name = kwargs.get('step_name', None)
        self.create_time = kwargs.get('create_time', None)
        self.start_time = kwargs.get('start_time', None)
        self.end_time = kwargs.get('end_time', None)
        self.status = kwargs.get('status', None)
        self.status_detail = kwargs.get('status_detail', None)
        self.is_reused = kwargs.get('is_reused', None)
        self.reused_pipeline_run_id = kwargs.get('reused_pipeline_run_id', None)
        self.reused_step_run_id = kwargs.get('reused_step_run_id', None)
        self.tags = kwargs.get('tags', None)
        self.status_timeline = kwargs.get('status_timeline', None)
