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


class CloudbrokerComputeStartMigrationOutResultStr(
    _base.BaseAPIResultStr,
):
    pass


class CloudbrokerComputeStartMigrationOutProtocol(
    _base.BasePostAPIFunctionProtocol
):
    def start_migration_out(
        self,
        *,
        vm_id: int,
        target: str,
        graphics_listen_addr: str,
        new_name: str | None = None,
        use_unsafe: bool = False,
        disk_mapping: dict[str, str] | None = None,
        cdrom_mapping: dict[str, str] | None = None,
        net_mapping: dict[str, _nested.NetMapConfigAPIParamsNM] | None = None,
    ) -> CloudbrokerComputeStartMigrationOutResultStr:
        ...
