]> git.proxmox.com Git - ceph.git/blob - ceph/src/include/rgw/librgw_admin_user.h
update sources to ceph Nautilus 14.2.1
[ceph.git] / ceph / src / include / rgw / librgw_admin_user.h
1 // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
2 // vim: ts=8 sw=2 smarttab
3 /*
4 * create rgw admin user
5 *
6 * Copyright (C) 2015 Red Hat, Inc.
7 *
8 * This is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public
10 * License version 2.1, as published by the Free Software
11 * Foundation. See file COPYING.
12 *
13 */
14
15 #ifndef LIB_RGW_ADMIN_USER_H
16 #define LIB_RGW_ADMIN_USER_H
17
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21
22 #define LIBRGW_ADMIN_USER_VER_MAJOR 1
23 #define LIBRGW_ADMIN_USER_VER_MINOR 0
24 #define LIBRGW_ADMIN_USER_VER_EXTRA 0
25
26 #define LIBRGW_ADMIN_USER_VERSION(maj, min, extra) ((maj << 16) + (min << 8) + extra)
27 #define LIBRGW_ADMIN_USER_VERSION_CODE LIBRGW_ADMIN_USER_VERSION(LIBRGW_ADMIN_USER_VER_MAJOR, LIBRGW_ADMIN_USER_VER_MINOR, LIBRGW_ADMIN_USER_VER_EXTRA)
28
29 typedef void* librgw_admin_user_t;
30 int librgw_admin_user_create(librgw_admin_user_t *rgw_admin_user, int argc, char **argv);
31 void librgw_admin_user_shutdown(librgw_admin_user_t rgw_admin_user);
32
33 struct rgw_user_info
34 {
35 const char *uid;
36 const char *display_name;
37 const char *access_key;
38 const char* secret_key;
39 const char* email;
40 const char *caps;
41 const char *access;
42 bool admin;
43 bool system;
44 };
45
46 /*
47 * create a new rgw user
48 */
49 int rgw_admin_create_user(librgw_admin_user_t rgw_admin_user, const char *uid,
50 const char *display_name, const char *access_key, const char* secret_key,
51 const char *email, const char *caps,
52 const char *access, bool admin, bool system);
53
54 /*
55 * get rgw user info
56 */
57 int rgw_admin_user_info(librgw_admin_user_t rgw_admin_user,const char * uid, rgw_user_info* user_info);
58
59 #ifdef __cplusplus
60 }
61 #endif
62
63 #endif /* LIBRGW_ADMIN_USER */