module Pool =
struct
type 'rw t
- type pool_state = Inactive | Active
+ type pool_state = Inactive | Building | Running | Degraded
+ type pool_build_flags = New | Repair | Resize
+ type pool_delete_flags = Normal | Zeroed
type pool_info = {
+ state : pool_state;
capacity : int64;
allocation : int64;
+ available : int64;
}
external lookup_by_name : 'a Connect.t -> string -> 'a t = "ocaml_libvirt_storage_pool_lookup_by_name"
external lookup_by_uuid_string : 'a Connect.t -> string -> 'a t = "ocaml_libvirt_storage_pool_lookup_by_uuid_string"
external create_xml : [>`W] Connect.t -> xml -> rw t = "ocaml_libvirt_storage_pool_create_xml"
external define_xml : [>`W] Connect.t -> xml -> rw t = "ocaml_libvirt_storage_pool_define_xml"
+ external build : [>`W] t -> pool_build_flags -> unit = "ocaml_libvirt_storage_pool_build"
external undefine : [>`W] t -> unit = "ocaml_libvirt_storage_pool_undefine"
external create : [>`W] t -> unit = "ocaml_libvirt_storage_pool_create"
external destroy : [>`W] t -> unit = "ocaml_libvirt_storage_pool_destroy"
- external shutdown : [>`W] t -> unit = "ocaml_libvirt_storage_pool_shutdown"
+ external delete : [>`W] t -> unit = "ocaml_libvirt_storage_pool_delete"
external free : [>`R] t -> unit = "ocaml_libvirt_storage_pool_free"
external refresh : [`R] t -> unit = "ocaml_libvirt_storage_pool_refresh"
external get_name : [`R] t -> string = "ocaml_libvirt_storage_pool_get_name"
external get_xml_desc : [`R] t -> xml = "ocaml_libvirt_storage_pool_get_xml_desc"
external get_autostart : [`R] t -> bool = "ocaml_libvirt_storage_pool_get_autostart"
external set_autostart : [`W] t -> bool -> unit = "ocaml_libvirt_storage_pool_set_autostart"
+ external num_of_volumes : [`R] t -> int = "ocaml_libvirt_storage_pool_num_of_volumes"
+ external list_volumes : [`R] t -> int -> string array = "ocaml_libvirt_storage_pool_list_volumes"
external const : [>`R] t -> ro t = "%identity"
end
module Volume =
struct
type 'rw t
- type vol_type = File | Block | Virtual
+ type vol_type = File | Block
+ type vol_delete_flags = Normal | Zeroed
type vol_info = {
typ : vol_type;
capacity : int64;
}
external lookup_by_name : 'a Pool.t -> string -> 'a t = "ocaml_libvirt_storage_vol_lookup_by_name"
- external lookup_by_key : 'a Pool.t -> string -> 'a t = "ocaml_libvirt_storage_vol_lookup_by_key"
- external lookup_by_path : 'a Pool.t -> string -> 'a t = "ocaml_libvirt_storage_vol_lookup_by_path"
+ external lookup_by_key : 'a Connect.t -> string -> 'a t = "ocaml_libvirt_storage_vol_lookup_by_key"
+ external lookup_by_path : 'a Connect.t -> string -> 'a t = "ocaml_libvirt_storage_vol_lookup_by_path"
external pool_of_volume : 'a t -> 'a Pool.t = "ocaml_libvirt_storage_pool_lookup_by_volume"
external get_name : [`R] t -> string = "ocaml_libvirt_storage_vol_get_name"
external get_key : [`R] t -> string = "ocaml_libvirt_storage_vol_get_key"
external get_info : [`R] t -> vol_info = "ocaml_libvirt_storage_vol_get_info"
external get_xml_desc : [`R] t -> xml = "ocaml_libvirt_storage_vol_get_xml_desc"
external create_xml : [`W] Pool.t -> xml -> unit = "ocaml_libvirt_storage_vol_create_xml"
- external destroy : [`W] t -> unit = "ocaml_libvirt_storage_vol_destroy"
+ external delete : [`W] t -> unit = "ocaml_libvirt_storage_vol_delete"
external free : [>`R] t -> unit = "ocaml_libvirt_storage_vol_free"
external const : [>`R] t -> ro t = "%identity"
end