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


class CloudapiComputeUpdateResultBool(_base.BaseAPIResultBool):
    pass


class CloudapiComputeUpdateProtocol(_base.BasePostAPIFunctionProtocol):
    def update(
        self,
        *,
        vm_id: int,
        auto_start: None | bool = None,
        chipset: None | _nested.Chipset = None,
        cpu_pin: None | bool = None,
        description: None | str = None,
        hp_backed: None | bool = None,
        name: None | str = None,
        numa_affinity: None | _nested.NumaAffinity = None,
        preferred_cpu_cores: None | list[int] = None,
        boot_loader_type: _nested.BootLoaderType | None = None,
        boot_mode: _nested.BootMode | None = None,
        network_interface_naming: _nested.NetIfaceNamingTemplate | None = None,
        hot_resize: bool | None = None,
        os_version: str | None = None,
    ) -> CloudapiComputeUpdateResultBool:
        ...
