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


class CloudapiImageCreateResultInt(_base.BaseAPIResultInt):
    pass


class CloudapiImageCreateProtocol(_base.BasePostAPIFunctionProtocol):
    def create(
        self,
        *,
        account_id: int,
        boot_mode: _nested.BootMode,
        boot_loader_type: _nested.BootLoaderType,
        name: str,
        download_url: str,
        storage_policy_id: int,
        hot_resize: bool = False,
        network_interface_naming: _nested.NetIfaceNamingTemplate = (
            _nested.NetIfaceNamingTemplate.ENS
        ),
        download_password:  str | None = None,
        os_password: str | None = None,
        sep_id: int | None = None,
        sep_pool_name: str | None = None,
        download_user_name: str | None = None,
        os_user_name: str | None = None,
    ) -> CloudapiImageCreateResultInt:
        ...
