# coding: utf-8

"""
    Zadara VPSA Object Storage REST API

    # Overview  This document outlines the methods available for administrating your VPSA&#174; Object Storage. The API supports form-encoded, JSON, and XML requests, and can return either JSON or XML responses.  ## Usage  The majority of the APIs available require authentication which requires an API token to use. You can retrieve this token through the Users section of your VPSA, or through the API using the \"Return a user's access key\" API in the Users Section below.  ## Authentication Methods  The authentication token can be passed either through the access_key parameter inside of the body of the REST API request, or through the X-Access-Key header. Alternately, you can use the username and password parameters for authentication, but we do not recommend this method for anything other than possibly retrieving an API key.  By default , all operations are allowed only to VPSA Object Storage admin. Some actions are allowed by an account admin and they will be marked on the action's header  ## Timeouts  By default, all operations that don't complete within five seconds will return a message informing you that the action may take some time to complete. When using the API, this can cause some actions, such as adding drives to storage policy, to be undesirably asynchronous. You can specify your own timeout with the timeout parameter, in seconds, and a timeout value of -1 specifies an infinite timeout.  ## Metering API  Metering information can be retrieved using the VPSA Object Storage API for the following components:  - Accounts - Users - Drives - Virtual Controllers - Load Balancer Groups - Storage Policies  Metering information returned by the API is subject to the following constraints:  - 10 seconds interval - 1 hour range - 1 minute interval - 1 day range - 1 hour interval - 30 days range  Values outside the accepted range will be returned as 0.  ## Questions  If you have any questions or need support involving the REST API, please contact for assistance.   # noqa: E501

    OpenAPI spec version: 23.03-sp1
    Contact: support@zadarastorage.com
    Generated by: https://github.com/swagger-api/swagger-codegen.git
"""


import pprint
import re  # noqa: F401

import six

from Zios.configuration import Configuration


class InlineResponse20035ResponsePolicy(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 = {
        'name': 'str',
        'display_name': 'str',
        'default': 'str',
        'policy_index': 'int',
        'num_regions': 'int',
        'replication_mode': 'str',
        'policy_type': 'int',
        'system': 'str',
        'number_of_mirrors': 'int',
        'data_fragments': 'int',
        'parity_fragments': 'int',
        'ring_version': 'int',
        'type': 'str',
        'state': 'str',
        'health_status': 'str',
        'health_percentage': 'str',
        'rebalance_status': 'str',
        'rebalance_percentage': 'str',
        'total_drives': 'int',
        'capacity': 'int',
        'gb_per_month_cost': 'float',
        'capacity_mode': 'str',
        'capacity_history_min': 'int',
        'alert_mode_min': 'int',
        'emergency_mode_percentage': 'int',
        'can_reconfig': 'int',
        'partition_percent_normal': 'float',
        'partition_percent_degraded': 'float',
        'partition_percent_critical': 'float',
        'partition_count_normal': 'int',
        'partition_count_degraded': 'int',
        'partition_count_critical': 'int',
        'partition_count_total': 'int',
        'short_description': 'str',
        'full_description': 'str',
        'created_at': 'str',
        'modified_at': 'str',
        'reported_at': 'str',
        'rebalanced_at': 'str',
        'disks_count': 'int',
        'disks': 'list[InlineResponse20015ResponseDisks]'
    }

    attribute_map = {
        'name': 'name',
        'display_name': 'display_name',
        'default': 'default',
        'policy_index': 'policy_index',
        'num_regions': 'num_regions',
        'replication_mode': 'replication_mode',
        'policy_type': 'policy_type',
        'system': 'system',
        'number_of_mirrors': 'number_of_mirrors',
        'data_fragments': 'data_fragments',
        'parity_fragments': 'parity_fragments',
        'ring_version': 'ring_version',
        'type': 'type',
        'state': 'state',
        'health_status': 'health_status',
        'health_percentage': 'health_percentage',
        'rebalance_status': 'rebalance_status',
        'rebalance_percentage': 'rebalance_percentage',
        'total_drives': 'total_drives',
        'capacity': 'capacity',
        'gb_per_month_cost': 'gb_per_month_cost',
        'capacity_mode': 'capacity_mode',
        'capacity_history_min': 'capacity_history_min',
        'alert_mode_min': 'alert_mode_min',
        'emergency_mode_percentage': 'emergency_mode_percentage',
        'can_reconfig': 'can_reconfig',
        'partition_percent_normal': 'partition_percent_normal',
        'partition_percent_degraded': 'partition_percent_degraded',
        'partition_percent_critical': 'partition_percent_critical',
        'partition_count_normal': 'partition_count_normal',
        'partition_count_degraded': 'partition_count_degraded',
        'partition_count_critical': 'partition_count_critical',
        'partition_count_total': 'partition_count_total',
        'short_description': 'short_description',
        'full_description': 'full_description',
        'created_at': 'created_at',
        'modified_at': 'modified_at',
        'reported_at': 'reported_at',
        'rebalanced_at': 'rebalanced_at',
        'disks_count': 'disks_count',
        'disks': 'disks'
    }

    def __init__(self, name=None, display_name=None, default=None, policy_index=None, num_regions=None, replication_mode=None, policy_type=None, system=None, number_of_mirrors=None, data_fragments=None, parity_fragments=None, ring_version=None, type=None, state=None, health_status=None, health_percentage=None, rebalance_status=None, rebalance_percentage=None, total_drives=None, capacity=None, gb_per_month_cost=None, capacity_mode=None, capacity_history_min=None, alert_mode_min=None, emergency_mode_percentage=None, can_reconfig=None, partition_percent_normal=None, partition_percent_degraded=None, partition_percent_critical=None, partition_count_normal=None, partition_count_degraded=None, partition_count_critical=None, partition_count_total=None, short_description=None, full_description=None, created_at=None, modified_at=None, reported_at=None, rebalanced_at=None, disks_count=None, disks=None, _configuration=None):  # noqa: E501
        """InlineResponse20035ResponsePolicy - a model defined in Swagger"""  # noqa: E501
        if _configuration is None:
            _configuration = Configuration()
        self._configuration = _configuration

        self._name = None
        self._display_name = None
        self._default = None
        self._policy_index = None
        self._num_regions = None
        self._replication_mode = None
        self._policy_type = None
        self._system = None
        self._number_of_mirrors = None
        self._data_fragments = None
        self._parity_fragments = None
        self._ring_version = None
        self._type = None
        self._state = None
        self._health_status = None
        self._health_percentage = None
        self._rebalance_status = None
        self._rebalance_percentage = None
        self._total_drives = None
        self._capacity = None
        self._gb_per_month_cost = None
        self._capacity_mode = None
        self._capacity_history_min = None
        self._alert_mode_min = None
        self._emergency_mode_percentage = None
        self._can_reconfig = None
        self._partition_percent_normal = None
        self._partition_percent_degraded = None
        self._partition_percent_critical = None
        self._partition_count_normal = None
        self._partition_count_degraded = None
        self._partition_count_critical = None
        self._partition_count_total = None
        self._short_description = None
        self._full_description = None
        self._created_at = None
        self._modified_at = None
        self._reported_at = None
        self._rebalanced_at = None
        self._disks_count = None
        self._disks = None
        self.discriminator = None

        if name is not None:
            self.name = name
        if display_name is not None:
            self.display_name = display_name
        if default is not None:
            self.default = default
        if policy_index is not None:
            self.policy_index = policy_index
        if num_regions is not None:
            self.num_regions = num_regions
        if replication_mode is not None:
            self.replication_mode = replication_mode
        if policy_type is not None:
            self.policy_type = policy_type
        if system is not None:
            self.system = system
        if number_of_mirrors is not None:
            self.number_of_mirrors = number_of_mirrors
        if data_fragments is not None:
            self.data_fragments = data_fragments
        if parity_fragments is not None:
            self.parity_fragments = parity_fragments
        if ring_version is not None:
            self.ring_version = ring_version
        if type is not None:
            self.type = type
        if state is not None:
            self.state = state
        if health_status is not None:
            self.health_status = health_status
        if health_percentage is not None:
            self.health_percentage = health_percentage
        if rebalance_status is not None:
            self.rebalance_status = rebalance_status
        if rebalance_percentage is not None:
            self.rebalance_percentage = rebalance_percentage
        if total_drives is not None:
            self.total_drives = total_drives
        if capacity is not None:
            self.capacity = capacity
        if gb_per_month_cost is not None:
            self.gb_per_month_cost = gb_per_month_cost
        if capacity_mode is not None:
            self.capacity_mode = capacity_mode
        if capacity_history_min is not None:
            self.capacity_history_min = capacity_history_min
        if alert_mode_min is not None:
            self.alert_mode_min = alert_mode_min
        if emergency_mode_percentage is not None:
            self.emergency_mode_percentage = emergency_mode_percentage
        if can_reconfig is not None:
            self.can_reconfig = can_reconfig
        if partition_percent_normal is not None:
            self.partition_percent_normal = partition_percent_normal
        if partition_percent_degraded is not None:
            self.partition_percent_degraded = partition_percent_degraded
        if partition_percent_critical is not None:
            self.partition_percent_critical = partition_percent_critical
        if partition_count_normal is not None:
            self.partition_count_normal = partition_count_normal
        if partition_count_degraded is not None:
            self.partition_count_degraded = partition_count_degraded
        if partition_count_critical is not None:
            self.partition_count_critical = partition_count_critical
        if partition_count_total is not None:
            self.partition_count_total = partition_count_total
        if short_description is not None:
            self.short_description = short_description
        if full_description is not None:
            self.full_description = full_description
        if created_at is not None:
            self.created_at = created_at
        if modified_at is not None:
            self.modified_at = modified_at
        if reported_at is not None:
            self.reported_at = reported_at
        if rebalanced_at is not None:
            self.rebalanced_at = rebalanced_at
        if disks_count is not None:
            self.disks_count = disks_count
        if disks is not None:
            self.disks = disks

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


        :return: The name of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :rtype: str
        """
        return self._name

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


        :param name: The name of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :type: str
        """

        self._name = name

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


        :return: The display_name of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :rtype: str
        """
        return self._display_name

    @display_name.setter
    def display_name(self, display_name):
        """Sets the display_name of this InlineResponse20035ResponsePolicy.


        :param display_name: The display_name of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :type: str
        """

        self._display_name = display_name

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


        :return: The default of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :rtype: str
        """
        return self._default

    @default.setter
    def default(self, default):
        """Sets the default of this InlineResponse20035ResponsePolicy.


        :param default: The default of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :type: str
        """

        self._default = default

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


        :return: The policy_index of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :rtype: int
        """
        return self._policy_index

    @policy_index.setter
    def policy_index(self, policy_index):
        """Sets the policy_index of this InlineResponse20035ResponsePolicy.


        :param policy_index: The policy_index of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :type: int
        """

        self._policy_index = policy_index

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


        :return: The num_regions of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :rtype: int
        """
        return self._num_regions

    @num_regions.setter
    def num_regions(self, num_regions):
        """Sets the num_regions of this InlineResponse20035ResponsePolicy.


        :param num_regions: The num_regions of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :type: int
        """

        self._num_regions = num_regions

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


        :return: The replication_mode of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :rtype: str
        """
        return self._replication_mode

    @replication_mode.setter
    def replication_mode(self, replication_mode):
        """Sets the replication_mode of this InlineResponse20035ResponsePolicy.


        :param replication_mode: The replication_mode of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :type: str
        """

        self._replication_mode = replication_mode

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


        :return: The policy_type of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :rtype: int
        """
        return self._policy_type

    @policy_type.setter
    def policy_type(self, policy_type):
        """Sets the policy_type of this InlineResponse20035ResponsePolicy.


        :param policy_type: The policy_type of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :type: int
        """

        self._policy_type = policy_type

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


        :return: The system of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :rtype: str
        """
        return self._system

    @system.setter
    def system(self, system):
        """Sets the system of this InlineResponse20035ResponsePolicy.


        :param system: The system of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :type: str
        """

        self._system = system

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


        :return: The number_of_mirrors of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :rtype: int
        """
        return self._number_of_mirrors

    @number_of_mirrors.setter
    def number_of_mirrors(self, number_of_mirrors):
        """Sets the number_of_mirrors of this InlineResponse20035ResponsePolicy.


        :param number_of_mirrors: The number_of_mirrors of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :type: int
        """

        self._number_of_mirrors = number_of_mirrors

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


        :return: The data_fragments of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :rtype: int
        """
        return self._data_fragments

    @data_fragments.setter
    def data_fragments(self, data_fragments):
        """Sets the data_fragments of this InlineResponse20035ResponsePolicy.


        :param data_fragments: The data_fragments of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :type: int
        """

        self._data_fragments = data_fragments

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


        :return: The parity_fragments of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :rtype: int
        """
        return self._parity_fragments

    @parity_fragments.setter
    def parity_fragments(self, parity_fragments):
        """Sets the parity_fragments of this InlineResponse20035ResponsePolicy.


        :param parity_fragments: The parity_fragments of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :type: int
        """

        self._parity_fragments = parity_fragments

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


        :return: The ring_version of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :rtype: int
        """
        return self._ring_version

    @ring_version.setter
    def ring_version(self, ring_version):
        """Sets the ring_version of this InlineResponse20035ResponsePolicy.


        :param ring_version: The ring_version of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :type: int
        """

        self._ring_version = ring_version

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


        :return: The type of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :rtype: str
        """
        return self._type

    @type.setter
    def type(self, type):
        """Sets the type of this InlineResponse20035ResponsePolicy.


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

        self._type = type

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


        :return: The state of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :rtype: str
        """
        return self._state

    @state.setter
    def state(self, state):
        """Sets the state of this InlineResponse20035ResponsePolicy.


        :param state: The state of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :type: str
        """

        self._state = state

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


        :return: The health_status of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :rtype: str
        """
        return self._health_status

    @health_status.setter
    def health_status(self, health_status):
        """Sets the health_status of this InlineResponse20035ResponsePolicy.


        :param health_status: The health_status of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :type: str
        """

        self._health_status = health_status

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


        :return: The health_percentage of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :rtype: str
        """
        return self._health_percentage

    @health_percentage.setter
    def health_percentage(self, health_percentage):
        """Sets the health_percentage of this InlineResponse20035ResponsePolicy.


        :param health_percentage: The health_percentage of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :type: str
        """

        self._health_percentage = health_percentage

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


        :return: The rebalance_status of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :rtype: str
        """
        return self._rebalance_status

    @rebalance_status.setter
    def rebalance_status(self, rebalance_status):
        """Sets the rebalance_status of this InlineResponse20035ResponsePolicy.


        :param rebalance_status: The rebalance_status of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :type: str
        """

        self._rebalance_status = rebalance_status

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


        :return: The rebalance_percentage of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :rtype: str
        """
        return self._rebalance_percentage

    @rebalance_percentage.setter
    def rebalance_percentage(self, rebalance_percentage):
        """Sets the rebalance_percentage of this InlineResponse20035ResponsePolicy.


        :param rebalance_percentage: The rebalance_percentage of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :type: str
        """

        self._rebalance_percentage = rebalance_percentage

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


        :return: The total_drives of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :rtype: int
        """
        return self._total_drives

    @total_drives.setter
    def total_drives(self, total_drives):
        """Sets the total_drives of this InlineResponse20035ResponsePolicy.


        :param total_drives: The total_drives of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :type: int
        """

        self._total_drives = total_drives

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


        :return: The capacity of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :rtype: int
        """
        return self._capacity

    @capacity.setter
    def capacity(self, capacity):
        """Sets the capacity of this InlineResponse20035ResponsePolicy.


        :param capacity: The capacity of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :type: int
        """

        self._capacity = capacity

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


        :return: The gb_per_month_cost of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :rtype: float
        """
        return self._gb_per_month_cost

    @gb_per_month_cost.setter
    def gb_per_month_cost(self, gb_per_month_cost):
        """Sets the gb_per_month_cost of this InlineResponse20035ResponsePolicy.


        :param gb_per_month_cost: The gb_per_month_cost of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :type: float
        """

        self._gb_per_month_cost = gb_per_month_cost

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


        :return: The capacity_mode of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :rtype: str
        """
        return self._capacity_mode

    @capacity_mode.setter
    def capacity_mode(self, capacity_mode):
        """Sets the capacity_mode of this InlineResponse20035ResponsePolicy.


        :param capacity_mode: The capacity_mode of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :type: str
        """

        self._capacity_mode = capacity_mode

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


        :return: The capacity_history_min of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :rtype: int
        """
        return self._capacity_history_min

    @capacity_history_min.setter
    def capacity_history_min(self, capacity_history_min):
        """Sets the capacity_history_min of this InlineResponse20035ResponsePolicy.


        :param capacity_history_min: The capacity_history_min of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :type: int
        """

        self._capacity_history_min = capacity_history_min

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


        :return: The alert_mode_min of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :rtype: int
        """
        return self._alert_mode_min

    @alert_mode_min.setter
    def alert_mode_min(self, alert_mode_min):
        """Sets the alert_mode_min of this InlineResponse20035ResponsePolicy.


        :param alert_mode_min: The alert_mode_min of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :type: int
        """

        self._alert_mode_min = alert_mode_min

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


        :return: The emergency_mode_percentage of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :rtype: int
        """
        return self._emergency_mode_percentage

    @emergency_mode_percentage.setter
    def emergency_mode_percentage(self, emergency_mode_percentage):
        """Sets the emergency_mode_percentage of this InlineResponse20035ResponsePolicy.


        :param emergency_mode_percentage: The emergency_mode_percentage of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :type: int
        """

        self._emergency_mode_percentage = emergency_mode_percentage

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


        :return: The can_reconfig of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :rtype: int
        """
        return self._can_reconfig

    @can_reconfig.setter
    def can_reconfig(self, can_reconfig):
        """Sets the can_reconfig of this InlineResponse20035ResponsePolicy.


        :param can_reconfig: The can_reconfig of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :type: int
        """

        self._can_reconfig = can_reconfig

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


        :return: The partition_percent_normal of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :rtype: float
        """
        return self._partition_percent_normal

    @partition_percent_normal.setter
    def partition_percent_normal(self, partition_percent_normal):
        """Sets the partition_percent_normal of this InlineResponse20035ResponsePolicy.


        :param partition_percent_normal: The partition_percent_normal of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :type: float
        """

        self._partition_percent_normal = partition_percent_normal

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


        :return: The partition_percent_degraded of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :rtype: float
        """
        return self._partition_percent_degraded

    @partition_percent_degraded.setter
    def partition_percent_degraded(self, partition_percent_degraded):
        """Sets the partition_percent_degraded of this InlineResponse20035ResponsePolicy.


        :param partition_percent_degraded: The partition_percent_degraded of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :type: float
        """

        self._partition_percent_degraded = partition_percent_degraded

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


        :return: The partition_percent_critical of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :rtype: float
        """
        return self._partition_percent_critical

    @partition_percent_critical.setter
    def partition_percent_critical(self, partition_percent_critical):
        """Sets the partition_percent_critical of this InlineResponse20035ResponsePolicy.


        :param partition_percent_critical: The partition_percent_critical of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :type: float
        """

        self._partition_percent_critical = partition_percent_critical

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


        :return: The partition_count_normal of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :rtype: int
        """
        return self._partition_count_normal

    @partition_count_normal.setter
    def partition_count_normal(self, partition_count_normal):
        """Sets the partition_count_normal of this InlineResponse20035ResponsePolicy.


        :param partition_count_normal: The partition_count_normal of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :type: int
        """

        self._partition_count_normal = partition_count_normal

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


        :return: The partition_count_degraded of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :rtype: int
        """
        return self._partition_count_degraded

    @partition_count_degraded.setter
    def partition_count_degraded(self, partition_count_degraded):
        """Sets the partition_count_degraded of this InlineResponse20035ResponsePolicy.


        :param partition_count_degraded: The partition_count_degraded of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :type: int
        """

        self._partition_count_degraded = partition_count_degraded

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


        :return: The partition_count_critical of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :rtype: int
        """
        return self._partition_count_critical

    @partition_count_critical.setter
    def partition_count_critical(self, partition_count_critical):
        """Sets the partition_count_critical of this InlineResponse20035ResponsePolicy.


        :param partition_count_critical: The partition_count_critical of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :type: int
        """

        self._partition_count_critical = partition_count_critical

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


        :return: The partition_count_total of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :rtype: int
        """
        return self._partition_count_total

    @partition_count_total.setter
    def partition_count_total(self, partition_count_total):
        """Sets the partition_count_total of this InlineResponse20035ResponsePolicy.


        :param partition_count_total: The partition_count_total of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :type: int
        """

        self._partition_count_total = partition_count_total

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


        :return: The short_description of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :rtype: str
        """
        return self._short_description

    @short_description.setter
    def short_description(self, short_description):
        """Sets the short_description of this InlineResponse20035ResponsePolicy.


        :param short_description: The short_description of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :type: str
        """

        self._short_description = short_description

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


        :return: The full_description of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :rtype: str
        """
        return self._full_description

    @full_description.setter
    def full_description(self, full_description):
        """Sets the full_description of this InlineResponse20035ResponsePolicy.


        :param full_description: The full_description of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :type: str
        """

        self._full_description = full_description

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


        :return: The created_at of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :rtype: str
        """
        return self._created_at

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


        :param created_at: The created_at of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :type: str
        """

        self._created_at = created_at

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


        :return: The modified_at of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :rtype: str
        """
        return self._modified_at

    @modified_at.setter
    def modified_at(self, modified_at):
        """Sets the modified_at of this InlineResponse20035ResponsePolicy.


        :param modified_at: The modified_at of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :type: str
        """

        self._modified_at = modified_at

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


        :return: The reported_at of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :rtype: str
        """
        return self._reported_at

    @reported_at.setter
    def reported_at(self, reported_at):
        """Sets the reported_at of this InlineResponse20035ResponsePolicy.


        :param reported_at: The reported_at of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :type: str
        """

        self._reported_at = reported_at

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


        :return: The rebalanced_at of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :rtype: str
        """
        return self._rebalanced_at

    @rebalanced_at.setter
    def rebalanced_at(self, rebalanced_at):
        """Sets the rebalanced_at of this InlineResponse20035ResponsePolicy.


        :param rebalanced_at: The rebalanced_at of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :type: str
        """

        self._rebalanced_at = rebalanced_at

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


        :return: The disks_count of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :rtype: int
        """
        return self._disks_count

    @disks_count.setter
    def disks_count(self, disks_count):
        """Sets the disks_count of this InlineResponse20035ResponsePolicy.


        :param disks_count: The disks_count of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :type: int
        """

        self._disks_count = disks_count

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


        :return: The disks of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :rtype: list[InlineResponse20015ResponseDisks]
        """
        return self._disks

    @disks.setter
    def disks(self, disks):
        """Sets the disks of this InlineResponse20035ResponsePolicy.


        :param disks: The disks of this InlineResponse20035ResponsePolicy.  # noqa: E501
        :type: list[InlineResponse20015ResponseDisks]
        """

        self._disks = disks

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

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