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


class CloudbrokerAccountCreateResultInt(_base.BaseAPIResultInt):
    pass


class CloudbrokerAccountCreateProtocol(_base.BasePostAPIFunctionProtocol):
    def create(
        self,
        *,
        name: str,
        user_name: str,
        vm_features: None | list[_nested.VMFeature] = None,
        cpu_count_quota: None | int = None,
        email_address: None | str = None,
        storage_policy_quotas: list[_nested.StoragePolicyQuotasAPIParamsNM] | None = None,  # noqa: E501
        gpu_count_quota: None | int = None,
        ext_ip_count_quota: None | int = None,
        ram_size_quota_mb: None | int = None,
        send_access_emails: bool = False,
        storage_size_quota_gb: None | int = None,
        sep_pools: None | list[str] = None,
        description: str | None = None,
        zone_ids: None | list[int] = None,
        default_zone_id: None | int = None,
    ) -> CloudbrokerAccountCreateResultInt:
        ...
