# coding: utf-8

"""
    CloudEndure API documentation

    © 2017 CloudEndure All rights reserved  # General Request authentication in CloudEndure's API is done using session cookies. A session cookie is returned upon successful execution of the \"login\" method. This value must then be provided within the request headers of all subsequent API requests.  ## Errors Some errors are not specifically written in every method since they may always return. Those are: 1) 401 (Unauthorized) - for unauthenticated requests. 2) 405 (Method Not Allowed) - for using a method that is not supported (POST instead of GET). 3) 403 (Forbidden) - request is authenticated, but the user is not allowed to access. 4) 422 (Unprocessable Entity) - for invalid input.  ## Formats All strings with date-time format are according to RFC3339.  All strings with \"duration\" format are according to ISO8601. For example, a full day duration can be specified with \"PNNNND\".   # noqa: E501

    OpenAPI spec version: 5
    Contact: https://bit.ly/2T54hSc
    Generated by: https://github.com/swagger-api/swagger-codegen.git
"""

import pprint
import re  # noqa: F401

import six


class CloudEndureAllProjectFeatures:
    """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 = {
        "google": "bool",
        "is_demo": "bool",
        "windows_converters": "bool",
        "force_reversed_handshake_direction": "bool",
        "no_converters": "bool",
        "vio": "bool",
        "no_cloud": "bool",
        "consistent_snapshot_creation_interval_min": "int",
        "no_public_ips": "bool",
        "daily_pit_number": "int",
        "mtu_size": "int",
        "allow_byol_on_dedicated_instance": "bool",
        "max_converter_volumes": "int",
        "azurearm": "bool",
        "vcenter": "bool",
        "subnet_filter": "str",
        "no_snapshot_considered_lag_milliseconds": "int",
        "no_converters_windows": "bool",
        "disable_replica_creation": "bool",
        "aws": "bool",
        "max_replicator_volumes": "int",
        "allow_recovery_plans": "bool",
        "snapshot_creation_interval_min": "int",
        "snapshot_on_demand_timeout": "int",
        "allow_archiving": "bool",
        "custom_replicator_instance_type": "str",
        "disable_snapshot_on_demand": "bool",
        "disable_install": "bool",
        "hdd": "bool",
        "snapshot_creation_interval_max": "int",
        "ce_admin_properties": "object",
        "azure": "bool",
    }

    attribute_map = {
        "google": "google",
        "is_demo": "is_demo",
        "windows_converters": "windows_converters",
        "force_reversed_handshake_direction": "force_reversed_handshake_direction",
        "no_converters": "no_converters",
        "vio": "vio",
        "no_cloud": "no_cloud",
        "consistent_snapshot_creation_interval_min": "consistent_snapshot_creation_interval_min",
        "no_public_ips": "no_public_ips",
        "daily_pit_number": "daily_pit_number",
        "mtu_size": "mtu_size",
        "allow_byol_on_dedicated_instance": "allow_byol_on_dedicated_instance",
        "max_converter_volumes": "max_converter_volumes",
        "azurearm": "azurearm",
        "vcenter": "vcenter",
        "subnet_filter": "subnet_filter",
        "no_snapshot_considered_lag_milliseconds": "no_snapshot_considered_lag_milliseconds",
        "no_converters_windows": "no_converters_windows",
        "disable_replica_creation": "disable_replica_creation",
        "aws": "aws",
        "max_replicator_volumes": "max_replicator_volumes",
        "allow_recovery_plans": "allow_recovery_plans",
        "snapshot_creation_interval_min": "snapshot_creation_interval_min",
        "snapshot_on_demand_timeout": "snapshot_on_demand_timeout",
        "allow_archiving": "allow_archiving",
        "custom_replicator_instance_type": "custom_replicator_instance_type",
        "disable_snapshot_on_demand": "disable_snapshot_on_demand",
        "disable_install": "disable_install",
        "hdd": "hdd",
        "snapshot_creation_interval_max": "snapshot_creation_interval_max",
        "ce_admin_properties": "ceAdminProperties",
        "azure": "azure",
    }

    def __init__(
        self,
        google=None,
        is_demo=None,
        windows_converters=None,
        force_reversed_handshake_direction=None,
        no_converters=None,
        vio=None,
        no_cloud=None,
        consistent_snapshot_creation_interval_min=None,
        no_public_ips=None,
        daily_pit_number=None,
        mtu_size=None,
        allow_byol_on_dedicated_instance=None,
        max_converter_volumes=None,
        azurearm=None,
        vcenter=None,
        subnet_filter=None,
        no_snapshot_considered_lag_milliseconds=None,
        no_converters_windows=None,
        disable_replica_creation=None,
        aws=None,
        max_replicator_volumes=None,
        allow_recovery_plans=None,
        snapshot_creation_interval_min=None,
        snapshot_on_demand_timeout=None,
        allow_archiving=None,
        custom_replicator_instance_type=None,
        disable_snapshot_on_demand=None,
        disable_install=None,
        hdd=None,
        snapshot_creation_interval_max=None,
        ce_admin_properties=None,
        azure=None,
    ):  # noqa: E501
        """CloudEndureAllProjectFeatures - a model defined in Swagger"""  # noqa: E501
        self._google = None
        self._is_demo = None
        self._windows_converters = None
        self._force_reversed_handshake_direction = None
        self._no_converters = None
        self._vio = None
        self._no_cloud = None
        self._consistent_snapshot_creation_interval_min = None
        self._no_public_ips = None
        self._daily_pit_number = None
        self._mtu_size = None
        self._allow_byol_on_dedicated_instance = None
        self._max_converter_volumes = None
        self._azurearm = None
        self._vcenter = None
        self._subnet_filter = None
        self._no_snapshot_considered_lag_milliseconds = None
        self._no_converters_windows = None
        self._disable_replica_creation = None
        self._aws = None
        self._max_replicator_volumes = None
        self._allow_recovery_plans = None
        self._snapshot_creation_interval_min = None
        self._snapshot_on_demand_timeout = None
        self._allow_archiving = None
        self._custom_replicator_instance_type = None
        self._disable_snapshot_on_demand = None
        self._disable_install = None
        self._hdd = None
        self._snapshot_creation_interval_max = None
        self._ce_admin_properties = None
        self._azure = None
        self.discriminator = None
        if google is not None:
            self.google = google
        if is_demo is not None:
            self.is_demo = is_demo
        if windows_converters is not None:
            self.windows_converters = windows_converters
        if force_reversed_handshake_direction is not None:
            self.force_reversed_handshake_direction = force_reversed_handshake_direction
        if no_converters is not None:
            self.no_converters = no_converters
        if vio is not None:
            self.vio = vio
        if no_cloud is not None:
            self.no_cloud = no_cloud
        if consistent_snapshot_creation_interval_min is not None:
            self.consistent_snapshot_creation_interval_min = (
                consistent_snapshot_creation_interval_min
            )
        if no_public_ips is not None:
            self.no_public_ips = no_public_ips
        if daily_pit_number is not None:
            self.daily_pit_number = daily_pit_number
        if mtu_size is not None:
            self.mtu_size = mtu_size
        if allow_byol_on_dedicated_instance is not None:
            self.allow_byol_on_dedicated_instance = allow_byol_on_dedicated_instance
        if max_converter_volumes is not None:
            self.max_converter_volumes = max_converter_volumes
        if azurearm is not None:
            self.azurearm = azurearm
        if vcenter is not None:
            self.vcenter = vcenter
        if subnet_filter is not None:
            self.subnet_filter = subnet_filter
        if no_snapshot_considered_lag_milliseconds is not None:
            self.no_snapshot_considered_lag_milliseconds = (
                no_snapshot_considered_lag_milliseconds
            )
        if no_converters_windows is not None:
            self.no_converters_windows = no_converters_windows
        if disable_replica_creation is not None:
            self.disable_replica_creation = disable_replica_creation
        if aws is not None:
            self.aws = aws
        if max_replicator_volumes is not None:
            self.max_replicator_volumes = max_replicator_volumes
        if allow_recovery_plans is not None:
            self.allow_recovery_plans = allow_recovery_plans
        if snapshot_creation_interval_min is not None:
            self.snapshot_creation_interval_min = snapshot_creation_interval_min
        if snapshot_on_demand_timeout is not None:
            self.snapshot_on_demand_timeout = snapshot_on_demand_timeout
        if allow_archiving is not None:
            self.allow_archiving = allow_archiving
        if custom_replicator_instance_type is not None:
            self.custom_replicator_instance_type = custom_replicator_instance_type
        if disable_snapshot_on_demand is not None:
            self.disable_snapshot_on_demand = disable_snapshot_on_demand
        if disable_install is not None:
            self.disable_install = disable_install
        if hdd is not None:
            self.hdd = hdd
        if snapshot_creation_interval_max is not None:
            self.snapshot_creation_interval_max = snapshot_creation_interval_max
        if ce_admin_properties is not None:
            self.ce_admin_properties = ce_admin_properties
        if azure is not None:
            self.azure = azure

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


        :return: The google of this CloudEndureAllProjectFeatures.  # noqa: E501
        :rtype: bool
        """
        return self._google

    @google.setter
    def google(self, google):
        """Sets the google of this CloudEndureAllProjectFeatures.


        :param google: The google of this CloudEndureAllProjectFeatures.  # noqa: E501
        :type: bool
        """

        self._google = google

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


        :return: The is_demo of this CloudEndureAllProjectFeatures.  # noqa: E501
        :rtype: bool
        """
        return self._is_demo

    @is_demo.setter
    def is_demo(self, is_demo):
        """Sets the is_demo of this CloudEndureAllProjectFeatures.


        :param is_demo: The is_demo of this CloudEndureAllProjectFeatures.  # noqa: E501
        :type: bool
        """

        self._is_demo = is_demo

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


        :return: The windows_converters of this CloudEndureAllProjectFeatures.  # noqa: E501
        :rtype: bool
        """
        return self._windows_converters

    @windows_converters.setter
    def windows_converters(self, windows_converters):
        """Sets the windows_converters of this CloudEndureAllProjectFeatures.


        :param windows_converters: The windows_converters of this CloudEndureAllProjectFeatures.  # noqa: E501
        :type: bool
        """

        self._windows_converters = windows_converters

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


        :return: The force_reversed_handshake_direction of this CloudEndureAllProjectFeatures.  # noqa: E501
        :rtype: bool
        """
        return self._force_reversed_handshake_direction

    @force_reversed_handshake_direction.setter
    def force_reversed_handshake_direction(self, force_reversed_handshake_direction):
        """Sets the force_reversed_handshake_direction of this CloudEndureAllProjectFeatures.


        :param force_reversed_handshake_direction: The force_reversed_handshake_direction of this CloudEndureAllProjectFeatures.  # noqa: E501
        :type: bool
        """

        self._force_reversed_handshake_direction = force_reversed_handshake_direction

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


        :return: The no_converters of this CloudEndureAllProjectFeatures.  # noqa: E501
        :rtype: bool
        """
        return self._no_converters

    @no_converters.setter
    def no_converters(self, no_converters):
        """Sets the no_converters of this CloudEndureAllProjectFeatures.


        :param no_converters: The no_converters of this CloudEndureAllProjectFeatures.  # noqa: E501
        :type: bool
        """

        self._no_converters = no_converters

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


        :return: The vio of this CloudEndureAllProjectFeatures.  # noqa: E501
        :rtype: bool
        """
        return self._vio

    @vio.setter
    def vio(self, vio):
        """Sets the vio of this CloudEndureAllProjectFeatures.


        :param vio: The vio of this CloudEndureAllProjectFeatures.  # noqa: E501
        :type: bool
        """

        self._vio = vio

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


        :return: The no_cloud of this CloudEndureAllProjectFeatures.  # noqa: E501
        :rtype: bool
        """
        return self._no_cloud

    @no_cloud.setter
    def no_cloud(self, no_cloud):
        """Sets the no_cloud of this CloudEndureAllProjectFeatures.


        :param no_cloud: The no_cloud of this CloudEndureAllProjectFeatures.  # noqa: E501
        :type: bool
        """

        self._no_cloud = no_cloud

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


        :return: The consistent_snapshot_creation_interval_min of this CloudEndureAllProjectFeatures.  # noqa: E501
        :rtype: int
        """
        return self._consistent_snapshot_creation_interval_min

    @consistent_snapshot_creation_interval_min.setter
    def consistent_snapshot_creation_interval_min(
        self, consistent_snapshot_creation_interval_min
    ):
        """Sets the consistent_snapshot_creation_interval_min of this CloudEndureAllProjectFeatures.


        :param consistent_snapshot_creation_interval_min: The consistent_snapshot_creation_interval_min of this CloudEndureAllProjectFeatures.  # noqa: E501
        :type: int
        """

        self._consistent_snapshot_creation_interval_min = (
            consistent_snapshot_creation_interval_min
        )

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


        :return: The no_public_ips of this CloudEndureAllProjectFeatures.  # noqa: E501
        :rtype: bool
        """
        return self._no_public_ips

    @no_public_ips.setter
    def no_public_ips(self, no_public_ips):
        """Sets the no_public_ips of this CloudEndureAllProjectFeatures.


        :param no_public_ips: The no_public_ips of this CloudEndureAllProjectFeatures.  # noqa: E501
        :type: bool
        """

        self._no_public_ips = no_public_ips

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


        :return: The daily_pit_number of this CloudEndureAllProjectFeatures.  # noqa: E501
        :rtype: int
        """
        return self._daily_pit_number

    @daily_pit_number.setter
    def daily_pit_number(self, daily_pit_number):
        """Sets the daily_pit_number of this CloudEndureAllProjectFeatures.


        :param daily_pit_number: The daily_pit_number of this CloudEndureAllProjectFeatures.  # noqa: E501
        :type: int
        """

        self._daily_pit_number = daily_pit_number

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


        :return: The mtu_size of this CloudEndureAllProjectFeatures.  # noqa: E501
        :rtype: int
        """
        return self._mtu_size

    @mtu_size.setter
    def mtu_size(self, mtu_size):
        """Sets the mtu_size of this CloudEndureAllProjectFeatures.


        :param mtu_size: The mtu_size of this CloudEndureAllProjectFeatures.  # noqa: E501
        :type: int
        """

        self._mtu_size = mtu_size

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


        :return: The allow_byol_on_dedicated_instance of this CloudEndureAllProjectFeatures.  # noqa: E501
        :rtype: bool
        """
        return self._allow_byol_on_dedicated_instance

    @allow_byol_on_dedicated_instance.setter
    def allow_byol_on_dedicated_instance(self, allow_byol_on_dedicated_instance):
        """Sets the allow_byol_on_dedicated_instance of this CloudEndureAllProjectFeatures.


        :param allow_byol_on_dedicated_instance: The allow_byol_on_dedicated_instance of this CloudEndureAllProjectFeatures.  # noqa: E501
        :type: bool
        """

        self._allow_byol_on_dedicated_instance = allow_byol_on_dedicated_instance

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


        :return: The max_converter_volumes of this CloudEndureAllProjectFeatures.  # noqa: E501
        :rtype: int
        """
        return self._max_converter_volumes

    @max_converter_volumes.setter
    def max_converter_volumes(self, max_converter_volumes):
        """Sets the max_converter_volumes of this CloudEndureAllProjectFeatures.


        :param max_converter_volumes: The max_converter_volumes of this CloudEndureAllProjectFeatures.  # noqa: E501
        :type: int
        """

        self._max_converter_volumes = max_converter_volumes

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


        :return: The azurearm of this CloudEndureAllProjectFeatures.  # noqa: E501
        :rtype: bool
        """
        return self._azurearm

    @azurearm.setter
    def azurearm(self, azurearm):
        """Sets the azurearm of this CloudEndureAllProjectFeatures.


        :param azurearm: The azurearm of this CloudEndureAllProjectFeatures.  # noqa: E501
        :type: bool
        """

        self._azurearm = azurearm

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


        :return: The vcenter of this CloudEndureAllProjectFeatures.  # noqa: E501
        :rtype: bool
        """
        return self._vcenter

    @vcenter.setter
    def vcenter(self, vcenter):
        """Sets the vcenter of this CloudEndureAllProjectFeatures.


        :param vcenter: The vcenter of this CloudEndureAllProjectFeatures.  # noqa: E501
        :type: bool
        """

        self._vcenter = vcenter

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


        :return: The subnet_filter of this CloudEndureAllProjectFeatures.  # noqa: E501
        :rtype: str
        """
        return self._subnet_filter

    @subnet_filter.setter
    def subnet_filter(self, subnet_filter):
        """Sets the subnet_filter of this CloudEndureAllProjectFeatures.


        :param subnet_filter: The subnet_filter of this CloudEndureAllProjectFeatures.  # noqa: E501
        :type: str
        """

        self._subnet_filter = subnet_filter

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


        :return: The no_snapshot_considered_lag_milliseconds of this CloudEndureAllProjectFeatures.  # noqa: E501
        :rtype: int
        """
        return self._no_snapshot_considered_lag_milliseconds

    @no_snapshot_considered_lag_milliseconds.setter
    def no_snapshot_considered_lag_milliseconds(
        self, no_snapshot_considered_lag_milliseconds
    ):
        """Sets the no_snapshot_considered_lag_milliseconds of this CloudEndureAllProjectFeatures.


        :param no_snapshot_considered_lag_milliseconds: The no_snapshot_considered_lag_milliseconds of this CloudEndureAllProjectFeatures.  # noqa: E501
        :type: int
        """

        self._no_snapshot_considered_lag_milliseconds = (
            no_snapshot_considered_lag_milliseconds
        )

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


        :return: The no_converters_windows of this CloudEndureAllProjectFeatures.  # noqa: E501
        :rtype: bool
        """
        return self._no_converters_windows

    @no_converters_windows.setter
    def no_converters_windows(self, no_converters_windows):
        """Sets the no_converters_windows of this CloudEndureAllProjectFeatures.


        :param no_converters_windows: The no_converters_windows of this CloudEndureAllProjectFeatures.  # noqa: E501
        :type: bool
        """

        self._no_converters_windows = no_converters_windows

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


        :return: The disable_replica_creation of this CloudEndureAllProjectFeatures.  # noqa: E501
        :rtype: bool
        """
        return self._disable_replica_creation

    @disable_replica_creation.setter
    def disable_replica_creation(self, disable_replica_creation):
        """Sets the disable_replica_creation of this CloudEndureAllProjectFeatures.


        :param disable_replica_creation: The disable_replica_creation of this CloudEndureAllProjectFeatures.  # noqa: E501
        :type: bool
        """

        self._disable_replica_creation = disable_replica_creation

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


        :return: The aws of this CloudEndureAllProjectFeatures.  # noqa: E501
        :rtype: bool
        """
        return self._aws

    @aws.setter
    def aws(self, aws):
        """Sets the aws of this CloudEndureAllProjectFeatures.


        :param aws: The aws of this CloudEndureAllProjectFeatures.  # noqa: E501
        :type: bool
        """

        self._aws = aws

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


        :return: The max_replicator_volumes of this CloudEndureAllProjectFeatures.  # noqa: E501
        :rtype: int
        """
        return self._max_replicator_volumes

    @max_replicator_volumes.setter
    def max_replicator_volumes(self, max_replicator_volumes):
        """Sets the max_replicator_volumes of this CloudEndureAllProjectFeatures.


        :param max_replicator_volumes: The max_replicator_volumes of this CloudEndureAllProjectFeatures.  # noqa: E501
        :type: int
        """

        self._max_replicator_volumes = max_replicator_volumes

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


        :return: The allow_recovery_plans of this CloudEndureAllProjectFeatures.  # noqa: E501
        :rtype: bool
        """
        return self._allow_recovery_plans

    @allow_recovery_plans.setter
    def allow_recovery_plans(self, allow_recovery_plans):
        """Sets the allow_recovery_plans of this CloudEndureAllProjectFeatures.


        :param allow_recovery_plans: The allow_recovery_plans of this CloudEndureAllProjectFeatures.  # noqa: E501
        :type: bool
        """

        self._allow_recovery_plans = allow_recovery_plans

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


        :return: The snapshot_creation_interval_min of this CloudEndureAllProjectFeatures.  # noqa: E501
        :rtype: int
        """
        return self._snapshot_creation_interval_min

    @snapshot_creation_interval_min.setter
    def snapshot_creation_interval_min(self, snapshot_creation_interval_min):
        """Sets the snapshot_creation_interval_min of this CloudEndureAllProjectFeatures.


        :param snapshot_creation_interval_min: The snapshot_creation_interval_min of this CloudEndureAllProjectFeatures.  # noqa: E501
        :type: int
        """

        self._snapshot_creation_interval_min = snapshot_creation_interval_min

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


        :return: The snapshot_on_demand_timeout of this CloudEndureAllProjectFeatures.  # noqa: E501
        :rtype: int
        """
        return self._snapshot_on_demand_timeout

    @snapshot_on_demand_timeout.setter
    def snapshot_on_demand_timeout(self, snapshot_on_demand_timeout):
        """Sets the snapshot_on_demand_timeout of this CloudEndureAllProjectFeatures.


        :param snapshot_on_demand_timeout: The snapshot_on_demand_timeout of this CloudEndureAllProjectFeatures.  # noqa: E501
        :type: int
        """

        self._snapshot_on_demand_timeout = snapshot_on_demand_timeout

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


        :return: The allow_archiving of this CloudEndureAllProjectFeatures.  # noqa: E501
        :rtype: bool
        """
        return self._allow_archiving

    @allow_archiving.setter
    def allow_archiving(self, allow_archiving):
        """Sets the allow_archiving of this CloudEndureAllProjectFeatures.


        :param allow_archiving: The allow_archiving of this CloudEndureAllProjectFeatures.  # noqa: E501
        :type: bool
        """

        self._allow_archiving = allow_archiving

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


        :return: The custom_replicator_instance_type of this CloudEndureAllProjectFeatures.  # noqa: E501
        :rtype: str
        """
        return self._custom_replicator_instance_type

    @custom_replicator_instance_type.setter
    def custom_replicator_instance_type(self, custom_replicator_instance_type):
        """Sets the custom_replicator_instance_type of this CloudEndureAllProjectFeatures.


        :param custom_replicator_instance_type: The custom_replicator_instance_type of this CloudEndureAllProjectFeatures.  # noqa: E501
        :type: str
        """

        self._custom_replicator_instance_type = custom_replicator_instance_type

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


        :return: The disable_snapshot_on_demand of this CloudEndureAllProjectFeatures.  # noqa: E501
        :rtype: bool
        """
        return self._disable_snapshot_on_demand

    @disable_snapshot_on_demand.setter
    def disable_snapshot_on_demand(self, disable_snapshot_on_demand):
        """Sets the disable_snapshot_on_demand of this CloudEndureAllProjectFeatures.


        :param disable_snapshot_on_demand: The disable_snapshot_on_demand of this CloudEndureAllProjectFeatures.  # noqa: E501
        :type: bool
        """

        self._disable_snapshot_on_demand = disable_snapshot_on_demand

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


        :return: The disable_install of this CloudEndureAllProjectFeatures.  # noqa: E501
        :rtype: bool
        """
        return self._disable_install

    @disable_install.setter
    def disable_install(self, disable_install):
        """Sets the disable_install of this CloudEndureAllProjectFeatures.


        :param disable_install: The disable_install of this CloudEndureAllProjectFeatures.  # noqa: E501
        :type: bool
        """

        self._disable_install = disable_install

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


        :return: The hdd of this CloudEndureAllProjectFeatures.  # noqa: E501
        :rtype: bool
        """
        return self._hdd

    @hdd.setter
    def hdd(self, hdd):
        """Sets the hdd of this CloudEndureAllProjectFeatures.


        :param hdd: The hdd of this CloudEndureAllProjectFeatures.  # noqa: E501
        :type: bool
        """

        self._hdd = hdd

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


        :return: The snapshot_creation_interval_max of this CloudEndureAllProjectFeatures.  # noqa: E501
        :rtype: int
        """
        return self._snapshot_creation_interval_max

    @snapshot_creation_interval_max.setter
    def snapshot_creation_interval_max(self, snapshot_creation_interval_max):
        """Sets the snapshot_creation_interval_max of this CloudEndureAllProjectFeatures.


        :param snapshot_creation_interval_max: The snapshot_creation_interval_max of this CloudEndureAllProjectFeatures.  # noqa: E501
        :type: int
        """

        self._snapshot_creation_interval_max = snapshot_creation_interval_max

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

        For internal use.  # noqa: E501

        :return: The ce_admin_properties of this CloudEndureAllProjectFeatures.  # noqa: E501
        :rtype: object
        """
        return self._ce_admin_properties

    @ce_admin_properties.setter
    def ce_admin_properties(self, ce_admin_properties):
        """Sets the ce_admin_properties of this CloudEndureAllProjectFeatures.

        For internal use.  # noqa: E501

        :param ce_admin_properties: The ce_admin_properties of this CloudEndureAllProjectFeatures.  # noqa: E501
        :type: object
        """

        self._ce_admin_properties = ce_admin_properties

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


        :return: The azure of this CloudEndureAllProjectFeatures.  # noqa: E501
        :rtype: bool
        """
        return self._azure

    @azure.setter
    def azure(self, azure):
        """Sets the azure of this CloudEndureAllProjectFeatures.


        :param azure: The azure of this CloudEndureAllProjectFeatures.  # noqa: E501
        :type: bool
        """

        self._azure = azure

    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(CloudEndureAllProjectFeatures, 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, CloudEndureAllProjectFeatures):
            return False

        return self.__dict__ == other.__dict__

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