Skip to main content

Ceph RADOS Gateway (rgw) admin operations REST API

Project description

Python REST API for the Ceph RADOS Gateway (radosgw) admin operations

http://docs.ceph.com/docs/master/radosgw/adminops/

NOTICE: The library support Ceph version >= 10.2 (Jewel).

Changes

  • Version 1.6: Support for Ceph Hammer or older have been dropped.

  • Version 1.7: Functions get_buckets() and get_users() returns an iterator, not a list anymore.

  • Version 1.7.1: Function get_uids() added.

  • Version 1.7.2: Functions get_policy(bucket, object=None, ...) and delete_usage() added. Function set_quota(...) returns None.

Requirement

  • boto

Installation

https://img.shields.io/pypi/v/radosgw-admin.svg

The package is available on https://pypi.python.org/pypi/radosgw-admin. To install it use pip:

pip install radosgw-admin

Or clone this repository and install it locally:

python setup.py install

Configuration of the admin user

To create or modify a bucket/user in radosgw, the admin user require the following read,write capabilities (caps):

"caps": [
   { "type": "buckets",
     "perm": "*" },
   { "type": "usage",
     "perm": "read" },
   { "type": "metadata",
     "perm": "read" },
   { "type": "users",
     "perm": "*" }
]

You can use the radosgw-admin command to add capabilities to an existing user:

radosgw-admin caps add --uid <USER_ID> --caps "buckets=read,write"
radosgw-admin caps add --uid <USER_ID> --caps "users=read,write"

Examples

See the example in examples/radosgw-admin-example.py

Here is a simple example:

import radosgw

rgwadmin = radosgw.connection.RadosGWAdminConnection(host='hostname.example.org',
                                                     access_key='<ADMIN_ACCESS_KEY>',
                                                     secret_key='<ADMIN_SECRET_KEY>')
# user operations
testuser2 = rgwadmin.create_user('testuser2',
                                 display_name='A test user',
                                 email='testuser2@example.org')

testuser2.update(display_name='Second test user', suspended=True)

testuser1 = rgwadmin.get_user('testuser1')

# bucket operations
buckets = rgwadmin.get_buckets()
for bucket in buckets:
    print(bucket)

testuser1_buckets = testuser1.get_buckets()
for bucket in testuser1_buckets:
    # transfer buckets to testuser2
    rgwadmin.link_bucket(bucket.name, bucket.id, testuser2.id)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

radosgw-admin-1.7.2.tar.gz (23.8 kB view details)

Uploaded Source

Built Distribution

radosgw_admin-1.7.2-py2.py3-none-any.whl (25.5 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file radosgw-admin-1.7.2.tar.gz.

File metadata

  • Download URL: radosgw-admin-1.7.2.tar.gz
  • Upload date:
  • Size: 23.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.50.0 CPython/3.8.5

File hashes

Hashes for radosgw-admin-1.7.2.tar.gz
Algorithm Hash digest
SHA256 ac05f78ec41caaef4209f90932b857704aa031017bf31faa7f30ec0d7fc80471
MD5 b247ab0f16901ac1881fa0eec3f4b0dc
BLAKE2b-256 42a7b147fb5faac7f3c832652a599110c6c6764577f2ac5429a18d73b4440491

See more details on using hashes here.

File details

Details for the file radosgw_admin-1.7.2-py2.py3-none-any.whl.

File metadata

  • Download URL: radosgw_admin-1.7.2-py2.py3-none-any.whl
  • Upload date:
  • Size: 25.5 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.50.0 CPython/3.8.5

File hashes

Hashes for radosgw_admin-1.7.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 c22ade8e75397717a37ffa9277be2658d2e71c09942eac8eb9d5807a751abf30
MD5 1c9cae76ec036003cd80fb26e78dbe75
BLAKE2b-256 899bf6fdc067eccd61f1147e778327a8ffd0052c28d3a57dd79b8465bd28b364

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page