sig
type uuid = string
type xml = string
type filename = string
val get_version : ?driver:string -> unit -> int * int
val uuid_length : int
val uuid_string_length : int
type rw = [ `R | `W ]
type ro = [ `R ]
module Connect :
sig
type 'rw t
type node_info = {
model : string;
memory : int64;
cpus : int;
mhz : int;
nodes : int;
sockets : int;
cores : int;
threads : int;
}
type credential_type =
CredentialUsername
| CredentialAuthname
| CredentialLanguage
| CredentialCnonce
| CredentialPassphrase
| CredentialEchoprompt
| CredentialNoechoprompt
| CredentialRealm
| CredentialExternal
type credential = {
typ : Libvirt.Connect.credential_type;
prompt : string;
challenge : string option;
defresult : string option;
}
type auth = {
credtype : Libvirt.Connect.credential_type list;
cb : Libvirt.Connect.credential list -> string option list;
}
val connect : ?name:string -> unit -> Libvirt.rw Libvirt.Connect.t
val connect_readonly :
?name:string -> unit -> Libvirt.ro Libvirt.Connect.t
val connect_auth :
?name:string -> Libvirt.Connect.auth -> Libvirt.rw Libvirt.Connect.t
val connect_auth_readonly :
?name:string -> Libvirt.Connect.auth -> Libvirt.ro Libvirt.Connect.t
val close : [> `R ] Libvirt.Connect.t -> unit
val get_type : [> `R ] Libvirt.Connect.t -> string
val get_version : [> `R ] Libvirt.Connect.t -> int
val get_hostname : [> `R ] Libvirt.Connect.t -> string
val get_uri : [> `R ] Libvirt.Connect.t -> string
val get_max_vcpus :
[> `R ] Libvirt.Connect.t -> ?type_:string -> unit -> int
val list_domains : [> `R ] Libvirt.Connect.t -> int -> int array
val num_of_domains : [> `R ] Libvirt.Connect.t -> int
val get_capabilities : [> `R ] Libvirt.Connect.t -> Libvirt.xml
val num_of_defined_domains : [> `R ] Libvirt.Connect.t -> int
val list_defined_domains :
[> `R ] Libvirt.Connect.t -> int -> string array
val num_of_networks : [> `R ] Libvirt.Connect.t -> int
val list_networks : [> `R ] Libvirt.Connect.t -> int -> string array
val num_of_defined_networks : [> `R ] Libvirt.Connect.t -> int
val list_defined_networks :
[> `R ] Libvirt.Connect.t -> int -> string array
val num_of_pools : [> `R ] Libvirt.Connect.t -> int
val list_pools : [> `R ] Libvirt.Connect.t -> int -> string array
val num_of_defined_pools : [> `R ] Libvirt.Connect.t -> int
val list_defined_pools :
[> `R ] Libvirt.Connect.t -> int -> string array
val num_of_secrets : [> `R ] Libvirt.Connect.t -> int
val list_secrets : [> `R ] Libvirt.Connect.t -> int -> string array
val get_node_info :
[> `R ] Libvirt.Connect.t -> Libvirt.Connect.node_info
val node_get_free_memory : [> `R ] Libvirt.Connect.t -> int64
val node_get_cells_free_memory :
[> `R ] Libvirt.Connect.t -> int -> int -> int64 array
val maxcpus_of_node_info : Libvirt.Connect.node_info -> int
val cpumaplen : int -> int
val use_cpu : bytes -> int -> unit
val unuse_cpu : bytes -> int -> unit
val cpu_usable : bytes -> int -> int -> int -> bool
val set_keep_alive : [> `R ] Libvirt.Connect.t -> int -> int -> unit
val get_auth_default : unit -> Libvirt.Connect.auth
val get_domain_capabilities :
?emulatorbin:string ->
?arch:string ->
?machine:string ->
?virttype:string -> [> `R ] Libvirt.Connect.t -> string
external const :
[> `R ] Libvirt.Connect.t -> Libvirt.ro Libvirt.Connect.t
= "%identity"
end
module Domain :
sig
type 'rw t
type state =
InfoNoState
| InfoRunning
| InfoBlocked
| InfoPaused
| InfoShutdown
| InfoShutoff
| InfoCrashed
| InfoPMSuspended
type info = {
state : Libvirt.Domain.state;
max_mem : int64;
memory : int64;
nr_virt_cpu : int;
cpu_time : int64;
}
type vcpu_state = VcpuOffline | VcpuRunning | VcpuBlocked
type vcpu_info = {
number : int;
vcpu_state : Libvirt.Domain.vcpu_state;
vcpu_time : int64;
cpu : int;
}
type domain_create_flag =
START_PAUSED
| START_AUTODESTROY
| START_BYPASS_CACHE
| START_FORCE_BOOT
| START_VALIDATE
type domain_device_modify_flag =
DEVICE_MODIFY_LIVE
| DEVICE_MODIFY_CONFIG
| DEVICE_MODIFY_FORCE
type sched_param = string * Libvirt.Domain.sched_param_value
and sched_param_value =
SchedFieldInt32 of int32
| SchedFieldUInt32 of int32
| SchedFieldInt64 of int64
| SchedFieldUInt64 of int64
| SchedFieldFloat of float
| SchedFieldBool of bool
type typed_param = string * Libvirt.Domain.typed_param_value
and typed_param_value =
TypedFieldInt32 of int32
| TypedFieldUInt32 of int32
| TypedFieldInt64 of int64
| TypedFieldUInt64 of int64
| TypedFieldFloat of float
| TypedFieldBool of bool
| TypedFieldString of string
type migrate_flag = Live
type memory_flag = Virtual
type list_flag = ListActive | ListInactive | ListAll
type block_stats = {
rd_req : int64;
rd_bytes : int64;
wr_req : int64;
wr_bytes : int64;
errs : int64;
}
type interface_stats = {
rx_bytes : int64;
rx_packets : int64;
rx_errs : int64;
rx_drop : int64;
tx_bytes : int64;
tx_packets : int64;
tx_errs : int64;
tx_drop : int64;
}
type get_all_domain_stats_flag =
GetAllDomainsStatsActive
| GetAllDomainsStatsInactive
| GetAllDomainsStatsOther
| GetAllDomainsStatsPaused
| GetAllDomainsStatsPersistent
| GetAllDomainsStatsRunning
| GetAllDomainsStatsShutoff
| GetAllDomainsStatsTransient
| GetAllDomainsStatsBacking
| GetAllDomainsStatsEnforceStats
type stats_type =
StatsState
| StatsCpuTotal
| StatsBalloon
| StatsVcpu
| StatsInterface
| StatsBlock
| StatsPerf
type domain_stats_record = {
dom_uuid : Libvirt.uuid;
params : Libvirt.Domain.typed_param array;
}
type xml_desc_flag =
XmlSecure
| XmlInactive
| XmlUpdateCPU
| XmlMigratable
val max_peek : [> `R ] Libvirt.Domain.t -> int
val create_linux :
[> `W ] Libvirt.Connect.t ->
Libvirt.xml -> Libvirt.rw Libvirt.Domain.t
val create_xml :
[> `W ] Libvirt.Connect.t ->
Libvirt.xml ->
Libvirt.Domain.domain_create_flag list -> Libvirt.rw Libvirt.Domain.t
val lookup_by_id : 'a Libvirt.Connect.t -> int -> 'a Libvirt.Domain.t
val lookup_by_uuid :
'a Libvirt.Connect.t -> Libvirt.uuid -> 'a Libvirt.Domain.t
val lookup_by_uuid_string :
'a Libvirt.Connect.t -> string -> 'a Libvirt.Domain.t
val lookup_by_name :
'a Libvirt.Connect.t -> string -> 'a Libvirt.Domain.t
val destroy : [> `W ] Libvirt.Domain.t -> unit
val free : [> `R ] Libvirt.Domain.t -> unit
val suspend : [> `W ] Libvirt.Domain.t -> unit
val resume : [> `W ] Libvirt.Domain.t -> unit
val save : [> `W ] Libvirt.Domain.t -> Libvirt.filename -> unit
val restore : [> `W ] Libvirt.Connect.t -> Libvirt.filename -> unit
val core_dump : [> `W ] Libvirt.Domain.t -> Libvirt.filename -> unit
val shutdown : [> `W ] Libvirt.Domain.t -> unit
val reboot : [> `W ] Libvirt.Domain.t -> unit
val get_name : [> `R ] Libvirt.Domain.t -> string
val get_uuid : [> `R ] Libvirt.Domain.t -> Libvirt.uuid
val get_uuid_string : [> `R ] Libvirt.Domain.t -> string
val get_id : [> `R ] Libvirt.Domain.t -> int
val get_os_type : [> `R ] Libvirt.Domain.t -> string
val get_max_memory : [> `R ] Libvirt.Domain.t -> int64
val set_max_memory : [> `W ] Libvirt.Domain.t -> int64 -> unit
val set_memory : [> `W ] Libvirt.Domain.t -> int64 -> unit
val get_info : [> `R ] Libvirt.Domain.t -> Libvirt.Domain.info
val get_xml_desc : [> `R ] Libvirt.Domain.t -> Libvirt.xml
val get_xml_desc_flags :
[> `W ] Libvirt.Domain.t ->
Libvirt.Domain.xml_desc_flag list -> Libvirt.xml
val get_scheduler_type : [> `R ] Libvirt.Domain.t -> string * int
val get_scheduler_parameters :
[> `R ] Libvirt.Domain.t -> int -> Libvirt.Domain.sched_param array
val set_scheduler_parameters :
[> `W ] Libvirt.Domain.t -> Libvirt.Domain.sched_param array -> unit
val define_xml :
[> `W ] Libvirt.Connect.t ->
Libvirt.xml -> Libvirt.rw Libvirt.Domain.t
val undefine : [> `W ] Libvirt.Domain.t -> unit
val create : [> `W ] Libvirt.Domain.t -> unit
val get_autostart : [> `R ] Libvirt.Domain.t -> bool
val set_autostart : [> `W ] Libvirt.Domain.t -> bool -> unit
val set_vcpus : [> `W ] Libvirt.Domain.t -> int -> unit
val pin_vcpu : [> `W ] Libvirt.Domain.t -> int -> string -> unit
val get_vcpus :
[> `R ] Libvirt.Domain.t ->
int -> int -> int * Libvirt.Domain.vcpu_info array * string
val get_cpu_stats :
[> `R ] Libvirt.Domain.t -> Libvirt.Domain.typed_param list array
val get_max_vcpus : [> `R ] Libvirt.Domain.t -> int
val attach_device : [> `W ] Libvirt.Domain.t -> Libvirt.xml -> unit
val detach_device : [> `W ] Libvirt.Domain.t -> Libvirt.xml -> unit
val detach_device_flags :
[> `W ] Libvirt.Domain.t ->
Libvirt.xml -> Libvirt.Domain.domain_device_modify_flag list -> unit
val migrate :
[> `W ] Libvirt.Domain.t ->
[> `W ] Libvirt.Connect.t ->
Libvirt.Domain.migrate_flag list ->
?dname:string ->
?uri:string -> ?bandwidth:int -> unit -> Libvirt.rw Libvirt.Domain.t
val block_stats :
[> `R ] Libvirt.Domain.t -> string -> Libvirt.Domain.block_stats
val interface_stats :
[> `R ] Libvirt.Domain.t -> string -> Libvirt.Domain.interface_stats
val block_peek :
[> `W ] Libvirt.Domain.t ->
string -> int64 -> int -> bytes -> int -> unit
val memory_peek :
[> `W ] Libvirt.Domain.t ->
Libvirt.Domain.memory_flag list ->
int64 -> int -> bytes -> int -> unit
external get_all_domain_stats :
[> `R ] Libvirt.Connect.t ->
Libvirt.Domain.stats_type list ->
Libvirt.Domain.get_all_domain_stats_flag list ->
Libvirt.Domain.domain_stats_record array
= "ocaml_libvirt_domain_get_all_domain_stats"
external const :
[> `R ] Libvirt.Domain.t -> Libvirt.ro Libvirt.Domain.t = "%identity"
val get_domains :
([> `R ] as 'a) Libvirt.Connect.t ->
Libvirt.Domain.list_flag list -> 'a Libvirt.Domain.t list
val get_domains_and_infos :
([> `R ] as 'a) Libvirt.Connect.t ->
Libvirt.Domain.list_flag list ->
('a Libvirt.Domain.t * Libvirt.Domain.info) list
end
module Event :
sig
module Defined :
sig
type t = [ `Added | `Unknown of int | `Updated ]
val to_string : Libvirt.Event.Defined.t -> string
end
module Undefined :
sig
type t = [ `Removed | `Unknown of int ]
val to_string : Libvirt.Event.Undefined.t -> string
end
module Started :
sig
type t =
[ `Booted
| `FromSnapshot
| `Migrated
| `Restored
| `Unknown of int
| `Wakeup ]
val to_string : Libvirt.Event.Started.t -> string
end
module Suspended :
sig
type t =
[ `APIError
| `FromSnapshot
| `IOError
| `Migrated
| `Paused
| `Restored
| `Unknown of int
| `Watchdog ]
val to_string : Libvirt.Event.Suspended.t -> string
end
module Resumed :
sig
type t =
[ `FromSnapshot | `Migrated | `Unknown of int | `Unpaused ]
val to_string : Libvirt.Event.Resumed.t -> string
end
module Stopped :
sig
type t =
[ `Crashed
| `Destroyed
| `Failed
| `FromSnapshot
| `Migrated
| `Saved
| `Shutdown
| `Unknown of int ]
val to_string : Libvirt.Event.Stopped.t -> string
end
module PM_suspended :
sig
type t = [ `Disk | `Memory | `Unknown of int ]
val to_string : Libvirt.Event.PM_suspended.t -> string
end
module Lifecycle :
sig
type t =
[ `Defined of Libvirt.Event.Defined.t
| `PMSuspended of Libvirt.Event.PM_suspended.t
| `Resumed of Libvirt.Event.Resumed.t
| `Shutdown
| `Started of Libvirt.Event.Started.t
| `Stopped of Libvirt.Event.Stopped.t
| `Suspended of Libvirt.Event.Suspended.t
| `Undefined of Libvirt.Event.Undefined.t
| `Unknown of int ]
val to_string : Libvirt.Event.Lifecycle.t -> string
end
module Reboot :
sig
type t = unit
val to_string : Libvirt.Event.Reboot.t -> string
end
module Rtc_change :
sig
type t = int64
val to_string : Libvirt.Event.Rtc_change.t -> string
end
module Watchdog :
sig
type t =
[ `Debug
| `None
| `Pause
| `Poweroff
| `Reset
| `Shutdown
| `Unknown of int ]
val to_string : Libvirt.Event.Watchdog.t -> string
end
module Io_error :
sig
type action = [ `None | `Pause | `Report | `Unknown of int ]
type t = {
src_path : string option;
dev_alias : string option;
action : Libvirt.Event.Io_error.action;
reason : string option;
}
val to_string : Libvirt.Event.Io_error.t -> string
end
module Graphics_address :
sig
type family = [ `Ipv4 | `Ipv6 | `Unix | `Unknown of int ]
type t = {
family : Libvirt.Event.Graphics_address.family;
node : string option;
service : string option;
}
val to_string : Libvirt.Event.Graphics_address.t -> string
end
module Graphics_subject :
sig
type identity = { ty : string option; name : string option; }
type t = Libvirt.Event.Graphics_subject.identity list
val to_string : Libvirt.Event.Graphics_subject.t -> string
end
module Graphics :
sig
type phase =
[ `Connect | `Disconnect | `Initialize | `Unknown of int ]
type t = {
phase : Libvirt.Event.Graphics.phase;
local : Libvirt.Event.Graphics_address.t;
remote : Libvirt.Event.Graphics_address.t;
auth_scheme : string option;
subject : Libvirt.Event.Graphics_subject.t;
}
val to_string : Libvirt.Event.Graphics.t -> string
end
module Control_error :
sig
type t = unit
val to_string : Libvirt.Event.Control_error.t -> string
end
module Block_job :
sig
type ty =
[ `Commit | `Copy | `KnownUnknown | `Pull | `Unknown of int ]
type status =
[ `Cancelled | `Completed | `Failed | `Ready | `Unknown of int
]
type t = {
disk : string option;
ty : Libvirt.Event.Block_job.ty;
status : Libvirt.Event.Block_job.status;
}
val to_string : Libvirt.Event.Block_job.t -> string
end
module Disk_change :
sig
type reason = [ `MissingOnStart | `Unknown of int ]
type t = {
old_src_path : string option;
new_src_path : string option;
dev_alias : string option;
reason : Libvirt.Event.Disk_change.reason;
}
val to_string : Libvirt.Event.Disk_change.t -> string
end
module Tray_change :
sig
type reason = [ `Close | `Open | `Unknown of int ]
type t = {
dev_alias : string option;
reason : Libvirt.Event.Tray_change.reason;
}
val to_string : Libvirt.Event.Tray_change.t -> string
end
module PM_wakeup :
sig
type reason = [ `Unknown of int ]
type t = Libvirt.Event.PM_wakeup.reason
val to_string : Libvirt.Event.PM_wakeup.t -> string
end
module PM_suspend :
sig
type reason = [ `Unknown of int ]
type t = Libvirt.Event.PM_suspend.reason
val to_string : Libvirt.Event.PM_suspend.t -> string
end
module Balloon_change :
sig
type t = int64
val to_string : Libvirt.Event.Balloon_change.t -> string
end
module PM_suspend_disk :
sig
type reason = [ `Unknown of int ]
type t = Libvirt.Event.PM_suspend_disk.reason
val to_string : Libvirt.Event.PM_suspend_disk.t -> string
end
module Device_removed :
sig
type t = string
val to_string : Libvirt.Event.Device_removed.t -> string
end
type callback =
Lifecycle of
([ `R ] Libvirt.Domain.t -> Libvirt.Event.Lifecycle.t -> unit)
| Reboot of
([ `R ] Libvirt.Domain.t -> Libvirt.Event.Reboot.t -> unit)
| RtcChange of
([ `R ] Libvirt.Domain.t -> Libvirt.Event.Rtc_change.t -> unit)
| Watchdog of
([ `R ] Libvirt.Domain.t -> Libvirt.Event.Watchdog.t -> unit)
| IOError of
([ `R ] Libvirt.Domain.t -> Libvirt.Event.Io_error.t -> unit)
| Graphics of
([ `R ] Libvirt.Domain.t -> Libvirt.Event.Graphics.t -> unit)
| IOErrorReason of
([ `R ] Libvirt.Domain.t -> Libvirt.Event.Io_error.t -> unit)
| ControlError of
([ `R ] Libvirt.Domain.t -> Libvirt.Event.Control_error.t -> unit)
| BlockJob of
([ `R ] Libvirt.Domain.t -> Libvirt.Event.Block_job.t -> unit)
| DiskChange of
([ `R ] Libvirt.Domain.t -> Libvirt.Event.Disk_change.t -> unit)
| TrayChange of
([ `R ] Libvirt.Domain.t -> Libvirt.Event.Tray_change.t -> unit)
| PMWakeUp of
([ `R ] Libvirt.Domain.t -> Libvirt.Event.PM_wakeup.t -> unit)
| PMSuspend of
([ `R ] Libvirt.Domain.t -> Libvirt.Event.PM_suspend.t -> unit)
| BalloonChange of
([ `R ] Libvirt.Domain.t ->
Libvirt.Event.Balloon_change.t -> unit)
| PMSuspendDisk of
([ `R ] Libvirt.Domain.t ->
Libvirt.Event.PM_suspend_disk.t -> unit)
| DeviceRemoved of
([ `R ] Libvirt.Domain.t ->
Libvirt.Event.Device_removed.t -> unit)
val register_default_impl : unit -> unit
val run_default_impl : unit -> unit
type callback_id
val register_any :
'a Libvirt.Connect.t ->
?dom:'a Libvirt.Domain.t ->
Libvirt.Event.callback -> Libvirt.Event.callback_id
val deregister_any :
'a Libvirt.Connect.t -> Libvirt.Event.callback_id -> unit
type timer_id
val add_timeout :
'a Libvirt.Connect.t ->
int -> (unit -> unit) -> Libvirt.Event.timer_id
val remove_timeout :
'a Libvirt.Connect.t -> Libvirt.Event.timer_id -> unit
end
module Network :
sig
type 'rw t
val lookup_by_name :
'a Libvirt.Connect.t -> string -> 'a Libvirt.Network.t
val lookup_by_uuid :
'a Libvirt.Connect.t -> Libvirt.uuid -> 'a Libvirt.Network.t
val lookup_by_uuid_string :
'a Libvirt.Connect.t -> string -> 'a Libvirt.Network.t
val create_xml :
[> `W ] Libvirt.Connect.t ->
Libvirt.xml -> Libvirt.rw Libvirt.Network.t
val define_xml :
[> `W ] Libvirt.Connect.t ->
Libvirt.xml -> Libvirt.rw Libvirt.Network.t
val undefine : [> `W ] Libvirt.Network.t -> unit
val create : [> `W ] Libvirt.Network.t -> unit
val destroy : [> `W ] Libvirt.Network.t -> unit
val free : [> `R ] Libvirt.Network.t -> unit
val get_name : [> `R ] Libvirt.Network.t -> string
val get_uuid : [> `R ] Libvirt.Network.t -> Libvirt.uuid
val get_uuid_string : [> `R ] Libvirt.Network.t -> string
val get_xml_desc : [> `R ] Libvirt.Network.t -> Libvirt.xml
val get_bridge_name : [> `R ] Libvirt.Network.t -> string
val get_autostart : [> `R ] Libvirt.Network.t -> bool
val set_autostart : [> `W ] Libvirt.Network.t -> bool -> unit
external const :
[> `R ] Libvirt.Network.t -> Libvirt.ro Libvirt.Network.t
= "%identity"
end
module Pool :
sig
type 'rw t
type pool_state =
Inactive
| Building
| Running
| Degraded
| Inaccessible
type pool_build_flags = New | Repair | Resize
type pool_delete_flags = Normal | Zeroed
type pool_info = {
state : Libvirt.Pool.pool_state;
capacity : int64;
allocation : int64;
available : int64;
}
val lookup_by_name :
'a Libvirt.Connect.t -> string -> 'a Libvirt.Pool.t
val lookup_by_uuid :
'a Libvirt.Connect.t -> Libvirt.uuid -> 'a Libvirt.Pool.t
val lookup_by_uuid_string :
'a Libvirt.Connect.t -> string -> 'a Libvirt.Pool.t
val create_xml :
[> `W ] Libvirt.Connect.t -> Libvirt.xml -> Libvirt.rw Libvirt.Pool.t
val define_xml :
[> `W ] Libvirt.Connect.t -> Libvirt.xml -> Libvirt.rw Libvirt.Pool.t
val build :
[> `W ] Libvirt.Pool.t -> Libvirt.Pool.pool_build_flags -> unit
val undefine : [> `W ] Libvirt.Pool.t -> unit
val create : [> `W ] Libvirt.Pool.t -> unit
val destroy : [> `W ] Libvirt.Pool.t -> unit
val delete : [> `W ] Libvirt.Pool.t -> unit
val free : [> `R ] Libvirt.Pool.t -> unit
val refresh : [ `R ] Libvirt.Pool.t -> unit
val get_name : [ `R ] Libvirt.Pool.t -> string
val get_uuid : [ `R ] Libvirt.Pool.t -> Libvirt.uuid
val get_uuid_string : [ `R ] Libvirt.Pool.t -> string
val get_info : [ `R ] Libvirt.Pool.t -> Libvirt.Pool.pool_info
val get_xml_desc : [ `R ] Libvirt.Pool.t -> Libvirt.xml
val get_autostart : [ `R ] Libvirt.Pool.t -> bool
val set_autostart : [> `W ] Libvirt.Pool.t -> bool -> unit
val num_of_volumes : [ `R ] Libvirt.Pool.t -> int
val list_volumes : [ `R ] Libvirt.Pool.t -> int -> string array
external const : [> `R ] Libvirt.Pool.t -> Libvirt.ro Libvirt.Pool.t
= "%identity"
end
module Volume :
sig
type 'rw t
type vol_type = File | Block | Dir | Network | NetDir | Ploop
type vol_delete_flags = Normal | Zeroed
type vol_info = {
typ : Libvirt.Volume.vol_type;
capacity : int64;
allocation : int64;
}
val lookup_by_name : 'a Libvirt.Pool.t -> string -> 'a Libvirt.Volume.t
val lookup_by_key :
'a Libvirt.Connect.t -> string -> 'a Libvirt.Volume.t
val lookup_by_path :
'a Libvirt.Connect.t -> string -> 'a Libvirt.Volume.t
val pool_of_volume : 'a Libvirt.Volume.t -> 'a Libvirt.Pool.t
val get_name : [ `R ] Libvirt.Volume.t -> string
val get_key : [ `R ] Libvirt.Volume.t -> string
val get_path : [ `R ] Libvirt.Volume.t -> string
val get_info : [ `R ] Libvirt.Volume.t -> Libvirt.Volume.vol_info
val get_xml_desc : [ `R ] Libvirt.Volume.t -> Libvirt.xml
val create_xml : [> `W ] Libvirt.Pool.t -> Libvirt.xml -> unit
val delete :
[> `W ] Libvirt.Volume.t -> Libvirt.Volume.vol_delete_flags -> unit
val free : [> `R ] Libvirt.Volume.t -> unit
external const :
[> `R ] Libvirt.Volume.t -> Libvirt.ro Libvirt.Volume.t = "%identity"
end
module Secret :
sig
type 'rw t
type secret_usage_type = NoType | Volume | Ceph | ISCSI | TLS
val lookup_by_uuid :
'a Libvirt.Connect.t -> Libvirt.uuid -> 'a Libvirt.Secret.t
val lookup_by_uuid_string :
'a Libvirt.Connect.t -> string -> 'a Libvirt.Secret.t
val lookup_by_usage :
'a Libvirt.Connect.t ->
Libvirt.Secret.secret_usage_type -> string -> 'a Libvirt.Secret.t
val define_xml :
[> `W ] Libvirt.Connect.t ->
Libvirt.xml -> Libvirt.rw Libvirt.Secret.t
val get_uuid : [> `R ] Libvirt.Secret.t -> Libvirt.uuid
val get_uuid_string : [> `R ] Libvirt.Secret.t -> string
val get_usage_type :
[> `R ] Libvirt.Secret.t -> Libvirt.Secret.secret_usage_type
val get_usage_id : [> `R ] Libvirt.Secret.t -> string
val get_xml_desc : [> `R ] Libvirt.Secret.t -> Libvirt.xml
val set_value : [> `W ] Libvirt.Secret.t -> bytes -> unit
val get_value : [> `R ] Libvirt.Secret.t -> bytes
val undefine : [> `W ] Libvirt.Secret.t -> unit
val free : [> `R ] Libvirt.Secret.t -> unit
external const :
[> `R ] Libvirt.Secret.t -> Libvirt.ro Libvirt.Secret.t = "%identity"
end
module Virterror :
sig
type code =
VIR_ERR_OK
| VIR_ERR_INTERNAL_ERROR
| VIR_ERR_NO_MEMORY
| VIR_ERR_NO_SUPPORT
| VIR_ERR_UNKNOWN_HOST
| VIR_ERR_NO_CONNECT
| VIR_ERR_INVALID_CONN
| VIR_ERR_INVALID_DOMAIN
| VIR_ERR_INVALID_ARG
| VIR_ERR_OPERATION_FAILED
| VIR_ERR_GET_FAILED
| VIR_ERR_POST_FAILED
| VIR_ERR_HTTP_ERROR
| VIR_ERR_SEXPR_SERIAL
| VIR_ERR_NO_XEN
| VIR_ERR_XEN_CALL
| VIR_ERR_OS_TYPE
| VIR_ERR_NO_KERNEL
| VIR_ERR_NO_ROOT
| VIR_ERR_NO_SOURCE
| VIR_ERR_NO_TARGET
| VIR_ERR_NO_NAME
| VIR_ERR_NO_OS
| VIR_ERR_NO_DEVICE
| VIR_ERR_NO_XENSTORE
| VIR_ERR_DRIVER_FULL
| VIR_ERR_CALL_FAILED
| VIR_ERR_XML_ERROR
| VIR_ERR_DOM_EXIST
| VIR_ERR_OPERATION_DENIED
| VIR_ERR_OPEN_FAILED
| VIR_ERR_READ_FAILED
| VIR_ERR_PARSE_FAILED
| VIR_ERR_CONF_SYNTAX
| VIR_ERR_WRITE_FAILED
| VIR_ERR_XML_DETAIL
| VIR_ERR_INVALID_NETWORK
| VIR_ERR_NETWORK_EXIST
| VIR_ERR_SYSTEM_ERROR
| VIR_ERR_RPC
| VIR_ERR_GNUTLS_ERROR
| VIR_WAR_NO_NETWORK
| VIR_ERR_NO_DOMAIN
| VIR_ERR_NO_NETWORK
| VIR_ERR_INVALID_MAC
| VIR_ERR_AUTH_FAILED
| VIR_ERR_INVALID_STORAGE_POOL
| VIR_ERR_INVALID_STORAGE_VOL
| VIR_WAR_NO_STORAGE
| VIR_ERR_NO_STORAGE_POOL
| VIR_ERR_NO_STORAGE_VOL
| VIR_WAR_NO_NODE
| VIR_ERR_INVALID_NODE_DEVICE
| VIR_ERR_NO_NODE_DEVICE
| VIR_ERR_NO_SECURITY_MODEL
| VIR_ERR_OPERATION_INVALID
| VIR_WAR_NO_INTERFACE
| VIR_ERR_NO_INTERFACE
| VIR_ERR_INVALID_INTERFACE
| VIR_ERR_MULTIPLE_INTERFACES
| VIR_WAR_NO_NWFILTER
| VIR_ERR_INVALID_NWFILTER
| VIR_ERR_NO_NWFILTER
| VIR_ERR_BUILD_FIREWALL
| VIR_WAR_NO_SECRET
| VIR_ERR_INVALID_SECRET
| VIR_ERR_NO_SECRET
| VIR_ERR_CONFIG_UNSUPPORTED
| VIR_ERR_OPERATION_TIMEOUT
| VIR_ERR_MIGRATE_PERSIST_FAILED
| VIR_ERR_HOOK_SCRIPT_FAILED
| VIR_ERR_INVALID_DOMAIN_SNAPSHOT
| VIR_ERR_NO_DOMAIN_SNAPSHOT
| VIR_ERR_INVALID_STREAM
| VIR_ERR_ARGUMENT_UNSUPPORTED
| VIR_ERR_STORAGE_PROBE_FAILED
| VIR_ERR_STORAGE_POOL_BUILT
| VIR_ERR_SNAPSHOT_REVERT_RISKY
| VIR_ERR_OPERATION_ABORTED
| VIR_ERR_AUTH_CANCELLED
| VIR_ERR_NO_DOMAIN_METADATA
| VIR_ERR_MIGRATE_UNSAFE
| VIR_ERR_OVERFLOW
| VIR_ERR_BLOCK_COPY_ACTIVE
| VIR_ERR_OPERATION_UNSUPPORTED
| VIR_ERR_SSH
| VIR_ERR_AGENT_UNRESPONSIVE
| VIR_ERR_RESOURCE_BUSY
| VIR_ERR_ACCESS_DENIED
| VIR_ERR_DBUS_SERVICE
| VIR_ERR_STORAGE_VOL_EXIST
| VIR_ERR_CPU_INCOMPATIBLE
| VIR_ERR_XML_INVALID_SCHEMA
| VIR_ERR_MIGRATE_FINISH_OK
| VIR_ERR_AUTH_UNAVAILABLE
| VIR_ERR_NO_SERVER
| VIR_ERR_NO_CLIENT
| VIR_ERR_AGENT_UNSYNCED
| VIR_ERR_LIBSSH
| VIR_ERR_DEVICE_MISSING
| VIR_ERR_INVALID_NWFILTER_BINDING
| VIR_ERR_NO_NWFILTER_BINDING
| VIR_ERR_INVALID_DOMAIN_CHECKPOINT
| VIR_ERR_NO_DOMAIN_CHECKPOINT
| VIR_ERR_NO_DOMAIN_BACKUP
| VIR_ERR_INVALID_NETWORK_PORT
| VIR_ERR_NETWORK_PORT_EXIST
| VIR_ERR_NO_NETWORK_PORT
| VIR_ERR_NO_HOSTNAME
| VIR_ERR_UNKNOWN of int
val string_of_code : Libvirt.Virterror.code -> string
type domain =
VIR_FROM_NONE
| VIR_FROM_XEN
| VIR_FROM_XEND
| VIR_FROM_XENSTORE
| VIR_FROM_SEXPR
| VIR_FROM_XML
| VIR_FROM_DOM
| VIR_FROM_RPC
| VIR_FROM_PROXY
| VIR_FROM_CONF
| VIR_FROM_QEMU
| VIR_FROM_NET
| VIR_FROM_TEST
| VIR_FROM_REMOTE
| VIR_FROM_OPENVZ
| VIR_FROM_XENXM
| VIR_FROM_STATS_LINUX
| VIR_FROM_LXC
| VIR_FROM_STORAGE
| VIR_FROM_NETWORK
| VIR_FROM_DOMAIN
| VIR_FROM_UML
| VIR_FROM_NODEDEV
| VIR_FROM_XEN_INOTIFY
| VIR_FROM_SECURITY
| VIR_FROM_VBOX
| VIR_FROM_INTERFACE
| VIR_FROM_ONE
| VIR_FROM_ESX
| VIR_FROM_PHYP
| VIR_FROM_SECRET
| VIR_FROM_CPU
| VIR_FROM_XENAPI
| VIR_FROM_NWFILTER
| VIR_FROM_HOOK
| VIR_FROM_DOMAIN_SNAPSHOT
| VIR_FROM_AUDIT
| VIR_FROM_SYSINFO
| VIR_FROM_STREAMS
| VIR_FROM_VMWARE
| VIR_FROM_EVENT
| VIR_FROM_LIBXL
| VIR_FROM_LOCKING
| VIR_FROM_HYPERV
| VIR_FROM_CAPABILITIES
| VIR_FROM_URI
| VIR_FROM_AUTH
| VIR_FROM_DBUS
| VIR_FROM_PARALLELS
| VIR_FROM_DEVICE
| VIR_FROM_SSH
| VIR_FROM_LOCKSPACE
| VIR_FROM_INITCTL
| VIR_FROM_IDENTITY
| VIR_FROM_CGROUP
| VIR_FROM_ACCESS
| VIR_FROM_SYSTEMD
| VIR_FROM_BHYVE
| VIR_FROM_CRYPTO
| VIR_FROM_FIREWALL
| VIR_FROM_POLKIT
| VIR_FROM_THREAD
| VIR_FROM_ADMIN
| VIR_FROM_LOGGING
| VIR_FROM_XENXL
| VIR_FROM_PERF
| VIR_FROM_LIBSSH
| VIR_FROM_RESCTRL
| VIR_FROM_FIREWALLD
| VIR_FROM_DOMAIN_CHECKPOINT
| VIR_FROM_TPM
| VIR_FROM_BPF
| VIR_FROM_UNKNOWN of int
val string_of_domain : Libvirt.Virterror.domain -> string
type level =
VIR_ERR_NONE
| VIR_ERR_WARNING
| VIR_ERR_ERROR
| VIR_ERR_UNKNOWN_LEVEL of int
val string_of_level : Libvirt.Virterror.level -> string
type t = {
code : Libvirt.Virterror.code;
domain : Libvirt.Virterror.domain;
message : string option;
level : Libvirt.Virterror.level;
str1 : string option;
str2 : string option;
str3 : string option;
int1 : int32;
int2 : int32;
}
val to_string : Libvirt.Virterror.t -> string
val get_last_error : unit -> Libvirt.Virterror.t option
val get_last_conn_error :
[> `R ] Libvirt.Connect.t -> Libvirt.Virterror.t option
val reset_last_error : unit -> unit
val reset_last_conn_error : [> `R ] Libvirt.Connect.t -> unit
val no_error : unit -> Libvirt.Virterror.t
end
exception Virterror of Libvirt.Virterror.t
exception Not_supported of string
val map_ignore_errors : ('a -> 'b) -> 'a list -> 'b list
end