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

    :param livy_info:
    :type livy_info: ~azure.synapse.models.LivySessionStateInformation
    :param name:
    :type name: str
    :param workspace_name:
    :type workspace_name: str
    :param spark_pool_name:
    :type spark_pool_name: str
    :param submitter_name:
    :type submitter_name: str
    :param submitter_id:
    :type submitter_id: str
    :param artifact_id:
    :type artifact_id: str
    :param job_type: Possible values include: 'SparkBatch', 'SparkSession'
    :type job_type: str or ~azure.synapse.models.JobType
    :param result: Possible values include: 'Uncertain', 'Succeeded',
     'Failed', 'Cancelled'
    :type result: str or ~azure.synapse.models.JobResult
    :param scheduler_info:
    :type scheduler_info: ~azure.synapse.models.SchedulerInformation
    :param plugin_info:
    :type plugin_info: ~azure.synapse.models.SparkServicePluginInformation
    :param error_info:
    :type error_info: list[~azure.synapse.models.ErrorInformation]
    :param tags:
    :type tags: dict[str, str]
    :param id:
    :type id: int
    :param app_id:
    :type app_id: str
    :param app_info:
    :type app_info: dict[str, str]
    :param state:
    :type state: str
    :param log:
    :type log: list[str]
    """

    _attribute_map = {
        'livy_info': {'key': 'livyInfo', 'type': 'LivySessionStateInformation'},
        'name': {'key': 'name', 'type': 'str'},
        'workspace_name': {'key': 'workspaceName', 'type': 'str'},
        'spark_pool_name': {'key': 'sparkPoolName', 'type': 'str'},
        'submitter_name': {'key': 'submitterName', 'type': 'str'},
        'submitter_id': {'key': 'submitterId', 'type': 'str'},
        'artifact_id': {'key': 'artifactId', 'type': 'str'},
        'job_type': {'key': 'jobType', 'type': 'str'},
        'result': {'key': 'result', 'type': 'str'},
        'scheduler_info': {'key': 'schedulerInfo', 'type': 'SchedulerInformation'},
        'plugin_info': {'key': 'pluginInfo', 'type': 'SparkServicePluginInformation'},
        'error_info': {'key': 'errorInfo', 'type': '[ErrorInformation]'},
        'tags': {'key': 'tags', 'type': '{str}'},
        'id': {'key': 'id', 'type': 'int'},
        'app_id': {'key': 'appId', 'type': 'str'},
        'app_info': {'key': 'appInfo', 'type': '{str}'},
        'state': {'key': 'state', 'type': 'str'},
        'log': {'key': 'log', 'type': '[str]'},
    }

    def __init__(self, **kwargs):
        super(ExtendedLivySessionResponse, self).__init__(**kwargs)
        self.livy_info = kwargs.get('livy_info', None)
        self.name = kwargs.get('name', None)
        self.workspace_name = kwargs.get('workspace_name', None)
        self.spark_pool_name = kwargs.get('spark_pool_name', None)
        self.submitter_name = kwargs.get('submitter_name', None)
        self.submitter_id = kwargs.get('submitter_id', None)
        self.artifact_id = kwargs.get('artifact_id', None)
        self.job_type = kwargs.get('job_type', None)
        self.result = kwargs.get('result', None)
        self.scheduler_info = kwargs.get('scheduler_info', None)
        self.plugin_info = kwargs.get('plugin_info', None)
        self.error_info = kwargs.get('error_info', None)
        self.tags = kwargs.get('tags', None)
        self.id = kwargs.get('id', None)
        self.app_id = kwargs.get('app_id', None)
        self.app_info = kwargs.get('app_info', None)
        self.state = kwargs.get('state', None)
        self.log = kwargs.get('log', None)
