# coding: utf-8

"""
    llmscan

    No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)  # noqa: E501

    OpenAPI spec version: common-version
    
    Generated by: https://github.com/swagger-api/swagger-codegen.git
"""


import pprint
import re  # noqa: F401

import six

from volcenginesdkcore.configuration import Configuration


class DataForGetTaskDetailOutput(object):
    """NOTE: This class is auto generated by the swagger code generator program.

    Do not edit the class manually.
    """

    """
    Attributes:
      swagger_types (dict): The key is attribute name
                            and the value is attribute type.
      attribute_map (dict): The key is attribute name
                            and the value is json key in definition.
    """
    swagger_types = {
        'asr': 'str',
        'asset_id': 'str',
        'asset_name': 'str',
        'concurrency': 'int',
        'create_time': 'int',
        'description': 'str',
        'elapsed_time': 'int',
        'err_msg': 'str',
        'exec_count': 'int',
        'input_tokens': 'int',
        'mac_round': 'int',
        'output_tokens': 'int',
        'question_banks': 'list[str]',
        'risk_count': 'int',
        'risk_score': 'float',
        'task_id': 'str',
        'task_name': 'str',
        'task_status': 'int',
        'task_type': 'str',
        'total': 'int',
        'update_time': 'int'
    }

    attribute_map = {
        'asr': 'ASR',
        'asset_id': 'AssetID',
        'asset_name': 'AssetName',
        'concurrency': 'Concurrency',
        'create_time': 'CreateTime',
        'description': 'Description',
        'elapsed_time': 'ElapsedTime',
        'err_msg': 'ErrMsg',
        'exec_count': 'ExecCount',
        'input_tokens': 'InputTokens',
        'mac_round': 'MacRound',
        'output_tokens': 'OutputTokens',
        'question_banks': 'QuestionBanks',
        'risk_count': 'RiskCount',
        'risk_score': 'RiskScore',
        'task_id': 'TaskID',
        'task_name': 'TaskName',
        'task_status': 'TaskStatus',
        'task_type': 'TaskType',
        'total': 'Total',
        'update_time': 'UpdateTime'
    }

    def __init__(self, asr=None, asset_id=None, asset_name=None, concurrency=None, create_time=None, description=None, elapsed_time=None, err_msg=None, exec_count=None, input_tokens=None, mac_round=None, output_tokens=None, question_banks=None, risk_count=None, risk_score=None, task_id=None, task_name=None, task_status=None, task_type=None, total=None, update_time=None, _configuration=None):  # noqa: E501
        """DataForGetTaskDetailOutput - a model defined in Swagger"""  # noqa: E501
        if _configuration is None:
            _configuration = Configuration()
        self._configuration = _configuration

        self._asr = None
        self._asset_id = None
        self._asset_name = None
        self._concurrency = None
        self._create_time = None
        self._description = None
        self._elapsed_time = None
        self._err_msg = None
        self._exec_count = None
        self._input_tokens = None
        self._mac_round = None
        self._output_tokens = None
        self._question_banks = None
        self._risk_count = None
        self._risk_score = None
        self._task_id = None
        self._task_name = None
        self._task_status = None
        self._task_type = None
        self._total = None
        self._update_time = None
        self.discriminator = None

        if asr is not None:
            self.asr = asr
        if asset_id is not None:
            self.asset_id = asset_id
        if asset_name is not None:
            self.asset_name = asset_name
        if concurrency is not None:
            self.concurrency = concurrency
        if create_time is not None:
            self.create_time = create_time
        if description is not None:
            self.description = description
        if elapsed_time is not None:
            self.elapsed_time = elapsed_time
        if err_msg is not None:
            self.err_msg = err_msg
        if exec_count is not None:
            self.exec_count = exec_count
        if input_tokens is not None:
            self.input_tokens = input_tokens
        if mac_round is not None:
            self.mac_round = mac_round
        if output_tokens is not None:
            self.output_tokens = output_tokens
        if question_banks is not None:
            self.question_banks = question_banks
        if risk_count is not None:
            self.risk_count = risk_count
        if risk_score is not None:
            self.risk_score = risk_score
        if task_id is not None:
            self.task_id = task_id
        if task_name is not None:
            self.task_name = task_name
        if task_status is not None:
            self.task_status = task_status
        if task_type is not None:
            self.task_type = task_type
        if total is not None:
            self.total = total
        if update_time is not None:
            self.update_time = update_time

    @property
    def asr(self):
        """Gets the asr of this DataForGetTaskDetailOutput.  # noqa: E501


        :return: The asr of this DataForGetTaskDetailOutput.  # noqa: E501
        :rtype: str
        """
        return self._asr

    @asr.setter
    def asr(self, asr):
        """Sets the asr of this DataForGetTaskDetailOutput.


        :param asr: The asr of this DataForGetTaskDetailOutput.  # noqa: E501
        :type: str
        """

        self._asr = asr

    @property
    def asset_id(self):
        """Gets the asset_id of this DataForGetTaskDetailOutput.  # noqa: E501


        :return: The asset_id of this DataForGetTaskDetailOutput.  # noqa: E501
        :rtype: str
        """
        return self._asset_id

    @asset_id.setter
    def asset_id(self, asset_id):
        """Sets the asset_id of this DataForGetTaskDetailOutput.


        :param asset_id: The asset_id of this DataForGetTaskDetailOutput.  # noqa: E501
        :type: str
        """

        self._asset_id = asset_id

    @property
    def asset_name(self):
        """Gets the asset_name of this DataForGetTaskDetailOutput.  # noqa: E501


        :return: The asset_name of this DataForGetTaskDetailOutput.  # noqa: E501
        :rtype: str
        """
        return self._asset_name

    @asset_name.setter
    def asset_name(self, asset_name):
        """Sets the asset_name of this DataForGetTaskDetailOutput.


        :param asset_name: The asset_name of this DataForGetTaskDetailOutput.  # noqa: E501
        :type: str
        """

        self._asset_name = asset_name

    @property
    def concurrency(self):
        """Gets the concurrency of this DataForGetTaskDetailOutput.  # noqa: E501


        :return: The concurrency of this DataForGetTaskDetailOutput.  # noqa: E501
        :rtype: int
        """
        return self._concurrency

    @concurrency.setter
    def concurrency(self, concurrency):
        """Sets the concurrency of this DataForGetTaskDetailOutput.


        :param concurrency: The concurrency of this DataForGetTaskDetailOutput.  # noqa: E501
        :type: int
        """

        self._concurrency = concurrency

    @property
    def create_time(self):
        """Gets the create_time of this DataForGetTaskDetailOutput.  # noqa: E501


        :return: The create_time of this DataForGetTaskDetailOutput.  # noqa: E501
        :rtype: int
        """
        return self._create_time

    @create_time.setter
    def create_time(self, create_time):
        """Sets the create_time of this DataForGetTaskDetailOutput.


        :param create_time: The create_time of this DataForGetTaskDetailOutput.  # noqa: E501
        :type: int
        """

        self._create_time = create_time

    @property
    def description(self):
        """Gets the description of this DataForGetTaskDetailOutput.  # noqa: E501


        :return: The description of this DataForGetTaskDetailOutput.  # noqa: E501
        :rtype: str
        """
        return self._description

    @description.setter
    def description(self, description):
        """Sets the description of this DataForGetTaskDetailOutput.


        :param description: The description of this DataForGetTaskDetailOutput.  # noqa: E501
        :type: str
        """

        self._description = description

    @property
    def elapsed_time(self):
        """Gets the elapsed_time of this DataForGetTaskDetailOutput.  # noqa: E501


        :return: The elapsed_time of this DataForGetTaskDetailOutput.  # noqa: E501
        :rtype: int
        """
        return self._elapsed_time

    @elapsed_time.setter
    def elapsed_time(self, elapsed_time):
        """Sets the elapsed_time of this DataForGetTaskDetailOutput.


        :param elapsed_time: The elapsed_time of this DataForGetTaskDetailOutput.  # noqa: E501
        :type: int
        """

        self._elapsed_time = elapsed_time

    @property
    def err_msg(self):
        """Gets the err_msg of this DataForGetTaskDetailOutput.  # noqa: E501


        :return: The err_msg of this DataForGetTaskDetailOutput.  # noqa: E501
        :rtype: str
        """
        return self._err_msg

    @err_msg.setter
    def err_msg(self, err_msg):
        """Sets the err_msg of this DataForGetTaskDetailOutput.


        :param err_msg: The err_msg of this DataForGetTaskDetailOutput.  # noqa: E501
        :type: str
        """

        self._err_msg = err_msg

    @property
    def exec_count(self):
        """Gets the exec_count of this DataForGetTaskDetailOutput.  # noqa: E501


        :return: The exec_count of this DataForGetTaskDetailOutput.  # noqa: E501
        :rtype: int
        """
        return self._exec_count

    @exec_count.setter
    def exec_count(self, exec_count):
        """Sets the exec_count of this DataForGetTaskDetailOutput.


        :param exec_count: The exec_count of this DataForGetTaskDetailOutput.  # noqa: E501
        :type: int
        """

        self._exec_count = exec_count

    @property
    def input_tokens(self):
        """Gets the input_tokens of this DataForGetTaskDetailOutput.  # noqa: E501


        :return: The input_tokens of this DataForGetTaskDetailOutput.  # noqa: E501
        :rtype: int
        """
        return self._input_tokens

    @input_tokens.setter
    def input_tokens(self, input_tokens):
        """Sets the input_tokens of this DataForGetTaskDetailOutput.


        :param input_tokens: The input_tokens of this DataForGetTaskDetailOutput.  # noqa: E501
        :type: int
        """

        self._input_tokens = input_tokens

    @property
    def mac_round(self):
        """Gets the mac_round of this DataForGetTaskDetailOutput.  # noqa: E501


        :return: The mac_round of this DataForGetTaskDetailOutput.  # noqa: E501
        :rtype: int
        """
        return self._mac_round

    @mac_round.setter
    def mac_round(self, mac_round):
        """Sets the mac_round of this DataForGetTaskDetailOutput.


        :param mac_round: The mac_round of this DataForGetTaskDetailOutput.  # noqa: E501
        :type: int
        """

        self._mac_round = mac_round

    @property
    def output_tokens(self):
        """Gets the output_tokens of this DataForGetTaskDetailOutput.  # noqa: E501


        :return: The output_tokens of this DataForGetTaskDetailOutput.  # noqa: E501
        :rtype: int
        """
        return self._output_tokens

    @output_tokens.setter
    def output_tokens(self, output_tokens):
        """Sets the output_tokens of this DataForGetTaskDetailOutput.


        :param output_tokens: The output_tokens of this DataForGetTaskDetailOutput.  # noqa: E501
        :type: int
        """

        self._output_tokens = output_tokens

    @property
    def question_banks(self):
        """Gets the question_banks of this DataForGetTaskDetailOutput.  # noqa: E501


        :return: The question_banks of this DataForGetTaskDetailOutput.  # noqa: E501
        :rtype: list[str]
        """
        return self._question_banks

    @question_banks.setter
    def question_banks(self, question_banks):
        """Sets the question_banks of this DataForGetTaskDetailOutput.


        :param question_banks: The question_banks of this DataForGetTaskDetailOutput.  # noqa: E501
        :type: list[str]
        """

        self._question_banks = question_banks

    @property
    def risk_count(self):
        """Gets the risk_count of this DataForGetTaskDetailOutput.  # noqa: E501


        :return: The risk_count of this DataForGetTaskDetailOutput.  # noqa: E501
        :rtype: int
        """
        return self._risk_count

    @risk_count.setter
    def risk_count(self, risk_count):
        """Sets the risk_count of this DataForGetTaskDetailOutput.


        :param risk_count: The risk_count of this DataForGetTaskDetailOutput.  # noqa: E501
        :type: int
        """

        self._risk_count = risk_count

    @property
    def risk_score(self):
        """Gets the risk_score of this DataForGetTaskDetailOutput.  # noqa: E501


        :return: The risk_score of this DataForGetTaskDetailOutput.  # noqa: E501
        :rtype: float
        """
        return self._risk_score

    @risk_score.setter
    def risk_score(self, risk_score):
        """Sets the risk_score of this DataForGetTaskDetailOutput.


        :param risk_score: The risk_score of this DataForGetTaskDetailOutput.  # noqa: E501
        :type: float
        """

        self._risk_score = risk_score

    @property
    def task_id(self):
        """Gets the task_id of this DataForGetTaskDetailOutput.  # noqa: E501


        :return: The task_id of this DataForGetTaskDetailOutput.  # noqa: E501
        :rtype: str
        """
        return self._task_id

    @task_id.setter
    def task_id(self, task_id):
        """Sets the task_id of this DataForGetTaskDetailOutput.


        :param task_id: The task_id of this DataForGetTaskDetailOutput.  # noqa: E501
        :type: str
        """

        self._task_id = task_id

    @property
    def task_name(self):
        """Gets the task_name of this DataForGetTaskDetailOutput.  # noqa: E501


        :return: The task_name of this DataForGetTaskDetailOutput.  # noqa: E501
        :rtype: str
        """
        return self._task_name

    @task_name.setter
    def task_name(self, task_name):
        """Sets the task_name of this DataForGetTaskDetailOutput.


        :param task_name: The task_name of this DataForGetTaskDetailOutput.  # noqa: E501
        :type: str
        """

        self._task_name = task_name

    @property
    def task_status(self):
        """Gets the task_status of this DataForGetTaskDetailOutput.  # noqa: E501


        :return: The task_status of this DataForGetTaskDetailOutput.  # noqa: E501
        :rtype: int
        """
        return self._task_status

    @task_status.setter
    def task_status(self, task_status):
        """Sets the task_status of this DataForGetTaskDetailOutput.


        :param task_status: The task_status of this DataForGetTaskDetailOutput.  # noqa: E501
        :type: int
        """

        self._task_status = task_status

    @property
    def task_type(self):
        """Gets the task_type of this DataForGetTaskDetailOutput.  # noqa: E501


        :return: The task_type of this DataForGetTaskDetailOutput.  # noqa: E501
        :rtype: str
        """
        return self._task_type

    @task_type.setter
    def task_type(self, task_type):
        """Sets the task_type of this DataForGetTaskDetailOutput.


        :param task_type: The task_type of this DataForGetTaskDetailOutput.  # noqa: E501
        :type: str
        """

        self._task_type = task_type

    @property
    def total(self):
        """Gets the total of this DataForGetTaskDetailOutput.  # noqa: E501


        :return: The total of this DataForGetTaskDetailOutput.  # noqa: E501
        :rtype: int
        """
        return self._total

    @total.setter
    def total(self, total):
        """Sets the total of this DataForGetTaskDetailOutput.


        :param total: The total of this DataForGetTaskDetailOutput.  # noqa: E501
        :type: int
        """

        self._total = total

    @property
    def update_time(self):
        """Gets the update_time of this DataForGetTaskDetailOutput.  # noqa: E501


        :return: The update_time of this DataForGetTaskDetailOutput.  # noqa: E501
        :rtype: int
        """
        return self._update_time

    @update_time.setter
    def update_time(self, update_time):
        """Sets the update_time of this DataForGetTaskDetailOutput.


        :param update_time: The update_time of this DataForGetTaskDetailOutput.  # noqa: E501
        :type: int
        """

        self._update_time = update_time

    def to_dict(self):
        """Returns the model properties as a dict"""
        result = {}

        for attr, _ in six.iteritems(self.swagger_types):
            value = getattr(self, attr)
            if isinstance(value, list):
                result[attr] = list(map(
                    lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
                    value
                ))
            elif hasattr(value, "to_dict"):
                result[attr] = value.to_dict()
            elif isinstance(value, dict):
                result[attr] = dict(map(
                    lambda item: (item[0], item[1].to_dict())
                    if hasattr(item[1], "to_dict") else item,
                    value.items()
                ))
            else:
                result[attr] = value
        if issubclass(DataForGetTaskDetailOutput, dict):
            for key, value in self.items():
                result[key] = value

        return result

    def to_str(self):
        """Returns the string representation of the model"""
        return pprint.pformat(self.to_dict())

    def __repr__(self):
        """For `print` and `pprint`"""
        return self.to_str()

    def __eq__(self, other):
        """Returns true if both objects are equal"""
        if not isinstance(other, DataForGetTaskDetailOutput):
            return False

        return self.to_dict() == other.to_dict()

    def __ne__(self, other):
        """Returns true if both objects are not equal"""
        if not isinstance(other, DataForGetTaskDetailOutput):
            return True

        return self.to_dict() != other.to_dict()
