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


class CloudapiComputeRedeployResultBool(_base.BaseAPIResultBool):
    pass


class CloudapiComputeRedeployProtocol(_base.BasePostAPIFunctionProtocol):
    def redeploy(
        self,
        *,
        vm_id: int,
        storage_policy_id: int | None = None,
        start: bool = False,
        boot_disk_size_gb: int | None = None,
        data_disks_change_mode: _nested.DataDisksChangeMode = (
            _nested.DataDisksChangeMode.DETACH
        ),
        force_stop: bool = False,
        image_id: int | None = None,
        os_version: str | None = None,
    ) -> CloudapiComputeRedeployResultBool:
        ...
