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


class CloudapiKvmx86CreateBlankResultInt(_base.BaseAPIResultInt):
    pass


class CloudapiKvmx86CreateBlankProtocol(_base.BasePostAPIFunctionProtocol):
    def create_blank(
        self,
        *,
        cpu_count: int,
        name: str,
        ram_size_mb: int,
        rg_id: int,
        storage_policy_id: int,
        boot_disk_size_gb: None | int = None,
        chipset: _nested.Chipset = _nested.Chipset.Q35,
        data_disks: None | list[_nested.DiskAPIParamsNM] = None,
        description: None | str = None,
        interfaces: None | list[_nested.InterfaceAPIParamsNM] = None,
        preferred_cpu_cores: None | list[int] = None,
        sep_id: None | int = None,
        sep_pool_name: None | str = None,
        without_boot_disk: bool = False,
        boot_loader_type: _nested.BootLoaderType = (
            _nested.BootLoaderType.UNKNOWN
        ),
        boot_mode: _nested.BootMode = _nested.BootMode.BIOS,
        network_interface_naming: _nested.NetIfaceNamingTemplate = (
            _nested.NetIfaceNamingTemplate.ENS
        ),
        hot_resize: bool = False,
        zone_id: None | int = None,
        os_version: None | str = None,
        cpu_pin: bool = False,
        hp_backed: bool = False,
        numa_affinity: _nested.NumaAffinity = _nested.NumaAffinity.NONE,
    ) -> CloudapiKvmx86CreateBlankResultInt:
        ...
