import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested


class CloudbrokerAccountUpdateResultBool(_base.BaseAPIResultBool):
    pass


class CloudbrokerAccountUpdateProtocol(_base.BasePostAPIFunctionProtocol):
    def update(
        self,
        *,
        account_id: int,
        name: None | str = None,
        ram_size_quota_mb: None | int = None,
        storage_size_quota_gb: None | int = None,
        cpu_count_quota: None | int = None,
        ext_ip_count_quota: None | int = None,
        send_access_emails: bool | None = None,
        gpu_count_quota: None | int = None,
        sep_pools: None | list[str] = None,
        description: str | None = None,
        clear_sep_pools: bool = False,
        default_zone_id: int | None = None,
        storage_policies_quotas: list[_nested.StoragePolicyQuotasAPIParamsNM] | None = None,  # noqa: E501
        cpu_allocation_parameter: _nested.CPUAllocationParam | None = None,
    ) -> CloudbrokerAccountUpdateResultBool:
        ...
