Source code for air_sdk.endpoints.organizations
# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES.
# All rights reserved.
# SPDX-License-Identifier: MIT
from __future__ import annotations
from dataclasses import dataclass, field
from datetime import datetime
from typing import Any
from air_sdk.air_model import AirModel, BaseEndpointAPI
from air_sdk.bc import OrganizationCompatMixin, OrganizationEndpointAPICompatMixin
from air_sdk.endpoints import mixins
from air_sdk.types import ResourceBudgetUsage
[docs]
@dataclass(eq=False)
class Organization(OrganizationCompatMixin, AirModel):
id: str = field(repr=False)
created: datetime = field(repr=False)
modified: datetime = field(repr=False)
org_display_name: str
org_nca_id: str = field(repr=False)
cpu: int | float = field(repr=False)
memory: int | float = field(repr=False)
disk_storage_total: int | float = field(repr=False)
disk_storage_per_node: int = field(repr=False)
image_storage: int = field(repr=False)
userconfigs: int = field(repr=False)
usage: ResourceBudgetUsage = field(repr=False)
@property
def name(self) -> str:
return self.org_display_name
[docs]
@classmethod
def get_model_api(cls) -> type[OrganizationEndpointAPI]:
return OrganizationEndpointAPI
@property
def model_api(self) -> OrganizationEndpointAPI:
return self.get_model_api()(self.__api__)
# Methods no longer supported in the new API
def add_member(self, *args: Any, **kwargs: Any) -> None:
raise NotImplementedError('Organization.add_member() is no longer supported')
def add_members(self, *args: Any, **kwargs: Any) -> None:
raise NotImplementedError('Organization.add_members() is no longer supported')
def remove_member(self, *args: Any, **kwargs: Any) -> None:
raise NotImplementedError('Organization.remove_member() is no longer supported')
def remove_members(self, *args: Any, **kwargs: Any) -> None:
raise NotImplementedError('Organization.remove_members() is no longer supported')
def create_fleet(self, *args: Any, **kwargs: Any) -> None:
raise NotImplementedError('Organization.create_fleet() is no longer supported')
def list_members(self, *args: Any, **kwargs: Any) -> None:
raise NotImplementedError('Organization.list_members() is no longer supported')
[docs]
class OrganizationEndpointAPI(
OrganizationEndpointAPICompatMixin,
mixins.ListApiMixin[Organization],
mixins.GetApiMixin[Organization],
BaseEndpointAPI[Organization],
):
API_PATH = 'resource-budgets'
model = Organization
# Method no longer supported in the new API
def create(self, *args: Any, **kwargs: Any) -> Organization:
raise NotImplementedError('Organization creation is no longer supported')