"""
    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 AppScanSaaSModelsV2IASTAnalyzer:
    """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 = {
        "agentkey": "str",
        "id": "str",
        "name": "str",
        "fully_automatic": "bool",
        "created_at": "datetime",
        "last_modified": "datetime",
        "recurrence_rule": "str",
        "next_scheduled_run": "datetime",
        "recurrence_end_date": "datetime",
        "app_id": "str",
        "app_name": "str",
        "technology": "str",
        "latest_execution": "AppScanSaaSModelsV2IastAnalyzerScanExecution",
        "enable_mail_notification": "bool",
        "executions_ids": "list[str]",
        "deleted_allowed": "bool",
        "offering_triggered": "bool",
        "is_private": "bool",
        "is_personal": "bool",
        "is_completed": "bool",
        "url": "str",
        "rescan_allowed": "bool",
        "presence": "UserSiteCommonModelsPresence",
        "iast_agent_status": "str",
        "iast_agent_type": "str",
        "iast_conn_lost_stop_timer": "int",
        "offering_type": "str",
        "is_uploaded_file": "bool",
        "parsed_from_uploaded_file": "bool",
        "created_by": "UserSiteCommonModelsBasicUserInfo",
        "use_test_optimizer": "bool",
        "test_optimization_level": "str",
        "is_demo_scan": "bool",
        "expiration_time": "datetime",
    }

    attribute_map = {
        "agentkey": "Agentkey",
        "id": "Id",
        "name": "Name",
        "fully_automatic": "FullyAutomatic",
        "created_at": "CreatedAt",
        "last_modified": "LastModified",
        "recurrence_rule": "RecurrenceRule",
        "next_scheduled_run": "NextScheduledRun",
        "recurrence_end_date": "RecurrenceEndDate",
        "app_id": "AppId",
        "app_name": "AppName",
        "technology": "Technology",
        "latest_execution": "LatestExecution",
        "enable_mail_notification": "EnableMailNotification",
        "executions_ids": "ExecutionsIds",
        "deleted_allowed": "DeletedAllowed",
        "offering_triggered": "OfferingTriggered",
        "is_private": "IsPrivate",
        "is_personal": "IsPersonal",
        "is_completed": "IsCompleted",
        "url": "Url",
        "rescan_allowed": "RescanAllowed",
        "presence": "Presence",
        "iast_agent_status": "IastAgentStatus",
        "iast_agent_type": "IastAgentType",
        "iast_conn_lost_stop_timer": "IastConnLostStopTimer",
        "offering_type": "OfferingType",
        "is_uploaded_file": "IsUploadedFile",
        "parsed_from_uploaded_file": "ParsedFromUploadedFile",
        "created_by": "CreatedBy",
        "use_test_optimizer": "UseTestOptimizer",
        "test_optimization_level": "TestOptimizationLevel",
        "is_demo_scan": "IsDemoScan",
        "expiration_time": "ExpirationTime",
    }

    def __init__(
        self,
        agentkey=None,
        id=None,
        name=None,
        fully_automatic=None,
        created_at=None,
        last_modified=None,
        recurrence_rule=None,
        next_scheduled_run=None,
        recurrence_end_date=None,
        app_id=None,
        app_name=None,
        technology=None,
        latest_execution=None,
        enable_mail_notification=None,
        executions_ids=None,
        deleted_allowed=None,
        offering_triggered=None,
        is_private=None,
        is_personal=None,
        is_completed=None,
        url=None,
        rescan_allowed=None,
        presence=None,
        iast_agent_status=None,
        iast_agent_type=None,
        iast_conn_lost_stop_timer=None,
        offering_type=None,
        is_uploaded_file=None,
        parsed_from_uploaded_file=None,
        created_by=None,
        use_test_optimizer=None,
        test_optimization_level=None,
        is_demo_scan=None,
        expiration_time=None,
        _configuration=None,
    ):
        """AppScanSaaSModelsV2IASTAnalyzer - a model defined in Swagger"""
        if _configuration is None:
            _configuration = Configuration()
        self._configuration = _configuration

        self._agentkey = None
        self._id = None
        self._name = None
        self._fully_automatic = None
        self._created_at = None
        self._last_modified = None
        self._recurrence_rule = None
        self._next_scheduled_run = None
        self._recurrence_end_date = None
        self._app_id = None
        self._app_name = None
        self._technology = None
        self._latest_execution = None
        self._enable_mail_notification = None
        self._executions_ids = None
        self._deleted_allowed = None
        self._offering_triggered = None
        self._is_private = None
        self._is_personal = None
        self._is_completed = None
        self._url = None
        self._rescan_allowed = None
        self._presence = None
        self._iast_agent_status = None
        self._iast_agent_type = None
        self._iast_conn_lost_stop_timer = None
        self._offering_type = None
        self._is_uploaded_file = None
        self._parsed_from_uploaded_file = None
        self._created_by = None
        self._use_test_optimizer = None
        self._test_optimization_level = None
        self._is_demo_scan = None
        self._expiration_time = None
        self.discriminator = None

        if agentkey is not None:
            self.agentkey = agentkey
        if id is not None:
            self.id = id
        if name is not None:
            self.name = name
        if fully_automatic is not None:
            self.fully_automatic = fully_automatic
        if created_at is not None:
            self.created_at = created_at
        if last_modified is not None:
            self.last_modified = last_modified
        if recurrence_rule is not None:
            self.recurrence_rule = recurrence_rule
        if next_scheduled_run is not None:
            self.next_scheduled_run = next_scheduled_run
        if recurrence_end_date is not None:
            self.recurrence_end_date = recurrence_end_date
        if app_id is not None:
            self.app_id = app_id
        if app_name is not None:
            self.app_name = app_name
        if technology is not None:
            self.technology = technology
        if latest_execution is not None:
            self.latest_execution = latest_execution
        if enable_mail_notification is not None:
            self.enable_mail_notification = enable_mail_notification
        if executions_ids is not None:
            self.executions_ids = executions_ids
        if deleted_allowed is not None:
            self.deleted_allowed = deleted_allowed
        if offering_triggered is not None:
            self.offering_triggered = offering_triggered
        if is_private is not None:
            self.is_private = is_private
        if is_personal is not None:
            self.is_personal = is_personal
        if is_completed is not None:
            self.is_completed = is_completed
        if url is not None:
            self.url = url
        if rescan_allowed is not None:
            self.rescan_allowed = rescan_allowed
        if presence is not None:
            self.presence = presence
        if iast_agent_status is not None:
            self.iast_agent_status = iast_agent_status
        if iast_agent_type is not None:
            self.iast_agent_type = iast_agent_type
        if iast_conn_lost_stop_timer is not None:
            self.iast_conn_lost_stop_timer = iast_conn_lost_stop_timer
        if offering_type is not None:
            self.offering_type = offering_type
        if is_uploaded_file is not None:
            self.is_uploaded_file = is_uploaded_file
        if parsed_from_uploaded_file is not None:
            self.parsed_from_uploaded_file = parsed_from_uploaded_file
        if created_by is not None:
            self.created_by = created_by
        if use_test_optimizer is not None:
            self.use_test_optimizer = use_test_optimizer
        if test_optimization_level is not None:
            self.test_optimization_level = test_optimization_level
        if is_demo_scan is not None:
            self.is_demo_scan = is_demo_scan
        if expiration_time is not None:
            self.expiration_time = expiration_time

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


        :return: The agentkey of this AppScanSaaSModelsV2IASTAnalyzer.
        :rtype: str
        """
        return self._agentkey

    @agentkey.setter
    def agentkey(self, agentkey):
        """Sets the agentkey of this AppScanSaaSModelsV2IASTAnalyzer.


        :param agentkey: The agentkey of this AppScanSaaSModelsV2IASTAnalyzer.
        :type: str
        """

        self._agentkey = agentkey

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


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

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


        :param id: The id of this AppScanSaaSModelsV2IASTAnalyzer.
        :type: str
        """

        self._id = id

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


        :return: The name of this AppScanSaaSModelsV2IASTAnalyzer.
        :rtype: str
        """
        return self._name

    @name.setter
    def name(self, name):
        """Sets the name of this AppScanSaaSModelsV2IASTAnalyzer.


        :param name: The name of this AppScanSaaSModelsV2IASTAnalyzer.
        :type: str
        """

        self._name = name

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


        :return: The fully_automatic of this AppScanSaaSModelsV2IASTAnalyzer.
        :rtype: bool
        """
        return self._fully_automatic

    @fully_automatic.setter
    def fully_automatic(self, fully_automatic):
        """Sets the fully_automatic of this AppScanSaaSModelsV2IASTAnalyzer.


        :param fully_automatic: The fully_automatic of this AppScanSaaSModelsV2IASTAnalyzer.
        :type: bool
        """

        self._fully_automatic = fully_automatic

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


        :return: The created_at of this AppScanSaaSModelsV2IASTAnalyzer.
        :rtype: datetime
        """
        return self._created_at

    @created_at.setter
    def created_at(self, created_at):
        """Sets the created_at of this AppScanSaaSModelsV2IASTAnalyzer.


        :param created_at: The created_at of this AppScanSaaSModelsV2IASTAnalyzer.
        :type: datetime
        """

        self._created_at = created_at

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


        :return: The last_modified of this AppScanSaaSModelsV2IASTAnalyzer.
        :rtype: datetime
        """
        return self._last_modified

    @last_modified.setter
    def last_modified(self, last_modified):
        """Sets the last_modified of this AppScanSaaSModelsV2IASTAnalyzer.


        :param last_modified: The last_modified of this AppScanSaaSModelsV2IASTAnalyzer.
        :type: datetime
        """

        self._last_modified = last_modified

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


        :return: The recurrence_rule of this AppScanSaaSModelsV2IASTAnalyzer.
        :rtype: str
        """
        return self._recurrence_rule

    @recurrence_rule.setter
    def recurrence_rule(self, recurrence_rule):
        """Sets the recurrence_rule of this AppScanSaaSModelsV2IASTAnalyzer.


        :param recurrence_rule: The recurrence_rule of this AppScanSaaSModelsV2IASTAnalyzer.
        :type: str
        """

        self._recurrence_rule = recurrence_rule

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


        :return: The next_scheduled_run of this AppScanSaaSModelsV2IASTAnalyzer.
        :rtype: datetime
        """
        return self._next_scheduled_run

    @next_scheduled_run.setter
    def next_scheduled_run(self, next_scheduled_run):
        """Sets the next_scheduled_run of this AppScanSaaSModelsV2IASTAnalyzer.


        :param next_scheduled_run: The next_scheduled_run of this AppScanSaaSModelsV2IASTAnalyzer.
        :type: datetime
        """

        self._next_scheduled_run = next_scheduled_run

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


        :return: The recurrence_end_date of this AppScanSaaSModelsV2IASTAnalyzer.
        :rtype: datetime
        """
        return self._recurrence_end_date

    @recurrence_end_date.setter
    def recurrence_end_date(self, recurrence_end_date):
        """Sets the recurrence_end_date of this AppScanSaaSModelsV2IASTAnalyzer.


        :param recurrence_end_date: The recurrence_end_date of this AppScanSaaSModelsV2IASTAnalyzer.
        :type: datetime
        """

        self._recurrence_end_date = recurrence_end_date

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


        :return: The app_id of this AppScanSaaSModelsV2IASTAnalyzer.
        :rtype: str
        """
        return self._app_id

    @app_id.setter
    def app_id(self, app_id):
        """Sets the app_id of this AppScanSaaSModelsV2IASTAnalyzer.


        :param app_id: The app_id of this AppScanSaaSModelsV2IASTAnalyzer.
        :type: str
        """

        self._app_id = app_id

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


        :return: The app_name of this AppScanSaaSModelsV2IASTAnalyzer.
        :rtype: str
        """
        return self._app_name

    @app_name.setter
    def app_name(self, app_name):
        """Sets the app_name of this AppScanSaaSModelsV2IASTAnalyzer.


        :param app_name: The app_name of this AppScanSaaSModelsV2IASTAnalyzer.
        :type: str
        """

        self._app_name = app_name

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


        :return: The technology of this AppScanSaaSModelsV2IASTAnalyzer.
        :rtype: str
        """
        return self._technology

    @technology.setter
    def technology(self, technology):
        """Sets the technology of this AppScanSaaSModelsV2IASTAnalyzer.


        :param technology: The technology of this AppScanSaaSModelsV2IASTAnalyzer.
        :type: str
        """
        allowed_values = [
            "DynamicAnalyzer",
            "StaticAnalyzer",
            "MobileAnalyzerAndroid",
            "MobileAnalyzerIos",
            "IFA",
            "DastAutomation",
            "IASTAnalyzer",
            "ScaAnalyzer",
        ]
        if self._configuration.client_side_validation and technology not in allowed_values:
            raise ValueError(
                "Invalid value for `technology` ({}), must be one of {}".format(
                    technology, allowed_values
                )
            )

        self._technology = technology

    @property
    def latest_execution(self):
        # type: () -> AppScanSaaSModelsV2IastAnalyzerScanExecution
        """Gets the latest_execution of this AppScanSaaSModelsV2IASTAnalyzer.


        :return: The latest_execution of this AppScanSaaSModelsV2IASTAnalyzer.
        :rtype: AppScanSaaSModelsV2IastAnalyzerScanExecution
        """
        return self._latest_execution

    @latest_execution.setter
    def latest_execution(self, latest_execution):
        """Sets the latest_execution of this AppScanSaaSModelsV2IASTAnalyzer.


        :param latest_execution: The latest_execution of this AppScanSaaSModelsV2IASTAnalyzer.
        :type: AppScanSaaSModelsV2IastAnalyzerScanExecution
        """

        self._latest_execution = latest_execution

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


        :return: The enable_mail_notification of this AppScanSaaSModelsV2IASTAnalyzer.
        :rtype: bool
        """
        return self._enable_mail_notification

    @enable_mail_notification.setter
    def enable_mail_notification(self, enable_mail_notification):
        """Sets the enable_mail_notification of this AppScanSaaSModelsV2IASTAnalyzer.


        :param enable_mail_notification: The enable_mail_notification of this AppScanSaaSModelsV2IASTAnalyzer.
        :type: bool
        """

        self._enable_mail_notification = enable_mail_notification

    @property
    def executions_ids(self):
        # type: () -> list[str]
        """Gets the executions_ids of this AppScanSaaSModelsV2IASTAnalyzer.


        :return: The executions_ids of this AppScanSaaSModelsV2IASTAnalyzer.
        :rtype: list[str]
        """
        return self._executions_ids

    @executions_ids.setter
    def executions_ids(self, executions_ids):
        """Sets the executions_ids of this AppScanSaaSModelsV2IASTAnalyzer.


        :param executions_ids: The executions_ids of this AppScanSaaSModelsV2IASTAnalyzer.
        :type: list[str]
        """

        self._executions_ids = executions_ids

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


        :return: The deleted_allowed of this AppScanSaaSModelsV2IASTAnalyzer.
        :rtype: bool
        """
        return self._deleted_allowed

    @deleted_allowed.setter
    def deleted_allowed(self, deleted_allowed):
        """Sets the deleted_allowed of this AppScanSaaSModelsV2IASTAnalyzer.


        :param deleted_allowed: The deleted_allowed of this AppScanSaaSModelsV2IASTAnalyzer.
        :type: bool
        """

        self._deleted_allowed = deleted_allowed

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


        :return: The offering_triggered of this AppScanSaaSModelsV2IASTAnalyzer.
        :rtype: bool
        """
        return self._offering_triggered

    @offering_triggered.setter
    def offering_triggered(self, offering_triggered):
        """Sets the offering_triggered of this AppScanSaaSModelsV2IASTAnalyzer.


        :param offering_triggered: The offering_triggered of this AppScanSaaSModelsV2IASTAnalyzer.
        :type: bool
        """

        self._offering_triggered = offering_triggered

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


        :return: The is_private of this AppScanSaaSModelsV2IASTAnalyzer.
        :rtype: bool
        """
        return self._is_private

    @is_private.setter
    def is_private(self, is_private):
        """Sets the is_private of this AppScanSaaSModelsV2IASTAnalyzer.


        :param is_private: The is_private of this AppScanSaaSModelsV2IASTAnalyzer.
        :type: bool
        """

        self._is_private = is_private

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


        :return: The is_personal of this AppScanSaaSModelsV2IASTAnalyzer.
        :rtype: bool
        """
        return self._is_personal

    @is_personal.setter
    def is_personal(self, is_personal):
        """Sets the is_personal of this AppScanSaaSModelsV2IASTAnalyzer.


        :param is_personal: The is_personal of this AppScanSaaSModelsV2IASTAnalyzer.
        :type: bool
        """

        self._is_personal = is_personal

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


        :return: The is_completed of this AppScanSaaSModelsV2IASTAnalyzer.
        :rtype: bool
        """
        return self._is_completed

    @is_completed.setter
    def is_completed(self, is_completed):
        """Sets the is_completed of this AppScanSaaSModelsV2IASTAnalyzer.


        :param is_completed: The is_completed of this AppScanSaaSModelsV2IASTAnalyzer.
        :type: bool
        """

        self._is_completed = is_completed

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


        :return: The url of this AppScanSaaSModelsV2IASTAnalyzer.
        :rtype: str
        """
        return self._url

    @url.setter
    def url(self, url):
        """Sets the url of this AppScanSaaSModelsV2IASTAnalyzer.


        :param url: The url of this AppScanSaaSModelsV2IASTAnalyzer.
        :type: str
        """

        self._url = url

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


        :return: The rescan_allowed of this AppScanSaaSModelsV2IASTAnalyzer.
        :rtype: bool
        """
        return self._rescan_allowed

    @rescan_allowed.setter
    def rescan_allowed(self, rescan_allowed):
        """Sets the rescan_allowed of this AppScanSaaSModelsV2IASTAnalyzer.


        :param rescan_allowed: The rescan_allowed of this AppScanSaaSModelsV2IASTAnalyzer.
        :type: bool
        """

        self._rescan_allowed = rescan_allowed

    @property
    def presence(self):
        # type: () -> UserSiteCommonModelsPresence
        """Gets the presence of this AppScanSaaSModelsV2IASTAnalyzer.


        :return: The presence of this AppScanSaaSModelsV2IASTAnalyzer.
        :rtype: UserSiteCommonModelsPresence
        """
        return self._presence

    @presence.setter
    def presence(self, presence):
        """Sets the presence of this AppScanSaaSModelsV2IASTAnalyzer.


        :param presence: The presence of this AppScanSaaSModelsV2IASTAnalyzer.
        :type: UserSiteCommonModelsPresence
        """

        self._presence = presence

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


        :return: The iast_agent_status of this AppScanSaaSModelsV2IASTAnalyzer.
        :rtype: str
        """
        return self._iast_agent_status

    @iast_agent_status.setter
    def iast_agent_status(self, iast_agent_status):
        """Sets the iast_agent_status of this AppScanSaaSModelsV2IASTAnalyzer.


        :param iast_agent_status: The iast_agent_status of this AppScanSaaSModelsV2IASTAnalyzer.
        :type: str
        """
        allowed_values = ["None", "Active", "KeyNeverUsed", "Inactive"]
        if self._configuration.client_side_validation and iast_agent_status not in allowed_values:
            raise ValueError(
                "Invalid value for `iast_agent_status` ({}), must be one of {}".format(
                    iast_agent_status, allowed_values
                )
            )

        self._iast_agent_status = iast_agent_status

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


        :return: The iast_agent_type of this AppScanSaaSModelsV2IASTAnalyzer.
        :rtype: str
        """
        return self._iast_agent_type

    @iast_agent_type.setter
    def iast_agent_type(self, iast_agent_type):
        """Sets the iast_agent_type of this AppScanSaaSModelsV2IASTAnalyzer.


        :param iast_agent_type: The iast_agent_type of this AppScanSaaSModelsV2IASTAnalyzer.
        :type: str
        """
        allowed_values = ["Java", "DotNet", "NodeJS"]
        if self._configuration.client_side_validation and iast_agent_type not in allowed_values:
            raise ValueError(
                "Invalid value for `iast_agent_type` ({}), must be one of {}".format(
                    iast_agent_type, allowed_values
                )
            )

        self._iast_agent_type = iast_agent_type

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


        :return: The iast_conn_lost_stop_timer of this AppScanSaaSModelsV2IASTAnalyzer.
        :rtype: int
        """
        return self._iast_conn_lost_stop_timer

    @iast_conn_lost_stop_timer.setter
    def iast_conn_lost_stop_timer(self, iast_conn_lost_stop_timer):
        """Sets the iast_conn_lost_stop_timer of this AppScanSaaSModelsV2IASTAnalyzer.


        :param iast_conn_lost_stop_timer: The iast_conn_lost_stop_timer of this AppScanSaaSModelsV2IASTAnalyzer.
        :type: int
        """

        self._iast_conn_lost_stop_timer = iast_conn_lost_stop_timer

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


        :return: The offering_type of this AppScanSaaSModelsV2IASTAnalyzer.
        :rtype: str
        """
        return self._offering_type

    @offering_type.setter
    def offering_type(self, offering_type):
        """Sets the offering_type of this AppScanSaaSModelsV2IASTAnalyzer.


        :param offering_type: The offering_type of this AppScanSaaSModelsV2IASTAnalyzer.
        :type: str
        """
        allowed_values = [
            "None",
            "Trial",
            "HTrial",
            "Applications",
            "ScanExecution",
            "AnalyzerConcurrent",
            "ConsultantServices",
            "Premium",
            "OpenSourcePerApplication",
            "OpenSourcePremium",
            "OpenSourceConcurrent",
            "IASTConcurrent",
            "IASTPayPerApp",
            "Promotional",
            "Silver",
            "Gold",
            "Platinum",
            "SCAPerApplication",
        ]
        if self._configuration.client_side_validation and offering_type not in allowed_values:
            raise ValueError(
                "Invalid value for `offering_type` ({}), must be one of {}".format(
                    offering_type, allowed_values
                )
            )

        self._offering_type = offering_type

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


        :return: The is_uploaded_file of this AppScanSaaSModelsV2IASTAnalyzer.
        :rtype: bool
        """
        return self._is_uploaded_file

    @is_uploaded_file.setter
    def is_uploaded_file(self, is_uploaded_file):
        """Sets the is_uploaded_file of this AppScanSaaSModelsV2IASTAnalyzer.


        :param is_uploaded_file: The is_uploaded_file of this AppScanSaaSModelsV2IASTAnalyzer.
        :type: bool
        """

        self._is_uploaded_file = is_uploaded_file

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


        :return: The parsed_from_uploaded_file of this AppScanSaaSModelsV2IASTAnalyzer.
        :rtype: bool
        """
        return self._parsed_from_uploaded_file

    @parsed_from_uploaded_file.setter
    def parsed_from_uploaded_file(self, parsed_from_uploaded_file):
        """Sets the parsed_from_uploaded_file of this AppScanSaaSModelsV2IASTAnalyzer.


        :param parsed_from_uploaded_file: The parsed_from_uploaded_file of this AppScanSaaSModelsV2IASTAnalyzer.
        :type: bool
        """

        self._parsed_from_uploaded_file = parsed_from_uploaded_file

    @property
    def created_by(self):
        # type: () -> UserSiteCommonModelsBasicUserInfo
        """Gets the created_by of this AppScanSaaSModelsV2IASTAnalyzer.


        :return: The created_by of this AppScanSaaSModelsV2IASTAnalyzer.
        :rtype: UserSiteCommonModelsBasicUserInfo
        """
        return self._created_by

    @created_by.setter
    def created_by(self, created_by):
        """Sets the created_by of this AppScanSaaSModelsV2IASTAnalyzer.


        :param created_by: The created_by of this AppScanSaaSModelsV2IASTAnalyzer.
        :type: UserSiteCommonModelsBasicUserInfo
        """

        self._created_by = created_by

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


        :return: The use_test_optimizer of this AppScanSaaSModelsV2IASTAnalyzer.
        :rtype: bool
        """
        return self._use_test_optimizer

    @use_test_optimizer.setter
    def use_test_optimizer(self, use_test_optimizer):
        """Sets the use_test_optimizer of this AppScanSaaSModelsV2IASTAnalyzer.


        :param use_test_optimizer: The use_test_optimizer of this AppScanSaaSModelsV2IASTAnalyzer.
        :type: bool
        """

        self._use_test_optimizer = use_test_optimizer

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


        :return: The test_optimization_level of this AppScanSaaSModelsV2IASTAnalyzer.
        :rtype: str
        """
        return self._test_optimization_level

    @test_optimization_level.setter
    def test_optimization_level(self, test_optimization_level):
        """Sets the test_optimization_level of this AppScanSaaSModelsV2IASTAnalyzer.


        :param test_optimization_level: The test_optimization_level of this AppScanSaaSModelsV2IASTAnalyzer.
        :type: str
        """
        allowed_values = ["NoOptimization", "Fast", "Faster", "Fastest"]
        if (
            self._configuration.client_side_validation
            and test_optimization_level not in allowed_values
        ):
            raise ValueError(
                "Invalid value for `test_optimization_level` ({}), must be one of {}".format(
                    test_optimization_level, allowed_values
                )
            )

        self._test_optimization_level = test_optimization_level

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


        :return: The is_demo_scan of this AppScanSaaSModelsV2IASTAnalyzer.
        :rtype: bool
        """
        return self._is_demo_scan

    @is_demo_scan.setter
    def is_demo_scan(self, is_demo_scan):
        """Sets the is_demo_scan of this AppScanSaaSModelsV2IASTAnalyzer.


        :param is_demo_scan: The is_demo_scan of this AppScanSaaSModelsV2IASTAnalyzer.
        :type: bool
        """

        self._is_demo_scan = is_demo_scan

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


        :return: The expiration_time of this AppScanSaaSModelsV2IASTAnalyzer.
        :rtype: datetime
        """
        return self._expiration_time

    @expiration_time.setter
    def expiration_time(self, expiration_time):
        """Sets the expiration_time of this AppScanSaaSModelsV2IASTAnalyzer.


        :param expiration_time: The expiration_time of this AppScanSaaSModelsV2IASTAnalyzer.
        :type: datetime
        """

        self._expiration_time = expiration_time

    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(AppScanSaaSModelsV2IASTAnalyzer, 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, AppScanSaaSModelsV2IASTAnalyzer):
            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, AppScanSaaSModelsV2IASTAnalyzer):
            return True

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