# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for
# license information.
#
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------

from msrest.serialization import Model


class UsageMetric(Model):
    """Usage Metric data.

    :param name: the usage metric name and display name.
    :type name: :class:`LocalizableString
     <azure.monitor.models.LocalizableString>`
    :param current_value: the current value for the usage metric.
    :type current_value: float
    :param id: the id for the usage metric.
    :type id: str
    :param limit: the quota limit the usage metric.
    :type limit: float
    :param unit: the unit for the usage metric.
    :type unit: str
    :param next_reset_time: the next reset time for the current value.
    :type next_reset_time: datetime
    :param quota_period: the amount of time it takes to reset the value.
    :type quota_period: timedelta
    """

    _attribute_map = {
        'name': {'key': 'name', 'type': 'LocalizableString'},
        'current_value': {'key': 'currentValue', 'type': 'float'},
        'id': {'key': 'id', 'type': 'str'},
        'limit': {'key': 'limit', 'type': 'float'},
        'unit': {'key': 'unit', 'type': 'str'},
        'next_reset_time': {'key': 'nextResetTime', 'type': 'iso-8601'},
        'quota_period': {'key': 'quotaPeriod', 'type': 'duration'},
    }

    def __init__(self, name=None, current_value=None, id=None, limit=None, unit=None, next_reset_time=None, quota_period=None):
        self.name = name
        self.current_value = current_value
        self.id = id
        self.limit = limit
        self.unit = unit
        self.next_reset_time = next_reset_time
        self.quota_period = quota_period
