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


class CloudapiRgCreateResultInt(_base.BaseAPIResultInt):
    pass


class CloudapiRgCreateProtocol(_base.BasePostAPIFunctionProtocol):
    def create(
        self,
        *,
        account_id: int,
        grid_id: int,
        name: str,
        storage_policy_quotas: list[_nested.StoragePolicyQuotasAPIParamsNM] | None = None,  # noqa: E501
        cpu_count_quota: int | None = None,
        default_net_type: _nested.RGDefaultNetType = (
             _nested.RGDefaultNetType.PRIVATE
        ),
        description: str | None = None,
        ext_net_id: int | None = None,
        ext_net_ip: str | None = None,
        ip_cidr: str | None = None,
        owner: str | None = None,
        ext_ip_count_quota: int | None = None,
        ram_size_quota_mb: int | None = None,
        storage_size_quota_gb: int | None = None,
        sdn_access_group_id: str | None = None,
    ) -> CloudapiRgCreateResultInt:
        ...
