s3
Manage S3 access.
List of S3 users.
Parameters[
{
"uid": "string",
"name": "string",
"email": "string",
"subusers": [
{
"subuser": "string",
"permissions": "full-control"
}
],
"suspended": true,
"userQuota": {
"enabled": true,
"maxSize": 0,
"maxObjects": 0,
"max_objects": 0,
"max_size_kb": 0,
"maxSizeFormatted": "string",
"maxObjectsFormatted": "string"
},
"bucketQuota": {
"enabled": true,
"maxSize": 0,
"maxObjects": 0,
"max_objects": 0,
"max_size_kb": 0,
"maxSizeFormatted": "string",
"maxObjectsFormatted": "string"
},
"defaultPlacement": "string",
"subusersFormatted": "string",
"defaultStorageClass": "string"
}
]
{
"uid": "string",
"name": "string",
"email": "string",
"defaultPlacement": "string",
"defaultStorageClass": "string"
}
List of all buckets.
Parameters[
{
"id": "string",
"owner": "string",
"quota": {
"enabled": true,
"maxSize": 0,
"maxObjects": 0,
"max_objects": 0,
"max_size_kb": 0,
"maxSizeFormatted": "string",
"maxObjectsFormatted": "string"
},
"usage": {
"additionalProp1": {
"sizeKiB": 0,
"size_kb": 0,
"numObjects": 0,
"num_objects": 0,
"sizeFormatted": "string",
"sizeKiBActual": 0,
"size_kb_actual": 0
},
"additionalProp2": {
"sizeKiB": 0,
"size_kb": 0,
"numObjects": 0,
"num_objects": 0,
"sizeFormatted": "string",
"sizeKiBActual": 0,
"size_kb_actual": 0
},
"additionalProp3": {
"sizeKiB": 0,
"size_kb": 0,
"numObjects": 0,
"num_objects": 0,
"sizeFormatted": "string",
"sizeKiBActual": 0,
"size_kb_actual": 0
}
},
"bucket": "string",
"tenant": "string",
"modified": 0,
"usageSum": {
"sizeKiB": 0,
"size_kb": 0,
"numObjects": 0,
"num_objects": 0,
"sizeFormatted": "string",
"sizeKiBActual": 0,
"size_kb_actual": 0
},
"zonegroup": "string",
"placement_rule": "string"
}
]
List all available placement policies in all zones.
Parameters{
"data": [
{
"name": "string",
"default": true,
"dataPool": "string",
"indexPool": "string",
"storageClass": "string",
"dataExtraPool": "string"
}
],
"after": 0,
"limit": 0,
"total": 0,
"placements": [
{
"name": "string",
"default": true,
"dataPool": "string",
"indexPool": "string",
"storageClass": "string",
"dataExtraPool": "string"
}
],
"defaultStorageClass": "string",
"defaultPlacementRule": "string"
}
[
"string"
]
{
"subuser": "string",
"permissions": "full-control"
}
{
"id": 0,
"done": true,
"name": "string",
"state": "WAITING",
"object": "string",
"output": "string",
"result": {},
"progress": {
"total": 0,
"complete": 0
},
"question": {
"token": "string",
"message": "string",
"timeout": 0,
"priority": "Standard",
"timeLeft": 0,
"defaultResponse": "string",
"responseOptions": [
"string"
]
},
"startedAt": 0,
"startedBy": "string",
"statusCode": 0,
"interactive": true
}
{
"name": "string",
"email": "string",
"suspended": true,
"defaultPlacement": "string",
"defaultStorageClass": "string"
}
{
"user": "string",
"accessKey": "string",
"secretKey": "string"
}
[
{
"user": "string",
"accessKey": "string",
"secretKey": "string"
}
]
{
"keys": [
{
"user": "string",
"accessKey": "string",
"secretKey": "string"
}
]
}
{
"id": 0,
"done": true,
"name": "string",
"state": "WAITING",
"object": "string",
"output": "string",
"result": {},
"progress": {
"total": 0,
"complete": 0
},
"question": {
"token": "string",
"message": "string",
"timeout": 0,
"priority": "Standard",
"timeLeft": 0,
"defaultResponse": "string",
"responseOptions": [
"string"
]
},
"startedAt": 0,
"startedBy": "string",
"statusCode": 0,
"interactive": true
}
Set the default placement rule. This API does not support multi-site setups.
Parameters{
"storageClass": "string",
"placementRule": "string"
}
Create a new placement policy in the default zonegroup in the default zone. This API does not support multi-site setups.
Parameters{
"dataPool": "string",
"indexPool": "string",
"dataExtraPool": "string"
}
Set a quota for this user.
Parameters{
"enabled": true,
"maxSize": 0,
"maxObjects": 0,
"maxSizeNew": 0,
"maxObjectsNew": 0,
"maxObjectsOld": 0,
"maxSizeKiBOld": 0
}
Retrieve usage statistics for a given S3 user.
Return results aggregated into 1 hour intervals for all buckets the user accessed. Caution: this cannot be used for the anonymous user This can be an expensive call in term of IOPS, do not poll this unnecessarily. The idea is to store the results in an accounting system. Calling this will also trim the S3 usage log if enabled in /config/config.yml, see trimS3Usage in /config/config.yml.default This requires enabling the Ceph option "rgw enable usage log", see https://docs.ceph.com/docs/master/man/8/radosgw/#usage-logging
Parameters{
"buckets": {
"additionalProp1": [
{
"time": 0,
"bucketName": "string",
"bucketOwner": "string",
"bytesUploaded": 0,
"bytesDownloaded": 0,
"failedOperations": 0,
"successfulOperations": 0,
"metadataBytesDownloaded": 0
}
],
"additionalProp2": [
{
"time": 0,
"bucketName": "string",
"bucketOwner": "string",
"bytesUploaded": 0,
"bytesDownloaded": 0,
"failedOperations": 0,
"successfulOperations": 0,
"metadataBytesDownloaded": 0
}
],
"additionalProp3": [
{
"time": 0,
"bucketName": "string",
"bucketOwner": "string",
"bytesUploaded": 0,
"bytesDownloaded": 0,
"failedOperations": 0,
"successfulOperations": 0,
"metadataBytesDownloaded": 0
}
]
}
}
List all buckets owner by the user.
Parameters[
{
"id": "string",
"owner": "string",
"quota": {
"enabled": true,
"maxSize": 0,
"maxObjects": 0,
"max_objects": 0,
"max_size_kb": 0,
"maxSizeFormatted": "string",
"maxObjectsFormatted": "string"
},
"usage": {
"additionalProp1": {
"sizeKiB": 0,
"size_kb": 0,
"numObjects": 0,
"num_objects": 0,
"sizeFormatted": "string",
"sizeKiBActual": 0,
"size_kb_actual": 0
},
"additionalProp2": {
"sizeKiB": 0,
"size_kb": 0,
"numObjects": 0,
"num_objects": 0,
"sizeFormatted": "string",
"sizeKiBActual": 0,
"size_kb_actual": 0
},
"additionalProp3": {
"sizeKiB": 0,
"size_kb": 0,
"numObjects": 0,
"num_objects": 0,
"sizeFormatted": "string",
"sizeKiBActual": 0,
"size_kb_actual": 0
}
},
"bucket": "string",
"tenant": "string",
"modified": 0,
"usageSum": {
"sizeKiB": 0,
"size_kb": 0,
"numObjects": 0,
"num_objects": 0,
"sizeFormatted": "string",
"sizeKiBActual": 0,
"size_kb_actual": 0
},
"zonegroup": "string",
"placement_rule": "string"
}
]
{
"acl": [
{
"userId": "string",
"grantee": "ALL_USERS",
"permission": "FullControl",
"displayName": "string"
}
],
"cors": [
{
"id": "string",
"maxAgeSeconds": 0,
"allowedHeaders": [
"string"
],
"allowedMethods": [
"GET"
],
"allowedOrigins": [
"string"
],
"exposedHeaders": [
"string"
]
}
],
"versioning": "OFF"
}
Create a new S3 bucket.
Parameters{
"acl": [
{
"userId": "string",
"grantee": "ALL_USERS",
"permission": "FullControl",
"displayName": "string"
}
],
"owner": "string",
"endpoint": "string",
"placement": "string",
"versioning": "OFF",
"expectedNumberOfObjects": 0
}
{
"id": 0,
"done": true,
"name": "string",
"state": "WAITING",
"object": "string",
"output": "string",
"result": {},
"progress": {
"total": 0,
"complete": 0
},
"startedAt": 0,
"startedBy": "string",
"statusCode": 0
}
{
"acl": [
{
"userId": "string",
"grantee": "ALL_USERS",
"permission": "FullControl",
"displayName": "string"
}
],
"owner": "string",
"versioning": "OFF"
}
{
"name": "string",
"deleteData": true,
"thisWillDeleteData": "string"
}
{
"id": 0,
"done": true,
"name": "string",
"state": "WAITING",
"object": "string",
"output": "string",
"result": {},
"progress": {
"total": 0,
"complete": 0
},
"startedAt": 0,
"startedBy": "string",
"statusCode": 0
}
[
{
"id": "string",
"permissions": "full-control"
}
]
{
"subusers": [
{
"subuser": "string",
"permissions": "full-control"
}
]
}
{
"id": 0,
"done": true,
"name": "string",
"state": "WAITING",
"object": "string",
"output": "string",
"result": {},
"progress": {
"total": 0,
"complete": 0
},
"question": {
"token": "string",
"message": "string",
"timeout": 0,
"priority": "Standard",
"timeLeft": 0,
"defaultResponse": "string",
"responseOptions": [
"string"
]
},
"startedAt": 0,
"startedBy": "string",
"statusCode": 0,
"interactive": true
}
Set a quota for all buckets owned by this user.
Parameters{
"enabled": true,
"maxSize": 0,
"maxObjects": 0,
"maxSizeNew": 0,
"maxObjectsNew": 0,
"maxObjectsOld": 0,
"maxSizeKiBOld": 0
}
Set a quota for this bucket.
Parameters{
"enabled": true,
"maxSize": 0,
"maxObjects": 0,
"maxSizeNew": 0,
"maxObjectsNew": 0,
"maxObjectsOld": 0,
"maxSizeKiBOld": 0
}
Get a bucket policy.
Parameters{
"policyText": "string"
}
Create or update a bucket policy. See the ceph documentation for the list of currently supported actions.
Parametersnull
Delete a bucket policy.
ParametersUpload an object.
ParametersList objects in a bucket. Refer to S3 documentation for listing details
Parameters{
"objects": [
{
"key": "string",
"etag": "string",
"size": 0,
"owner": {
"id": "string",
"displayName": "string"
},
"bucketName": "string",
"lastModified": "string",
"storageClass": "string"
}
],
"prefixes": [
{
"prefix": "string",
"lastModified": "string"
}
],
"continuationToken": "string"
}
Delete an object by name.
ParametersRetrieve latest usage statistics for a given S3 bucket.
Return results aggregated into 1 hour intervals for all users that accessed the bucket. This can be an expensive call in term of IOPS, do not poll this unnecessarily. The idea is to store the results in an accounting system. Calling this will also trim the S3 usage log if enabled in /config/config.yml, see trimS3Usage in /config/config.yml.default This requires enabling the Ceph option "rgw enable usage log", see https://docs.ceph.com/docs/master/man/8/radosgw/#usage-logging
Parameters{
"buckets": {
"additionalProp1": [
{
"time": 0,
"bucketName": "string",
"bucketOwner": "string",
"bytesUploaded": 0,
"bytesDownloaded": 0,
"failedOperations": 0,
"successfulOperations": 0,
"metadataBytesDownloaded": 0
}
],
"additionalProp2": [
{
"time": 0,
"bucketName": "string",
"bucketOwner": "string",
"bytesUploaded": 0,
"bytesDownloaded": 0,
"failedOperations": 0,
"successfulOperations": 0,
"metadataBytesDownloaded": 0
}
],
"additionalProp3": [
{
"time": 0,
"bucketName": "string",
"bucketOwner": "string",
"bytesUploaded": 0,
"bytesDownloaded": 0,
"failedOperations": 0,
"successfulOperations": 0,
"metadataBytesDownloaded": 0
}
]
}
}
Download an object.
Parameters{
"url": "string",
"fileName": "string",
"fileContents": "string"
}
{
"url": "string",
"fileName": "string",
"fileContents": "string"
}
{
"permissions": "full-control"
}
{
"id": 0,
"done": true,
"name": "string",
"state": "WAITING",
"object": "string",
"output": "string",
"result": {},
"progress": {
"total": 0,
"complete": 0
},
"question": {
"token": "string",
"message": "string",
"timeout": 0,
"priority": "Standard",
"timeLeft": 0,
"defaultResponse": "string",
"responseOptions": [
"string"
]
},
"startedAt": 0,
"startedBy": "string",
"statusCode": 0,
"interactive": true
}
{
"id": 0,
"done": true,
"name": "string",
"state": "WAITING",
"object": "string",
"output": "string",
"result": {},
"progress": {
"total": 0,
"complete": 0
},
"question": {
"token": "string",
"message": "string",
"timeout": 0,
"priority": "Standard",
"timeLeft": 0,
"defaultResponse": "string",
"responseOptions": [
"string"
]
},
"startedAt": 0,
"startedBy": "string",
"statusCode": 0,
"interactive": true
}
Get the current ACL of an object.
Parameters[
{
"userId": "string",
"grantee": "ALL_USERS",
"permission": "FullControl",
"displayName": "string"
}
]
Override an object's ACL.
Parameters[
{
"userId": "string",
"grantee": "ALL_USERS",
"permission": "FullControl",
"displayName": "string"
}
]
Copy an object.
ParametersMove an object.
Parameters[
{
"user": "string",
"accessKey": "string",
"secretKey": "string"
}
]
Get metadata of an object.
Parameters{
"raw": {
"additionalProp1": {},
"additionalProp2": {},
"additionalProp3": {}
},
"etag": "string",
"size": 0,
"versionId": "string",
"contentMD5": "string",
"contentType": "string",
"cacheControl": "string",
"lastModified": 0,
"userMetadata": {
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
},
"expirationTime": 0,
"contentEncoding": "string",
"contentLanguage": "string",
"httpExpiresDate": 0,
"contentDisposition": "string",
"expirationTimeRuleId": "string"
}
Override object metadata.
Parameters{
"raw": {
"additionalProp1": {},
"additionalProp2": {},
"additionalProp3": {}
},
"etag": "string",
"size": 0,
"versionId": "string",
"contentMD5": "string",
"contentType": "string",
"cacheControl": "string",
"lastModified": 0,
"userMetadata": {
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
},
"expirationTime": 0,
"contentEncoding": "string",
"contentLanguage": "string",
"httpExpiresDate": 0,
"contentDisposition": "string",
"expirationTimeRuleId": "string"
}
List active and abandoned multi-part uploads. API params are identical to object listing.
Parameters{
"objects": [
{
"key": "string",
"owner": {
"id": "string",
"displayName": "string"
},
"uploadId": "string",
"initiated": "string",
"initiator": {
"id": "string",
"displayName": "string"
},
"storageClass": "string"
}
],
"prefixes": [
"string"
],
"continuationToken": "string"
}
Cancel an active or abandoned multi-part upload.
ParametersList objects and prefixes in a bucket. Uses croit's pagination.
Parameters{
"data": [
{
"key": "string",
"etag": "string",
"size": 0,
"owner": {
"id": "string",
"displayName": "string"
},
"bucketName": "string",
"lastModified": "string",
"storageClass": "string",
"sizeFormatted": "string",
"keyWithoutPrefix": "string"
}
],
"after": 0,
"limit": 0,
"total": 0,
"prefixes": [
"string"
]
}
List active and abandoned multi-part uploads. Uses croit's pagination.
Parameters{
"data": [
{
"key": "string",
"owner": {
"id": "string",
"displayName": "string"
},
"uploadId": "string",
"initiated": "string",
"initiator": {
"id": "string",
"displayName": "string"
},
"storageClass": "string",
"keyWithoutPrefix": "string"
}
],
"after": 0,
"limit": 0,
"total": 0,
"prefixes": [
"string"
]
}
{
"url": "string",
"fileName": "string",
"fileContents": "string"
}
Set storage classes on placement rules. This API does not support multi-site setups.
Parameters{
"dataPool": "string"
}
Delete a storage class on a placement rule. Deletes the entire placement rule when specifying the STANDARD storage class. This API does not support multi-site setups.
Parameters