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