"""
    HCL AppScan on Cloud (v2)

    This API allows you to interact with the service. The API allows you to perform many of the operations available in the UI and more.</br>For authentication, use the relevant APIs in the Account section. A successful authentication response includes a bearer token for use in subsequent API calls. Pasting this token in the 'Access token' field above will automatically add the authorization header to any API call that requires a valid session.

    OpenAPI spec version: v2

    Generated by: https://github.com/swagger-api/swagger-codegen.git
"""


import pprint
import re  # noqa: F401

from pyasoc.configuration import Configuration


class UtilitiesIssueModel:
    """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 = {
        "id": "str",
        "language": "str",
        "severity": "str",
        "status": "str",
        "issue_type": "str",
        "location": "str",
        "date_created": "datetime",
        "last_updated": "datetime",
        "last_found": "datetime",
        "calling_method": "str",
        "is_new_in_scope": "bool",
        "library_name": "str",
        "library_version": "str",
        "sca_technology": "str",
        "fg_status": "str",
        "application_id": "str",
        "fix_group_id": "str",
        "api": "str",
        "source": "str",
        "context": "str",
        "appscan_vuln_id": "str",
        "calling_line": "str",
        "_class": "str",
        "cve": "str",
        "cve_publish_date": "datetime",
        "details_url": "str",
        "cvss": "str",
        "cvss_version": "str",
        "discovery_method": "str",
        "domain": "str",
        "element": "str",
        "element_type": "str",
        "external_id": "str",
        "host": "str",
        "issue_type_id": "str",
        "issue_type_guid": "str",
        "issue_xml": "str",
        "line": "str",
        "package": "str",
        "path": "str",
        "port": "int",
        "scheme": "str",
        "severity_value": "int",
        "correlation_group_id": "str",
        "source_file": "str",
        "last_comment": "datetime",
        "scanner": "str",
        "scan_name": "str",
        "cwe": "int",
        "threat_class_id": "str",
        "diff_result": "str",
        "api_vuln_name": "str",
        "remediation_id": "str",
    }

    attribute_map = {
        "id": "Id",
        "language": "Language",
        "severity": "Severity",
        "status": "Status",
        "issue_type": "IssueType",
        "location": "Location",
        "date_created": "DateCreated",
        "last_updated": "LastUpdated",
        "last_found": "LastFound",
        "calling_method": "CallingMethod",
        "is_new_in_scope": "IsNewInScope",
        "library_name": "LibraryName",
        "library_version": "LibraryVersion",
        "sca_technology": "ScaTechnology",
        "fg_status": "FGStatus",
        "application_id": "ApplicationId",
        "fix_group_id": "FixGroupId",
        "api": "Api",
        "source": "Source",
        "context": "Context",
        "appscan_vuln_id": "AppscanVulnId",
        "calling_line": "CallingLine",
        "_class": "Class",
        "cve": "Cve",
        "cve_publish_date": "CvePublishDate",
        "details_url": "DetailsUrl",
        "cvss": "Cvss",
        "cvss_version": "CvssVersion",
        "discovery_method": "DiscoveryMethod",
        "domain": "Domain",
        "element": "Element",
        "element_type": "ElementType",
        "external_id": "ExternalId",
        "host": "Host",
        "issue_type_id": "IssueTypeId",
        "issue_type_guid": "IssueTypeGuid",
        "issue_xml": "IssueXml",
        "line": "Line",
        "package": "Package",
        "path": "Path",
        "port": "Port",
        "scheme": "Scheme",
        "severity_value": "SeverityValue",
        "correlation_group_id": "CorrelationGroupId",
        "source_file": "SourceFile",
        "last_comment": "LastComment",
        "scanner": "Scanner",
        "scan_name": "ScanName",
        "cwe": "Cwe",
        "threat_class_id": "ThreatClassId",
        "diff_result": "DiffResult",
        "api_vuln_name": "ApiVulnName",
        "remediation_id": "RemediationId",
    }

    def __init__(
        self,
        id=None,
        language=None,
        severity=None,
        status=None,
        issue_type=None,
        location=None,
        date_created=None,
        last_updated=None,
        last_found=None,
        calling_method=None,
        is_new_in_scope=None,
        library_name=None,
        library_version=None,
        sca_technology=None,
        fg_status=None,
        application_id=None,
        fix_group_id=None,
        api=None,
        source=None,
        context=None,
        appscan_vuln_id=None,
        calling_line=None,
        _class=None,
        cve=None,
        cve_publish_date=None,
        details_url=None,
        cvss=None,
        cvss_version=None,
        discovery_method=None,
        domain=None,
        element=None,
        element_type=None,
        external_id=None,
        host=None,
        issue_type_id=None,
        issue_type_guid=None,
        issue_xml=None,
        line=None,
        package=None,
        path=None,
        port=None,
        scheme=None,
        severity_value=None,
        correlation_group_id=None,
        source_file=None,
        last_comment=None,
        scanner=None,
        scan_name=None,
        cwe=None,
        threat_class_id=None,
        diff_result=None,
        api_vuln_name=None,
        remediation_id=None,
        _configuration=None,
    ):
        """UtilitiesIssueModel - a model defined in Swagger"""
        if _configuration is None:
            _configuration = Configuration()
        self._configuration = _configuration

        self._id = None
        self._language = None
        self._severity = None
        self._status = None
        self._issue_type = None
        self._location = None
        self._date_created = None
        self._last_updated = None
        self._last_found = None
        self._calling_method = None
        self._is_new_in_scope = None
        self._library_name = None
        self._library_version = None
        self._sca_technology = None
        self._fg_status = None
        self._application_id = None
        self._fix_group_id = None
        self._api = None
        self._source = None
        self._context = None
        self._appscan_vuln_id = None
        self._calling_line = None
        self.__class = None
        self._cve = None
        self._cve_publish_date = None
        self._details_url = None
        self._cvss = None
        self._cvss_version = None
        self._discovery_method = None
        self._domain = None
        self._element = None
        self._element_type = None
        self._external_id = None
        self._host = None
        self._issue_type_id = None
        self._issue_type_guid = None
        self._issue_xml = None
        self._line = None
        self._package = None
        self._path = None
        self._port = None
        self._scheme = None
        self._severity_value = None
        self._correlation_group_id = None
        self._source_file = None
        self._last_comment = None
        self._scanner = None
        self._scan_name = None
        self._cwe = None
        self._threat_class_id = None
        self._diff_result = None
        self._api_vuln_name = None
        self._remediation_id = None
        self.discriminator = None

        self.id = id
        if language is not None:
            self.language = language
        if severity is not None:
            self.severity = severity
        if status is not None:
            self.status = status
        if issue_type is not None:
            self.issue_type = issue_type
        if location is not None:
            self.location = location
        if date_created is not None:
            self.date_created = date_created
        if last_updated is not None:
            self.last_updated = last_updated
        if last_found is not None:
            self.last_found = last_found
        if calling_method is not None:
            self.calling_method = calling_method
        if is_new_in_scope is not None:
            self.is_new_in_scope = is_new_in_scope
        if library_name is not None:
            self.library_name = library_name
        if library_version is not None:
            self.library_version = library_version
        if sca_technology is not None:
            self.sca_technology = sca_technology
        if fg_status is not None:
            self.fg_status = fg_status
        if application_id is not None:
            self.application_id = application_id
        if fix_group_id is not None:
            self.fix_group_id = fix_group_id
        if api is not None:
            self.api = api
        if source is not None:
            self.source = source
        if context is not None:
            self.context = context
        if appscan_vuln_id is not None:
            self.appscan_vuln_id = appscan_vuln_id
        if calling_line is not None:
            self.calling_line = calling_line
        if _class is not None:
            self._class = _class
        if cve is not None:
            self.cve = cve
        if cve_publish_date is not None:
            self.cve_publish_date = cve_publish_date
        if details_url is not None:
            self.details_url = details_url
        if cvss is not None:
            self.cvss = cvss
        if cvss_version is not None:
            self.cvss_version = cvss_version
        if discovery_method is not None:
            self.discovery_method = discovery_method
        if domain is not None:
            self.domain = domain
        if element is not None:
            self.element = element
        if element_type is not None:
            self.element_type = element_type
        if external_id is not None:
            self.external_id = external_id
        if host is not None:
            self.host = host
        self.issue_type_id = issue_type_id
        if issue_type_guid is not None:
            self.issue_type_guid = issue_type_guid
        if issue_xml is not None:
            self.issue_xml = issue_xml
        if line is not None:
            self.line = line
        if package is not None:
            self.package = package
        if path is not None:
            self.path = path
        if port is not None:
            self.port = port
        if scheme is not None:
            self.scheme = scheme
        if severity_value is not None:
            self.severity_value = severity_value
        if correlation_group_id is not None:
            self.correlation_group_id = correlation_group_id
        if source_file is not None:
            self.source_file = source_file
        if last_comment is not None:
            self.last_comment = last_comment
        if scanner is not None:
            self.scanner = scanner
        if scan_name is not None:
            self.scan_name = scan_name
        if cwe is not None:
            self.cwe = cwe
        if threat_class_id is not None:
            self.threat_class_id = threat_class_id
        if diff_result is not None:
            self.diff_result = diff_result
        if api_vuln_name is not None:
            self.api_vuln_name = api_vuln_name
        if remediation_id is not None:
            self.remediation_id = remediation_id

    @property
    def id(self):
        # type: () -> str
        """Gets the id of this UtilitiesIssueModel.


        :return: The id of this UtilitiesIssueModel.
        :rtype: str
        """
        return self._id

    @id.setter
    def id(self, id):
        """Sets the id of this UtilitiesIssueModel.


        :param id: The id of this UtilitiesIssueModel.
        :type: str
        """
        if self._configuration.client_side_validation and id is None:
            raise ValueError("Invalid value for `id`, must not be `None`")

        self._id = id

    @property
    def language(self):
        # type: () -> str
        """Gets the language of this UtilitiesIssueModel.


        :return: The language of this UtilitiesIssueModel.
        :rtype: str
        """
        return self._language

    @language.setter
    def language(self, language):
        """Sets the language of this UtilitiesIssueModel.


        :param language: The language of this UtilitiesIssueModel.
        :type: str
        """

        self._language = language

    @property
    def severity(self):
        # type: () -> str
        """Gets the severity of this UtilitiesIssueModel.


        :return: The severity of this UtilitiesIssueModel.
        :rtype: str
        """
        return self._severity

    @severity.setter
    def severity(self, severity):
        """Sets the severity of this UtilitiesIssueModel.


        :param severity: The severity of this UtilitiesIssueModel.
        :type: str
        """
        allowed_values = [
            "Undetermined",
            "Informational",
            "Low",
            "Medium",
            "High",
            "Critical",
        ]
        if self._configuration.client_side_validation and severity not in allowed_values:
            raise ValueError(
                "Invalid value for `severity` ({}), must be one of {}".format(
                    severity, allowed_values
                )
            )

        self._severity = severity

    @property
    def status(self):
        # type: () -> str
        """Gets the status of this UtilitiesIssueModel.


        :return: The status of this UtilitiesIssueModel.
        :rtype: str
        """
        return self._status

    @status.setter
    def status(self, status):
        """Sets the status of this UtilitiesIssueModel.


        :param status: The status of this UtilitiesIssueModel.
        :type: str
        """
        allowed_values = [
            "Open",
            "InProgress",
            "Reopened",
            "Noise",
            "Passed",
            "Fixed",
            "New",
        ]
        if self._configuration.client_side_validation and status not in allowed_values:
            raise ValueError(
                f"Invalid value for `status` ({status}), must be one of {allowed_values}"
            )

        self._status = status

    @property
    def issue_type(self):
        # type: () -> str
        """Gets the issue_type of this UtilitiesIssueModel.


        :return: The issue_type of this UtilitiesIssueModel.
        :rtype: str
        """
        return self._issue_type

    @issue_type.setter
    def issue_type(self, issue_type):
        """Sets the issue_type of this UtilitiesIssueModel.


        :param issue_type: The issue_type of this UtilitiesIssueModel.
        :type: str
        """

        self._issue_type = issue_type

    @property
    def location(self):
        # type: () -> str
        """Gets the location of this UtilitiesIssueModel.


        :return: The location of this UtilitiesIssueModel.
        :rtype: str
        """
        return self._location

    @location.setter
    def location(self, location):
        """Sets the location of this UtilitiesIssueModel.


        :param location: The location of this UtilitiesIssueModel.
        :type: str
        """

        self._location = location

    @property
    def date_created(self):
        # type: () -> datetime
        """Gets the date_created of this UtilitiesIssueModel.


        :return: The date_created of this UtilitiesIssueModel.
        :rtype: datetime
        """
        return self._date_created

    @date_created.setter
    def date_created(self, date_created):
        """Sets the date_created of this UtilitiesIssueModel.


        :param date_created: The date_created of this UtilitiesIssueModel.
        :type: datetime
        """

        self._date_created = date_created

    @property
    def last_updated(self):
        # type: () -> datetime
        """Gets the last_updated of this UtilitiesIssueModel.


        :return: The last_updated of this UtilitiesIssueModel.
        :rtype: datetime
        """
        return self._last_updated

    @last_updated.setter
    def last_updated(self, last_updated):
        """Sets the last_updated of this UtilitiesIssueModel.


        :param last_updated: The last_updated of this UtilitiesIssueModel.
        :type: datetime
        """

        self._last_updated = last_updated

    @property
    def last_found(self):
        # type: () -> datetime
        """Gets the last_found of this UtilitiesIssueModel.


        :return: The last_found of this UtilitiesIssueModel.
        :rtype: datetime
        """
        return self._last_found

    @last_found.setter
    def last_found(self, last_found):
        """Sets the last_found of this UtilitiesIssueModel.


        :param last_found: The last_found of this UtilitiesIssueModel.
        :type: datetime
        """

        self._last_found = last_found

    @property
    def calling_method(self):
        # type: () -> str
        """Gets the calling_method of this UtilitiesIssueModel.


        :return: The calling_method of this UtilitiesIssueModel.
        :rtype: str
        """
        return self._calling_method

    @calling_method.setter
    def calling_method(self, calling_method):
        """Sets the calling_method of this UtilitiesIssueModel.


        :param calling_method: The calling_method of this UtilitiesIssueModel.
        :type: str
        """

        self._calling_method = calling_method

    @property
    def is_new_in_scope(self):
        # type: () -> bool
        """Gets the is_new_in_scope of this UtilitiesIssueModel.


        :return: The is_new_in_scope of this UtilitiesIssueModel.
        :rtype: bool
        """
        return self._is_new_in_scope

    @is_new_in_scope.setter
    def is_new_in_scope(self, is_new_in_scope):
        """Sets the is_new_in_scope of this UtilitiesIssueModel.


        :param is_new_in_scope: The is_new_in_scope of this UtilitiesIssueModel.
        :type: bool
        """

        self._is_new_in_scope = is_new_in_scope

    @property
    def library_name(self):
        # type: () -> str
        """Gets the library_name of this UtilitiesIssueModel.


        :return: The library_name of this UtilitiesIssueModel.
        :rtype: str
        """
        return self._library_name

    @library_name.setter
    def library_name(self, library_name):
        """Sets the library_name of this UtilitiesIssueModel.


        :param library_name: The library_name of this UtilitiesIssueModel.
        :type: str
        """

        self._library_name = library_name

    @property
    def library_version(self):
        # type: () -> str
        """Gets the library_version of this UtilitiesIssueModel.


        :return: The library_version of this UtilitiesIssueModel.
        :rtype: str
        """
        return self._library_version

    @library_version.setter
    def library_version(self, library_version):
        """Sets the library_version of this UtilitiesIssueModel.


        :param library_version: The library_version of this UtilitiesIssueModel.
        :type: str
        """

        self._library_version = library_version

    @property
    def sca_technology(self):
        # type: () -> str
        """Gets the sca_technology of this UtilitiesIssueModel.


        :return: The sca_technology of this UtilitiesIssueModel.
        :rtype: str
        """
        return self._sca_technology

    @sca_technology.setter
    def sca_technology(self, sca_technology):
        """Sets the sca_technology of this UtilitiesIssueModel.


        :param sca_technology: The sca_technology of this UtilitiesIssueModel.
        :type: str
        """

        self._sca_technology = sca_technology

    @property
    def fg_status(self):
        # type: () -> str
        """Gets the fg_status of this UtilitiesIssueModel.


        :return: The fg_status of this UtilitiesIssueModel.
        :rtype: str
        """
        return self._fg_status

    @fg_status.setter
    def fg_status(self, fg_status):
        """Sets the fg_status of this UtilitiesIssueModel.


        :param fg_status: The fg_status of this UtilitiesIssueModel.
        :type: str
        """
        allowed_values = [
            "Open",
            "InProgress",
            "Reopened",
            "Noise",
            "Passed",
            "Fixed",
            "New",
        ]
        if self._configuration.client_side_validation and fg_status not in allowed_values:
            raise ValueError(
                "Invalid value for `fg_status` ({}), must be one of {}".format(
                    fg_status, allowed_values
                )
            )

        self._fg_status = fg_status

    @property
    def application_id(self):
        # type: () -> str
        """Gets the application_id of this UtilitiesIssueModel.


        :return: The application_id of this UtilitiesIssueModel.
        :rtype: str
        """
        return self._application_id

    @application_id.setter
    def application_id(self, application_id):
        """Sets the application_id of this UtilitiesIssueModel.


        :param application_id: The application_id of this UtilitiesIssueModel.
        :type: str
        """

        self._application_id = application_id

    @property
    def fix_group_id(self):
        # type: () -> str
        """Gets the fix_group_id of this UtilitiesIssueModel.


        :return: The fix_group_id of this UtilitiesIssueModel.
        :rtype: str
        """
        return self._fix_group_id

    @fix_group_id.setter
    def fix_group_id(self, fix_group_id):
        """Sets the fix_group_id of this UtilitiesIssueModel.


        :param fix_group_id: The fix_group_id of this UtilitiesIssueModel.
        :type: str
        """

        self._fix_group_id = fix_group_id

    @property
    def api(self):
        # type: () -> str
        """Gets the api of this UtilitiesIssueModel.


        :return: The api of this UtilitiesIssueModel.
        :rtype: str
        """
        return self._api

    @api.setter
    def api(self, api):
        """Sets the api of this UtilitiesIssueModel.


        :param api: The api of this UtilitiesIssueModel.
        :type: str
        """

        self._api = api

    @property
    def source(self):
        # type: () -> str
        """Gets the source of this UtilitiesIssueModel.


        :return: The source of this UtilitiesIssueModel.
        :rtype: str
        """
        return self._source

    @source.setter
    def source(self, source):
        """Sets the source of this UtilitiesIssueModel.


        :param source: The source of this UtilitiesIssueModel.
        :type: str
        """

        self._source = source

    @property
    def context(self):
        # type: () -> str
        """Gets the context of this UtilitiesIssueModel.


        :return: The context of this UtilitiesIssueModel.
        :rtype: str
        """
        return self._context

    @context.setter
    def context(self, context):
        """Sets the context of this UtilitiesIssueModel.


        :param context: The context of this UtilitiesIssueModel.
        :type: str
        """

        self._context = context

    @property
    def appscan_vuln_id(self):
        # type: () -> str
        """Gets the appscan_vuln_id of this UtilitiesIssueModel.


        :return: The appscan_vuln_id of this UtilitiesIssueModel.
        :rtype: str
        """
        return self._appscan_vuln_id

    @appscan_vuln_id.setter
    def appscan_vuln_id(self, appscan_vuln_id):
        """Sets the appscan_vuln_id of this UtilitiesIssueModel.


        :param appscan_vuln_id: The appscan_vuln_id of this UtilitiesIssueModel.
        :type: str
        """

        self._appscan_vuln_id = appscan_vuln_id

    @property
    def calling_line(self):
        # type: () -> str
        """Gets the calling_line of this UtilitiesIssueModel.


        :return: The calling_line of this UtilitiesIssueModel.
        :rtype: str
        """
        return self._calling_line

    @calling_line.setter
    def calling_line(self, calling_line):
        """Sets the calling_line of this UtilitiesIssueModel.


        :param calling_line: The calling_line of this UtilitiesIssueModel.
        :type: str
        """

        self._calling_line = calling_line

    @property
    def _class(self):
        # type: () -> str
        """Gets the _class of this UtilitiesIssueModel.


        :return: The _class of this UtilitiesIssueModel.
        :rtype: str
        """
        return self.__class

    @_class.setter
    def _class(self, _class):
        """Sets the _class of this UtilitiesIssueModel.


        :param _class: The _class of this UtilitiesIssueModel.
        :type: str
        """

        self.__class = _class

    @property
    def cve(self):
        # type: () -> str
        """Gets the cve of this UtilitiesIssueModel.


        :return: The cve of this UtilitiesIssueModel.
        :rtype: str
        """
        return self._cve

    @cve.setter
    def cve(self, cve):
        """Sets the cve of this UtilitiesIssueModel.


        :param cve: The cve of this UtilitiesIssueModel.
        :type: str
        """

        self._cve = cve

    @property
    def cve_publish_date(self):
        # type: () -> datetime
        """Gets the cve_publish_date of this UtilitiesIssueModel.


        :return: The cve_publish_date of this UtilitiesIssueModel.
        :rtype: datetime
        """
        return self._cve_publish_date

    @cve_publish_date.setter
    def cve_publish_date(self, cve_publish_date):
        """Sets the cve_publish_date of this UtilitiesIssueModel.


        :param cve_publish_date: The cve_publish_date of this UtilitiesIssueModel.
        :type: datetime
        """

        self._cve_publish_date = cve_publish_date

    @property
    def details_url(self):
        # type: () -> str
        """Gets the details_url of this UtilitiesIssueModel.


        :return: The details_url of this UtilitiesIssueModel.
        :rtype: str
        """
        return self._details_url

    @details_url.setter
    def details_url(self, details_url):
        """Sets the details_url of this UtilitiesIssueModel.


        :param details_url: The details_url of this UtilitiesIssueModel.
        :type: str
        """

        self._details_url = details_url

    @property
    def cvss(self):
        # type: () -> str
        """Gets the cvss of this UtilitiesIssueModel.


        :return: The cvss of this UtilitiesIssueModel.
        :rtype: str
        """
        return self._cvss

    @cvss.setter
    def cvss(self, cvss):
        """Sets the cvss of this UtilitiesIssueModel.


        :param cvss: The cvss of this UtilitiesIssueModel.
        :type: str
        """

        self._cvss = cvss

    @property
    def cvss_version(self):
        # type: () -> str
        """Gets the cvss_version of this UtilitiesIssueModel.


        :return: The cvss_version of this UtilitiesIssueModel.
        :rtype: str
        """
        return self._cvss_version

    @cvss_version.setter
    def cvss_version(self, cvss_version):
        """Sets the cvss_version of this UtilitiesIssueModel.


        :param cvss_version: The cvss_version of this UtilitiesIssueModel.
        :type: str
        """
        allowed_values = ["None", "Cvss20", "Cvss30", "Cvss31"]
        if self._configuration.client_side_validation and cvss_version not in allowed_values:
            raise ValueError(
                "Invalid value for `cvss_version` ({}), must be one of {}".format(
                    cvss_version, allowed_values
                )
            )

        self._cvss_version = cvss_version

    @property
    def discovery_method(self):
        # type: () -> str
        """Gets the discovery_method of this UtilitiesIssueModel.


        :return: The discovery_method of this UtilitiesIssueModel.
        :rtype: str
        """
        return self._discovery_method

    @discovery_method.setter
    def discovery_method(self, discovery_method):
        """Sets the discovery_method of this UtilitiesIssueModel.


        :param discovery_method: The discovery_method of this UtilitiesIssueModel.
        :type: str
        """

        self._discovery_method = discovery_method

    @property
    def domain(self):
        # type: () -> str
        """Gets the domain of this UtilitiesIssueModel.


        :return: The domain of this UtilitiesIssueModel.
        :rtype: str
        """
        return self._domain

    @domain.setter
    def domain(self, domain):
        """Sets the domain of this UtilitiesIssueModel.


        :param domain: The domain of this UtilitiesIssueModel.
        :type: str
        """

        self._domain = domain

    @property
    def element(self):
        # type: () -> str
        """Gets the element of this UtilitiesIssueModel.


        :return: The element of this UtilitiesIssueModel.
        :rtype: str
        """
        return self._element

    @element.setter
    def element(self, element):
        """Sets the element of this UtilitiesIssueModel.


        :param element: The element of this UtilitiesIssueModel.
        :type: str
        """

        self._element = element

    @property
    def element_type(self):
        # type: () -> str
        """Gets the element_type of this UtilitiesIssueModel.


        :return: The element_type of this UtilitiesIssueModel.
        :rtype: str
        """
        return self._element_type

    @element_type.setter
    def element_type(self, element_type):
        """Sets the element_type of this UtilitiesIssueModel.


        :param element_type: The element_type of this UtilitiesIssueModel.
        :type: str
        """

        self._element_type = element_type

    @property
    def external_id(self):
        # type: () -> str
        """Gets the external_id of this UtilitiesIssueModel.


        :return: The external_id of this UtilitiesIssueModel.
        :rtype: str
        """
        return self._external_id

    @external_id.setter
    def external_id(self, external_id):
        """Sets the external_id of this UtilitiesIssueModel.


        :param external_id: The external_id of this UtilitiesIssueModel.
        :type: str
        """

        self._external_id = external_id

    @property
    def host(self):
        # type: () -> str
        """Gets the host of this UtilitiesIssueModel.


        :return: The host of this UtilitiesIssueModel.
        :rtype: str
        """
        return self._host

    @host.setter
    def host(self, host):
        """Sets the host of this UtilitiesIssueModel.


        :param host: The host of this UtilitiesIssueModel.
        :type: str
        """

        self._host = host

    @property
    def issue_type_id(self):
        # type: () -> str
        """Gets the issue_type_id of this UtilitiesIssueModel.


        :return: The issue_type_id of this UtilitiesIssueModel.
        :rtype: str
        """
        return self._issue_type_id

    @issue_type_id.setter
    def issue_type_id(self, issue_type_id):
        """Sets the issue_type_id of this UtilitiesIssueModel.


        :param issue_type_id: The issue_type_id of this UtilitiesIssueModel.
        :type: str
        """
        if self._configuration.client_side_validation and issue_type_id is None:
            raise ValueError("Invalid value for `issue_type_id`, must not be `None`")

        self._issue_type_id = issue_type_id

    @property
    def issue_type_guid(self):
        # type: () -> str
        """Gets the issue_type_guid of this UtilitiesIssueModel.


        :return: The issue_type_guid of this UtilitiesIssueModel.
        :rtype: str
        """
        return self._issue_type_guid

    @issue_type_guid.setter
    def issue_type_guid(self, issue_type_guid):
        """Sets the issue_type_guid of this UtilitiesIssueModel.


        :param issue_type_guid: The issue_type_guid of this UtilitiesIssueModel.
        :type: str
        """

        self._issue_type_guid = issue_type_guid

    @property
    def issue_xml(self):
        # type: () -> str
        """Gets the issue_xml of this UtilitiesIssueModel.


        :return: The issue_xml of this UtilitiesIssueModel.
        :rtype: str
        """
        return self._issue_xml

    @issue_xml.setter
    def issue_xml(self, issue_xml):
        """Sets the issue_xml of this UtilitiesIssueModel.


        :param issue_xml: The issue_xml of this UtilitiesIssueModel.
        :type: str
        """

        self._issue_xml = issue_xml

    @property
    def line(self):
        # type: () -> str
        """Gets the line of this UtilitiesIssueModel.


        :return: The line of this UtilitiesIssueModel.
        :rtype: str
        """
        return self._line

    @line.setter
    def line(self, line):
        """Sets the line of this UtilitiesIssueModel.


        :param line: The line of this UtilitiesIssueModel.
        :type: str
        """

        self._line = line

    @property
    def package(self):
        # type: () -> str
        """Gets the package of this UtilitiesIssueModel.


        :return: The package of this UtilitiesIssueModel.
        :rtype: str
        """
        return self._package

    @package.setter
    def package(self, package):
        """Sets the package of this UtilitiesIssueModel.


        :param package: The package of this UtilitiesIssueModel.
        :type: str
        """

        self._package = package

    @property
    def path(self):
        # type: () -> str
        """Gets the path of this UtilitiesIssueModel.


        :return: The path of this UtilitiesIssueModel.
        :rtype: str
        """
        return self._path

    @path.setter
    def path(self, path):
        """Sets the path of this UtilitiesIssueModel.


        :param path: The path of this UtilitiesIssueModel.
        :type: str
        """

        self._path = path

    @property
    def port(self):
        # type: () -> int
        """Gets the port of this UtilitiesIssueModel.


        :return: The port of this UtilitiesIssueModel.
        :rtype: int
        """
        return self._port

    @port.setter
    def port(self, port):
        """Sets the port of this UtilitiesIssueModel.


        :param port: The port of this UtilitiesIssueModel.
        :type: int
        """

        self._port = port

    @property
    def scheme(self):
        # type: () -> str
        """Gets the scheme of this UtilitiesIssueModel.


        :return: The scheme of this UtilitiesIssueModel.
        :rtype: str
        """
        return self._scheme

    @scheme.setter
    def scheme(self, scheme):
        """Sets the scheme of this UtilitiesIssueModel.


        :param scheme: The scheme of this UtilitiesIssueModel.
        :type: str
        """

        self._scheme = scheme

    @property
    def severity_value(self):
        # type: () -> int
        """Gets the severity_value of this UtilitiesIssueModel.


        :return: The severity_value of this UtilitiesIssueModel.
        :rtype: int
        """
        return self._severity_value

    @severity_value.setter
    def severity_value(self, severity_value):
        """Sets the severity_value of this UtilitiesIssueModel.


        :param severity_value: The severity_value of this UtilitiesIssueModel.
        :type: int
        """

        self._severity_value = severity_value

    @property
    def correlation_group_id(self):
        # type: () -> str
        """Gets the correlation_group_id of this UtilitiesIssueModel.


        :return: The correlation_group_id of this UtilitiesIssueModel.
        :rtype: str
        """
        return self._correlation_group_id

    @correlation_group_id.setter
    def correlation_group_id(self, correlation_group_id):
        """Sets the correlation_group_id of this UtilitiesIssueModel.


        :param correlation_group_id: The correlation_group_id of this UtilitiesIssueModel.
        :type: str
        """

        self._correlation_group_id = correlation_group_id

    @property
    def source_file(self):
        # type: () -> str
        """Gets the source_file of this UtilitiesIssueModel.


        :return: The source_file of this UtilitiesIssueModel.
        :rtype: str
        """
        return self._source_file

    @source_file.setter
    def source_file(self, source_file):
        """Sets the source_file of this UtilitiesIssueModel.


        :param source_file: The source_file of this UtilitiesIssueModel.
        :type: str
        """

        self._source_file = source_file

    @property
    def last_comment(self):
        # type: () -> datetime
        """Gets the last_comment of this UtilitiesIssueModel.


        :return: The last_comment of this UtilitiesIssueModel.
        :rtype: datetime
        """
        return self._last_comment

    @last_comment.setter
    def last_comment(self, last_comment):
        """Sets the last_comment of this UtilitiesIssueModel.


        :param last_comment: The last_comment of this UtilitiesIssueModel.
        :type: datetime
        """

        self._last_comment = last_comment

    @property
    def scanner(self):
        # type: () -> str
        """Gets the scanner of this UtilitiesIssueModel.


        :return: The scanner of this UtilitiesIssueModel.
        :rtype: str
        """
        return self._scanner

    @scanner.setter
    def scanner(self, scanner):
        """Sets the scanner of this UtilitiesIssueModel.


        :param scanner: The scanner of this UtilitiesIssueModel.
        :type: str
        """

        self._scanner = scanner

    @property
    def scan_name(self):
        # type: () -> str
        """Gets the scan_name of this UtilitiesIssueModel.


        :return: The scan_name of this UtilitiesIssueModel.
        :rtype: str
        """
        return self._scan_name

    @scan_name.setter
    def scan_name(self, scan_name):
        """Sets the scan_name of this UtilitiesIssueModel.


        :param scan_name: The scan_name of this UtilitiesIssueModel.
        :type: str
        """

        self._scan_name = scan_name

    @property
    def cwe(self):
        # type: () -> int
        """Gets the cwe of this UtilitiesIssueModel.


        :return: The cwe of this UtilitiesIssueModel.
        :rtype: int
        """
        return self._cwe

    @cwe.setter
    def cwe(self, cwe):
        """Sets the cwe of this UtilitiesIssueModel.


        :param cwe: The cwe of this UtilitiesIssueModel.
        :type: int
        """

        self._cwe = cwe

    @property
    def threat_class_id(self):
        # type: () -> str
        """Gets the threat_class_id of this UtilitiesIssueModel.


        :return: The threat_class_id of this UtilitiesIssueModel.
        :rtype: str
        """
        return self._threat_class_id

    @threat_class_id.setter
    def threat_class_id(self, threat_class_id):
        """Sets the threat_class_id of this UtilitiesIssueModel.


        :param threat_class_id: The threat_class_id of this UtilitiesIssueModel.
        :type: str
        """

        self._threat_class_id = threat_class_id

    @property
    def diff_result(self):
        # type: () -> str
        """Gets the diff_result of this UtilitiesIssueModel.


        :return: The diff_result of this UtilitiesIssueModel.
        :rtype: str
        """
        return self._diff_result

    @diff_result.setter
    def diff_result(self, diff_result):
        """Sets the diff_result of this UtilitiesIssueModel.


        :param diff_result: The diff_result of this UtilitiesIssueModel.
        :type: str
        """
        allowed_values = ["NoChange", "Added", "Removed"]
        if self._configuration.client_side_validation and diff_result not in allowed_values:
            raise ValueError(
                "Invalid value for `diff_result` ({}), must be one of {}".format(
                    diff_result, allowed_values
                )
            )

        self._diff_result = diff_result

    @property
    def api_vuln_name(self):
        # type: () -> str
        """Gets the api_vuln_name of this UtilitiesIssueModel.


        :return: The api_vuln_name of this UtilitiesIssueModel.
        :rtype: str
        """
        return self._api_vuln_name

    @api_vuln_name.setter
    def api_vuln_name(self, api_vuln_name):
        """Sets the api_vuln_name of this UtilitiesIssueModel.


        :param api_vuln_name: The api_vuln_name of this UtilitiesIssueModel.
        :type: str
        """

        self._api_vuln_name = api_vuln_name

    @property
    def remediation_id(self):
        # type: () -> str
        """Gets the remediation_id of this UtilitiesIssueModel.


        :return: The remediation_id of this UtilitiesIssueModel.
        :rtype: str
        """
        return self._remediation_id

    @remediation_id.setter
    def remediation_id(self, remediation_id):
        """Sets the remediation_id of this UtilitiesIssueModel.


        :param remediation_id: The remediation_id of this UtilitiesIssueModel.
        :type: str
        """

        self._remediation_id = remediation_id

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

        for attr, _ in self.swagger_types.items():
            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(UtilitiesIssueModel, 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, UtilitiesIssueModel):
            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, UtilitiesIssueModel):
            return True

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