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


class CloudapiKvmx86CreateResultInt(_base.BaseAPIResultInt):
    pass


class CloudapiKvmx86CreateProtocol(_base.BasePostAPIFunctionProtocol):
    def create(
        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,
        ci_user_data: None | dict = None,
        cpu_pin: bool = False,
        custom_fields: None | str = None,
        data_disks: None | list[_nested.DiskAPIParamsNM] = None,
        description: None | str = None,
        hp_backed: bool = False,
        image_id: None | int = None,
        interfaces: None | list[_nested.InterfaceAPIParamsNM] = None,
        numa_affinity: _nested.NumaAffinity = _nested.NumaAffinity.NONE,
        preferred_cpu_cores: None | list[int] = None,
        sep_id: None | int = None,
        sep_pool_name: None | str = None,
        start: bool = True,
        without_boot_disk: bool = False,
        zone_id: None | int = None,
        os_version: None | str = None,
    ) -> CloudapiKvmx86CreateResultInt:
        ...
