Source code for azure.ai.ml.entities._compute._usage

# ---------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# ---------------------------------------------------------

from azure.ai.ml._restclient.v2022_01_01_preview.models import Usage as RestUsage, UsageName as RestUsageName, UsageUnit
from azure.ai.ml._schema.compute.usage import UsageSchema
from azure.ai.ml.entities import Resource
from azure.ai.ml.entities._mixins import RestTranslatableMixin
from typing import Dict, Union
from os import PathLike
from azure.ai.ml.constants import (
    BASE_PATH_CONTEXT_KEY,
    PARAMS_OVERRIDE_KEY,
    CommonYamlFields,
)


[docs]class UsageName: def __init__(self, *, value: str = None, localized_value: str = None, **kwargs): """The Usage Names. :param value: The name of the resource. :type value: str :param localized_value: The localized name of the resource. :type localized_value: str """ self.value = value self.localized_value = localized_value
[docs]class Usage(Resource, RestTranslatableMixin): """Describes AML Resource Usage""" def __init__( self, id: str = None, aml_workspace_location: str = None, type: str = None, unit: Union[str, UsageUnit] = None, # enum current_value: int = None, limit: int = None, name: RestUsageName = None, **kwargs, ): """Describes AML Resource Usage :param id: Specifies the resource ID. :type id: str :param aml_workspace_location: Region of the AML workspace in the id. :type aml_workspace_location: str :param type: Specifies the resource type. :type type: str :param unit: An enum describing the unit of usage measurement. Possible values include: "Count". :type unit: str or ~azure.mgmt.machinelearningservices.models.UsageUnit :param current_value: The current usage of the resource. :type current_value: int :param limit: The maximum permitted usage of the resource. :type limit: int :param name: The name of the type of usage. :type name: ~azure.mgmt.machinelearningservices.models.UsageName """ self.aml_workspace_location = aml_workspace_location self.type = type self.unit = unit self.current_value = current_value self.limit = limit self.name = name @classmethod def _from_rest_object(cls, rest_obj: RestUsage) -> "Usage": result = cls() result.__dict__.update(rest_obj.as_dict()) return result
[docs] def dump(self, path: Union[PathLike, str]) -> None: """Dump the resource usage content into a file in yaml format. :param path: Path to a local file as the target, new file will be created, raises exception if the file exists. :type path: str """ yaml_serialized = self._to_dict() dump_yaml_to_file(path, yaml_serialized, default_flow_style=False)
def _to_dict(self) -> Dict: return UsageSchema(context={BASE_PATH_CONTEXT_KEY: "./"}).dump(self)
[docs] @classmethod def load( cls, path: Union[PathLike, str], params_override: list = None, **kwargs, ) -> "Usage": pass