bindings-lxc-0.2.0.1: Direct Haskell bindings to LXC (Linux containers) C API.

Copyright(c) Nickolay Kudasov 2014
LicenseBSD-style (see the file LICENSE)
Maintainernickolay.kudasov@gmail.com
Safe HaskellSafe-Inferred
LanguageHaskell2010

Bindings.LXC.Container

Contents

Description

This module provides a set of functions to create, control and manage LXC containers. You can get more info about LXC at https://help.ubuntu.com/lts/serverguide/lxc.html and https://linuxcontainers.org.

Synopsis

Flags

Clone flags

Create flags

Data types and fields

Container

data C'lxc_container Source

Constructors

C'lxc_container 

Fields

c'lxc_container'error_string :: CString
 
c'lxc_container'error_num :: CInt
 
c'lxc_container'daemonize :: CBool
 
c'lxc_container'config_path :: CString
 
c'lxc_container'is_defined :: FunPtr (Ptr C'lxc_container -> IO CBool)
 
c'lxc_container'state :: FunPtr (Ptr C'lxc_container -> IO CString)
 
c'lxc_container'is_running :: FunPtr (Ptr C'lxc_container -> IO CBool)
 
c'lxc_container'freeze :: FunPtr (Ptr C'lxc_container -> IO CBool)
 
c'lxc_container'unfreeze :: FunPtr (Ptr C'lxc_container -> IO CBool)
 
c'lxc_container'init_pid :: FunPtr (Ptr C'lxc_container -> IO C'pid_t)
 
c'lxc_container'load_config :: FunPtr (Ptr C'lxc_container -> CString -> IO CBool)
 
c'lxc_container'start :: FunPtr (Ptr C'lxc_container -> CInt -> Ptr CString -> IO CBool)
 
c'lxc_container'stop :: FunPtr (Ptr C'lxc_container -> IO CBool)
 
c'lxc_container'want_daemonize :: FunPtr (Ptr C'lxc_container -> CBool -> IO CBool)
 
c'lxc_container'want_close_all_fds :: FunPtr (Ptr C'lxc_container -> CBool -> IO CBool)
 
c'lxc_container'config_file_name :: FunPtr (Ptr C'lxc_container -> IO CString)
 
c'lxc_container'wait :: FunPtr (Ptr C'lxc_container -> CString -> CInt -> IO CBool)
 
c'lxc_container'set_config_item :: FunPtr (Ptr C'lxc_container -> CString -> CString -> IO CBool)
 
c'lxc_container'destroy :: FunPtr (Ptr C'lxc_container -> IO CBool)
 
c'lxc_container'save_config :: FunPtr (Ptr C'lxc_container -> CString -> IO CBool)
 
c'lxc_container'create :: FunPtr (Ptr C'lxc_container -> CString -> CString -> Ptr C'bdev_specs -> CInt -> Ptr CString -> IO CBool)
 
c'lxc_container'rename :: FunPtr (Ptr C'lxc_container -> CString -> IO CBool)
 
c'lxc_container'reboot :: FunPtr (Ptr C'lxc_container -> IO CBool)
 
c'lxc_container'shutdown :: FunPtr (Ptr C'lxc_container -> CInt -> IO CBool)
 
c'lxc_container'clear_config :: FunPtr (Ptr C'lxc_container -> IO ())
 
c'lxc_container'clear_config_item :: FunPtr (Ptr C'lxc_container -> CString -> IO CBool)
 
c'lxc_container'get_config_item :: FunPtr (Ptr C'lxc_container -> CString -> CString -> CInt -> IO CInt)
 
c'lxc_container'get_running_config_item :: FunPtr (Ptr C'lxc_container -> CString -> IO CString)
 
c'lxc_container'get_keys :: FunPtr (Ptr C'lxc_container -> CString -> CString -> CInt -> IO CInt)
 
c'lxc_container'get_interfaces :: FunPtr (Ptr C'lxc_container -> IO (Ptr CString))
 
c'lxc_container'get_ips :: FunPtr (Ptr C'lxc_container -> CString -> CString -> CInt -> IO (Ptr CString))
 
c'lxc_container'get_cgroup_item :: FunPtr (Ptr C'lxc_container -> CString -> CString -> CInt -> IO CInt)
 
c'lxc_container'set_cgroup_item :: FunPtr (Ptr C'lxc_container -> CString -> CString -> IO CBool)
 
c'lxc_container'get_config_path :: FunPtr (Ptr C'lxc_container -> IO CString)
 
c'lxc_container'set_config_path :: FunPtr (Ptr C'lxc_container -> CString -> IO CBool)
 
c'lxc_container'clone :: FunPtr (Ptr C'lxc_container -> CString -> CString -> CInt -> CString -> CString -> C'uint64_t -> Ptr CString -> IO (Ptr C'lxc_container))
 
c'lxc_container'console_getfd :: FunPtr (Ptr C'lxc_container -> Ptr CInt -> Ptr CInt -> IO CInt)
 
c'lxc_container'console :: FunPtr (Ptr C'lxc_container -> CInt -> CInt -> CInt -> CInt -> CInt -> IO CInt)
 
c'lxc_container'attach :: FunPtr (Ptr C'lxc_container -> C_lxc_attach_exec_t -> Ptr () -> Ptr C'lxc_attach_options_t -> Ptr C'pid_t -> IO CInt)
 
c'lxc_container'attach_run_wait :: FunPtr (Ptr C'lxc_container -> Ptr C'lxc_attach_options_t -> CString -> Ptr CString -> IO CInt)
 
c'lxc_container'snapshot :: FunPtr (Ptr C'lxc_container -> CString -> IO CInt)
 
c'lxc_container'snapshot_list :: FunPtr (Ptr C'lxc_container -> Ptr (Ptr C'lxc_snapshot) -> IO CInt)
 
c'lxc_container'snapshot_restore :: FunPtr (Ptr C'lxc_container -> CString -> CString -> IO CBool)
 
c'lxc_container'snapshot_destroy :: FunPtr (Ptr C'lxc_container -> CString -> IO CBool)
 
c'lxc_container'may_control :: FunPtr (Ptr C'lxc_container -> IO CBool)
 
c'lxc_container'add_device_node :: FunPtr (Ptr C'lxc_container -> CString -> CString -> IO CBool)
 
c'lxc_container'remove_device_node :: FunPtr (Ptr C'lxc_container -> CString -> CString -> IO CBool)
 

Snapshot

Back store device specs

Container methods

Query container state

Container config

Control container state

Manage containers

Console

Attach

Snapshots

Misc

Global LXC functions

Allocate and manage containers

List containers

Misc