# coding: utf-8

"""
DiskIOStats.py

 The Clear BSD License

 Copyright (c) – 2016, NetApp, Inc. All rights reserved.

 Redistribution and use in source and binary forms, with or without modification, are permitted (subject to the limitations in the disclaimer below) provided that the following conditions are met:

 * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

 * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

 * Neither the name of NetApp, Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

 NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
"""

from pprint import pformat
from six import iteritems


class DiskIOStats(object):
    """
    NOTE: This class is auto generated by the swagger code generator program.
    Do not edit the class manually.
    """
    def __init__(self):
        """
        DiskIOStats - a model defined in Swagger

        :param dict swaggerTypes: The key is attribute name
                                  and the value is attribute type.
        :param dict attributeMap: The key is attribute name
                                  and the value is json key in definition.
        """
        self.swagger_types = {
            'observed_time': 'datetime',  # (required parameter)
            'observed_time_in_ms': 'int',  # (required parameter)
            'last_reset_time': 'datetime',  # (required parameter)
            'last_reset_time_in_ms': 'int',  # (required parameter)
            'disk_id': 'str',  # (required parameter)
            'serial_number': 'str',  # (required parameter)
            'array_id': 'str',  # (required parameter)
            'array_wwn': 'str',  # (required parameter)
            'drive_wwn': 'str',  # (required parameter)
            'vol_group_id': 'str',  # (required parameter)
            'vol_group_name': 'str',  # (required parameter)
            'vol_group_wwn': 'str',  # (required parameter)
            'tray_id': 'str',  # (required parameter)
            'slot': 'int',  # (required parameter)
            'disk_manufacture': 'str',  # (required parameter)
            'disk_software_version': 'str',  # (required parameter)
            'idle_time': 'float',  # (required parameter)
            'other_ops': 'float',  # (required parameter)
            'other_time_max': 'float',  # (required parameter)
            'other_time_total': 'float',  # (required parameter)
            'other_time_total_sq': 'float',  # (required parameter)
            'read_bytes': 'float',  # (required parameter)
            'read_ops': 'float',  # (required parameter)
            'read_time_max': 'float',  # (required parameter)
            'read_time_total': 'float',  # (required parameter)
            'read_time_total_sq': 'float',  # (required parameter)
            'recovered_errors': 'float',  # (required parameter)
            'retried_ios': 'float',  # (required parameter)
            'timeouts': 'float',  # (required parameter)
            'unrecovered_errors': 'float',  # (required parameter)
            'write_bytes': 'float',  # (required parameter)
            'write_ops': 'float',  # (required parameter)
            'write_time_max': 'float',  # (required parameter)
            'write_time_total': 'float',  # (required parameter)
            'write_time_total_sq': 'float',  # (required parameter)
            'queue_depth_total': 'float',  # (required parameter)
            'queue_depth_max': 'float',  # (required parameter)
            'random_ios_total': 'float',  # (required parameter)
            'random_bytes_total': 'float',  # (required parameter)
            'cumulative_lba': 'float',  # (required parameter)
            'cumulative_delta_lba': 'float'
        }

        self.attribute_map = {
            'observed_time': 'observedTime',  # (required parameter)
            'observed_time_in_ms': 'observedTimeInMS',  # (required parameter)
            'last_reset_time': 'lastResetTime',  # (required parameter)
            'last_reset_time_in_ms': 'lastResetTimeInMS',  # (required parameter)
            'disk_id': 'diskId',  # (required parameter)
            'serial_number': 'serialNumber',  # (required parameter)
            'array_id': 'arrayId',  # (required parameter)
            'array_wwn': 'arrayWWN',  # (required parameter)
            'drive_wwn': 'driveWWN',  # (required parameter)
            'vol_group_id': 'volGroupId',  # (required parameter)
            'vol_group_name': 'volGroupName',  # (required parameter)
            'vol_group_wwn': 'volGroupWWN',  # (required parameter)
            'tray_id': 'trayId',  # (required parameter)
            'slot': 'slot',  # (required parameter)
            'disk_manufacture': 'diskManufacture',  # (required parameter)
            'disk_software_version': 'diskSoftwareVersion',  # (required parameter)
            'idle_time': 'idleTime',  # (required parameter)
            'other_ops': 'otherOps',  # (required parameter)
            'other_time_max': 'otherTimeMax',  # (required parameter)
            'other_time_total': 'otherTimeTotal',  # (required parameter)
            'other_time_total_sq': 'otherTimeTotalSq',  # (required parameter)
            'read_bytes': 'readBytes',  # (required parameter)
            'read_ops': 'readOps',  # (required parameter)
            'read_time_max': 'readTimeMax',  # (required parameter)
            'read_time_total': 'readTimeTotal',  # (required parameter)
            'read_time_total_sq': 'readTimeTotalSq',  # (required parameter)
            'recovered_errors': 'recoveredErrors',  # (required parameter)
            'retried_ios': 'retriedIos',  # (required parameter)
            'timeouts': 'timeouts',  # (required parameter)
            'unrecovered_errors': 'unrecoveredErrors',  # (required parameter)
            'write_bytes': 'writeBytes',  # (required parameter)
            'write_ops': 'writeOps',  # (required parameter)
            'write_time_max': 'writeTimeMax',  # (required parameter)
            'write_time_total': 'writeTimeTotal',  # (required parameter)
            'write_time_total_sq': 'writeTimeTotalSq',  # (required parameter)
            'queue_depth_total': 'queueDepthTotal',  # (required parameter)
            'queue_depth_max': 'queueDepthMax',  # (required parameter)
            'random_ios_total': 'randomIosTotal',  # (required parameter)
            'random_bytes_total': 'randomBytesTotal',  # (required parameter)
            'cumulative_lba': 'cumulativeLBA',  # (required parameter)
            'cumulative_delta_lba': 'cumulativeDeltaLBA'
        }

        self._observed_time = None
        self._observed_time_in_ms = None
        self._last_reset_time = None
        self._last_reset_time_in_ms = None
        self._disk_id = None
        self._serial_number = None
        self._array_id = None
        self._array_wwn = None
        self._drive_wwn = None
        self._vol_group_id = None
        self._vol_group_name = None
        self._vol_group_wwn = None
        self._tray_id = None
        self._slot = None
        self._disk_manufacture = None
        self._disk_software_version = None
        self._idle_time = None
        self._other_ops = None
        self._other_time_max = None
        self._other_time_total = None
        self._other_time_total_sq = None
        self._read_bytes = None
        self._read_ops = None
        self._read_time_max = None
        self._read_time_total = None
        self._read_time_total_sq = None
        self._recovered_errors = None
        self._retried_ios = None
        self._timeouts = None
        self._unrecovered_errors = None
        self._write_bytes = None
        self._write_ops = None
        self._write_time_max = None
        self._write_time_total = None
        self._write_time_total_sq = None
        self._queue_depth_total = None
        self._queue_depth_max = None
        self._random_ios_total = None
        self._random_bytes_total = None
        self._cumulative_lba = None
        self._cumulative_delta_lba = None

    @property
    def observed_time(self):
        """
        Gets the observed_time of this DiskIOStats.


        :return: The observed_time of this DiskIOStats.
        :rtype: datetime
        :required/optional: required
        """
        return self._observed_time

    @observed_time.setter
    def observed_time(self, observed_time):
        """
        Sets the observed_time of this DiskIOStats.


        :param observed_time: The observed_time of this DiskIOStats.
        :type: datetime
        """
        self._observed_time = observed_time

    @property
    def observed_time_in_ms(self):
        """
        Gets the observed_time_in_ms of this DiskIOStats.


        :return: The observed_time_in_ms of this DiskIOStats.
        :rtype: int
        :required/optional: required
        """
        return self._observed_time_in_ms

    @observed_time_in_ms.setter
    def observed_time_in_ms(self, observed_time_in_ms):
        """
        Sets the observed_time_in_ms of this DiskIOStats.


        :param observed_time_in_ms: The observed_time_in_ms of this DiskIOStats.
        :type: int
        """
        self._observed_time_in_ms = observed_time_in_ms

    @property
    def last_reset_time(self):
        """
        Gets the last_reset_time of this DiskIOStats.


        :return: The last_reset_time of this DiskIOStats.
        :rtype: datetime
        :required/optional: required
        """
        return self._last_reset_time

    @last_reset_time.setter
    def last_reset_time(self, last_reset_time):
        """
        Sets the last_reset_time of this DiskIOStats.


        :param last_reset_time: The last_reset_time of this DiskIOStats.
        :type: datetime
        """
        self._last_reset_time = last_reset_time

    @property
    def last_reset_time_in_ms(self):
        """
        Gets the last_reset_time_in_ms of this DiskIOStats.


        :return: The last_reset_time_in_ms of this DiskIOStats.
        :rtype: int
        :required/optional: required
        """
        return self._last_reset_time_in_ms

    @last_reset_time_in_ms.setter
    def last_reset_time_in_ms(self, last_reset_time_in_ms):
        """
        Sets the last_reset_time_in_ms of this DiskIOStats.


        :param last_reset_time_in_ms: The last_reset_time_in_ms of this DiskIOStats.
        :type: int
        """
        self._last_reset_time_in_ms = last_reset_time_in_ms

    @property
    def disk_id(self):
        """
        Gets the disk_id of this DiskIOStats.


        :return: The disk_id of this DiskIOStats.
        :rtype: str
        :required/optional: required
        """
        return self._disk_id

    @disk_id.setter
    def disk_id(self, disk_id):
        """
        Sets the disk_id of this DiskIOStats.


        :param disk_id: The disk_id of this DiskIOStats.
        :type: str
        """
        self._disk_id = disk_id

    @property
    def serial_number(self):
        """
        Gets the serial_number of this DiskIOStats.


        :return: The serial_number of this DiskIOStats.
        :rtype: str
        :required/optional: required
        """
        return self._serial_number

    @serial_number.setter
    def serial_number(self, serial_number):
        """
        Sets the serial_number of this DiskIOStats.


        :param serial_number: The serial_number of this DiskIOStats.
        :type: str
        """
        self._serial_number = serial_number

    @property
    def array_id(self):
        """
        Gets the array_id of this DiskIOStats.


        :return: The array_id of this DiskIOStats.
        :rtype: str
        :required/optional: required
        """
        return self._array_id

    @array_id.setter
    def array_id(self, array_id):
        """
        Sets the array_id of this DiskIOStats.


        :param array_id: The array_id of this DiskIOStats.
        :type: str
        """
        self._array_id = array_id

    @property
    def array_wwn(self):
        """
        Gets the array_wwn of this DiskIOStats.


        :return: The array_wwn of this DiskIOStats.
        :rtype: str
        :required/optional: required
        """
        return self._array_wwn

    @array_wwn.setter
    def array_wwn(self, array_wwn):
        """
        Sets the array_wwn of this DiskIOStats.


        :param array_wwn: The array_wwn of this DiskIOStats.
        :type: str
        """
        self._array_wwn = array_wwn

    @property
    def drive_wwn(self):
        """
        Gets the drive_wwn of this DiskIOStats.


        :return: The drive_wwn of this DiskIOStats.
        :rtype: str
        :required/optional: required
        """
        return self._drive_wwn

    @drive_wwn.setter
    def drive_wwn(self, drive_wwn):
        """
        Sets the drive_wwn of this DiskIOStats.


        :param drive_wwn: The drive_wwn of this DiskIOStats.
        :type: str
        """
        self._drive_wwn = drive_wwn

    @property
    def vol_group_id(self):
        """
        Gets the vol_group_id of this DiskIOStats.


        :return: The vol_group_id of this DiskIOStats.
        :rtype: str
        :required/optional: required
        """
        return self._vol_group_id

    @vol_group_id.setter
    def vol_group_id(self, vol_group_id):
        """
        Sets the vol_group_id of this DiskIOStats.


        :param vol_group_id: The vol_group_id of this DiskIOStats.
        :type: str
        """
        self._vol_group_id = vol_group_id

    @property
    def vol_group_name(self):
        """
        Gets the vol_group_name of this DiskIOStats.


        :return: The vol_group_name of this DiskIOStats.
        :rtype: str
        :required/optional: required
        """
        return self._vol_group_name

    @vol_group_name.setter
    def vol_group_name(self, vol_group_name):
        """
        Sets the vol_group_name of this DiskIOStats.


        :param vol_group_name: The vol_group_name of this DiskIOStats.
        :type: str
        """
        self._vol_group_name = vol_group_name

    @property
    def vol_group_wwn(self):
        """
        Gets the vol_group_wwn of this DiskIOStats.


        :return: The vol_group_wwn of this DiskIOStats.
        :rtype: str
        :required/optional: required
        """
        return self._vol_group_wwn

    @vol_group_wwn.setter
    def vol_group_wwn(self, vol_group_wwn):
        """
        Sets the vol_group_wwn of this DiskIOStats.


        :param vol_group_wwn: The vol_group_wwn of this DiskIOStats.
        :type: str
        """
        self._vol_group_wwn = vol_group_wwn

    @property
    def tray_id(self):
        """
        Gets the tray_id of this DiskIOStats.


        :return: The tray_id of this DiskIOStats.
        :rtype: str
        :required/optional: required
        """
        return self._tray_id

    @tray_id.setter
    def tray_id(self, tray_id):
        """
        Sets the tray_id of this DiskIOStats.


        :param tray_id: The tray_id of this DiskIOStats.
        :type: str
        """
        self._tray_id = tray_id

    @property
    def slot(self):
        """
        Gets the slot of this DiskIOStats.


        :return: The slot of this DiskIOStats.
        :rtype: int
        :required/optional: required
        """
        return self._slot

    @slot.setter
    def slot(self, slot):
        """
        Sets the slot of this DiskIOStats.


        :param slot: The slot of this DiskIOStats.
        :type: int
        """
        self._slot = slot

    @property
    def disk_manufacture(self):
        """
        Gets the disk_manufacture of this DiskIOStats.


        :return: The disk_manufacture of this DiskIOStats.
        :rtype: str
        :required/optional: required
        """
        return self._disk_manufacture

    @disk_manufacture.setter
    def disk_manufacture(self, disk_manufacture):
        """
        Sets the disk_manufacture of this DiskIOStats.


        :param disk_manufacture: The disk_manufacture of this DiskIOStats.
        :type: str
        """
        self._disk_manufacture = disk_manufacture

    @property
    def disk_software_version(self):
        """
        Gets the disk_software_version of this DiskIOStats.


        :return: The disk_software_version of this DiskIOStats.
        :rtype: str
        :required/optional: required
        """
        return self._disk_software_version

    @disk_software_version.setter
    def disk_software_version(self, disk_software_version):
        """
        Sets the disk_software_version of this DiskIOStats.


        :param disk_software_version: The disk_software_version of this DiskIOStats.
        :type: str
        """
        self._disk_software_version = disk_software_version

    @property
    def idle_time(self):
        """
        Gets the idle_time of this DiskIOStats.


        :return: The idle_time of this DiskIOStats.
        :rtype: float
        :required/optional: required
        """
        return self._idle_time

    @idle_time.setter
    def idle_time(self, idle_time):
        """
        Sets the idle_time of this DiskIOStats.


        :param idle_time: The idle_time of this DiskIOStats.
        :type: float
        """
        self._idle_time = idle_time

    @property
    def other_ops(self):
        """
        Gets the other_ops of this DiskIOStats.


        :return: The other_ops of this DiskIOStats.
        :rtype: float
        :required/optional: required
        """
        return self._other_ops

    @other_ops.setter
    def other_ops(self, other_ops):
        """
        Sets the other_ops of this DiskIOStats.


        :param other_ops: The other_ops of this DiskIOStats.
        :type: float
        """
        self._other_ops = other_ops

    @property
    def other_time_max(self):
        """
        Gets the other_time_max of this DiskIOStats.


        :return: The other_time_max of this DiskIOStats.
        :rtype: float
        :required/optional: required
        """
        return self._other_time_max

    @other_time_max.setter
    def other_time_max(self, other_time_max):
        """
        Sets the other_time_max of this DiskIOStats.


        :param other_time_max: The other_time_max of this DiskIOStats.
        :type: float
        """
        self._other_time_max = other_time_max

    @property
    def other_time_total(self):
        """
        Gets the other_time_total of this DiskIOStats.


        :return: The other_time_total of this DiskIOStats.
        :rtype: float
        :required/optional: required
        """
        return self._other_time_total

    @other_time_total.setter
    def other_time_total(self, other_time_total):
        """
        Sets the other_time_total of this DiskIOStats.


        :param other_time_total: The other_time_total of this DiskIOStats.
        :type: float
        """
        self._other_time_total = other_time_total

    @property
    def other_time_total_sq(self):
        """
        Gets the other_time_total_sq of this DiskIOStats.


        :return: The other_time_total_sq of this DiskIOStats.
        :rtype: float
        :required/optional: required
        """
        return self._other_time_total_sq

    @other_time_total_sq.setter
    def other_time_total_sq(self, other_time_total_sq):
        """
        Sets the other_time_total_sq of this DiskIOStats.


        :param other_time_total_sq: The other_time_total_sq of this DiskIOStats.
        :type: float
        """
        self._other_time_total_sq = other_time_total_sq

    @property
    def read_bytes(self):
        """
        Gets the read_bytes of this DiskIOStats.


        :return: The read_bytes of this DiskIOStats.
        :rtype: float
        :required/optional: required
        """
        return self._read_bytes

    @read_bytes.setter
    def read_bytes(self, read_bytes):
        """
        Sets the read_bytes of this DiskIOStats.


        :param read_bytes: The read_bytes of this DiskIOStats.
        :type: float
        """
        self._read_bytes = read_bytes

    @property
    def read_ops(self):
        """
        Gets the read_ops of this DiskIOStats.


        :return: The read_ops of this DiskIOStats.
        :rtype: float
        :required/optional: required
        """
        return self._read_ops

    @read_ops.setter
    def read_ops(self, read_ops):
        """
        Sets the read_ops of this DiskIOStats.


        :param read_ops: The read_ops of this DiskIOStats.
        :type: float
        """
        self._read_ops = read_ops

    @property
    def read_time_max(self):
        """
        Gets the read_time_max of this DiskIOStats.


        :return: The read_time_max of this DiskIOStats.
        :rtype: float
        :required/optional: required
        """
        return self._read_time_max

    @read_time_max.setter
    def read_time_max(self, read_time_max):
        """
        Sets the read_time_max of this DiskIOStats.


        :param read_time_max: The read_time_max of this DiskIOStats.
        :type: float
        """
        self._read_time_max = read_time_max

    @property
    def read_time_total(self):
        """
        Gets the read_time_total of this DiskIOStats.


        :return: The read_time_total of this DiskIOStats.
        :rtype: float
        :required/optional: required
        """
        return self._read_time_total

    @read_time_total.setter
    def read_time_total(self, read_time_total):
        """
        Sets the read_time_total of this DiskIOStats.


        :param read_time_total: The read_time_total of this DiskIOStats.
        :type: float
        """
        self._read_time_total = read_time_total

    @property
    def read_time_total_sq(self):
        """
        Gets the read_time_total_sq of this DiskIOStats.


        :return: The read_time_total_sq of this DiskIOStats.
        :rtype: float
        :required/optional: required
        """
        return self._read_time_total_sq

    @read_time_total_sq.setter
    def read_time_total_sq(self, read_time_total_sq):
        """
        Sets the read_time_total_sq of this DiskIOStats.


        :param read_time_total_sq: The read_time_total_sq of this DiskIOStats.
        :type: float
        """
        self._read_time_total_sq = read_time_total_sq

    @property
    def recovered_errors(self):
        """
        Gets the recovered_errors of this DiskIOStats.


        :return: The recovered_errors of this DiskIOStats.
        :rtype: float
        :required/optional: required
        """
        return self._recovered_errors

    @recovered_errors.setter
    def recovered_errors(self, recovered_errors):
        """
        Sets the recovered_errors of this DiskIOStats.


        :param recovered_errors: The recovered_errors of this DiskIOStats.
        :type: float
        """
        self._recovered_errors = recovered_errors

    @property
    def retried_ios(self):
        """
        Gets the retried_ios of this DiskIOStats.


        :return: The retried_ios of this DiskIOStats.
        :rtype: float
        :required/optional: required
        """
        return self._retried_ios

    @retried_ios.setter
    def retried_ios(self, retried_ios):
        """
        Sets the retried_ios of this DiskIOStats.


        :param retried_ios: The retried_ios of this DiskIOStats.
        :type: float
        """
        self._retried_ios = retried_ios

    @property
    def timeouts(self):
        """
        Gets the timeouts of this DiskIOStats.


        :return: The timeouts of this DiskIOStats.
        :rtype: float
        :required/optional: required
        """
        return self._timeouts

    @timeouts.setter
    def timeouts(self, timeouts):
        """
        Sets the timeouts of this DiskIOStats.


        :param timeouts: The timeouts of this DiskIOStats.
        :type: float
        """
        self._timeouts = timeouts

    @property
    def unrecovered_errors(self):
        """
        Gets the unrecovered_errors of this DiskIOStats.


        :return: The unrecovered_errors of this DiskIOStats.
        :rtype: float
        :required/optional: required
        """
        return self._unrecovered_errors

    @unrecovered_errors.setter
    def unrecovered_errors(self, unrecovered_errors):
        """
        Sets the unrecovered_errors of this DiskIOStats.


        :param unrecovered_errors: The unrecovered_errors of this DiskIOStats.
        :type: float
        """
        self._unrecovered_errors = unrecovered_errors

    @property
    def write_bytes(self):
        """
        Gets the write_bytes of this DiskIOStats.


        :return: The write_bytes of this DiskIOStats.
        :rtype: float
        :required/optional: required
        """
        return self._write_bytes

    @write_bytes.setter
    def write_bytes(self, write_bytes):
        """
        Sets the write_bytes of this DiskIOStats.


        :param write_bytes: The write_bytes of this DiskIOStats.
        :type: float
        """
        self._write_bytes = write_bytes

    @property
    def write_ops(self):
        """
        Gets the write_ops of this DiskIOStats.


        :return: The write_ops of this DiskIOStats.
        :rtype: float
        :required/optional: required
        """
        return self._write_ops

    @write_ops.setter
    def write_ops(self, write_ops):
        """
        Sets the write_ops of this DiskIOStats.


        :param write_ops: The write_ops of this DiskIOStats.
        :type: float
        """
        self._write_ops = write_ops

    @property
    def write_time_max(self):
        """
        Gets the write_time_max of this DiskIOStats.


        :return: The write_time_max of this DiskIOStats.
        :rtype: float
        :required/optional: required
        """
        return self._write_time_max

    @write_time_max.setter
    def write_time_max(self, write_time_max):
        """
        Sets the write_time_max of this DiskIOStats.


        :param write_time_max: The write_time_max of this DiskIOStats.
        :type: float
        """
        self._write_time_max = write_time_max

    @property
    def write_time_total(self):
        """
        Gets the write_time_total of this DiskIOStats.


        :return: The write_time_total of this DiskIOStats.
        :rtype: float
        :required/optional: required
        """
        return self._write_time_total

    @write_time_total.setter
    def write_time_total(self, write_time_total):
        """
        Sets the write_time_total of this DiskIOStats.


        :param write_time_total: The write_time_total of this DiskIOStats.
        :type: float
        """
        self._write_time_total = write_time_total

    @property
    def write_time_total_sq(self):
        """
        Gets the write_time_total_sq of this DiskIOStats.


        :return: The write_time_total_sq of this DiskIOStats.
        :rtype: float
        :required/optional: required
        """
        return self._write_time_total_sq

    @write_time_total_sq.setter
    def write_time_total_sq(self, write_time_total_sq):
        """
        Sets the write_time_total_sq of this DiskIOStats.


        :param write_time_total_sq: The write_time_total_sq of this DiskIOStats.
        :type: float
        """
        self._write_time_total_sq = write_time_total_sq

    @property
    def queue_depth_total(self):
        """
        Gets the queue_depth_total of this DiskIOStats.


        :return: The queue_depth_total of this DiskIOStats.
        :rtype: float
        :required/optional: required
        """
        return self._queue_depth_total

    @queue_depth_total.setter
    def queue_depth_total(self, queue_depth_total):
        """
        Sets the queue_depth_total of this DiskIOStats.


        :param queue_depth_total: The queue_depth_total of this DiskIOStats.
        :type: float
        """
        self._queue_depth_total = queue_depth_total

    @property
    def queue_depth_max(self):
        """
        Gets the queue_depth_max of this DiskIOStats.


        :return: The queue_depth_max of this DiskIOStats.
        :rtype: float
        :required/optional: required
        """
        return self._queue_depth_max

    @queue_depth_max.setter
    def queue_depth_max(self, queue_depth_max):
        """
        Sets the queue_depth_max of this DiskIOStats.


        :param queue_depth_max: The queue_depth_max of this DiskIOStats.
        :type: float
        """
        self._queue_depth_max = queue_depth_max

    @property
    def random_ios_total(self):
        """
        Gets the random_ios_total of this DiskIOStats.


        :return: The random_ios_total of this DiskIOStats.
        :rtype: float
        :required/optional: required
        """
        return self._random_ios_total

    @random_ios_total.setter
    def random_ios_total(self, random_ios_total):
        """
        Sets the random_ios_total of this DiskIOStats.


        :param random_ios_total: The random_ios_total of this DiskIOStats.
        :type: float
        """
        self._random_ios_total = random_ios_total

    @property
    def random_bytes_total(self):
        """
        Gets the random_bytes_total of this DiskIOStats.


        :return: The random_bytes_total of this DiskIOStats.
        :rtype: float
        :required/optional: required
        """
        return self._random_bytes_total

    @random_bytes_total.setter
    def random_bytes_total(self, random_bytes_total):
        """
        Sets the random_bytes_total of this DiskIOStats.


        :param random_bytes_total: The random_bytes_total of this DiskIOStats.
        :type: float
        """
        self._random_bytes_total = random_bytes_total

    @property
    def cumulative_lba(self):
        """
        Gets the cumulative_lba of this DiskIOStats.


        :return: The cumulative_lba of this DiskIOStats.
        :rtype: float
        :required/optional: required
        """
        return self._cumulative_lba

    @cumulative_lba.setter
    def cumulative_lba(self, cumulative_lba):
        """
        Sets the cumulative_lba of this DiskIOStats.


        :param cumulative_lba: The cumulative_lba of this DiskIOStats.
        :type: float
        """
        self._cumulative_lba = cumulative_lba

    @property
    def cumulative_delta_lba(self):
        """
        Gets the cumulative_delta_lba of this DiskIOStats.


        :return: The cumulative_delta_lba of this DiskIOStats.
        :rtype: float
        :required/optional: required
        """
        return self._cumulative_delta_lba

    @cumulative_delta_lba.setter
    def cumulative_delta_lba(self, cumulative_delta_lba):
        """
        Sets the cumulative_delta_lba of this DiskIOStats.


        :param cumulative_delta_lba: The cumulative_delta_lba of this DiskIOStats.
        :type: float
        """
        self._cumulative_delta_lba = cumulative_delta_lba

    def to_dict(self):
        """
        Returns the model properties as a dict
        """
        result = {}

        for attr, _ in 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

        return result

    def to_str(self):
        """
        Returns the string representation of the model
        """
        return pformat(self.to_dict())

    def __repr__(self):
        """
        For `print` and `pprint`
        """
        if self is None:
           return None
        return self.to_str()

    def __eq__(self, other):
        """
        Returns true if both objects are equal
        """
        if self is None or other is None:
            return None
        return self.__dict__ == other.__dict__

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

