# coding: utf-8

"""
    Cloudera Manager API

    <h1>Cloudera Manager API v57</h1>       <p>Introduced in Cloudera Manager 7.13.1</p>       <p><a href=\"http://www.cloudera.com/documentation.html\">Cloudera Product Documentation</a></p>  # noqa: E501

    OpenAPI spec version: 7.13.1
    
    Generated by: https://github.com/swagger-api/swagger-codegen.git
"""

import pprint
import re  # noqa: F401

import six

class ApiOzoneSnapshotResult(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 = {
        'processed_bucket_count': 'int',
        'processed_buckets': 'list[str]',
        'unprocessed_bucket_count': 'int',
        'unprocessed_buckets': 'list[str]',
        'created_snapshot_count': 'int',
        'created_snapshots': 'list[ApiOzoneSnapshotDetails]',
        'deleted_snapshot_count': 'int',
        'deleted_snapshots': 'list[ApiOzoneSnapshotDetails]',
        'creation_error_count': 'int',
        'creation_errors': 'list[ApiOzoneSnapshotError]',
        'deletion_error_count': 'int',
        'deletion_errors': 'list[ApiOzoneSnapshotError]'
    }

    attribute_map = {
        'processed_bucket_count': 'processedBucketCount',
        'processed_buckets': 'processedBuckets',
        'unprocessed_bucket_count': 'unprocessedBucketCount',
        'unprocessed_buckets': 'unprocessedBuckets',
        'created_snapshot_count': 'createdSnapshotCount',
        'created_snapshots': 'createdSnapshots',
        'deleted_snapshot_count': 'deletedSnapshotCount',
        'deleted_snapshots': 'deletedSnapshots',
        'creation_error_count': 'creationErrorCount',
        'creation_errors': 'creationErrors',
        'deletion_error_count': 'deletionErrorCount',
        'deletion_errors': 'deletionErrors'
    }

    def __init__(self, processed_bucket_count=None, processed_buckets=None, unprocessed_bucket_count=None, unprocessed_buckets=None, created_snapshot_count=None, created_snapshots=None, deleted_snapshot_count=None, deleted_snapshots=None, creation_error_count=None, creation_errors=None, deletion_error_count=None, deletion_errors=None):  # noqa: E501
        """ApiOzoneSnapshotResult - a model defined in Swagger"""  # noqa: E501
        self._processed_bucket_count = None
        self._processed_buckets = None
        self._unprocessed_bucket_count = None
        self._unprocessed_buckets = None
        self._created_snapshot_count = None
        self._created_snapshots = None
        self._deleted_snapshot_count = None
        self._deleted_snapshots = None
        self._creation_error_count = None
        self._creation_errors = None
        self._deletion_error_count = None
        self._deletion_errors = None
        self.discriminator = None
        if processed_bucket_count is not None:
            self.processed_bucket_count = processed_bucket_count
        if processed_buckets is not None:
            self.processed_buckets = processed_buckets
        if unprocessed_bucket_count is not None:
            self.unprocessed_bucket_count = unprocessed_bucket_count
        if unprocessed_buckets is not None:
            self.unprocessed_buckets = unprocessed_buckets
        if created_snapshot_count is not None:
            self.created_snapshot_count = created_snapshot_count
        if created_snapshots is not None:
            self.created_snapshots = created_snapshots
        if deleted_snapshot_count is not None:
            self.deleted_snapshot_count = deleted_snapshot_count
        if deleted_snapshots is not None:
            self.deleted_snapshots = deleted_snapshots
        if creation_error_count is not None:
            self.creation_error_count = creation_error_count
        if creation_errors is not None:
            self.creation_errors = creation_errors
        if deletion_error_count is not None:
            self.deletion_error_count = deletion_error_count
        if deletion_errors is not None:
            self.deletion_errors = deletion_errors

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

        Number of processed paths.  # noqa: E501

        :return: The processed_bucket_count of this ApiOzoneSnapshotResult.  # noqa: E501
        :rtype: int
        """
        return self._processed_bucket_count

    @processed_bucket_count.setter
    def processed_bucket_count(self, processed_bucket_count):
        """Sets the processed_bucket_count of this ApiOzoneSnapshotResult.

        Number of processed paths.  # noqa: E501

        :param processed_bucket_count: The processed_bucket_count of this ApiOzoneSnapshotResult.  # noqa: E501
        :type: int
        """

        self._processed_bucket_count = processed_bucket_count

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

        The list of processed paths.  This is only available in the full view.  # noqa: E501

        :return: The processed_buckets of this ApiOzoneSnapshotResult.  # noqa: E501
        :rtype: list[str]
        """
        return self._processed_buckets

    @processed_buckets.setter
    def processed_buckets(self, processed_buckets):
        """Sets the processed_buckets of this ApiOzoneSnapshotResult.

        The list of processed paths.  This is only available in the full view.  # noqa: E501

        :param processed_buckets: The processed_buckets of this ApiOzoneSnapshotResult.  # noqa: E501
        :type: list[str]
        """

        self._processed_buckets = processed_buckets

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

        Number of unprocessed paths.  # noqa: E501

        :return: The unprocessed_bucket_count of this ApiOzoneSnapshotResult.  # noqa: E501
        :rtype: int
        """
        return self._unprocessed_bucket_count

    @unprocessed_bucket_count.setter
    def unprocessed_bucket_count(self, unprocessed_bucket_count):
        """Sets the unprocessed_bucket_count of this ApiOzoneSnapshotResult.

        Number of unprocessed paths.  # noqa: E501

        :param unprocessed_bucket_count: The unprocessed_bucket_count of this ApiOzoneSnapshotResult.  # noqa: E501
        :type: int
        """

        self._unprocessed_bucket_count = unprocessed_bucket_count

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

        The list of unprocessed paths. Note that paths that are currently being processed will also be included in this list.  This is only available in the full view.  # noqa: E501

        :return: The unprocessed_buckets of this ApiOzoneSnapshotResult.  # noqa: E501
        :rtype: list[str]
        """
        return self._unprocessed_buckets

    @unprocessed_buckets.setter
    def unprocessed_buckets(self, unprocessed_buckets):
        """Sets the unprocessed_buckets of this ApiOzoneSnapshotResult.

        The list of unprocessed paths. Note that paths that are currently being processed will also be included in this list.  This is only available in the full view.  # noqa: E501

        :param unprocessed_buckets: The unprocessed_buckets of this ApiOzoneSnapshotResult.  # noqa: E501
        :type: list[str]
        """

        self._unprocessed_buckets = unprocessed_buckets

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

        Number of snapshots created.  # noqa: E501

        :return: The created_snapshot_count of this ApiOzoneSnapshotResult.  # noqa: E501
        :rtype: int
        """
        return self._created_snapshot_count

    @created_snapshot_count.setter
    def created_snapshot_count(self, created_snapshot_count):
        """Sets the created_snapshot_count of this ApiOzoneSnapshotResult.

        Number of snapshots created.  # noqa: E501

        :param created_snapshot_count: The created_snapshot_count of this ApiOzoneSnapshotResult.  # noqa: E501
        :type: int
        """

        self._created_snapshot_count = created_snapshot_count

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

        List of snapshots created. <p/> This is only available in the full view.  # noqa: E501

        :return: The created_snapshots of this ApiOzoneSnapshotResult.  # noqa: E501
        :rtype: list[ApiOzoneSnapshotDetails]
        """
        return self._created_snapshots

    @created_snapshots.setter
    def created_snapshots(self, created_snapshots):
        """Sets the created_snapshots of this ApiOzoneSnapshotResult.

        List of snapshots created. <p/> This is only available in the full view.  # noqa: E501

        :param created_snapshots: The created_snapshots of this ApiOzoneSnapshotResult.  # noqa: E501
        :type: list[ApiOzoneSnapshotDetails]
        """

        self._created_snapshots = created_snapshots

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

        Number of snapshots deleted.  # noqa: E501

        :return: The deleted_snapshot_count of this ApiOzoneSnapshotResult.  # noqa: E501
        :rtype: int
        """
        return self._deleted_snapshot_count

    @deleted_snapshot_count.setter
    def deleted_snapshot_count(self, deleted_snapshot_count):
        """Sets the deleted_snapshot_count of this ApiOzoneSnapshotResult.

        Number of snapshots deleted.  # noqa: E501

        :param deleted_snapshot_count: The deleted_snapshot_count of this ApiOzoneSnapshotResult.  # noqa: E501
        :type: int
        """

        self._deleted_snapshot_count = deleted_snapshot_count

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

        List of snapshots deleted.  This is only available in the full view.  # noqa: E501

        :return: The deleted_snapshots of this ApiOzoneSnapshotResult.  # noqa: E501
        :rtype: list[ApiOzoneSnapshotDetails]
        """
        return self._deleted_snapshots

    @deleted_snapshots.setter
    def deleted_snapshots(self, deleted_snapshots):
        """Sets the deleted_snapshots of this ApiOzoneSnapshotResult.

        List of snapshots deleted.  This is only available in the full view.  # noqa: E501

        :param deleted_snapshots: The deleted_snapshots of this ApiOzoneSnapshotResult.  # noqa: E501
        :type: list[ApiOzoneSnapshotDetails]
        """

        self._deleted_snapshots = deleted_snapshots

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

        Number of errors detected when creating snapshots.  # noqa: E501

        :return: The creation_error_count of this ApiOzoneSnapshotResult.  # noqa: E501
        :rtype: int
        """
        return self._creation_error_count

    @creation_error_count.setter
    def creation_error_count(self, creation_error_count):
        """Sets the creation_error_count of this ApiOzoneSnapshotResult.

        Number of errors detected when creating snapshots.  # noqa: E501

        :param creation_error_count: The creation_error_count of this ApiOzoneSnapshotResult.  # noqa: E501
        :type: int
        """

        self._creation_error_count = creation_error_count

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

        List of errors encountered when creating snapshots.  This is only available in the full view.  # noqa: E501

        :return: The creation_errors of this ApiOzoneSnapshotResult.  # noqa: E501
        :rtype: list[ApiOzoneSnapshotError]
        """
        return self._creation_errors

    @creation_errors.setter
    def creation_errors(self, creation_errors):
        """Sets the creation_errors of this ApiOzoneSnapshotResult.

        List of errors encountered when creating snapshots.  This is only available in the full view.  # noqa: E501

        :param creation_errors: The creation_errors of this ApiOzoneSnapshotResult.  # noqa: E501
        :type: list[ApiOzoneSnapshotError]
        """

        self._creation_errors = creation_errors

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

        Number of errors detected when deleting snapshots.  # noqa: E501

        :return: The deletion_error_count of this ApiOzoneSnapshotResult.  # noqa: E501
        :rtype: int
        """
        return self._deletion_error_count

    @deletion_error_count.setter
    def deletion_error_count(self, deletion_error_count):
        """Sets the deletion_error_count of this ApiOzoneSnapshotResult.

        Number of errors detected when deleting snapshots.  # noqa: E501

        :param deletion_error_count: The deletion_error_count of this ApiOzoneSnapshotResult.  # noqa: E501
        :type: int
        """

        self._deletion_error_count = deletion_error_count

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

        List of errors encountered when deleting snapshots.  This is only available in the full view.  # noqa: E501

        :return: The deletion_errors of this ApiOzoneSnapshotResult.  # noqa: E501
        :rtype: list[ApiOzoneSnapshotError]
        """
        return self._deletion_errors

    @deletion_errors.setter
    def deletion_errors(self, deletion_errors):
        """Sets the deletion_errors of this ApiOzoneSnapshotResult.

        List of errors encountered when deleting snapshots.  This is only available in the full view.  # noqa: E501

        :param deletion_errors: The deletion_errors of this ApiOzoneSnapshotResult.  # noqa: E501
        :type: list[ApiOzoneSnapshotError]
        """

        self._deletion_errors = deletion_errors

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

        return self.__dict__ == other.__dict__

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