# Source code for azure.mgmt.logic.models.workflow_run_action_py3

    # 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 .sub_resource_py3 import SubResource

    class WorkflowRunAction(SubResource):
        """The workflow run action.

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

        :ivar id: The resource id.
        :vartype id: str
        :ivar start_time: Gets the start time.
        :vartype start_time: datetime
        :ivar end_time: Gets the end time.
        :vartype end_time: datetime
        :ivar status: Gets the status. Possible values include: 'NotSpecified',
         'Paused', 'Running', 'Waiting', 'Succeeded', 'Skipped', 'Suspended',
         'Cancelled', 'Failed', 'Faulted', 'TimedOut', 'Aborted', 'Ignored'
        :vartype status: str or ~azure.mgmt.logic.models.WorkflowStatus
        :ivar code: Gets the code.
        :vartype code: str
        :ivar error: Gets the error.
        :vartype error: object
        :ivar tracking_id: Gets the tracking id.
        :vartype tracking_id: str
        :param correlation: The correlation properties.
        :type correlation: ~azure.mgmt.logic.models.Correlation
        :ivar inputs_link: Gets the link to inputs.
        :vartype inputs_link: ~azure.mgmt.logic.models.ContentLink
        :ivar outputs_link: Gets the link to outputs.
        :vartype outputs_link: ~azure.mgmt.logic.models.ContentLink
        :ivar tracked_properties: Gets the tracked properties.
        :vartype tracked_properties: object
        :param retry_history: Gets the retry histories.
        :type retry_history: list[~azure.mgmt.logic.models.RetryHistory]
        :ivar name: Gets the workflow run action name.
        :vartype name: str
        :ivar type: Gets the workflow run action type.
        :vartype type: str
        """

        _validation = {
            'id': {'readonly': True},
            'start_time': {'readonly': True},
            'end_time': {'readonly': True},
            'status': {'readonly': True},
            'code': {'readonly': True},
            'error': {'readonly': True},
            'tracking_id': {'readonly': True},
            'inputs_link': {'readonly': True},
            'outputs_link': {'readonly': True},
            'tracked_properties': {'readonly': True},
            'name': {'readonly': True},
            'type': {'readonly': True},
        }

        _attribute_map = {
            'id': {'key': 'id', 'type': 'str'},
            'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'},
            'end_time': {'key': 'properties.endTime', 'type': 'iso-8601'},
            'status': {'key': 'properties.status', 'type': 'str'},
            'code': {'key': 'properties.code', 'type': 'str'},
            'error': {'key': 'properties.error', 'type': 'object'},
            'tracking_id': {'key': 'properties.trackingId', 'type': 'str'},
            'correlation': {'key': 'properties.correlation', 'type': 'Correlation'},
            'inputs_link': {'key': 'properties.inputsLink', 'type': 'ContentLink'},
            'outputs_link': {'key': 'properties.outputsLink', 'type': 'ContentLink'},
            'tracked_properties': {'key': 'properties.trackedProperties', 'type': 'object'},
            'retry_history': {'key': 'properties.retryHistory', 'type': '[RetryHistory]'},
            'name': {'key': 'name', 'type': 'str'},
            'type': {'key': 'type', 'type': 'str'},
        }

        def __init__(self, *, correlation=None, retry_history=None, **kwargs) -> None:
            super(WorkflowRunAction, self).__init__(**kwargs)
            self.start_time = None
            self.end_time = None
            self.status = None
            self.code = None
            self.error = None
            self.tracking_id = None
            self.correlation = correlation
            self.inputs_link = None
            self.outputs_link = None
            self.tracked_properties = None
            self.retry_history = retry_history
            self.name = None
            self.type = None