| 
    clibdocker
    0.1.0-alpha.0
    
   A Docker API for C 
   | 
 
Docker volumes API. More...


Go to the source code of this file.
Macros | |
| #define | free_docker_volume(vol) json_object_put((json_object*) vol) | 
| free the docker volume object  | |
| #define | docker_volume_name_get(vol) get_attr_str((json_object*)vol, "Name") | 
| Get the name of the docker volume.  More... | |
| #define | docker_volume_driver_get(vol) get_attr_str((json_object*)vol, "Driver") | 
| Get the driver name of the docker volume.  More... | |
| #define | docker_volume_mountpoint_vol_get(vol) get_attr_str((json_object*)vol, "Mountpoint") | 
| Get the mount point of the docker volume.  More... | |
| #define | docker_volume_go_scope_get(vol) get_attr_str((json_object*)vol, "Scope") | 
| Get the scope of the docker volume.  More... | |
| #define | docker_volume_creation_time_get(vol) get_attr_time((json_object*)vol, "CreatedAt") | 
| Get the creation time of the docker volume.  More... | |
| #define | docker_volume_labels_get(vol) get_attr_json_object((json_object*)vol, "Labels") | 
| Get the volume labels array of the docker volume.  More... | |
| #define | docker_volume_labels_foreach(vol) json_object_object_foreach(docker_volume_labels_get(vol), key, val) | 
| Iterate over the volume labels with key and val.  More... | |
| #define | docker_volume_options_get(vol) get_attr_json_object((json_object*)vol, "Options") | 
| Get the options array of the docker volume.  More... | |
| #define | docker_volume_options_foreach(vol) json_object_object_foreach(docker_volume_options_get(vol), key, val) | 
| Iterate over the volume options with key and val.  More... | |
| #define | free_docker_volume_list(volume_ls) json_object_put(volume_ls) | 
| Free the docker volume list json object.  More... | |
| #define | docker_volume_list_length(volume_ls) json_object_array_length(volume_ls) | 
| Get the length of the docker volume list.  More... | |
| #define | docker_volume_list_get_idx(volume_ls, i) (docker_volume*) json_object_array_get_idx(volume_ls, i) | 
| Get the ith value of the docker volume list.  More... | |
| #define | free_docker_warnings(warnings) json_object_put(warnings) | 
| Free the docker warnings list.  More... | |
| #define | docker_warnings_length(warnings) json_object_array_length(warnings) | 
| Get the length of the docker volume warnings list.  More... | |
| #define | docker_warnings_get_idx(warnings, i) (char*) json_object_array_get_idx(warnings, i) | 
| Get the ith warning.  More... | |
Typedefs | |
| typedef json_object | docker_volume | 
| The Docker Volume object.  More... | |
| typedef json_object | docker_volume_list | 
| Represents Docker Volume List in json.  | |
| typedef json_object | docker_volume_warnings | 
| The Docker Volume Warnings list json object.  More... | |
Functions | |
| d_err_t | docker_volumes_list (docker_context *ctx, docker_volume_list **volumes, docker_volume_warnings **warnings, int filter_dangling, char *filter_driver, char *filter_label, char *filter_name) | 
| d_err_t | docker_volume_create (docker_context *ctx, docker_volume **volume, char *name, char *driver, int num_labels,...) | 
| d_err_t | docker_volume_inspect (docker_context *ctx, docker_volume **volume, char *name) | 
| d_err_t | docker_volume_delete (docker_context *ctx, const char *name, int force) | 
| d_err_t | docker_volumes_delete_unused (docker_context *ctx, arraylist **volumes_deleted, unsigned long *space_reclaimed, int num_label_filters,...) | 
Docker volumes API.
| #define docker_volume_creation_time_get | ( | vol | ) | get_attr_time((json_object*)vol, "CreatedAt") | 
Get the creation time of the docker volume.
| vol | docker volume | 
| #define docker_volume_driver_get | ( | vol | ) | get_attr_str((json_object*)vol, "Driver") | 
Get the driver name of the docker volume.
| vol | docker volume | 
| #define docker_volume_go_scope_get | ( | vol | ) | get_attr_str((json_object*)vol, "Scope") | 
Get the scope of the docker volume.
For possible values of scope refer to the docker api docs.
| vol | docker volume | 
| #define docker_volume_labels_foreach | ( | vol | ) | json_object_object_foreach(docker_volume_labels_get(vol), key, val) | 
Iterate over the volume labels with key and val.
Iterate over every label, in every iteration, the key and val store the id and value of the label.
| vol | docker volume | 
| #define docker_volume_labels_get | ( | vol | ) | get_attr_json_object((json_object*)vol, "Labels") | 
Get the volume labels array of the docker volume.
The better was to get the volume labels is to use the helper funcitons for iteration over the volume labels.
| vol | docker volume | 
| #define docker_volume_list_get_idx | ( | volume_ls, | |
| i | |||
| ) | (docker_volume*) json_object_array_get_idx(volume_ls, i) | 
Get the ith value of the docker volume list.
| volume_ls | the volume list object | 
| i | index | 
| #define docker_volume_list_length | ( | volume_ls | ) | json_object_array_length(volume_ls) | 
Get the length of the docker volume list.
| volume_ls | the volume list object | 
| #define docker_volume_mountpoint_vol_get | ( | vol | ) | get_attr_str((json_object*)vol, "Mountpoint") | 
Get the mount point of the docker volume.
| vol | docker volume | 
| #define docker_volume_name_get | ( | vol | ) | get_attr_str((json_object*)vol, "Name") | 
Get the name of the docker volume.
| vol | docker volume | 
| #define docker_volume_options_foreach | ( | vol | ) | json_object_object_foreach(docker_volume_options_get(vol), key, val) | 
Iterate over the volume options with key and val.
Iterate over every option, in every iteration, the key and val store the id and value of the option.
| vol | docker volume | 
| #define docker_volume_options_get | ( | vol | ) | get_attr_json_object((json_object*)vol, "Options") | 
Get the options array of the docker volume.
The better was to get the volume options is to use the helper funcitons for iteration over the volume options.
| vol | docker volume | 
| #define docker_warnings_get_idx | ( | warnings, | |
| i | |||
| ) | (char*) json_object_array_get_idx(warnings, i) | 
Get the ith warning.
| warnings | docker volume warnings list | 
| i | index | 
| #define docker_warnings_length | ( | warnings | ) | json_object_array_length(warnings) | 
Get the length of the docker volume warnings list.
| warnings | docker volume warnings list | 
| #define free_docker_volume_list | ( | volume_ls | ) | json_object_put(volume_ls) | 
Free the docker volume list json object.
| volume_ls | the volume list object | 
| #define free_docker_warnings | ( | warnings | ) | json_object_put(warnings) | 
Free the docker warnings list.
| warnings | docker volume warnings list | 
| typedef json_object docker_volume | 
The Docker Volume object.
The docker volume object represents the JSON object, returned as part of a Docker API call.
To access members of the object use the getters of the form docker_volume_<member>_get(vol), where vol is the pointer to the volume object. 
| typedef json_object docker_volume_warnings | 
The Docker Volume Warnings list json object.
Each warning is a string.
| d_err_t docker_volume_create | ( | docker_context * | ctx, | 
| docker_volume ** | volume, | ||
| char * | name, | ||
| char * | driver, | ||
| int | num_labels, | ||
| ... | |||
| ) | 
Create a new volume by providing name, driver and an optional list of key/value pairs for labels
| ctx | the docker context | 
| volume | the volume object to return | 
| name | name of the volume to create (cannot be NULL) | 
| driver | name of the driver to use | 
| num_labels | the number of labels to be attached. | 
| ... | key/values char* key, char* value args pair for each label | 
References docker_log_debug, make_docker_call(), and docker_context_t::url.
| d_err_t docker_volume_delete | ( | docker_context * | ctx, | 
| const char * | name, | ||
| int | force | ||
| ) | 
Delete the given volume (identified by name).
| ctx | the docker context | 
| name | name of the volume to delete | 
| force | force delete if this value is 1 | 
References make_docker_call(), and docker_context_t::url.
| d_err_t docker_volume_inspect | ( | docker_context * | ctx, | 
| docker_volume ** | volume, | ||
| char * | name | ||
| ) | 
Inspect an existing volume.
| ctx | the docker context | 
| volume | the volume object to return | 
| name | name of the volume to inspect (cannot be NULL) | 
| d_err_t docker_volumes_delete_unused | ( | docker_context * | ctx, | 
| arraylist ** | volumes_deleted, | ||
| unsigned long * | space_reclaimed, | ||
| int | num_label_filters, | ||
| ... | |||
| ) | 
Delete unused volumes.
| ctx | the docker context | 
| volumes_deleted | array_list with names of volumes deleted | 
| space_reclaimed | num bytes freed. | 
| num_label_filters | how many label filters are there | 
| ... | triples (int filter_not, char* label_name, char* label_value) | 
References make_docker_call(), and docker_context_t::url.
| d_err_t docker_volumes_list | ( | docker_context * | ctx, | 
| docker_volume_list ** | volumes, | ||
| docker_volume_warnings ** | warnings, | ||
| int | filter_dangling, | ||
| char * | filter_driver, | ||
| char * | filter_label, | ||
| char * | filter_name | ||
| ) | 
Get the list of volumes, matching the filters provided. (Any and all filters can be null/0.)
| ctx | the docker context | 
| volumes | the list of docker_volume_item objects | 
| warnings | the list of warnings | 
| filter_dangling | 0 indicates false, anything else is true | 
| filter_driver | driver filter | 
| filter_label | filter label | 
| filter_name | filter name | 
References make_docker_call(), and docker_context_t::url.