Admin Operations

An admin API request will be done on a URI that starts with the configurable ‘admin’ resource entry point. Authorization for the admin API duplicates the S3 authorization mechanism. Some operations require that the user holds special administrative capabilities. The response entity type (XML or JSON) may be specified as the ‘format’ option in the request and defaults to JSON if not specified.

Get Object

Get an existing object. NOTE: Does not require owner to be non-suspended.

Syntax

GET /{admin}/bucket?object&format=json HTTP/1.1
Host {fqdn}

Request Parameters

bucket

Description

The bucket containing the object to be retrieved.

Type

String

Example

foo_bucket

Required

Yes

object

Description

The object to be retrieved.

Type

String

Example

foo.txt

Required

Yes

Response Entities

If successful, returns the desired object.

object

Description

The desired object.

Type

Object

Special Error Responses

NoSuchObject

Description

Specified object does not exist.

Code

404 Not Found

Head Object

Verify the existence of an object. If the object exists, metadata headers for the object will be returned.

Syntax

HEAD /{admin}/bucket?object HTTP/1.1
Host {fqdn}

Request Parameters

bucket

Description

The bucket containing the object to be retrieved.

Type

String

Example

foo_bucket

Required

Yes

object

Description

The object to be retrieved.

Type

String

Example

foo.txt

Required

Yes

Response Entities

None.

Special Error Responses

NoSuchObject

Description

Specified object does not exist.

Code

404 Not Found

Get Zone Info

Get cluster information.

Syntax

GET /{admin}/zone&format=json HTTP/1.1
Host {fqdn}

Response Entities

If successful, returns cluster pool configuration.

zone

Description

Contains current cluster pool configuration.

Type

Container

domain_root

Description

root of all buckets.

Type

String

Parent

cluster

control_pool

Description

Type

String

Parent

cluster

gc_pool

Description

Garbage collection pool.

Type

String

Parent

cluster

log_pool

Description

Log pool.

Type

String

Parent

cluster

intent_log_pool

Description

Intent log pool.

Type

String

Parent

cluster

usage_log_pool

Description

Usage log pool.

Type

String

Parent

cluster

user_keys_pool

Description

User key pool.

Type

String

Parent

cluster

user_email_pool

Description

User email pool.

Type

String

Parent

cluster

user_swift_pool

Description

Pool of swift users.

Type

String

Parent

cluster

Special Error Responses

None.

Example Response

HTTP/1.1 200
Content-Type: application/json

{
  "domain_root": ".rgw",
  "control_pool": ".rgw.control",
  "gc_pool": ".rgw.gc",
  "log_pool": ".log",
  "intent_log_pool": ".intent-log",
  "usage_log_pool": ".usage",
  "user_keys_pool": ".users",
  "user_email_pool": ".users.email",
  "user_swift_pool": ".users.swift",
  "user_uid_pool ": ".users.uid"
}

Add Placement Pool

Make a pool available for data placement.

Syntax

PUT /{admin}/pool?format=json HTTP/1.1
Host {fqdn}

Request Parameters

pool

Description

The pool to be made available for data placement.

Type

String

Example

foo_pool

Required

Yes

create

Description

Creates the data pool if it does not exist.

Type

Boolean

Example

False [False]

Required

No

Response Entities

TBD.

Special Error Responses

TBD.

Remove Placement Pool

Make a pool unavailable for data placement.

Syntax

DELETE /{admin}/pool?format=json HTTP/1.1
Host {fqdn}

Request Parameters

pool

Description

The existing pool to be made available for data placement.

Type

String

Example

foo_pool

Required

Yes

destroy

Description

Destroys the pool after removing it from the active set.

Type

Boolean

Example

False [False]

Required

No

Response Entities

TBD.

Special Error Responses

TBD.

List Available Data Placement Pools

List current pools available for data placement.

Syntax

GET /{admin}/pool?format=json HTTP/1.1
Host {fqdn}

Response Entities

If successful, returns a list of pools available for data placement.

pools

Description

Contains currently available pools for data placement.

Type

Container

List Expired Garbage Collection Items

List objects scheduled for garbage collection.

Syntax

GET /{admin}/garbage?format=json HTTP/1.1
Host {fqdn}

Request Parameters

None.

Response Entities

If expired garbage collection items exist, a list of such objects will be returned.

garbage

Description

Expired garbage collection items.

Type

Container

object

Description

A container garbage collection object information.

Type

Container

Parent

garbage

name

Description

The name of the object.

Type

String

Parent

object

expired

Description

The date at which the object expired.

Type

String

Parent

object

Special Error Responses

TBD.

Manually Processes Garbage Collection Items

List objects scheduled for garbage collection.

Syntax

DELETE /{admin}/garbage?format=json HTTP/1.1
Host {fqdn}

Request Parameters

None.

Response Entities

If expired garbage collection items exist, a list of removed objects will be returned.

garbage

Description

Expired garbage collection items.

Type

Container

object

Description

A container garbage collection object information.

Type

Container

Parent

garbage

name

Description

The name of the object.

Type

String

Parent

object

expired

Description

The date at which the object expired.

Type

String

Parent

object

Special Error Responses

TBD.

Show Log Objects

Show log objects

Syntax

GET /{admin}/log?format=json HTTP/1.1
Host {fqdn}

Request Parameters

object

Description

The log object to return.

Type

String:

Example

2012-10-11-09-4165.2-foo_bucket

Required

No

Response Entities

If no object is specified, returns the full list of log objects.

log-objects

Description

A list of log objects.

Type

Container

object

Description

The name of the log object.

Type

String

log

Description

The contents of the log object.

Type

Container

Special Error Responses

None.

Standard Error Responses

AccessDenied

Description

Access denied.

Code

403 Forbidden

InternalError

Description

Internal server error.

Code

500 Internal Server Error

NoSuchUser

Description

User does not exist.

Code

404 Not Found

NoSuchBucket

Description

Bucket does not exist.

Code

404 Not Found

NoSuchKey

Description

No such access key.

Code

404 Not Found