# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
# This product includes software developed at Datadog (https://www.datadoghq.com/).
# Copyright 2019-Present Datadog, Inc.


from datadog_api_client.v1.model_utils import (
    ModelNormal,
    cached_property,
    none_type,
)


class SLOHistoryMetricsSeriesMetadataUnit(ModelNormal):
    """NOTE: This class is auto generated by OpenAPI Generator.
    Ref: https://openapi-generator.tech

    Do not edit the class manually.
    """

    validations = {}

    _nullable = True

    @cached_property
    def openapi_types():
        return {
            "family": (str,),
            "id": (int,),
            "name": (str,),
            "plural": (
                str,
                none_type,
            ),
            "scale_factor": (float,),
            "short_name": (
                str,
                none_type,
            ),
        }

    attribute_map = {
        "family": "family",
        "id": "id",
        "name": "name",
        "plural": "plural",
        "scale_factor": "scale_factor",
        "short_name": "short_name",
    }

    read_only_vars = {}

    def __init__(self, *args, **kwargs):
        """SLOHistoryMetricsSeriesMetadataUnit - a model defined in OpenAPI

        Keyword Args:
            family (str): [optional] The family of metric unit, for example `bytes` is the family for `kibibyte`, `byte`, and `bit` units.
            id (int): [optional] The ID of the metric unit.
            name (str): [optional] The unit of the metric, for instance `byte`.
            plural (str, none_type): [optional] The plural Unit of metric, for instance `bytes`.
            scale_factor (float): [optional] The scale factor of metric unit, for instance `1.0`.
            short_name (str, none_type): [optional] A shorter and abbreviated version of the metric unit, for instance `B`.
        """
        super().__init__(kwargs)

        self._check_pos_args(args)

    @classmethod
    def _from_openapi_data(cls, *args, **kwargs):
        """Helper creating a new instance from a response."""

        self = super(SLOHistoryMetricsSeriesMetadataUnit, cls)._from_openapi_data(kwargs)

        self._check_pos_args(args)

        return self

# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
# This product includes software developed at Datadog (https://www.datadoghq.com/).
# Copyright 2019-Present Datadog, Inc.


from datadog_api_client.v1.model_utils import (
    ModelNormal,
    cached_property,
    none_type,
)


class SLOHistoryMetricsSeriesMetadataUnit(ModelNormal):
    """NOTE: This class is auto generated by OpenAPI Generator.
    Ref: https://openapi-generator.tech

    Do not edit the class manually.
    """

    validations = {}

    _nullable = True

    @cached_property
    def openapi_types():
        return {
            "family": (str,),
            "id": (int,),
            "name": (str,),
            "plural": (
                str,
                none_type,
            ),
            "scale_factor": (float,),
            "short_name": (
                str,
                none_type,
            ),
        }

    attribute_map = {
        "family": "family",
        "id": "id",
        "name": "name",
        "plural": "plural",
        "scale_factor": "scale_factor",
        "short_name": "short_name",
    }

    read_only_vars = {}

    def __init__(self, *args, **kwargs):
        """SLOHistoryMetricsSeriesMetadataUnit - a model defined in OpenAPI

        Keyword Args:
            family (str): [optional] The family of metric unit, for example `bytes` is the family for `kibibyte`, `byte`, and `bit` units.
            id (int): [optional] The ID of the metric unit.
            name (str): [optional] The unit of the metric, for instance `byte`.
            plural (str, none_type): [optional] The plural Unit of metric, for instance `bytes`.
            scale_factor (float): [optional] The scale factor of metric unit, for instance `1.0`.
            short_name (str, none_type): [optional] A shorter and abbreviated version of the metric unit, for instance `B`.
        """
        super().__init__(kwargs)

        self._check_pos_args(args)

    @classmethod
    def _from_openapi_data(cls, *args, **kwargs):
        """Helper creating a new instance from a response."""

        self = super(SLOHistoryMetricsSeriesMetadataUnit, cls)._from_openapi_data(kwargs)

        self._check_pos_args(args)

        return self

# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. # This product includes software developed at Datadog (https://www.datadoghq.com/). # Copyright 2019-Present Datadog, Inc. NOTE: This class is auto generated by OpenAPI Generator.     Ref: https://openapi-generator.tech      Do not edit the class manually. SLOHistoryMetricsSeriesMetadataUnit - a model defined in OpenAPI          Keyword Args:             family (str): [optional] The family of metric unit, for example `bytes` is the family for `kibibyte`, `byte`, and `bit` units.             id (int): [optional] The ID of the metric unit.             name (str): [optional] The unit of the metric, for instance `byte`.             plural (str, none_type): [optional] The plural Unit of metric, for instance `bytes`.             scale_factor (float): [optional] The scale factor of metric unit, for instance `1.0`.             short_name (str, none_type): [optional] A shorter and abbreviated version of the metric unit, for instance `B`. Helper creating a new instance from a response.