# coding: utf-8

"""
    cloud_detect

    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 PageConfigForGetTaskOutput(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 = {
        'auto_scroll': 'bool',
        'cookies': 'list[CookieForGetTaskOutput]',
        'custom_header': 'CustomHeaderForGetTaskOutput',
        'disable_compress': 'bool',
        'enable_cache': 'bool',
        'enable_redirect': 'bool',
        'end_custom_host_config_time': 'EndCustomHostConfigTimeForGetTaskOutput',
        'ignore_certificate': 'bool',
        'quic_config': 'QuicConfigForGetTaskOutput',
        'save_base_document_body': 'bool',
        'save_elements': 'bool',
        'save_final_snapshot': 'int',
        'screenshot_keypoint': 'bool',
        'timeout': 'int'
    }

    attribute_map = {
        'auto_scroll': 'AutoScroll',
        'cookies': 'Cookies',
        'custom_header': 'CustomHeader',
        'disable_compress': 'DisableCompress',
        'enable_cache': 'EnableCache',
        'enable_redirect': 'EnableRedirect',
        'end_custom_host_config_time': 'EndCustomHostConfigTime',
        'ignore_certificate': 'IgnoreCertificate',
        'quic_config': 'QuicConfig',
        'save_base_document_body': 'SaveBaseDocumentBody',
        'save_elements': 'SaveElements',
        'save_final_snapshot': 'SaveFinalSnapshot',
        'screenshot_keypoint': 'ScreenshotKeypoint',
        'timeout': 'Timeout'
    }

    def __init__(self, auto_scroll=None, cookies=None, custom_header=None, disable_compress=None, enable_cache=None, enable_redirect=None, end_custom_host_config_time=None, ignore_certificate=None, quic_config=None, save_base_document_body=None, save_elements=None, save_final_snapshot=None, screenshot_keypoint=None, timeout=None, _configuration=None):  # noqa: E501
        """PageConfigForGetTaskOutput - a model defined in Swagger"""  # noqa: E501
        if _configuration is None:
            _configuration = Configuration()
        self._configuration = _configuration

        self._auto_scroll = None
        self._cookies = None
        self._custom_header = None
        self._disable_compress = None
        self._enable_cache = None
        self._enable_redirect = None
        self._end_custom_host_config_time = None
        self._ignore_certificate = None
        self._quic_config = None
        self._save_base_document_body = None
        self._save_elements = None
        self._save_final_snapshot = None
        self._screenshot_keypoint = None
        self._timeout = None
        self.discriminator = None

        if auto_scroll is not None:
            self.auto_scroll = auto_scroll
        if cookies is not None:
            self.cookies = cookies
        if custom_header is not None:
            self.custom_header = custom_header
        if disable_compress is not None:
            self.disable_compress = disable_compress
        if enable_cache is not None:
            self.enable_cache = enable_cache
        if enable_redirect is not None:
            self.enable_redirect = enable_redirect
        if end_custom_host_config_time is not None:
            self.end_custom_host_config_time = end_custom_host_config_time
        if ignore_certificate is not None:
            self.ignore_certificate = ignore_certificate
        if quic_config is not None:
            self.quic_config = quic_config
        if save_base_document_body is not None:
            self.save_base_document_body = save_base_document_body
        if save_elements is not None:
            self.save_elements = save_elements
        if save_final_snapshot is not None:
            self.save_final_snapshot = save_final_snapshot
        if screenshot_keypoint is not None:
            self.screenshot_keypoint = screenshot_keypoint
        if timeout is not None:
            self.timeout = timeout

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


        :return: The auto_scroll of this PageConfigForGetTaskOutput.  # noqa: E501
        :rtype: bool
        """
        return self._auto_scroll

    @auto_scroll.setter
    def auto_scroll(self, auto_scroll):
        """Sets the auto_scroll of this PageConfigForGetTaskOutput.


        :param auto_scroll: The auto_scroll of this PageConfigForGetTaskOutput.  # noqa: E501
        :type: bool
        """

        self._auto_scroll = auto_scroll

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


        :return: The cookies of this PageConfigForGetTaskOutput.  # noqa: E501
        :rtype: list[CookieForGetTaskOutput]
        """
        return self._cookies

    @cookies.setter
    def cookies(self, cookies):
        """Sets the cookies of this PageConfigForGetTaskOutput.


        :param cookies: The cookies of this PageConfigForGetTaskOutput.  # noqa: E501
        :type: list[CookieForGetTaskOutput]
        """

        self._cookies = cookies

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


        :return: The custom_header of this PageConfigForGetTaskOutput.  # noqa: E501
        :rtype: CustomHeaderForGetTaskOutput
        """
        return self._custom_header

    @custom_header.setter
    def custom_header(self, custom_header):
        """Sets the custom_header of this PageConfigForGetTaskOutput.


        :param custom_header: The custom_header of this PageConfigForGetTaskOutput.  # noqa: E501
        :type: CustomHeaderForGetTaskOutput
        """

        self._custom_header = custom_header

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


        :return: The disable_compress of this PageConfigForGetTaskOutput.  # noqa: E501
        :rtype: bool
        """
        return self._disable_compress

    @disable_compress.setter
    def disable_compress(self, disable_compress):
        """Sets the disable_compress of this PageConfigForGetTaskOutput.


        :param disable_compress: The disable_compress of this PageConfigForGetTaskOutput.  # noqa: E501
        :type: bool
        """

        self._disable_compress = disable_compress

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


        :return: The enable_cache of this PageConfigForGetTaskOutput.  # noqa: E501
        :rtype: bool
        """
        return self._enable_cache

    @enable_cache.setter
    def enable_cache(self, enable_cache):
        """Sets the enable_cache of this PageConfigForGetTaskOutput.


        :param enable_cache: The enable_cache of this PageConfigForGetTaskOutput.  # noqa: E501
        :type: bool
        """

        self._enable_cache = enable_cache

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


        :return: The enable_redirect of this PageConfigForGetTaskOutput.  # noqa: E501
        :rtype: bool
        """
        return self._enable_redirect

    @enable_redirect.setter
    def enable_redirect(self, enable_redirect):
        """Sets the enable_redirect of this PageConfigForGetTaskOutput.


        :param enable_redirect: The enable_redirect of this PageConfigForGetTaskOutput.  # noqa: E501
        :type: bool
        """

        self._enable_redirect = enable_redirect

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


        :return: The end_custom_host_config_time of this PageConfigForGetTaskOutput.  # noqa: E501
        :rtype: EndCustomHostConfigTimeForGetTaskOutput
        """
        return self._end_custom_host_config_time

    @end_custom_host_config_time.setter
    def end_custom_host_config_time(self, end_custom_host_config_time):
        """Sets the end_custom_host_config_time of this PageConfigForGetTaskOutput.


        :param end_custom_host_config_time: The end_custom_host_config_time of this PageConfigForGetTaskOutput.  # noqa: E501
        :type: EndCustomHostConfigTimeForGetTaskOutput
        """

        self._end_custom_host_config_time = end_custom_host_config_time

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


        :return: The ignore_certificate of this PageConfigForGetTaskOutput.  # noqa: E501
        :rtype: bool
        """
        return self._ignore_certificate

    @ignore_certificate.setter
    def ignore_certificate(self, ignore_certificate):
        """Sets the ignore_certificate of this PageConfigForGetTaskOutput.


        :param ignore_certificate: The ignore_certificate of this PageConfigForGetTaskOutput.  # noqa: E501
        :type: bool
        """

        self._ignore_certificate = ignore_certificate

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


        :return: The quic_config of this PageConfigForGetTaskOutput.  # noqa: E501
        :rtype: QuicConfigForGetTaskOutput
        """
        return self._quic_config

    @quic_config.setter
    def quic_config(self, quic_config):
        """Sets the quic_config of this PageConfigForGetTaskOutput.


        :param quic_config: The quic_config of this PageConfigForGetTaskOutput.  # noqa: E501
        :type: QuicConfigForGetTaskOutput
        """

        self._quic_config = quic_config

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


        :return: The save_base_document_body of this PageConfigForGetTaskOutput.  # noqa: E501
        :rtype: bool
        """
        return self._save_base_document_body

    @save_base_document_body.setter
    def save_base_document_body(self, save_base_document_body):
        """Sets the save_base_document_body of this PageConfigForGetTaskOutput.


        :param save_base_document_body: The save_base_document_body of this PageConfigForGetTaskOutput.  # noqa: E501
        :type: bool
        """

        self._save_base_document_body = save_base_document_body

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


        :return: The save_elements of this PageConfigForGetTaskOutput.  # noqa: E501
        :rtype: bool
        """
        return self._save_elements

    @save_elements.setter
    def save_elements(self, save_elements):
        """Sets the save_elements of this PageConfigForGetTaskOutput.


        :param save_elements: The save_elements of this PageConfigForGetTaskOutput.  # noqa: E501
        :type: bool
        """

        self._save_elements = save_elements

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


        :return: The save_final_snapshot of this PageConfigForGetTaskOutput.  # noqa: E501
        :rtype: int
        """
        return self._save_final_snapshot

    @save_final_snapshot.setter
    def save_final_snapshot(self, save_final_snapshot):
        """Sets the save_final_snapshot of this PageConfigForGetTaskOutput.


        :param save_final_snapshot: The save_final_snapshot of this PageConfigForGetTaskOutput.  # noqa: E501
        :type: int
        """

        self._save_final_snapshot = save_final_snapshot

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


        :return: The screenshot_keypoint of this PageConfigForGetTaskOutput.  # noqa: E501
        :rtype: bool
        """
        return self._screenshot_keypoint

    @screenshot_keypoint.setter
    def screenshot_keypoint(self, screenshot_keypoint):
        """Sets the screenshot_keypoint of this PageConfigForGetTaskOutput.


        :param screenshot_keypoint: The screenshot_keypoint of this PageConfigForGetTaskOutput.  # noqa: E501
        :type: bool
        """

        self._screenshot_keypoint = screenshot_keypoint

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


        :return: The timeout of this PageConfigForGetTaskOutput.  # noqa: E501
        :rtype: int
        """
        return self._timeout

    @timeout.setter
    def timeout(self, timeout):
        """Sets the timeout of this PageConfigForGetTaskOutput.


        :param timeout: The timeout of this PageConfigForGetTaskOutput.  # noqa: E501
        :type: int
        """

        self._timeout = timeout

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

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