# 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 SloUsageMetric(Model):
    """A Slo Usage Metric.

    Variables are only populated by the server, and will be ignored when
    sending a request.

    :ivar service_level_objective: The serviceLevelObjective for SLO usage
     metric. Possible values include: 'Basic', 'S0', 'S1', 'S2', 'S3', 'P1',
     'P2', 'P3', 'P4', 'P6', 'P11', 'P15', 'System', 'System2', 'ElasticPool'
    :vartype service_level_objective: str or :class:`ServiceObjectiveName
     <azure.mgmt.sql.models.ServiceObjectiveName>`
    :ivar service_level_objective_id: The serviceLevelObjectiveId for SLO
     usage metric.
    :vartype service_level_objective_id: str
    :ivar in_range_time_ratio: Gets or sets inRangeTimeRatio for SLO usage
     metric.
    :vartype in_range_time_ratio: float
    """

    _validation = {
        'service_level_objective': {'readonly': True},
        'service_level_objective_id': {'readonly': True},
        'in_range_time_ratio': {'readonly': True},
    }

    _attribute_map = {
        'service_level_objective': {'key': 'serviceLevelObjective', 'type': 'str'},
        'service_level_objective_id': {'key': 'serviceLevelObjectiveId', 'type': 'str'},
        'in_range_time_ratio': {'key': 'inRangeTimeRatio', 'type': 'float'},
    }

    def __init__(self):
        self.service_level_objective = None
        self.service_level_objective_id = None
        self.in_range_time_ratio = None
