# coding: utf-8

"""
    Pure Storage FlashBlade REST 1.11 Python SDK

    Pure Storage FlashBlade REST 1.11 Python SDK. Compatible with REST API versions 1.0 - 1.11. Developed by [Pure Storage, Inc](http://www.purestorage.com/). Documentations can be found at [purity-fb.readthedocs.io](http://purity-fb.readthedocs.io/).

    OpenAPI spec version: 1.11
    Contact: info@purestorage.com
    Generated by: https://github.com/swagger-api/swagger-codegen.git
"""


import pprint
import re  # noqa: F401

import six


class ArrayNfsPerformance(object):
    """NOTE: This class is auto generated by the swagger code generator program.

    Do not edit the class manually.
    """

#BEGIN_CUSTOM
    # IR-51527: Prevent Pytest from attempting to collect this class based on name.
    __test__ = False
#END_CUSTOM

    """
    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 = {
        'id': 'str',
        'name': 'str',
        'accesses_per_sec': 'int',
        'aggregate_file_metadata_creates_per_sec': 'int',
        'aggregate_file_metadata_modifies_per_sec': 'int',
        'aggregate_file_metadata_reads_per_sec': 'int',
        'aggregate_share_metadata_reads_per_sec': 'int',
        'aggregate_usec_per_file_metadata_create_op': 'int',
        'aggregate_usec_per_file_metadata_modify_op': 'int',
        'aggregate_usec_per_file_metadata_read_op': 'int',
        'aggregate_usec_per_share_metadata_read_op': 'int',
        'creates_per_sec': 'int',
        'fsinfos_per_sec': 'int',
        'fsstats_per_sec': 'int',
        'getattrs_per_sec': 'int',
        'links_per_sec': 'int',
        'lookups_per_sec': 'int',
        'mkdirs_per_sec': 'int',
        'others_per_sec': 'int',
        'pathconfs_per_sec': 'int',
        'reads_per_sec': 'int',
        'readdirs_per_sec': 'int',
        'readdirpluses_per_sec': 'int',
        'readlinks_per_sec': 'int',
        'removes_per_sec': 'int',
        'renames_per_sec': 'int',
        'rmdirs_per_sec': 'int',
        'setattrs_per_sec': 'int',
        'symlinks_per_sec': 'int',
        'time': 'int',
        'writes_per_sec': 'int',
        'usec_per_access_op': 'int',
        'usec_per_create_op': 'int',
        'usec_per_fsinfo_op': 'int',
        'usec_per_fsstat_op': 'int',
        'usec_per_getattr_op': 'int',
        'usec_per_link_op': 'int',
        'usec_per_lookup_op': 'int',
        'usec_per_mkdir_op': 'int',
        'usec_per_other_op': 'int',
        'usec_per_pathconf_op': 'int',
        'usec_per_read_op': 'int',
        'usec_per_readdir_op': 'int',
        'usec_per_readdirplus_op': 'int',
        'usec_per_readlink_op': 'int',
        'usec_per_remove_op': 'int',
        'usec_per_rename_op': 'int',
        'usec_per_rmdir_op': 'int',
        'usec_per_setattr_op': 'int',
        'usec_per_symlink_op': 'int',
        'usec_per_write_op': 'int'
    }

    attribute_map = {
        'id': 'id',
        'name': 'name',
        'accesses_per_sec': 'accesses_per_sec',
        'aggregate_file_metadata_creates_per_sec': 'aggregate_file_metadata_creates_per_sec',
        'aggregate_file_metadata_modifies_per_sec': 'aggregate_file_metadata_modifies_per_sec',
        'aggregate_file_metadata_reads_per_sec': 'aggregate_file_metadata_reads_per_sec',
        'aggregate_share_metadata_reads_per_sec': 'aggregate_share_metadata_reads_per_sec',
        'aggregate_usec_per_file_metadata_create_op': 'aggregate_usec_per_file_metadata_create_op',
        'aggregate_usec_per_file_metadata_modify_op': 'aggregate_usec_per_file_metadata_modify_op',
        'aggregate_usec_per_file_metadata_read_op': 'aggregate_usec_per_file_metadata_read_op',
        'aggregate_usec_per_share_metadata_read_op': 'aggregate_usec_per_share_metadata_read_op',
        'creates_per_sec': 'creates_per_sec',
        'fsinfos_per_sec': 'fsinfos_per_sec',
        'fsstats_per_sec': 'fsstats_per_sec',
        'getattrs_per_sec': 'getattrs_per_sec',
        'links_per_sec': 'links_per_sec',
        'lookups_per_sec': 'lookups_per_sec',
        'mkdirs_per_sec': 'mkdirs_per_sec',
        'others_per_sec': 'others_per_sec',
        'pathconfs_per_sec': 'pathconfs_per_sec',
        'reads_per_sec': 'reads_per_sec',
        'readdirs_per_sec': 'readdirs_per_sec',
        'readdirpluses_per_sec': 'readdirpluses_per_sec',
        'readlinks_per_sec': 'readlinks_per_sec',
        'removes_per_sec': 'removes_per_sec',
        'renames_per_sec': 'renames_per_sec',
        'rmdirs_per_sec': 'rmdirs_per_sec',
        'setattrs_per_sec': 'setattrs_per_sec',
        'symlinks_per_sec': 'symlinks_per_sec',
        'time': 'time',
        'writes_per_sec': 'writes_per_sec',
        'usec_per_access_op': 'usec_per_access_op',
        'usec_per_create_op': 'usec_per_create_op',
        'usec_per_fsinfo_op': 'usec_per_fsinfo_op',
        'usec_per_fsstat_op': 'usec_per_fsstat_op',
        'usec_per_getattr_op': 'usec_per_getattr_op',
        'usec_per_link_op': 'usec_per_link_op',
        'usec_per_lookup_op': 'usec_per_lookup_op',
        'usec_per_mkdir_op': 'usec_per_mkdir_op',
        'usec_per_other_op': 'usec_per_other_op',
        'usec_per_pathconf_op': 'usec_per_pathconf_op',
        'usec_per_read_op': 'usec_per_read_op',
        'usec_per_readdir_op': 'usec_per_readdir_op',
        'usec_per_readdirplus_op': 'usec_per_readdirplus_op',
        'usec_per_readlink_op': 'usec_per_readlink_op',
        'usec_per_remove_op': 'usec_per_remove_op',
        'usec_per_rename_op': 'usec_per_rename_op',
        'usec_per_rmdir_op': 'usec_per_rmdir_op',
        'usec_per_setattr_op': 'usec_per_setattr_op',
        'usec_per_symlink_op': 'usec_per_symlink_op',
        'usec_per_write_op': 'usec_per_write_op'
    }

    def __init__(self, id=None, name=None, accesses_per_sec=None, aggregate_file_metadata_creates_per_sec=None, aggregate_file_metadata_modifies_per_sec=None, aggregate_file_metadata_reads_per_sec=None, aggregate_share_metadata_reads_per_sec=None, aggregate_usec_per_file_metadata_create_op=None, aggregate_usec_per_file_metadata_modify_op=None, aggregate_usec_per_file_metadata_read_op=None, aggregate_usec_per_share_metadata_read_op=None, creates_per_sec=None, fsinfos_per_sec=None, fsstats_per_sec=None, getattrs_per_sec=None, links_per_sec=None, lookups_per_sec=None, mkdirs_per_sec=None, others_per_sec=None, pathconfs_per_sec=None, reads_per_sec=None, readdirs_per_sec=None, readdirpluses_per_sec=None, readlinks_per_sec=None, removes_per_sec=None, renames_per_sec=None, rmdirs_per_sec=None, setattrs_per_sec=None, symlinks_per_sec=None, time=None, writes_per_sec=None, usec_per_access_op=None, usec_per_create_op=None, usec_per_fsinfo_op=None, usec_per_fsstat_op=None, usec_per_getattr_op=None, usec_per_link_op=None, usec_per_lookup_op=None, usec_per_mkdir_op=None, usec_per_other_op=None, usec_per_pathconf_op=None, usec_per_read_op=None, usec_per_readdir_op=None, usec_per_readdirplus_op=None, usec_per_readlink_op=None, usec_per_remove_op=None, usec_per_rename_op=None, usec_per_rmdir_op=None, usec_per_setattr_op=None, usec_per_symlink_op=None, usec_per_write_op=None):  # noqa: E501
        """ArrayNfsPerformance - a model defined in Swagger"""  # noqa: E501

        self._id = None
        self._name = None
        self._accesses_per_sec = None
        self._aggregate_file_metadata_creates_per_sec = None
        self._aggregate_file_metadata_modifies_per_sec = None
        self._aggregate_file_metadata_reads_per_sec = None
        self._aggregate_share_metadata_reads_per_sec = None
        self._aggregate_usec_per_file_metadata_create_op = None
        self._aggregate_usec_per_file_metadata_modify_op = None
        self._aggregate_usec_per_file_metadata_read_op = None
        self._aggregate_usec_per_share_metadata_read_op = None
        self._creates_per_sec = None
        self._fsinfos_per_sec = None
        self._fsstats_per_sec = None
        self._getattrs_per_sec = None
        self._links_per_sec = None
        self._lookups_per_sec = None
        self._mkdirs_per_sec = None
        self._others_per_sec = None
        self._pathconfs_per_sec = None
        self._reads_per_sec = None
        self._readdirs_per_sec = None
        self._readdirpluses_per_sec = None
        self._readlinks_per_sec = None
        self._removes_per_sec = None
        self._renames_per_sec = None
        self._rmdirs_per_sec = None
        self._setattrs_per_sec = None
        self._symlinks_per_sec = None
        self._time = None
        self._writes_per_sec = None
        self._usec_per_access_op = None
        self._usec_per_create_op = None
        self._usec_per_fsinfo_op = None
        self._usec_per_fsstat_op = None
        self._usec_per_getattr_op = None
        self._usec_per_link_op = None
        self._usec_per_lookup_op = None
        self._usec_per_mkdir_op = None
        self._usec_per_other_op = None
        self._usec_per_pathconf_op = None
        self._usec_per_read_op = None
        self._usec_per_readdir_op = None
        self._usec_per_readdirplus_op = None
        self._usec_per_readlink_op = None
        self._usec_per_remove_op = None
        self._usec_per_rename_op = None
        self._usec_per_rmdir_op = None
        self._usec_per_setattr_op = None
        self._usec_per_symlink_op = None
        self._usec_per_write_op = None
        self.discriminator = None

        if id is not None:
            self.id = id
        if name is not None:
            self.name = name
        if accesses_per_sec is not None:
            self.accesses_per_sec = accesses_per_sec
        if aggregate_file_metadata_creates_per_sec is not None:
            self.aggregate_file_metadata_creates_per_sec = aggregate_file_metadata_creates_per_sec
        if aggregate_file_metadata_modifies_per_sec is not None:
            self.aggregate_file_metadata_modifies_per_sec = aggregate_file_metadata_modifies_per_sec
        if aggregate_file_metadata_reads_per_sec is not None:
            self.aggregate_file_metadata_reads_per_sec = aggregate_file_metadata_reads_per_sec
        if aggregate_share_metadata_reads_per_sec is not None:
            self.aggregate_share_metadata_reads_per_sec = aggregate_share_metadata_reads_per_sec
        if aggregate_usec_per_file_metadata_create_op is not None:
            self.aggregate_usec_per_file_metadata_create_op = aggregate_usec_per_file_metadata_create_op
        if aggregate_usec_per_file_metadata_modify_op is not None:
            self.aggregate_usec_per_file_metadata_modify_op = aggregate_usec_per_file_metadata_modify_op
        if aggregate_usec_per_file_metadata_read_op is not None:
            self.aggregate_usec_per_file_metadata_read_op = aggregate_usec_per_file_metadata_read_op
        if aggregate_usec_per_share_metadata_read_op is not None:
            self.aggregate_usec_per_share_metadata_read_op = aggregate_usec_per_share_metadata_read_op
        if creates_per_sec is not None:
            self.creates_per_sec = creates_per_sec
        if fsinfos_per_sec is not None:
            self.fsinfos_per_sec = fsinfos_per_sec
        if fsstats_per_sec is not None:
            self.fsstats_per_sec = fsstats_per_sec
        if getattrs_per_sec is not None:
            self.getattrs_per_sec = getattrs_per_sec
        if links_per_sec is not None:
            self.links_per_sec = links_per_sec
        if lookups_per_sec is not None:
            self.lookups_per_sec = lookups_per_sec
        if mkdirs_per_sec is not None:
            self.mkdirs_per_sec = mkdirs_per_sec
        if others_per_sec is not None:
            self.others_per_sec = others_per_sec
        if pathconfs_per_sec is not None:
            self.pathconfs_per_sec = pathconfs_per_sec
        if reads_per_sec is not None:
            self.reads_per_sec = reads_per_sec
        if readdirs_per_sec is not None:
            self.readdirs_per_sec = readdirs_per_sec
        if readdirpluses_per_sec is not None:
            self.readdirpluses_per_sec = readdirpluses_per_sec
        if readlinks_per_sec is not None:
            self.readlinks_per_sec = readlinks_per_sec
        if removes_per_sec is not None:
            self.removes_per_sec = removes_per_sec
        if renames_per_sec is not None:
            self.renames_per_sec = renames_per_sec
        if rmdirs_per_sec is not None:
            self.rmdirs_per_sec = rmdirs_per_sec
        if setattrs_per_sec is not None:
            self.setattrs_per_sec = setattrs_per_sec
        if symlinks_per_sec is not None:
            self.symlinks_per_sec = symlinks_per_sec
        if time is not None:
            self.time = time
        if writes_per_sec is not None:
            self.writes_per_sec = writes_per_sec
        if usec_per_access_op is not None:
            self.usec_per_access_op = usec_per_access_op
        if usec_per_create_op is not None:
            self.usec_per_create_op = usec_per_create_op
        if usec_per_fsinfo_op is not None:
            self.usec_per_fsinfo_op = usec_per_fsinfo_op
        if usec_per_fsstat_op is not None:
            self.usec_per_fsstat_op = usec_per_fsstat_op
        if usec_per_getattr_op is not None:
            self.usec_per_getattr_op = usec_per_getattr_op
        if usec_per_link_op is not None:
            self.usec_per_link_op = usec_per_link_op
        if usec_per_lookup_op is not None:
            self.usec_per_lookup_op = usec_per_lookup_op
        if usec_per_mkdir_op is not None:
            self.usec_per_mkdir_op = usec_per_mkdir_op
        if usec_per_other_op is not None:
            self.usec_per_other_op = usec_per_other_op
        if usec_per_pathconf_op is not None:
            self.usec_per_pathconf_op = usec_per_pathconf_op
        if usec_per_read_op is not None:
            self.usec_per_read_op = usec_per_read_op
        if usec_per_readdir_op is not None:
            self.usec_per_readdir_op = usec_per_readdir_op
        if usec_per_readdirplus_op is not None:
            self.usec_per_readdirplus_op = usec_per_readdirplus_op
        if usec_per_readlink_op is not None:
            self.usec_per_readlink_op = usec_per_readlink_op
        if usec_per_remove_op is not None:
            self.usec_per_remove_op = usec_per_remove_op
        if usec_per_rename_op is not None:
            self.usec_per_rename_op = usec_per_rename_op
        if usec_per_rmdir_op is not None:
            self.usec_per_rmdir_op = usec_per_rmdir_op
        if usec_per_setattr_op is not None:
            self.usec_per_setattr_op = usec_per_setattr_op
        if usec_per_symlink_op is not None:
            self.usec_per_symlink_op = usec_per_symlink_op
        if usec_per_write_op is not None:
            self.usec_per_write_op = usec_per_write_op

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

        A non-modifiable, globally unique ID chosen by the system.  # noqa: E501

        :return: The id of this ArrayNfsPerformance.  # noqa: E501
        :rtype: str
        """
        return self._id

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

        A non-modifiable, globally unique ID chosen by the system.  # noqa: E501

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

        self._id = id

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

        The name of the object (e.g., a file system or snapshot).  # noqa: E501

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

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

        The name of the object (e.g., a file system or snapshot).  # noqa: E501

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

        self._name = name

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

        ACCESS requests processed per second.  # noqa: E501

        :return: The accesses_per_sec of this ArrayNfsPerformance.  # noqa: E501
        :rtype: int
        """
        return self._accesses_per_sec

    @accesses_per_sec.setter
    def accesses_per_sec(self, accesses_per_sec):
        """Sets the accesses_per_sec of this ArrayNfsPerformance.

        ACCESS requests processed per second.  # noqa: E501

        :param accesses_per_sec: The accesses_per_sec of this ArrayNfsPerformance.  # noqa: E501
        :type: int
        """
        if accesses_per_sec is not None and accesses_per_sec < 0:  # noqa: E501
            raise ValueError("Invalid value for `accesses_per_sec`, must be a value greater than or equal to `0`")  # noqa: E501

        self._accesses_per_sec = accesses_per_sec

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

        Sum of file-level or directory-level create-like metadata requests per second. Includes CREATE, LINK, MKDIR, and SYMLINK.  # noqa: E501

        :return: The aggregate_file_metadata_creates_per_sec of this ArrayNfsPerformance.  # noqa: E501
        :rtype: int
        """
        return self._aggregate_file_metadata_creates_per_sec

    @aggregate_file_metadata_creates_per_sec.setter
    def aggregate_file_metadata_creates_per_sec(self, aggregate_file_metadata_creates_per_sec):
        """Sets the aggregate_file_metadata_creates_per_sec of this ArrayNfsPerformance.

        Sum of file-level or directory-level create-like metadata requests per second. Includes CREATE, LINK, MKDIR, and SYMLINK.  # noqa: E501

        :param aggregate_file_metadata_creates_per_sec: The aggregate_file_metadata_creates_per_sec of this ArrayNfsPerformance.  # noqa: E501
        :type: int
        """
        if aggregate_file_metadata_creates_per_sec is not None and aggregate_file_metadata_creates_per_sec < 0:  # noqa: E501
            raise ValueError("Invalid value for `aggregate_file_metadata_creates_per_sec`, must be a value greater than or equal to `0`")  # noqa: E501

        self._aggregate_file_metadata_creates_per_sec = aggregate_file_metadata_creates_per_sec

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

        Sum of file-level or directory-level modify-like and delete-like metadata requests per second. Includes REMOVE, RENAME, RMDIR, and SETATTR.  # noqa: E501

        :return: The aggregate_file_metadata_modifies_per_sec of this ArrayNfsPerformance.  # noqa: E501
        :rtype: int
        """
        return self._aggregate_file_metadata_modifies_per_sec

    @aggregate_file_metadata_modifies_per_sec.setter
    def aggregate_file_metadata_modifies_per_sec(self, aggregate_file_metadata_modifies_per_sec):
        """Sets the aggregate_file_metadata_modifies_per_sec of this ArrayNfsPerformance.

        Sum of file-level or directory-level modify-like and delete-like metadata requests per second. Includes REMOVE, RENAME, RMDIR, and SETATTR.  # noqa: E501

        :param aggregate_file_metadata_modifies_per_sec: The aggregate_file_metadata_modifies_per_sec of this ArrayNfsPerformance.  # noqa: E501
        :type: int
        """
        if aggregate_file_metadata_modifies_per_sec is not None and aggregate_file_metadata_modifies_per_sec < 0:  # noqa: E501
            raise ValueError("Invalid value for `aggregate_file_metadata_modifies_per_sec`, must be a value greater than or equal to `0`")  # noqa: E501

        self._aggregate_file_metadata_modifies_per_sec = aggregate_file_metadata_modifies_per_sec

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

        Sum of file-level or directory-level read-like metadata requests per second. Includes GETATTR, LOOKUP, PATHCONF, READDIR, READDIRPLUS, and READLINK.  # noqa: E501

        :return: The aggregate_file_metadata_reads_per_sec of this ArrayNfsPerformance.  # noqa: E501
        :rtype: int
        """
        return self._aggregate_file_metadata_reads_per_sec

    @aggregate_file_metadata_reads_per_sec.setter
    def aggregate_file_metadata_reads_per_sec(self, aggregate_file_metadata_reads_per_sec):
        """Sets the aggregate_file_metadata_reads_per_sec of this ArrayNfsPerformance.

        Sum of file-level or directory-level read-like metadata requests per second. Includes GETATTR, LOOKUP, PATHCONF, READDIR, READDIRPLUS, and READLINK.  # noqa: E501

        :param aggregate_file_metadata_reads_per_sec: The aggregate_file_metadata_reads_per_sec of this ArrayNfsPerformance.  # noqa: E501
        :type: int
        """
        if aggregate_file_metadata_reads_per_sec is not None and aggregate_file_metadata_reads_per_sec < 0:  # noqa: E501
            raise ValueError("Invalid value for `aggregate_file_metadata_reads_per_sec`, must be a value greater than or equal to `0`")  # noqa: E501

        self._aggregate_file_metadata_reads_per_sec = aggregate_file_metadata_reads_per_sec

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

        Sum of share-level read-like metadata requests per second. Includes ACCESS, FSINFO, and FSSTAT.  # noqa: E501

        :return: The aggregate_share_metadata_reads_per_sec of this ArrayNfsPerformance.  # noqa: E501
        :rtype: int
        """
        return self._aggregate_share_metadata_reads_per_sec

    @aggregate_share_metadata_reads_per_sec.setter
    def aggregate_share_metadata_reads_per_sec(self, aggregate_share_metadata_reads_per_sec):
        """Sets the aggregate_share_metadata_reads_per_sec of this ArrayNfsPerformance.

        Sum of share-level read-like metadata requests per second. Includes ACCESS, FSINFO, and FSSTAT.  # noqa: E501

        :param aggregate_share_metadata_reads_per_sec: The aggregate_share_metadata_reads_per_sec of this ArrayNfsPerformance.  # noqa: E501
        :type: int
        """
        if aggregate_share_metadata_reads_per_sec is not None and aggregate_share_metadata_reads_per_sec < 0:  # noqa: E501
            raise ValueError("Invalid value for `aggregate_share_metadata_reads_per_sec`, must be a value greater than or equal to `0`")  # noqa: E501

        self._aggregate_share_metadata_reads_per_sec = aggregate_share_metadata_reads_per_sec

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

        Average time, measured in microseconds, it takes the array to process a file-level or directory-level create-like metadata request. Includes CREATE, LINK, MKDIR, and SYMLINK.  # noqa: E501

        :return: The aggregate_usec_per_file_metadata_create_op of this ArrayNfsPerformance.  # noqa: E501
        :rtype: int
        """
        return self._aggregate_usec_per_file_metadata_create_op

    @aggregate_usec_per_file_metadata_create_op.setter
    def aggregate_usec_per_file_metadata_create_op(self, aggregate_usec_per_file_metadata_create_op):
        """Sets the aggregate_usec_per_file_metadata_create_op of this ArrayNfsPerformance.

        Average time, measured in microseconds, it takes the array to process a file-level or directory-level create-like metadata request. Includes CREATE, LINK, MKDIR, and SYMLINK.  # noqa: E501

        :param aggregate_usec_per_file_metadata_create_op: The aggregate_usec_per_file_metadata_create_op of this ArrayNfsPerformance.  # noqa: E501
        :type: int
        """
        if aggregate_usec_per_file_metadata_create_op is not None and aggregate_usec_per_file_metadata_create_op < 0:  # noqa: E501
            raise ValueError("Invalid value for `aggregate_usec_per_file_metadata_create_op`, must be a value greater than or equal to `0`")  # noqa: E501

        self._aggregate_usec_per_file_metadata_create_op = aggregate_usec_per_file_metadata_create_op

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

        Average time, measured in microseconds, it takes the array to process a file-level or directory-level modify-like or delete-like metadata request. Includes REMOVE, RENAME, RMDIR, and SETATTR.  # noqa: E501

        :return: The aggregate_usec_per_file_metadata_modify_op of this ArrayNfsPerformance.  # noqa: E501
        :rtype: int
        """
        return self._aggregate_usec_per_file_metadata_modify_op

    @aggregate_usec_per_file_metadata_modify_op.setter
    def aggregate_usec_per_file_metadata_modify_op(self, aggregate_usec_per_file_metadata_modify_op):
        """Sets the aggregate_usec_per_file_metadata_modify_op of this ArrayNfsPerformance.

        Average time, measured in microseconds, it takes the array to process a file-level or directory-level modify-like or delete-like metadata request. Includes REMOVE, RENAME, RMDIR, and SETATTR.  # noqa: E501

        :param aggregate_usec_per_file_metadata_modify_op: The aggregate_usec_per_file_metadata_modify_op of this ArrayNfsPerformance.  # noqa: E501
        :type: int
        """
        if aggregate_usec_per_file_metadata_modify_op is not None and aggregate_usec_per_file_metadata_modify_op < 0:  # noqa: E501
            raise ValueError("Invalid value for `aggregate_usec_per_file_metadata_modify_op`, must be a value greater than or equal to `0`")  # noqa: E501

        self._aggregate_usec_per_file_metadata_modify_op = aggregate_usec_per_file_metadata_modify_op

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

        Average time, measured in microseconds, it takes the array to process a file-level or directory-level read-like metadata request. Includes GETATTR, LOOKUP, PATHCONF, READDIR, READDIRPLUS, and READLINK.  # noqa: E501

        :return: The aggregate_usec_per_file_metadata_read_op of this ArrayNfsPerformance.  # noqa: E501
        :rtype: int
        """
        return self._aggregate_usec_per_file_metadata_read_op

    @aggregate_usec_per_file_metadata_read_op.setter
    def aggregate_usec_per_file_metadata_read_op(self, aggregate_usec_per_file_metadata_read_op):
        """Sets the aggregate_usec_per_file_metadata_read_op of this ArrayNfsPerformance.

        Average time, measured in microseconds, it takes the array to process a file-level or directory-level read-like metadata request. Includes GETATTR, LOOKUP, PATHCONF, READDIR, READDIRPLUS, and READLINK.  # noqa: E501

        :param aggregate_usec_per_file_metadata_read_op: The aggregate_usec_per_file_metadata_read_op of this ArrayNfsPerformance.  # noqa: E501
        :type: int
        """
        if aggregate_usec_per_file_metadata_read_op is not None and aggregate_usec_per_file_metadata_read_op < 0:  # noqa: E501
            raise ValueError("Invalid value for `aggregate_usec_per_file_metadata_read_op`, must be a value greater than or equal to `0`")  # noqa: E501

        self._aggregate_usec_per_file_metadata_read_op = aggregate_usec_per_file_metadata_read_op

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

        Average time, measured in microseconds, it takes the array to process a share-level read-like metadata request. Includes ACCESS, FSINFO, and FSSTAT.  # noqa: E501

        :return: The aggregate_usec_per_share_metadata_read_op of this ArrayNfsPerformance.  # noqa: E501
        :rtype: int
        """
        return self._aggregate_usec_per_share_metadata_read_op

    @aggregate_usec_per_share_metadata_read_op.setter
    def aggregate_usec_per_share_metadata_read_op(self, aggregate_usec_per_share_metadata_read_op):
        """Sets the aggregate_usec_per_share_metadata_read_op of this ArrayNfsPerformance.

        Average time, measured in microseconds, it takes the array to process a share-level read-like metadata request. Includes ACCESS, FSINFO, and FSSTAT.  # noqa: E501

        :param aggregate_usec_per_share_metadata_read_op: The aggregate_usec_per_share_metadata_read_op of this ArrayNfsPerformance.  # noqa: E501
        :type: int
        """
        if aggregate_usec_per_share_metadata_read_op is not None and aggregate_usec_per_share_metadata_read_op < 0:  # noqa: E501
            raise ValueError("Invalid value for `aggregate_usec_per_share_metadata_read_op`, must be a value greater than or equal to `0`")  # noqa: E501

        self._aggregate_usec_per_share_metadata_read_op = aggregate_usec_per_share_metadata_read_op

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

        CREATE requests processed per second.  # noqa: E501

        :return: The creates_per_sec of this ArrayNfsPerformance.  # noqa: E501
        :rtype: int
        """
        return self._creates_per_sec

    @creates_per_sec.setter
    def creates_per_sec(self, creates_per_sec):
        """Sets the creates_per_sec of this ArrayNfsPerformance.

        CREATE requests processed per second.  # noqa: E501

        :param creates_per_sec: The creates_per_sec of this ArrayNfsPerformance.  # noqa: E501
        :type: int
        """
        if creates_per_sec is not None and creates_per_sec < 0:  # noqa: E501
            raise ValueError("Invalid value for `creates_per_sec`, must be a value greater than or equal to `0`")  # noqa: E501

        self._creates_per_sec = creates_per_sec

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

        FSINFO requests processed per second.  # noqa: E501

        :return: The fsinfos_per_sec of this ArrayNfsPerformance.  # noqa: E501
        :rtype: int
        """
        return self._fsinfos_per_sec

    @fsinfos_per_sec.setter
    def fsinfos_per_sec(self, fsinfos_per_sec):
        """Sets the fsinfos_per_sec of this ArrayNfsPerformance.

        FSINFO requests processed per second.  # noqa: E501

        :param fsinfos_per_sec: The fsinfos_per_sec of this ArrayNfsPerformance.  # noqa: E501
        :type: int
        """
        if fsinfos_per_sec is not None and fsinfos_per_sec < 0:  # noqa: E501
            raise ValueError("Invalid value for `fsinfos_per_sec`, must be a value greater than or equal to `0`")  # noqa: E501

        self._fsinfos_per_sec = fsinfos_per_sec

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

        FSSTAT requests processed per second.  # noqa: E501

        :return: The fsstats_per_sec of this ArrayNfsPerformance.  # noqa: E501
        :rtype: int
        """
        return self._fsstats_per_sec

    @fsstats_per_sec.setter
    def fsstats_per_sec(self, fsstats_per_sec):
        """Sets the fsstats_per_sec of this ArrayNfsPerformance.

        FSSTAT requests processed per second.  # noqa: E501

        :param fsstats_per_sec: The fsstats_per_sec of this ArrayNfsPerformance.  # noqa: E501
        :type: int
        """
        if fsstats_per_sec is not None and fsstats_per_sec < 0:  # noqa: E501
            raise ValueError("Invalid value for `fsstats_per_sec`, must be a value greater than or equal to `0`")  # noqa: E501

        self._fsstats_per_sec = fsstats_per_sec

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

        GETATTR requests processed per second.  # noqa: E501

        :return: The getattrs_per_sec of this ArrayNfsPerformance.  # noqa: E501
        :rtype: int
        """
        return self._getattrs_per_sec

    @getattrs_per_sec.setter
    def getattrs_per_sec(self, getattrs_per_sec):
        """Sets the getattrs_per_sec of this ArrayNfsPerformance.

        GETATTR requests processed per second.  # noqa: E501

        :param getattrs_per_sec: The getattrs_per_sec of this ArrayNfsPerformance.  # noqa: E501
        :type: int
        """
        if getattrs_per_sec is not None and getattrs_per_sec < 0:  # noqa: E501
            raise ValueError("Invalid value for `getattrs_per_sec`, must be a value greater than or equal to `0`")  # noqa: E501

        self._getattrs_per_sec = getattrs_per_sec

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

        LINK requests processed per second.  # noqa: E501

        :return: The links_per_sec of this ArrayNfsPerformance.  # noqa: E501
        :rtype: int
        """
        return self._links_per_sec

    @links_per_sec.setter
    def links_per_sec(self, links_per_sec):
        """Sets the links_per_sec of this ArrayNfsPerformance.

        LINK requests processed per second.  # noqa: E501

        :param links_per_sec: The links_per_sec of this ArrayNfsPerformance.  # noqa: E501
        :type: int
        """
        if links_per_sec is not None and links_per_sec < 0:  # noqa: E501
            raise ValueError("Invalid value for `links_per_sec`, must be a value greater than or equal to `0`")  # noqa: E501

        self._links_per_sec = links_per_sec

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

        LOOKUP requests processed per second.  # noqa: E501

        :return: The lookups_per_sec of this ArrayNfsPerformance.  # noqa: E501
        :rtype: int
        """
        return self._lookups_per_sec

    @lookups_per_sec.setter
    def lookups_per_sec(self, lookups_per_sec):
        """Sets the lookups_per_sec of this ArrayNfsPerformance.

        LOOKUP requests processed per second.  # noqa: E501

        :param lookups_per_sec: The lookups_per_sec of this ArrayNfsPerformance.  # noqa: E501
        :type: int
        """
        if lookups_per_sec is not None and lookups_per_sec < 0:  # noqa: E501
            raise ValueError("Invalid value for `lookups_per_sec`, must be a value greater than or equal to `0`")  # noqa: E501

        self._lookups_per_sec = lookups_per_sec

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

        MKDIR requests processed per second.  # noqa: E501

        :return: The mkdirs_per_sec of this ArrayNfsPerformance.  # noqa: E501
        :rtype: int
        """
        return self._mkdirs_per_sec

    @mkdirs_per_sec.setter
    def mkdirs_per_sec(self, mkdirs_per_sec):
        """Sets the mkdirs_per_sec of this ArrayNfsPerformance.

        MKDIR requests processed per second.  # noqa: E501

        :param mkdirs_per_sec: The mkdirs_per_sec of this ArrayNfsPerformance.  # noqa: E501
        :type: int
        """
        if mkdirs_per_sec is not None and mkdirs_per_sec < 0:  # noqa: E501
            raise ValueError("Invalid value for `mkdirs_per_sec`, must be a value greater than or equal to `0`")  # noqa: E501

        self._mkdirs_per_sec = mkdirs_per_sec

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

        All other requests processed per second.  # noqa: E501

        :return: The others_per_sec of this ArrayNfsPerformance.  # noqa: E501
        :rtype: int
        """
        return self._others_per_sec

    @others_per_sec.setter
    def others_per_sec(self, others_per_sec):
        """Sets the others_per_sec of this ArrayNfsPerformance.

        All other requests processed per second.  # noqa: E501

        :param others_per_sec: The others_per_sec of this ArrayNfsPerformance.  # noqa: E501
        :type: int
        """
        if others_per_sec is not None and others_per_sec < 0:  # noqa: E501
            raise ValueError("Invalid value for `others_per_sec`, must be a value greater than or equal to `0`")  # noqa: E501

        self._others_per_sec = others_per_sec

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

        PATHCONF requests processed per second.  # noqa: E501

        :return: The pathconfs_per_sec of this ArrayNfsPerformance.  # noqa: E501
        :rtype: int
        """
        return self._pathconfs_per_sec

    @pathconfs_per_sec.setter
    def pathconfs_per_sec(self, pathconfs_per_sec):
        """Sets the pathconfs_per_sec of this ArrayNfsPerformance.

        PATHCONF requests processed per second.  # noqa: E501

        :param pathconfs_per_sec: The pathconfs_per_sec of this ArrayNfsPerformance.  # noqa: E501
        :type: int
        """
        if pathconfs_per_sec is not None and pathconfs_per_sec < 0:  # noqa: E501
            raise ValueError("Invalid value for `pathconfs_per_sec`, must be a value greater than or equal to `0`")  # noqa: E501

        self._pathconfs_per_sec = pathconfs_per_sec

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

        READ requests processed per second.  # noqa: E501

        :return: The reads_per_sec of this ArrayNfsPerformance.  # noqa: E501
        :rtype: int
        """
        return self._reads_per_sec

    @reads_per_sec.setter
    def reads_per_sec(self, reads_per_sec):
        """Sets the reads_per_sec of this ArrayNfsPerformance.

        READ requests processed per second.  # noqa: E501

        :param reads_per_sec: The reads_per_sec of this ArrayNfsPerformance.  # noqa: E501
        :type: int
        """
        if reads_per_sec is not None and reads_per_sec < 0:  # noqa: E501
            raise ValueError("Invalid value for `reads_per_sec`, must be a value greater than or equal to `0`")  # noqa: E501

        self._reads_per_sec = reads_per_sec

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

        READDIR requests processed per second.  # noqa: E501

        :return: The readdirs_per_sec of this ArrayNfsPerformance.  # noqa: E501
        :rtype: int
        """
        return self._readdirs_per_sec

    @readdirs_per_sec.setter
    def readdirs_per_sec(self, readdirs_per_sec):
        """Sets the readdirs_per_sec of this ArrayNfsPerformance.

        READDIR requests processed per second.  # noqa: E501

        :param readdirs_per_sec: The readdirs_per_sec of this ArrayNfsPerformance.  # noqa: E501
        :type: int
        """
        if readdirs_per_sec is not None and readdirs_per_sec < 0:  # noqa: E501
            raise ValueError("Invalid value for `readdirs_per_sec`, must be a value greater than or equal to `0`")  # noqa: E501

        self._readdirs_per_sec = readdirs_per_sec

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

        READDIRPLUS requests processed per second.  # noqa: E501

        :return: The readdirpluses_per_sec of this ArrayNfsPerformance.  # noqa: E501
        :rtype: int
        """
        return self._readdirpluses_per_sec

    @readdirpluses_per_sec.setter
    def readdirpluses_per_sec(self, readdirpluses_per_sec):
        """Sets the readdirpluses_per_sec of this ArrayNfsPerformance.

        READDIRPLUS requests processed per second.  # noqa: E501

        :param readdirpluses_per_sec: The readdirpluses_per_sec of this ArrayNfsPerformance.  # noqa: E501
        :type: int
        """
        if readdirpluses_per_sec is not None and readdirpluses_per_sec < 0:  # noqa: E501
            raise ValueError("Invalid value for `readdirpluses_per_sec`, must be a value greater than or equal to `0`")  # noqa: E501

        self._readdirpluses_per_sec = readdirpluses_per_sec

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

        READLINK requests processed per second.  # noqa: E501

        :return: The readlinks_per_sec of this ArrayNfsPerformance.  # noqa: E501
        :rtype: int
        """
        return self._readlinks_per_sec

    @readlinks_per_sec.setter
    def readlinks_per_sec(self, readlinks_per_sec):
        """Sets the readlinks_per_sec of this ArrayNfsPerformance.

        READLINK requests processed per second.  # noqa: E501

        :param readlinks_per_sec: The readlinks_per_sec of this ArrayNfsPerformance.  # noqa: E501
        :type: int
        """
        if readlinks_per_sec is not None and readlinks_per_sec < 0:  # noqa: E501
            raise ValueError("Invalid value for `readlinks_per_sec`, must be a value greater than or equal to `0`")  # noqa: E501

        self._readlinks_per_sec = readlinks_per_sec

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

        REMOVE requests processed per second.  # noqa: E501

        :return: The removes_per_sec of this ArrayNfsPerformance.  # noqa: E501
        :rtype: int
        """
        return self._removes_per_sec

    @removes_per_sec.setter
    def removes_per_sec(self, removes_per_sec):
        """Sets the removes_per_sec of this ArrayNfsPerformance.

        REMOVE requests processed per second.  # noqa: E501

        :param removes_per_sec: The removes_per_sec of this ArrayNfsPerformance.  # noqa: E501
        :type: int
        """
        if removes_per_sec is not None and removes_per_sec < 0:  # noqa: E501
            raise ValueError("Invalid value for `removes_per_sec`, must be a value greater than or equal to `0`")  # noqa: E501

        self._removes_per_sec = removes_per_sec

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

        RENAME requests processed per second.  # noqa: E501

        :return: The renames_per_sec of this ArrayNfsPerformance.  # noqa: E501
        :rtype: int
        """
        return self._renames_per_sec

    @renames_per_sec.setter
    def renames_per_sec(self, renames_per_sec):
        """Sets the renames_per_sec of this ArrayNfsPerformance.

        RENAME requests processed per second.  # noqa: E501

        :param renames_per_sec: The renames_per_sec of this ArrayNfsPerformance.  # noqa: E501
        :type: int
        """
        if renames_per_sec is not None and renames_per_sec < 0:  # noqa: E501
            raise ValueError("Invalid value for `renames_per_sec`, must be a value greater than or equal to `0`")  # noqa: E501

        self._renames_per_sec = renames_per_sec

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

        RMDIR requests processed per second.  # noqa: E501

        :return: The rmdirs_per_sec of this ArrayNfsPerformance.  # noqa: E501
        :rtype: int
        """
        return self._rmdirs_per_sec

    @rmdirs_per_sec.setter
    def rmdirs_per_sec(self, rmdirs_per_sec):
        """Sets the rmdirs_per_sec of this ArrayNfsPerformance.

        RMDIR requests processed per second.  # noqa: E501

        :param rmdirs_per_sec: The rmdirs_per_sec of this ArrayNfsPerformance.  # noqa: E501
        :type: int
        """
        if rmdirs_per_sec is not None and rmdirs_per_sec < 0:  # noqa: E501
            raise ValueError("Invalid value for `rmdirs_per_sec`, must be a value greater than or equal to `0`")  # noqa: E501

        self._rmdirs_per_sec = rmdirs_per_sec

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

        SETATTR requests processed per second.  # noqa: E501

        :return: The setattrs_per_sec of this ArrayNfsPerformance.  # noqa: E501
        :rtype: int
        """
        return self._setattrs_per_sec

    @setattrs_per_sec.setter
    def setattrs_per_sec(self, setattrs_per_sec):
        """Sets the setattrs_per_sec of this ArrayNfsPerformance.

        SETATTR requests processed per second.  # noqa: E501

        :param setattrs_per_sec: The setattrs_per_sec of this ArrayNfsPerformance.  # noqa: E501
        :type: int
        """
        if setattrs_per_sec is not None and setattrs_per_sec < 0:  # noqa: E501
            raise ValueError("Invalid value for `setattrs_per_sec`, must be a value greater than or equal to `0`")  # noqa: E501

        self._setattrs_per_sec = setattrs_per_sec

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

        SYMLINK requests processed per second.  # noqa: E501

        :return: The symlinks_per_sec of this ArrayNfsPerformance.  # noqa: E501
        :rtype: int
        """
        return self._symlinks_per_sec

    @symlinks_per_sec.setter
    def symlinks_per_sec(self, symlinks_per_sec):
        """Sets the symlinks_per_sec of this ArrayNfsPerformance.

        SYMLINK requests processed per second.  # noqa: E501

        :param symlinks_per_sec: The symlinks_per_sec of this ArrayNfsPerformance.  # noqa: E501
        :type: int
        """
        if symlinks_per_sec is not None and symlinks_per_sec < 0:  # noqa: E501
            raise ValueError("Invalid value for `symlinks_per_sec`, must be a value greater than or equal to `0`")  # noqa: E501

        self._symlinks_per_sec = symlinks_per_sec

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

        Sample time in milliseconds since UNIX epoch.  # noqa: E501

        :return: The time of this ArrayNfsPerformance.  # noqa: E501
        :rtype: int
        """
        return self._time

    @time.setter
    def time(self, time):
        """Sets the time of this ArrayNfsPerformance.

        Sample time in milliseconds since UNIX epoch.  # noqa: E501

        :param time: The time of this ArrayNfsPerformance.  # noqa: E501
        :type: int
        """

        self._time = time

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

        WRITE requests processed per second.  # noqa: E501

        :return: The writes_per_sec of this ArrayNfsPerformance.  # noqa: E501
        :rtype: int
        """
        return self._writes_per_sec

    @writes_per_sec.setter
    def writes_per_sec(self, writes_per_sec):
        """Sets the writes_per_sec of this ArrayNfsPerformance.

        WRITE requests processed per second.  # noqa: E501

        :param writes_per_sec: The writes_per_sec of this ArrayNfsPerformance.  # noqa: E501
        :type: int
        """
        if writes_per_sec is not None and writes_per_sec < 0:  # noqa: E501
            raise ValueError("Invalid value for `writes_per_sec`, must be a value greater than or equal to `0`")  # noqa: E501

        self._writes_per_sec = writes_per_sec

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

        Average time, measured in microseconds, it takes the array to process an ACCESS request.  # noqa: E501

        :return: The usec_per_access_op of this ArrayNfsPerformance.  # noqa: E501
        :rtype: int
        """
        return self._usec_per_access_op

    @usec_per_access_op.setter
    def usec_per_access_op(self, usec_per_access_op):
        """Sets the usec_per_access_op of this ArrayNfsPerformance.

        Average time, measured in microseconds, it takes the array to process an ACCESS request.  # noqa: E501

        :param usec_per_access_op: The usec_per_access_op of this ArrayNfsPerformance.  # noqa: E501
        :type: int
        """
        if usec_per_access_op is not None and usec_per_access_op < 0:  # noqa: E501
            raise ValueError("Invalid value for `usec_per_access_op`, must be a value greater than or equal to `0`")  # noqa: E501

        self._usec_per_access_op = usec_per_access_op

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

        Average time, measured in microseconds, it takes the array to process a CREATE request.  # noqa: E501

        :return: The usec_per_create_op of this ArrayNfsPerformance.  # noqa: E501
        :rtype: int
        """
        return self._usec_per_create_op

    @usec_per_create_op.setter
    def usec_per_create_op(self, usec_per_create_op):
        """Sets the usec_per_create_op of this ArrayNfsPerformance.

        Average time, measured in microseconds, it takes the array to process a CREATE request.  # noqa: E501

        :param usec_per_create_op: The usec_per_create_op of this ArrayNfsPerformance.  # noqa: E501
        :type: int
        """
        if usec_per_create_op is not None and usec_per_create_op < 0:  # noqa: E501
            raise ValueError("Invalid value for `usec_per_create_op`, must be a value greater than or equal to `0`")  # noqa: E501

        self._usec_per_create_op = usec_per_create_op

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

        Average time, measured in microseconds, it takes the array to process an FSINFO request.  # noqa: E501

        :return: The usec_per_fsinfo_op of this ArrayNfsPerformance.  # noqa: E501
        :rtype: int
        """
        return self._usec_per_fsinfo_op

    @usec_per_fsinfo_op.setter
    def usec_per_fsinfo_op(self, usec_per_fsinfo_op):
        """Sets the usec_per_fsinfo_op of this ArrayNfsPerformance.

        Average time, measured in microseconds, it takes the array to process an FSINFO request.  # noqa: E501

        :param usec_per_fsinfo_op: The usec_per_fsinfo_op of this ArrayNfsPerformance.  # noqa: E501
        :type: int
        """
        if usec_per_fsinfo_op is not None and usec_per_fsinfo_op < 0:  # noqa: E501
            raise ValueError("Invalid value for `usec_per_fsinfo_op`, must be a value greater than or equal to `0`")  # noqa: E501

        self._usec_per_fsinfo_op = usec_per_fsinfo_op

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

        Average time, measured in microseconds, it takes the array to process an FSSTAT request.  # noqa: E501

        :return: The usec_per_fsstat_op of this ArrayNfsPerformance.  # noqa: E501
        :rtype: int
        """
        return self._usec_per_fsstat_op

    @usec_per_fsstat_op.setter
    def usec_per_fsstat_op(self, usec_per_fsstat_op):
        """Sets the usec_per_fsstat_op of this ArrayNfsPerformance.

        Average time, measured in microseconds, it takes the array to process an FSSTAT request.  # noqa: E501

        :param usec_per_fsstat_op: The usec_per_fsstat_op of this ArrayNfsPerformance.  # noqa: E501
        :type: int
        """
        if usec_per_fsstat_op is not None and usec_per_fsstat_op < 0:  # noqa: E501
            raise ValueError("Invalid value for `usec_per_fsstat_op`, must be a value greater than or equal to `0`")  # noqa: E501

        self._usec_per_fsstat_op = usec_per_fsstat_op

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

        Average time, measured in microseconds, it takes the array to process a GETATTR request.  # noqa: E501

        :return: The usec_per_getattr_op of this ArrayNfsPerformance.  # noqa: E501
        :rtype: int
        """
        return self._usec_per_getattr_op

    @usec_per_getattr_op.setter
    def usec_per_getattr_op(self, usec_per_getattr_op):
        """Sets the usec_per_getattr_op of this ArrayNfsPerformance.

        Average time, measured in microseconds, it takes the array to process a GETATTR request.  # noqa: E501

        :param usec_per_getattr_op: The usec_per_getattr_op of this ArrayNfsPerformance.  # noqa: E501
        :type: int
        """
        if usec_per_getattr_op is not None and usec_per_getattr_op < 0:  # noqa: E501
            raise ValueError("Invalid value for `usec_per_getattr_op`, must be a value greater than or equal to `0`")  # noqa: E501

        self._usec_per_getattr_op = usec_per_getattr_op

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

        Average time, measured in microseconds, it takes the array to process a LINK request.  # noqa: E501

        :return: The usec_per_link_op of this ArrayNfsPerformance.  # noqa: E501
        :rtype: int
        """
        return self._usec_per_link_op

    @usec_per_link_op.setter
    def usec_per_link_op(self, usec_per_link_op):
        """Sets the usec_per_link_op of this ArrayNfsPerformance.

        Average time, measured in microseconds, it takes the array to process a LINK request.  # noqa: E501

        :param usec_per_link_op: The usec_per_link_op of this ArrayNfsPerformance.  # noqa: E501
        :type: int
        """
        if usec_per_link_op is not None and usec_per_link_op < 0:  # noqa: E501
            raise ValueError("Invalid value for `usec_per_link_op`, must be a value greater than or equal to `0`")  # noqa: E501

        self._usec_per_link_op = usec_per_link_op

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

        Average time, measured in microseconds, it takes the array to process a LOOKUP request.  # noqa: E501

        :return: The usec_per_lookup_op of this ArrayNfsPerformance.  # noqa: E501
        :rtype: int
        """
        return self._usec_per_lookup_op

    @usec_per_lookup_op.setter
    def usec_per_lookup_op(self, usec_per_lookup_op):
        """Sets the usec_per_lookup_op of this ArrayNfsPerformance.

        Average time, measured in microseconds, it takes the array to process a LOOKUP request.  # noqa: E501

        :param usec_per_lookup_op: The usec_per_lookup_op of this ArrayNfsPerformance.  # noqa: E501
        :type: int
        """
        if usec_per_lookup_op is not None and usec_per_lookup_op < 0:  # noqa: E501
            raise ValueError("Invalid value for `usec_per_lookup_op`, must be a value greater than or equal to `0`")  # noqa: E501

        self._usec_per_lookup_op = usec_per_lookup_op

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

        Average time, measured in microseconds, it takes the array to process a MKDIR request.  # noqa: E501

        :return: The usec_per_mkdir_op of this ArrayNfsPerformance.  # noqa: E501
        :rtype: int
        """
        return self._usec_per_mkdir_op

    @usec_per_mkdir_op.setter
    def usec_per_mkdir_op(self, usec_per_mkdir_op):
        """Sets the usec_per_mkdir_op of this ArrayNfsPerformance.

        Average time, measured in microseconds, it takes the array to process a MKDIR request.  # noqa: E501

        :param usec_per_mkdir_op: The usec_per_mkdir_op of this ArrayNfsPerformance.  # noqa: E501
        :type: int
        """
        if usec_per_mkdir_op is not None and usec_per_mkdir_op < 0:  # noqa: E501
            raise ValueError("Invalid value for `usec_per_mkdir_op`, must be a value greater than or equal to `0`")  # noqa: E501

        self._usec_per_mkdir_op = usec_per_mkdir_op

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

        Average time, measured in microseconds, it takes the array to process all other requests.  # noqa: E501

        :return: The usec_per_other_op of this ArrayNfsPerformance.  # noqa: E501
        :rtype: int
        """
        return self._usec_per_other_op

    @usec_per_other_op.setter
    def usec_per_other_op(self, usec_per_other_op):
        """Sets the usec_per_other_op of this ArrayNfsPerformance.

        Average time, measured in microseconds, it takes the array to process all other requests.  # noqa: E501

        :param usec_per_other_op: The usec_per_other_op of this ArrayNfsPerformance.  # noqa: E501
        :type: int
        """
        if usec_per_other_op is not None and usec_per_other_op < 0:  # noqa: E501
            raise ValueError("Invalid value for `usec_per_other_op`, must be a value greater than or equal to `0`")  # noqa: E501

        self._usec_per_other_op = usec_per_other_op

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

        Average time, measured in microseconds, it takes the array to process a PATHCONF request.  # noqa: E501

        :return: The usec_per_pathconf_op of this ArrayNfsPerformance.  # noqa: E501
        :rtype: int
        """
        return self._usec_per_pathconf_op

    @usec_per_pathconf_op.setter
    def usec_per_pathconf_op(self, usec_per_pathconf_op):
        """Sets the usec_per_pathconf_op of this ArrayNfsPerformance.

        Average time, measured in microseconds, it takes the array to process a PATHCONF request.  # noqa: E501

        :param usec_per_pathconf_op: The usec_per_pathconf_op of this ArrayNfsPerformance.  # noqa: E501
        :type: int
        """
        if usec_per_pathconf_op is not None and usec_per_pathconf_op < 0:  # noqa: E501
            raise ValueError("Invalid value for `usec_per_pathconf_op`, must be a value greater than or equal to `0`")  # noqa: E501

        self._usec_per_pathconf_op = usec_per_pathconf_op

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

        Average time, measured in microseconds, it takes the array to process a READ request.  # noqa: E501

        :return: The usec_per_read_op of this ArrayNfsPerformance.  # noqa: E501
        :rtype: int
        """
        return self._usec_per_read_op

    @usec_per_read_op.setter
    def usec_per_read_op(self, usec_per_read_op):
        """Sets the usec_per_read_op of this ArrayNfsPerformance.

        Average time, measured in microseconds, it takes the array to process a READ request.  # noqa: E501

        :param usec_per_read_op: The usec_per_read_op of this ArrayNfsPerformance.  # noqa: E501
        :type: int
        """
        if usec_per_read_op is not None and usec_per_read_op < 0:  # noqa: E501
            raise ValueError("Invalid value for `usec_per_read_op`, must be a value greater than or equal to `0`")  # noqa: E501

        self._usec_per_read_op = usec_per_read_op

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

        Average time, measured in microseconds, it takes the array to process a READDIR request.  # noqa: E501

        :return: The usec_per_readdir_op of this ArrayNfsPerformance.  # noqa: E501
        :rtype: int
        """
        return self._usec_per_readdir_op

    @usec_per_readdir_op.setter
    def usec_per_readdir_op(self, usec_per_readdir_op):
        """Sets the usec_per_readdir_op of this ArrayNfsPerformance.

        Average time, measured in microseconds, it takes the array to process a READDIR request.  # noqa: E501

        :param usec_per_readdir_op: The usec_per_readdir_op of this ArrayNfsPerformance.  # noqa: E501
        :type: int
        """
        if usec_per_readdir_op is not None and usec_per_readdir_op < 0:  # noqa: E501
            raise ValueError("Invalid value for `usec_per_readdir_op`, must be a value greater than or equal to `0`")  # noqa: E501

        self._usec_per_readdir_op = usec_per_readdir_op

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

        Average time, measured in microseconds, it takes the array to process a READDIRPLUS request.  # noqa: E501

        :return: The usec_per_readdirplus_op of this ArrayNfsPerformance.  # noqa: E501
        :rtype: int
        """
        return self._usec_per_readdirplus_op

    @usec_per_readdirplus_op.setter
    def usec_per_readdirplus_op(self, usec_per_readdirplus_op):
        """Sets the usec_per_readdirplus_op of this ArrayNfsPerformance.

        Average time, measured in microseconds, it takes the array to process a READDIRPLUS request.  # noqa: E501

        :param usec_per_readdirplus_op: The usec_per_readdirplus_op of this ArrayNfsPerformance.  # noqa: E501
        :type: int
        """
        if usec_per_readdirplus_op is not None and usec_per_readdirplus_op < 0:  # noqa: E501
            raise ValueError("Invalid value for `usec_per_readdirplus_op`, must be a value greater than or equal to `0`")  # noqa: E501

        self._usec_per_readdirplus_op = usec_per_readdirplus_op

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

        Average time, measured in microseconds, it takes the array to process a READLINK request.  # noqa: E501

        :return: The usec_per_readlink_op of this ArrayNfsPerformance.  # noqa: E501
        :rtype: int
        """
        return self._usec_per_readlink_op

    @usec_per_readlink_op.setter
    def usec_per_readlink_op(self, usec_per_readlink_op):
        """Sets the usec_per_readlink_op of this ArrayNfsPerformance.

        Average time, measured in microseconds, it takes the array to process a READLINK request.  # noqa: E501

        :param usec_per_readlink_op: The usec_per_readlink_op of this ArrayNfsPerformance.  # noqa: E501
        :type: int
        """
        if usec_per_readlink_op is not None and usec_per_readlink_op < 0:  # noqa: E501
            raise ValueError("Invalid value for `usec_per_readlink_op`, must be a value greater than or equal to `0`")  # noqa: E501

        self._usec_per_readlink_op = usec_per_readlink_op

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

        Average time, measured in microseconds, it takes the array to process a REMOVE request.  # noqa: E501

        :return: The usec_per_remove_op of this ArrayNfsPerformance.  # noqa: E501
        :rtype: int
        """
        return self._usec_per_remove_op

    @usec_per_remove_op.setter
    def usec_per_remove_op(self, usec_per_remove_op):
        """Sets the usec_per_remove_op of this ArrayNfsPerformance.

        Average time, measured in microseconds, it takes the array to process a REMOVE request.  # noqa: E501

        :param usec_per_remove_op: The usec_per_remove_op of this ArrayNfsPerformance.  # noqa: E501
        :type: int
        """
        if usec_per_remove_op is not None and usec_per_remove_op < 0:  # noqa: E501
            raise ValueError("Invalid value for `usec_per_remove_op`, must be a value greater than or equal to `0`")  # noqa: E501

        self._usec_per_remove_op = usec_per_remove_op

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

        Average time, measured in microseconds, it takes the array to process a RENAME request.  # noqa: E501

        :return: The usec_per_rename_op of this ArrayNfsPerformance.  # noqa: E501
        :rtype: int
        """
        return self._usec_per_rename_op

    @usec_per_rename_op.setter
    def usec_per_rename_op(self, usec_per_rename_op):
        """Sets the usec_per_rename_op of this ArrayNfsPerformance.

        Average time, measured in microseconds, it takes the array to process a RENAME request.  # noqa: E501

        :param usec_per_rename_op: The usec_per_rename_op of this ArrayNfsPerformance.  # noqa: E501
        :type: int
        """
        if usec_per_rename_op is not None and usec_per_rename_op < 0:  # noqa: E501
            raise ValueError("Invalid value for `usec_per_rename_op`, must be a value greater than or equal to `0`")  # noqa: E501

        self._usec_per_rename_op = usec_per_rename_op

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

        Average time, measured in microseconds, it takes the array to process an RMDIR request.  # noqa: E501

        :return: The usec_per_rmdir_op of this ArrayNfsPerformance.  # noqa: E501
        :rtype: int
        """
        return self._usec_per_rmdir_op

    @usec_per_rmdir_op.setter
    def usec_per_rmdir_op(self, usec_per_rmdir_op):
        """Sets the usec_per_rmdir_op of this ArrayNfsPerformance.

        Average time, measured in microseconds, it takes the array to process an RMDIR request.  # noqa: E501

        :param usec_per_rmdir_op: The usec_per_rmdir_op of this ArrayNfsPerformance.  # noqa: E501
        :type: int
        """
        if usec_per_rmdir_op is not None and usec_per_rmdir_op < 0:  # noqa: E501
            raise ValueError("Invalid value for `usec_per_rmdir_op`, must be a value greater than or equal to `0`")  # noqa: E501

        self._usec_per_rmdir_op = usec_per_rmdir_op

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

        Average time, measured in microseconds, it takes the array to process a SETATTR request.  # noqa: E501

        :return: The usec_per_setattr_op of this ArrayNfsPerformance.  # noqa: E501
        :rtype: int
        """
        return self._usec_per_setattr_op

    @usec_per_setattr_op.setter
    def usec_per_setattr_op(self, usec_per_setattr_op):
        """Sets the usec_per_setattr_op of this ArrayNfsPerformance.

        Average time, measured in microseconds, it takes the array to process a SETATTR request.  # noqa: E501

        :param usec_per_setattr_op: The usec_per_setattr_op of this ArrayNfsPerformance.  # noqa: E501
        :type: int
        """
        if usec_per_setattr_op is not None and usec_per_setattr_op < 0:  # noqa: E501
            raise ValueError("Invalid value for `usec_per_setattr_op`, must be a value greater than or equal to `0`")  # noqa: E501

        self._usec_per_setattr_op = usec_per_setattr_op

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

        Average time, measured in microseconds, it takes the array to process a SYMLINK request.  # noqa: E501

        :return: The usec_per_symlink_op of this ArrayNfsPerformance.  # noqa: E501
        :rtype: int
        """
        return self._usec_per_symlink_op

    @usec_per_symlink_op.setter
    def usec_per_symlink_op(self, usec_per_symlink_op):
        """Sets the usec_per_symlink_op of this ArrayNfsPerformance.

        Average time, measured in microseconds, it takes the array to process a SYMLINK request.  # noqa: E501

        :param usec_per_symlink_op: The usec_per_symlink_op of this ArrayNfsPerformance.  # noqa: E501
        :type: int
        """
        if usec_per_symlink_op is not None and usec_per_symlink_op < 0:  # noqa: E501
            raise ValueError("Invalid value for `usec_per_symlink_op`, must be a value greater than or equal to `0`")  # noqa: E501

        self._usec_per_symlink_op = usec_per_symlink_op

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

        Average time, measured in microseconds, it takes the array to process a WRITE request.  # noqa: E501

        :return: The usec_per_write_op of this ArrayNfsPerformance.  # noqa: E501
        :rtype: int
        """
        return self._usec_per_write_op

    @usec_per_write_op.setter
    def usec_per_write_op(self, usec_per_write_op):
        """Sets the usec_per_write_op of this ArrayNfsPerformance.

        Average time, measured in microseconds, it takes the array to process a WRITE request.  # noqa: E501

        :param usec_per_write_op: The usec_per_write_op of this ArrayNfsPerformance.  # noqa: E501
        :type: int
        """
        if usec_per_write_op is not None and usec_per_write_op < 0:  # noqa: E501
            raise ValueError("Invalid value for `usec_per_write_op`, must be a value greater than or equal to `0`")  # noqa: E501

        self._usec_per_write_op = usec_per_write_op

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

        return self.__dict__ == other.__dict__

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