Search

Appendix A. The Ceph RESTful API specifications

download PDF

As a storage administrator, you can access the various Ceph sub-systems through the Ceph RESTful API endpoints. This is a reference guide for the available Ceph RESTful API methods.

The available Ceph API endpoints:

A.1. Prerequisites

  • An understanding of how to use a RESTful API.
  • A healthy running Red Hat Ceph Storage cluster.
  • The Ceph Manager dashboard module is enabled.

A.2. Ceph summary

The method reference for using the Ceph RESTful API summary endpoint to display the Ceph summary details.

GET /api/summary
Description
Display a summary of Ceph details.
Example
GET /api/summary HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.

Additional Resources

  • See the Ceph RESTful API chapter in the Red Hat Ceph Storage Developer Guide for more details.

A.3. Authentication

The method reference for using the Ceph RESTful API auth endpoint to initiate a session with Red Hat Ceph Storage.

POST /api/auth
Curl Example
curl -i -k --location -X POST 'https://192.168.0.44:8443/api/auth' -H 'Accept: application/vnd.ceph.api.v1.0+json' -H 'Content-Type: application/json' --data '{"password": "admin@123", "username": "admin"}'
Example
 POST /api/auth HTTP/1.1
 Host: example.com
 Content-Type: application/json

 {
     "password": "STRING",
     "username": "STRING"
 }
Status Codes
  • 201 Created – Resource created.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
POST /api/auth/check
Description
Check the requirement for an authentication token.
Example
POST /api/auth/check?token=STRING HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "token": "STRING"
}
Status Codes
  • 201 Created – Resource created.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
POST /api/auth/logout
Status Codes
  • 201 Created – Resource created.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.

Additional Resources

  • See the Ceph RESTful API chapter in the Red Hat Ceph Storage Developer Guide for more details.

A.4. Ceph File System

The method reference for using the Ceph RESTful API cephfs endpoint to manage Ceph File Systems (CephFS).

GET /api/cephfs
Example
GET /api/cephfs HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/cephfs/FS_ID
Parameters
  • Replace FS_ID with the Ceph File System identifier string.
Example
GET /api/cephfs/FS_ID HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
DELETE /api/cephfs/FS_ID/client/CLIENT_ID
Parameters
  • Replace FS_ID with the Ceph File System identifier string.
  • Replace CLIENT_ID with the Ceph client identifier string.
Status Codes
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 204 No Content – Resource deleted.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/cephfs/FS_ID/clients
Parameters
  • Replace FS_ID with the Ceph File System identifier string.
Example
GET /api/cephfs/FS_ID/clients HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/cephfs/FS_ID/get_root_directory
Description
The root directory that can not be fetched using the ls_dir API call.
Parameters
  • Replace FS_ID with the Ceph File System identifier string.
Example
GET /api/cephfs/FS_ID/get_root_directory HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/cephfs/FS_ID/ls_dir
Description
List directories for a given path.
Parameters
  • Replace FS_ID with the Ceph File System identifier string.
  • Queries:

    • path - The string value where you want to start the listing. The default path is /, if not given.
    • depth - An integer value specifying the number of steps to go down the directory tree.
Example
GET /api/cephfs/FS_ID/ls_dir HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/cephfs/FS_ID/mds_counters
Parameters
  • Replace FS_ID with the Ceph File System identifier string.
  • Queries:

    • counters - An integer value.
Example
GET /api/cephfs/FS_ID/mds_counters HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/cephfs/FS_ID/quota
Description
Display the CephFS quotas for the given path.
Parameters
  • Replace FS_ID with the Ceph File System identifier string.
  • Queries:

    • path - A required string value specifying the directory path.
Example
GET /api/cephfs/FS_ID/quota?path=STRING HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
PUT /api/cephfs/FS_ID/quota
Description
Sets the quota for a given path.
Parameters
  • Replace FS_ID with the Ceph File System identifier string.
  • max_bytes - A string value defining the byte limit.
  • max_files - A string value defining the file limit.
  • path - A string value defining the path to the directory or file.
Example
PUT /api/cephfs/FS_ID/quota HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "max_bytes": "STRING",
    "max_files": "STRING",
    "path": "STRING"
}
Status Codes
  • 200 OK – Okay.
  • 202 Accepted – Operation is still executing, check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
DELETE /api/cephfs/FS_ID/snapshot
Description
Remove a snapsnot.
Parameters
  • Replace FS_ID with the Ceph File System identifier string.
  • Queries:

    • name - A required string value specifying the snapshot name.
    • path - A required string value defining the path to the directory.
Status Codes
  • 202 Accepted – Operation is still executing, check the task queue.
  • 204 No Content – Resource deleted.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
POST /api/cephfs/FS_ID/snapshot
Description
Create a snapshot.
Parameters
  • Replace FS_ID with the Ceph File System identifier string.
  • name - A string value specifying the snapshot name. If no name is specified, then a name using the current time in RFC3339 UTC format is generated.
  • path - A string value defining the path to the directory.
Example
POST /api/cephfs/FS_ID/snapshot HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "name": "STRING",
    "path": "STRING"
}
Status Codes
  • 201 Created – Resource created.
  • 202 Accepted – Operation is still executing, check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
DELETE /api/cephfs/FS_ID/tree
Description
Remove a directory.
Parameters
  • Replace FS_ID with the Ceph File System identifier string.
  • Queries:

    • path - A required string value defining the path to the directory.
Status Codes
  • 202 Accepted – Operation is still executing, check the task queue.
  • 204 No Content – Resource deleted.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
POST /api/cephfs/FS_ID/tree
Description
Creates a directory.
Parameters
  • Replace FS_ID with the Ceph File System identifier string.
  • path - A string value defining the path to the directory.
Example
POST /api/cephfs/FS_ID/tree HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "path": "STRING"
}
Status Codes
  • 201 Created – Resource created.
  • 202 Accepted – Operation is still executing, check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.

Additional Resources

  • See the Ceph RESTful API chapter in the Red Hat Ceph Storage Developer Guide for more details.

A.5. Storage cluster configuration

The method reference for using the Ceph RESTful API cluster_conf endpoint to manage the Red Hat Ceph Storage cluster.

GET /api/cluster_conf
Example
GET /api/cluster_conf HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
POST /api/cluster_conf
Example
POST /api/cluster_conf HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "name": "STRING",
    "value": "STRING"
}
Status Codes
  • 201 Created – Resource created.
  • 202 Accepted – Operation is still executing, check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
PUT /api/cluster_conf
Example
PUT /api/cluster_conf HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "options": "STRING"
}
Status Codes
  • 200 OK – Okay.
  • 202 Accepted – Operation is still executing, check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/cluster_conf/filter
Description
Display the storage cluster configuration by name.
Parameters
  • Queries:

    • names - A string value for the configuration option names.
Example
GET /api/cluster_conf/filter HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
DELETE /api/cluster_conf/NAME
Parameters
  • Replace NAME with the storage cluster configuration name.
  • Queries:

    • section - A required string value.
Status Codes
  • 202 Accepted – Operation is still executing, check the task queue.
  • 204 No Content – Resource deleted.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/cluster_conf/NAME
Parameters
  • Replace NAME with the storage cluster configuration name.
Example
GET /api/cluster_conf/NAME HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.

Additional Resources

  • See the Ceph RESTful API chapter in the Red Hat Ceph Storage Developer Guide for more details.

A.6. CRUSH rules

The method reference for using the Ceph RESTful API crush_rule endpoint to manage the CRUSH rules.

GET /api/crush_rule
Description
List the CRUSH rule configuration.
Example
GET /api/crush_rule HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
POST /api/crush_rule
Example
POST /api/crush_rule HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "device_class": "STRING",
    "failure_domain": "STRING",
    "name": "STRING",
    "root": "STRING"
}
Status Codes
  • 201 Created – Resource created.
  • 202 Accepted – Operation is still executing, check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
DELETE /api/crush_rule/NAME
Parameters
  • Replace NAME with the rule name.
Status Codes
  • 202 Accepted – Operation is still executing, check the task queue.
  • 204 No Content – Resource deleted.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/crush_rule/NAME
Parameters
  • Replace NAME with the rule name.
Example
GET /api/crush_rule/NAME HTTP/1.1
Host: example.com
Status Codes
  • 202 Accepted – Operation is still executing, check the task queue.
  • 204 No Content – Resource deleted.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.

Additional Resources

  • See the Ceph RESTful API chapter in the Red Hat Ceph Storage Developer Guide for more details.

A.7. Erasure code profiles

The method reference for using the Ceph RESTful API erasure_code_profile endpoint to manage the profiles for erasure coding.

GET /api/erasure_code_profile
Description
List erasure-coded profile information.
Example
GET /api/erasure_code_profile HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
POST /api/erasure_code_profile
Example
POST /api/erasure_code_profile HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "name": "STRING"
}
Status Codes
  • 201 Created – Resource created.
  • 202 Accepted – Operation is still executing, check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
DELETE /api/erasure_code_profile/NAME
Parameters
  • Replace NAME with the profile name.
Status Codes
  • 202 Accepted – Operation is still executing, check the task queue.
  • 204 No Content – Resource deleted.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/erasure_code_profile/NAME
Parameters
  • Replace NAME with the profile name.
Example
GET /api/erasure_code_profile/NAME HTTP/1.1
Host: example.com
Status Codes
  • 202 Accepted – Operation is still executing, check the task queue.
  • 204 No Content – Resource deleted.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.

Additional Resources

  • See the Ceph RESTful API chapter in the Red Hat Ceph Storage Developer Guide for more details.

A.8. Feature toggles

The method reference for using the Ceph RESTful API feature_toggles endpoint to manage the CRUSH rules.

GET /api/feature_toggles
Description
List the features of Red Hat Ceph Storage.
Example
GET /api/feature_toggles HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.

Additional Resources

  • See the Ceph RESTful API chapter in the Red Hat Ceph Storage Developer Guide for more details.

A.9. Grafana

The method reference for using the Ceph RESTful API grafana endpoint to manage Grafana.

POST /api/grafana/dashboards
Status Codes
  • 201 Created – Resource created.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/grafana/url
Description
List the Grafana URL instance.
Example
GET /api/grafana/url HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/grafana/validation/PARAMS
Parameters
  • Replace PARAMS with a string value.
Example
GET /api/grafana/validation/PARAMS HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.

Additional Resources

  • See the Ceph RESTful API chapter in the Red Hat Ceph Storage Developer Guide for more details.

A.10. Storage cluster health

The method reference for using the Ceph RESTful API health endpoint to display the storage cluster health details and status.

GET /api/health/full
Example
GET /api/health/full HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/health/minimal
Description
Display the storage cluster’s minimal health report.
Example
GET /api/health/minimal HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.

Additional Resources

  • See the Ceph RESTful API chapter in the Red Hat Ceph Storage Developer Guide for more details.

A.11. Host

The method reference for using the Ceph RESTful API host endpoint to display host, also known as node, information.

GET /api/host
Description
List the host specifications.
Parameters
  • Queries:

    • sources - A string value of host sources.
Example
GET /api/host HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
POST /api/host
Example
POST /api/host HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "hostname": "STRING",
    "status": "STRING"
}
Status Codes
  • 201 Created – Resource created.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
DELETE /api/host/HOST_NAME
Parameters
  • Replace HOST_NAME with the name of the node.
Status Codes
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 204 No Content – Resource deleted.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/host/HOST_NAME
Description
Displays information on the given host.
Parameters
  • Replace HOST_NAME with the name of the node.
Example
GET /api/host/HOST_NAME HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
PUT /api/host/HOST_NAME
Description
Updates information for the given host. This method is only supported when the Ceph Orchestrator is enabled.
Parameters
  • Replace HOST_NAME with the name of the node.
  • force - Force the host to enter maintenance mode.
  • labels - A list of labels.
  • maintenance - Enter or exit maintenance mode.
  • update_labels - Updates the labels.
Example
PUT /api/host/HOST_NAME HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "force": true,
    "labels": [
        "STRING"
    ],
    "maintenance": true,
    "update_labels": true
}
Status Codes
  • 200 OK – Okay.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/host/HOST_NAME/daemons
Parameters
  • Replace HOST_NAME with the name of the node.
Example
GET /api/host/HOST_NAME/daemons HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/host/HOST_NAME/devices
Parameters
  • Replace HOST_NAME with the name of the node.
Example
GET /api/host/HOST_NAME/devices HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
POST /api/host/HOST_NAME/identify_device
Description
Identify a device by switching on the device’s light for a specified number of seconds.
Parameters
  • Replace HOST_NAME with the name of the node.
  • device - The device id, such as, /dev/dm-0 or ABC1234DEF567-1R1234_ABC8DE0Q.
  • duration - The number of seconds the device’s LED should flash.
Example
POST /api/host/HOST_NAME/identify_device HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "device": "STRING",
    "duration": "STRING"
}
Status Codes
  • 201 Created – Resource created.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/host/HOST_NAME/inventory
Description
Display the inventory of the host.
Parameters
  • Replace HOST_NAME with the name of the node.
  • Queries:

    • refresh - A string value to trigger an asynchronous refresh.
Example
GET /api/host/HOST_NAME/inventory HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/host/HOST_NAME/smart
Parameters
  • Replace HOST_NAME with the name of the node.
Example
GET /api/host/HOST_NAME/smart HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.

Additional Resources

  • See the Ceph RESTful API chapter in the Red Hat Ceph Storage Developer Guide for more details.

A.12. iSCSI

The method reference for using the Ceph RESTful API iscsi endpoint to manage iSCSI.

GET /api/iscsi/discoveryauth
Description
View the iSCSI discovery authentication details.
Example
GET /api/iscsi/discoveryauth HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
PUT /api/iscsi/discoveryauth
Description
Set the iSCSI discovery authentication.
Parameters
  • Queries:

    • user - The required user name string.
    • password - The required password string.
    • mutual_user - The required mutual user name string.
    • mutual_password - The required mutual password string.
Example
PUT /api/iscsi/discoveryauth?user=STRING&password=STRING&mutual_user=STRING&mutual_password=STRING HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "mutual_password": "STRING",
    "mutual_user": "STRING",
    "password": "STRING",
    "user": "STRING"
}
Status Codes
  • 200 OK – Okay.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/iscsi/target
Example
GET /api/iscsi/target HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
POST /api/iscsi/target
Example
POST /api/iscsi/target HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "acl_enabled": "STRING",
    "auth": "STRING",
    "clients": "STRING",
    "disks": "STRING",
    "groups": "STRING",
    "portals": "STRING",
    "target_controls": "STRING",
    "target_iqn": "STRING"
}
Status Codes
  • 201 Created – Resource created.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
DELETE /api/iscsi/target/TARGET_IQN
Parameters
  • Replace TARGET_IQN with a path string.
Status Codes
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 204 No Content – Resource deleted.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/iscsi/target/TARGET_IQN
Parameters
  • Replace TARGET_IQN with a path string.
Example
GET /api/iscsi/target/TARGET_IQN HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
PUT /api/iscsi/target/TARGET_IQN
Parameters
  • Replace TARGET_IQN with a path string.
Example
PUT /api/iscsi/target/TARGET_IQN HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "acl_enabled": "STRING",
    "auth": "STRING",
    "clients": "STRING",
    "disks": "STRING",
    "groups": "STRING",
    "new_target_iqn": "STRING",
    "portals": "STRING",
    "target_controls": "STRING"
}
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.

Additional Resources

  • See the Ceph RESTful API chapter in the Red Hat Ceph Storage Developer Guide for more details.

A.13. Logs

The method reference for using the Ceph RESTful API logs endpoint to display log information.

GET /api/logs/all
Description
View all the log configuration.
Example
GET /api/logs/all HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.

Additional Resources

  • See the Ceph RESTful API chapter in the Red Hat Ceph Storage Developer Guide for more details.

A.14. Ceph Manager modules

The method reference for using the Ceph RESTful API mgr/module endpoint to manage the Ceph Manager modules.

GET /api/mgr/module
Description
View the list of managed modules.
Example
GET /api/mgr/module HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/mgr/module/MODULE_NAME
Description
Retrieve the values of the persistent configuration settings.
Parameters
  • Replace MODULE_NAME with the Ceph Manager module name.
Example
GET /api/mgr/module/MODULE_NAME HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
PUT /api/mgr/module/MODULE_NAME
Description
Set the values of the persistent configuration settings.
Parameters
  • Replace MODULE_NAME with the Ceph Manager module name.
  • config - The values of the module options.
Example
PUT /api/mgr/module/MODULE_NAME HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "config": "STRING"
}
Status Codes
  • 200 OK – Okay.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
POST /api/mgr/module/MODULE_NAME/disable
Description
Disable the given Ceph Manager module.
Parameters
  • Replace MODULE_NAME with the Ceph Manager module name.
Status Codes
  • 201 Created – Resource created.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
POST /api/mgr/module/MODULE_NAME/enable
Description
Enable the given Ceph Manager module.
Parameters
  • Replace MODULE_NAME with the Ceph Manager module name.
Status Codes
  • 201 Created – Resource created.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/mgr/module/MODULE_NAME/options
Description
View the options for the given Ceph Manager module.
Parameters
  • Replace MODULE_NAME with the Ceph Manager module name.
Example
GET /api/mgr/module/MODULE_NAME/options HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.

Additional Resources

  • See the Ceph RESTful API chapter in the Red Hat Ceph Storage Developer Guide for more details.

A.15. Ceph Monitor

The method reference for using the Ceph RESTful API monitor endpoint to display information on the Ceph Monitor.

GET /api/monitor
Description
View Ceph Monitor details.
Example
GET /api/monitor HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.

Additional Resources

  • See the Ceph RESTful API chapter in the Red Hat Ceph Storage Developer Guide for more details.

A.16. Ceph OSD

The method reference for using the Ceph RESTful API osd endpoint to manage the Ceph OSDs.

GET /api/osd
Example
GET /api/osd HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
POST /api/osd
Example
POST /api/osd HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "data": "STRING",
    "method": "STRING",
    "tracking_id": "STRING"
}
Status Codes
  • 201 Created – Resource created.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/osd/flags
Description
View the Ceph OSD flags.
Example
GET /api/osd/flags HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
PUT /api/osd/flags
Description
Sets the Ceph OSD flags for the entire storage cluster.
Parameters
  • The recovery_deletes, sortbitwise, and pglog_hardlimit flags can not be unset.
  • The purged_snapshots flag can not be set.

    Important

    You must include these four flags for a successful operation.

Example
PUT /api/osd/flags HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "flags": [
        "STRING"
    ]
}
Status Codes
  • 200 OK – Okay.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/osd/flags/individual
Description
View the individual Ceph OSD flags.
Example
GET /api/osd/flags/individual HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
PUT /api/osd/flags/individual
Description
Updates the noout, noin, nodown, and noup flags for an individual subset of Ceph OSDs.
Example
PUT /api/osd/flags/individual HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "flags": {
        "nodown": true,
        "noin": true,
        "noout": true,
        "noup": true
    },
    "ids": [
        1
    ]
}
Status Codes
  • 200 OK – Okay.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/osd/safe_to_delete
Parameters
  • Queries:

    • svc_ids - A required string of the Ceph OSD service identifier.
Example
GET /api/osd/safe_to_delete?svc_ids=STRING HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/osd/safe_to_destroy
Description
Check to see if the Ceph OSD is safe to destroy.
Parameters
  • Queries:

    • ids - A required string of the Ceph OSD service identifier.
Example
GET /api/osd/safe_to_destroy?ids=STRING HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
DELETE /api/osd/SVC_ID
Parameters
  • Replace SVC_ID with a string value for the Ceph OSD service identifier.
  • Queries:

    • preserve_id - A string value.
    • force - A string value.
Status Codes
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 204 No Content – Resource deleted.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/osd/SVC_ID
Description
Returns collected data about a Ceph OSD.
Parameters
  • Replace SVC_ID with a string value for the Ceph OSD service identifier.
Example
GET /api/osd/SVC_ID HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
PUT /api/osd/SVC_ID
Parameters
  • Replace SVC_ID with a string value for the Ceph OSD service identifier.
Example
PUT /api/osd/SVC_ID HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "device_class": "STRING"
}
Status Codes
  • 200 OK – Okay.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
POST /api/osd/SVC_ID/destroy
Description

Marks Ceph OSD as being destroyed. The Ceph OSD must be marked down before being destroyed. This operation keeps the Ceph OSD identifier intact, but removes the Cephx keys, configuration key data, and lockbox keys.

Warning

This operation renders the data permanently unreadable.

Parameters
  • Replace SVC_ID with a string value for the Ceph OSD service identifier.
Status Codes
  • 201 Created – Resource created.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/osd/SVC_ID/devices
Parameters
  • Replace SVC_ID with a string value for the Ceph OSD service identifier.
Example
GET /api/osd/SVC_ID/devices HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/osd/SVC_ID/histogram
Description
Returns the Ceph OSD histogram data.
Parameters
  • Replace SVC_ID with a string value for the Ceph OSD service identifier.
Example
GET /api/osd/SVC_ID/histogram HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
PUT /api/osd/SVC_ID/mark
Description

Marks a Ceph OSD out, in, down, and lost.

Note

A Ceph OSD must be marked down before marking it lost.

Parameters
  • Replace SVC_ID with a string value for the Ceph OSD service identifier.
Example
PUT /api/osd/SVC_ID/mark HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "action": "STRING"
}
Status Codes
  • 200 OK – Okay.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
POST /api/osd/SVC_ID/purge
Description

Removes the Ceph OSD from the CRUSH map.

Note

The Ceph OSD must be marked down before removal.

Parameters
  • Replace SVC_ID with a string value for the Ceph OSD service identifier.
Status Codes
  • 201 Created – Resource created.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
POST /api/osd/SVC_ID/reweight
Description
Temporarily reweights the Ceph OSD. When a Ceph OSD is marked out, the OSD’s weight is set to 0. When the Ceph OSD is marked back in, the OSD’s weight is set to 1.
Parameters
  • Replace SVC_ID with a string value for the Ceph OSD service identifier.
Example
POST /api/osd/SVC_ID/reweight HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "weight": "STRING"
}
Status Codes
  • 201 Created – Resource created.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
POST /api/osd/SVC_ID/scrub
Parameters
  • Replace SVC_ID with a string value for the Ceph OSD service identifier.
  • Queries:

    • deep - A boolean value, either true or false.
Example
POST /api/osd/SVC_ID/scrub HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "deep": true
}
Status Codes
  • 201 Created – Resource created.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/osd/SVC_ID/smart
Parameters
  • Replace SVC_ID with a string value for the Ceph OSD service identifier.
Example
GET /api/osd/SVC_ID/smart HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.

Additional Resources

  • See the Ceph RESTful API chapter in the Red Hat Ceph Storage Developer Guide for more details.

A.17. Ceph Object Gateway

The method reference for using the Ceph RESTful API rgw endpoint to manage the Ceph Object Gateway.

GET /api/rgw/status
Description
Display the Ceph Object Gateway status.
Example
GET /api/rgw/status HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/rgw/daemon
Description
Display the Ceph Object Gateway daemons.
Example
GET /api/rgw/daemon HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/rgw/daemon/SVC_ID
Parameters
  • Replace SVC_ID with the service identifier as a string value.
Example
GET /api/rgw/daemon/SVC_ID HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/rgw/site
Parameters
  • Queries:

    • query - A string value.
    • daemon_name - The name of the daemon as a string value.
Example
GET /api/rgw/site HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.

Bucket Management

GET /api/rgw/bucket
Parameters
  • Queries:

    • stats - A boolean value for bucket statistics.
    • daemon_name - The name of the daemon as a string value.
Example
GET /api/rgw/bucket HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
POST /api/rgw/bucket
Example
POST /api/rgw/bucket HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "bucket": "STRING",
    "daemon_name": "STRING",
    "lock_enabled": "false",
    "lock_mode": "STRING",
    "lock_retention_period_days": "STRING",
    "lock_retention_period_years": "STRING",
    "placement_target": "STRING",
    "uid": "STRING",
    "zonegroup": "STRING"
}
Status Codes
  • 201 Created – Resource created.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
DELETE /api/rgw/bucket/BUCKET
Parameters
  • Replace BUCKET with the bucket name as a string value.
  • Queries:

    • purge_objects - A string value.
    • daemon_name - The name of the daemon as a string value.
Status Codes
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 204 No Content – Resource deleted.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/rgw/bucket/BUCKET
Parameters
  • Replace BUCKET with the bucket name as a string value.
  • Queries:

    • daemon_name - The name of the daemon as a string value.
Example
GET /api/rgw/bucket/BUCKET HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
PUT /api/rgw/bucket/BUCKET
Parameters
  • Replace BUCKET with the bucket name as a string value.
Example
PUT /api/rgw/bucket/BUCKET HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "bucket_id": "STRING",
    "daemon_name": "STRING",
    "lock_mode": "STRING",
    "lock_retention_period_days": "STRING",
    "lock_retention_period_years": "STRING",
    "mfa_delete": "STRING",
    "mfa_token_pin": "STRING",
    "mfa_token_serial": "STRING",
    "uid": "STRING",
    "versioning_state": "STRING"
}
Status Codes
  • 200 OK – Okay.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.

User Management

GET /api/rgw/user
Description
Display the Ceph Object Gateway users.
Parameters
  • Queries:

    • daemon_name - The name of the daemon as a string value.
Example
GET /api/rgw/user HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
POST /api/rgw/user
Example
POST /api/rgw/user HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "access_key": "STRING",
    "daemon_name": "STRING",
    "display_name": "STRING",
    "email": "STRING",
    "generate_key": "STRING",
    "max_buckets": "STRING",
    "secret_key": "STRING",
    "suspended": "STRING",
    "uid": "STRING"
}
Status Codes
  • 201 Created – Resource created.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/rgw/user/get_emails
Parameters
  • Queries:

    • daemon_name - The name of the daemon as a string value.
Example
GET /api/rgw/user/get_emails HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
DELETE /api/rgw/user/UID
Parameters
  • Replace UID with the user identifier as a string.
  • Queries:

    • daemon_name - The name of the daemon as a string value.
Status Codes
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 204 No Content – Resource deleted.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/rgw/user/UID
Parameters
  • Replace UID with the user identifier as a string.
  • Queries:

    • daemon_name - The name of the daemon as a string value.
    • stats - A boolean value for user statistics.
Example
GET /api/rgw/user/UID HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
PUT /api/rgw/user/UID
Parameters
  • Replace UID with the user identifier as a string.
Example
PUT /api/rgw/user/UID HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "daemon_name": "STRING",
    "display_name": "STRING",
    "email": "STRING",
    "max_buckets": "STRING",
    "suspended": "STRING"
}
Status Codes
  • 200 OK – Okay.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
DELETE /api/rgw/user/UID/capability
Parameters
  • Replace UID with the user identifier as a string.
  • Queries:

    • daemon_name - The name of the daemon as a string value.
    • type - Required. A string value.
    • perm - Required. A string value.
Status Codes
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 204 No Content – Resource deleted.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
POST /api/rgw/user/UID/capability
Parameters
  • Replace UID with the user identifier as a string.
Example
POST /api/rgw/user/UID/capability HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "daemon_name": "STRING",
    "perm": "STRING",
    "type": "STRING"
}
Status Codes
  • 201 Created – Resource created.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
DELETE /api/rgw/user/UID/key
Parameters
  • Replace UID with the user identifier as a string.
  • Queries:

    • daemon_name - The name of the daemon as a string value.
    • key_type - A string value.
    • subuser - A string value.
    • access_key - A string value.
Status Codes
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 204 No Content – Resource deleted.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
POST /api/rgw/user/UID/key
Parameters
  • Replace UID with the user identifier as a string.
Example
POST /api/rgw/user/UID/key HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "access_key": "STRING",
    "daemon_name": "STRING",
    "generate_key": "true",
    "key_type": "s3",
    "secret_key": "STRING",
    "subuser": "STRING"
}
Status Codes
  • 201 Created – Resource created.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/rgw/user/UID/quota
Parameters
  • Replace UID with the user identifier as a string.
Example
GET /api/rgw/user/UID/quota HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
PUT /api/rgw/user/UID/quota
Parameters
  • Replace UID with the user identifier as a string.
Example
PUT /api/rgw/user/UID/quota HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "daemon_name": "STRING",
    "enabled": "STRING",
    "max_objects": "STRING",
    "max_size_kb": 1,
    "quota_type": "STRING"
}
Status Codes
  • 200 OK – Okay.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
POST /api/rgw/user/UID/subuser
Parameters
  • Replace UID with the user identifier as a string.
Example
POST /api/rgw/user/UID/subuser HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "access": "STRING",
    "access_key": "STRING",
    "daemon_name": "STRING",
    "generate_secret": "true",
    "key_type": "s3",
    "secret_key": "STRING",
    "subuser": "STRING"
}
Status Codes
  • 201 Created – Resource created.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
DELETE /api/rgw/user/UID/subuser/SUBUSER
Parameters
  • Replace UID with the user identifier as a string.
  • Replace SUBUSER with the sub user name as a string.
  • Queries:

    • purge_keys - Set to false to not purge the keys. This only works for S3 subusers.
    • daemon_name - The name of the daemon as a string value.
Status Codes
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 204 No Content – Resource deleted.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.

Additional Resources

  • See the Ceph RESTful API chapter in the Red Hat Ceph Storage Developer Guide for more details.

A.18. REST APIs for manipulating a role

In addition to the radosgw-admin role commands, you can use the REST APIs for manipulating a role.

To invoke the REST admin APIs, create a user with admin caps.

Example

[root@host01 ~]# radosgw-admin --uid TESTER --display-name "TestUser" --access_key TESTER --secret test123 user create
[root@host01 ~]# radosgw-admin caps add --uid="TESTER" --caps="roles=*"

  • Create a role:

    Syntax

    POST “<hostname>?Action=CreateRole&RoleName=ROLE_NAME&Path=PATH_TO_FILE&AssumeRolePolicyDocument=TRUST_RELATIONSHIP_POLICY_DOCUMENT

    Example

    POST “<hostname>?Action=CreateRole&RoleName=S3Access&Path=/application_abc/component_xyz/&AssumeRolePolicyDocument={"Version":"2022-06-17","Statement":[{"Effect":"Allow","Principal":{"AWS":["arn:aws:iam:::user/TESTER"]},"Action":["sts:AssumeRole"]}]}”

    Example response

    <role>
      <id>8f41f4e0-7094-4dc0-ac20-074a881ccbc5</id>
      <name>S3Access</name>
      <path>/application_abc/component_xyz/</path>
      <arn>arn:aws:iam:::role/application_abc/component_xyz/S3Access</arn>
      <create_date>2022-06-23T07:43:42.811Z</create_date>
      <max_session_duration>3600</max_session_duration>
      <assume_role_policy_document>{"Version":"2022-06-17","Statement":[{"Effect":"Allow","Principal":{"AWS":["arn:aws:iam:::user/TESTER"]},"Action":["sts:AssumeRole"]}]}</assume_role_policy_document>
    </role>

  • Get a role:

    Syntax

    POST “<hostname>?Action=GetRole&RoleName=ROLE_NAME

    Example

    POST “<hostname>?Action=GetRole&RoleName=S3Access”

    Example response

    <role>
      <id>8f41f4e0-7094-4dc0-ac20-074a881ccbc5</id>
      <name>S3Access</name>
      <path>/application_abc/component_xyz/</path>
      <arn>arn:aws:iam:::role/application_abc/component_xyz/S3Access</arn>
      <create_date>2022-06-23T07:43:42.811Z</create_date>
      <max_session_duration>3600</max_session_duration>
      <assume_role_policy_document>{"Version":"2022-06-17","Statement":[{"Effect":"Allow","Principal":{"AWS":["arn:aws:iam:::user/TESTER"]},"Action":["sts:AssumeRole"]}]}</assume_role_policy_document>
    </role>

  • List a role:

    Syntax

    POST “<hostname>?Action=GetRole&RoleName=ROLE_NAME&PathPrefix=PATH_PREFIX

    Example request

    POST “<hostname>?Action=ListRoles&RoleName=S3Access&PathPrefix=/application”

    Example response

    <role>
      <id>8f41f4e0-7094-4dc0-ac20-074a881ccbc5</id>
      <name>S3Access</name>
      <path>/application_abc/component_xyz/</path>
      <arn>arn:aws:iam:::role/application_abc/component_xyz/S3Access</arn>
      <create_date>2022-06-23T07:43:42.811Z</create_date>
      <max_session_duration>3600</max_session_duration>
      <assume_role_policy_document>{"Version":"2022-06-17","Statement":[{"Effect":"Allow","Principal":{"AWS":["arn:aws:iam:::user/TESTER"]},"Action":["sts:AssumeRole"]}]}</assume_role_policy_document>
    </role>

  • Update the assume role policy document:

    Syntax

    POST “<hostname>?Action=UpdateAssumeRolePolicy&RoleName=ROLE_NAME&PolicyDocument=TRUST_RELATIONSHIP_POLICY_DOCUMENT

    Example

    POST “<hostname>?Action=UpdateAssumeRolePolicy&RoleName=S3Access&PolicyDocument={"Version":"2022-06-17","Statement":[{"Effect":"Allow","Principal":{"AWS":["arn:aws:iam:::user/TESTER2"]},"Action":["sts:AssumeRole"]}]}”

  • Update policy attached to a role:

    Syntax

    POST “<hostname>?Action=PutRolePolicy&RoleName=ROLE_NAME&PolicyName=POLICY_NAME&PolicyDocument=TRUST_RELATIONSHIP_POLICY_DOCUMENT

    Example

    POST “<hostname>?Action=PutRolePolicy&RoleName=S3Access&PolicyName=Policy1&PolicyDocument={"Version":"2022-06-17","Statement":[{"Effect":"Allow","Action":["s3:CreateBucket"],"Resource":"arn:aws:s3:::example_bucket"}]}”

  • List permission policy names attached to a role:

    Syntax

    POST “<hostname>?Action=ListRolePolicies&RoleName=ROLE_NAME

    Example

    POST “<hostname>?Action=ListRolePolicies&RoleName=S3Access”
    
    <PolicyNames>
      <member>Policy1</member>
    </PolicyNames>

  • Get permission policy attached to a role:

    Syntax

    POST “<hostname>?Action=GetRolePolicy&RoleName=ROLE_NAME&PolicyName=POLICY_NAME

    Example

    POST “<hostname>?Action=GetRolePolicy&RoleName=S3Access&PolicyName=Policy1”
    
    <GetRolePolicyResult>
      <PolicyName>Policy1</PolicyName>
      <RoleName>S3Access</RoleName>
      <Permission_policy>{"Version":"2022-06-17","Statement":[{"Effect":"Allow","Action":["s3:CreateBucket"],"Resource":"arn:aws:s3:::example_bucket"}]}</Permission_policy>
    </GetRolePolicyResult>

  • Delete policy attached to a role:

    Syntax

    POST “hostname>?Action=DeleteRolePolicy&RoleName=ROLE_NAME&PolicyName=POLICY_NAME

    Example

    POST “<hostname>?Action=DeleteRolePolicy&RoleName=S3Access&PolicyName=Policy1”

  • Delete a role:

    Note

    You can delete a role only when it does not have any permission policy attached to it.

    Syntax

    POST “<hostname>?Action=DeleteRole&RoleName=ROLE_NAME"

    Example

    POST “<hostname>?Action=DeleteRole&RoleName=S3Access"

Additional Resources

  • See the Role management section in the Red Hat Ceph Storage Object Gateway Guide for details.

A.19. NFS Ganesha

The method reference for using the Ceph RESTful API nfs-ganesha endpoint to manage the Ceph NFS gateway.

GET /api/nfs-ganesha/daemon
Description
View information on the NFS Ganesha daemons.
Example
GET /api/nfs-ganesha/daemon HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/nfs-ganesha/export
Description
View all of the NFS Ganesha exports.
Example
GET /api/nfs-ganesha/export HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
POST /api/nfs-ganesha/export
Description
Creates a new NFS Ganesha export.
Example
POST /api/nfs-ganesha/export HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "access_type": "STRING",
    "clients": [
        {
            "access_type": "STRING",
            "addresses": [
                "STRING"
            ],
            "squash": "STRING"
        }
    ],
    "cluster_id": "STRING",
    "daemons": [
        "STRING"
    ],
    "fsal": {
        "filesystem": "STRING",
        "name": "STRING",
        "rgw_user_id": "STRING",
        "sec_label_xattr": "STRING",
        "user_id": "STRING"
    },
    "path": "STRING",
    "protocols": [
        1
    ],
    "pseudo": "STRING",
    "reload_daemons": true,
    "security_label": "STRING",
    "squash": "STRING",
    "tag": "STRING",
    "transports": [
        "STRING"
    ]
}
Status Codes
  • 201 Created – Resource created.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
DELETE /api/nfs-ganesha/export/CLUSTER_ID/EXPORT_ID
Description
Deletes a NFS Ganesha export.
Parameters
  • Replace CLUSTER_ID with the storage cluster identifier string.
  • Replace EXPORT_ID with the export identifier as an integer.
  • Queries:

    • reload_daemons - A boolean value that triggers the reloading of the NFS Ganesha daemons configuration.
Status Codes
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 204 No Content – Resource deleted.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/nfs-ganesha/export/CLUSTER_ID/EXPORT_ID
Description
View NFS Ganesha export information.
Parameters
  • Replace CLUSTER_ID with the storage cluster identifier string.
  • Replace EXPORT_ID with the export identifier as an integer.
Example
GET /api/nfs-ganesha/export/CLUSTER_ID/EXPORT_ID HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
PUT /api/nfs-ganesha/export/CLUSTER_ID/EXPORT_ID
Description
Update the NFS Ganesha export information.
Parameters
  • Replace CLUSTER_ID with the storage cluster identifier string.
  • Replace EXPORT_ID with the export identifier as an integer.
Example
PUT /api/nfs-ganesha/export/CLUSTER_ID/EXPORT_ID HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "access_type": "STRING",
    "clients": [
        {
            "access_type": "STRING",
            "addresses": [
                "STRING"
            ],
            "squash": "STRING"
        }
    ],
    "daemons": [
        "STRING"
    ],
    "fsal": {
        "filesystem": "STRING",
        "name": "STRING",
        "rgw_user_id": "STRING",
        "sec_label_xattr": "STRING",
        "user_id": "STRING"
    },
    "path": "STRING",
    "protocols": [
        1
    ],
    "pseudo": "STRING",
    "reload_daemons": true,
    "security_label": "STRING",
    "squash": "STRING",
    "tag": "STRING",
    "transports": [
        "STRING"
    ]
}
Status Codes
  • 200 OK – Okay.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/nfs-ganesha/status
Description
View the status information for the NFS Ganesha management feature.
Example
GET /api/nfs-ganesha/status HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.

Additional Resources

A.20. Ceph Orchestrator

The method reference for using the Ceph RESTful API orchestrator endpoint to display the Ceph Orchestrator status.

GET /api/orchestrator/status
Description
Display the Ceph Orchestrator status.
Example
GET /api/orchestrator/status HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.

Additional Resources

  • See the Ceph RESTful API chapter in the Red Hat Ceph Storage Developer Guide for more details.

A.21. Pools

The method reference for using the Ceph RESTful API pool endpoint to manage the storage pools.

GET /api/pool
Description
Display the pool list.
Parameters
  • Queries:

    • attrs - A string value of pool attributes.
    • stats - A boolean value for pool statistics.
Example
GET /api/pool HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
POST /api/pool
Example
POST /api/pool HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "application_metadata": "STRING",
    "configuration": "STRING",
    "erasure_code_profile": "STRING",
    "flags": "STRING",
    "pg_num": 1,
    "pool": "STRING",
    "pool_type": "STRING",
    "rule_name": "STRING"
}
Status Codes
  • 201 Created – Resource created.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
DELETE /api/pool/POOL_NAME
Parameters
  • Replace POOL_NAME with the name of the pool.
Status Codes
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 204 No Content – Resource deleted.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/pool/POOL_NAME
Parameters
  • Replace POOL_NAME with the name of the pool.
  • Queries:

    • attrs - A string value of pool attributes.
    • stats - A boolean value for pool statistics.
Example
GET /api/pool/POOL_NAME HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
PUT /api/pool/POOL_NAME
Parameters
  • Replace POOL_NAME with the name of the pool.
Example
PUT /api/pool/POOL_NAME HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "application_metadata": "STRING",
    "configuration": "STRING",
    "flags": "STRING"
}
Status Codes
  • 200 OK – Okay.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/pool/POOL_NAME/configuration
Parameters
  • Replace POOL_NAME with the name of the pool.
Example
GET /api/pool/POOL_NAME/configuration HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.

Additional Resources

  • See the Ceph RESTful API chapter in the Red Hat Ceph Storage Developer Guide for more details.

A.22. Prometheus

The method reference for using the Ceph RESTful API prometheus endpoint to manage Prometheus.

GET /api/prometheus
Example
GET /api/prometheus/rules HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/prometheus/rules
Example
GET /api/prometheus/rules HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
POST /api/prometheus/silence
Status Codes
  • 201 Created – Resource created.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
DELETE /api/prometheus/silence/S_ID
Parameters
  • Replace S_ID with a string value.
Status Codes
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 204 No Content – Resource deleted.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/prometheus/silences
Example
GET /api/prometheus/silences HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/prometheus/notifications
Example
GET /api/prometheus/notifications HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.

Additional Resources

  • See the Ceph RESTful API chapter in the Red Hat Ceph Storage Developer Guide for more details.

A.23. RADOS block device

The method reference for using the Ceph RESTful API block endpoint to manage RADOS block devices (RBD). This reference includes all available RBD feature endpoints, such as:

RBD Images

GET /api/block/image
Description
View the RBD images.
Parameters
  • Queries:

    • pool_name - The pool name as a string.
Example
GET /api/block/image HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
POST /api/block/image
Example
POST /api/block/image HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "configuration": "STRING",
    "data_pool": "STRING",
    "features": "STRING",
    "name": "STRING",
    "namespace": "STRING",
    "obj_size": 1,
    "pool_name": "STRING",
    "size": 1,
    "stripe_count": 1,
    "stripe_unit": "STRING"
}
Status Codes
  • 201 Created – Resource created.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/block/image/clone_format_version
Description
Returns the RBD clone format version.
Example
GET /api/block/image/clone_format_version HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/block/image/default_features
Example
GET /api/block/image/default_features HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/block/image/default_features
Example
GET /api/block/image/default_features HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
DELETE /api/block/image/IMAGE_SPEC
Parameters
  • Replace IMAGE_SPEC with the image name as a string value.
Status Codes
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 204 No Content – Resource deleted.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/block/image/IMAGE_SPEC
Parameters
  • Replace IMAGE_SPEC with the image name as a string value.
Example
GET /api/block/image/IMAGE_SPEC HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
PUT /api/block/image/IMAGE_SPEC
Parameters
  • Replace IMAGE_SPEC with the image name as a string value.
Example
PUT /api/block/image/IMAGE_SPEC HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "configuration": "STRING",
    "features": "STRING",
    "name": "STRING",
    "size": 1
}
Status Codes
  • 200 OK – Okay.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
POST /api/block/image/IMAGE_SPEC/copy
Parameters
  • Replace IMAGE_SPEC with the image name as a string value.
Example
POST /api/block/image/IMAGE_SPEC/copy HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "configuration": "STRING",
    "data_pool": "STRING",
    "dest_image_name": "STRING",
    "dest_namespace": "STRING",
    "dest_pool_name": "STRING",
    "features": "STRING",
    "obj_size": 1,
    "snapshot_name": "STRING",
    "stripe_count": 1,
    "stripe_unit": "STRING"
}
Status Codes
  • 201 Created – Resource created.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
POST /api/block/image/IMAGE_SPEC/flatten
Parameters
  • Replace IMAGE_SPEC with the image name as a string value.
Status Codes
  • 201 Created – Resource created.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
POST /api/block/image/IMAGE_SPEC/move_trash
Description
Move an image to the trash. Images actively in-use by clones can be moved to the trash, and deleted at a later time.
Parameters
  • Replace IMAGE_SPEC with the image name as a string value.
Example
POST /api/block/image/IMAGE_SPEC/move_trash HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "delay": 1
}
Status Codes
  • 201 Created – Resource created.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.

RBD Mirroring

GET /api/block/mirroring/site_name
Description
Display the RBD mirroring site name.
Example
GET /api/block/mirroring/site_name HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
PUT /api/block/mirroring/site_name
Example
PUT /api/block/mirroring/site_name HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "site_name": "STRING"
}
Status Codes
  • 200 OK – Okay.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.

RBD Mirroring Pool Bootstrap

POST /api/block/mirroring/pool/POOL_NAME/bootstrap/peer
Parameters
  • Replace POOL_NAME with the name of the pool as a string.
Example
POST /api/block/mirroring/pool/POOL_NAME/bootstrap/peer HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "direction": "STRING",
    "token": "STRING"
}
Status Codes
  • 201 Created – Resource created.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
POST /api/block/mirroring/pool/POOL_NAME/bootstrap/token
Parameters
  • Replace POOL_NAME with the name of the pool as a string.
Status Codes
  • 201 Created – Resource created.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.

RBD Mirroring Pool Mode

GET /api/block/mirroring/pool/POOL_NAME
Description
Display the RBD mirroring summary.
Parameters
  • Replace POOL_NAME with the name of the pool as a string.
Example
GET /api/block/mirroring/pool/POOL_NAME HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
PUT /api/block/mirroring/pool/POOL_NAME
Parameters
  • Replace POOL_NAME with the name of the pool as a string.
Example
PUT /api/block/mirroring/pool/POOL_NAME HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "mirror_mode": "STRING"
}
Status Codes
  • 200 OK – Okay.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.

RBD Mirroring Pool Peer

GET /api/block/mirroring/pool/POOL_NAME/peer
Parameters
  • Replace POOL_NAME with the name of the pool as a string.
Example
GET /api/block/mirroring/pool/POOL_NAME/peer HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
POST /api/block/mirroring/pool/POOL_NAME/peer
Parameters
  • Replace POOL_NAME with the name of the pool as a string.
Example
POST /api/block/mirroring/pool/POOL_NAME/peer HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "client_id": "STRING",
    "cluster_name": "STRING",
    "key": "STRING",
    "mon_host": "STRING"
}
Status Codes
  • 201 Created – Resource created.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
DELETE /api/block/mirroring/pool/POOL_NAME/peer/PEER_UUID
Parameters
  • Replace POOL_NAME with the name of the pool as a string.
  • Replace PEER_UUID with the UUID of the peer as a string.
Status Codes
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 204 No Content – Resource deleted.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/block/mirroring/pool/POOL_NAME/peer/PEER_UUID
Parameters
  • Replace POOL_NAME with the name of the pool as a string.
  • Replace PEER_UUID with the UUID of the peer as a string.
Example
GET /api/block/mirroring/pool/POOL_NAME/peer/PEER_UUID HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
PUT /api/block/mirroring/pool/POOL_NAME/peer/PEER_UUID
Parameters
  • Replace POOL_NAME with the name of the pool as a string.
  • Replace PEER_UUID with the UUID of the peer as a string.
Example
PUT /api/block/mirroring/pool/POOL_NAME/peer/PEER_UUID HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "client_id": "STRING",
    "cluster_name": "STRING",
    "key": "STRING",
    "mon_host": "STRING"
}
Status Codes
  • 200 OK – Okay.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.

RBD Mirroring Summary

GET /api/block/mirroring/summary
Description
Display the RBD mirroring summary.
Example
GET /api/block/mirroring/summary HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.

RBD Namespace

GET /api/block/pool/POOL_NAME/namespace
Parameters
  • Replace POOL_NAME with the name of the pool as a string.
Example
GET /api/block/pool/POOL_NAME/namespace HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
POST /api/block/pool/POOL_NAME/namespace
Parameters
  • Replace POOL_NAME with the name of the pool as a string.
Example
POST /api/block/pool/POOL_NAME/namespace HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "namespace": "STRING"
}
Status Codes
  • 201 Created – Resource created.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
DELETE /api/block/pool/POOL_NAME/namespace/NAMESPACE
Parameters
  • Replace POOL_NAME with the name of the pool as a string.
  • Replace NAMESPACE with the namespace as a string.
Status Codes
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 204 No Content – Resource deleted.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.

RBD Snapshots

POST /api/block/image/IMAGE_SPEC/snap
Parameters
  • Replace IMAGE_SPEC with the image name as a string value.
Example
POST /api/block/image/IMAGE_SPEC/snap HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "snapshot_name": "STRING"
}
Status Codes
  • 201 Created – Resource created.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
DELETE /api/block/image/IMAGE_SPEC/snap/SNAPSHOT_NAME
Parameters
  • Replace IMAGE_SPEC with the image name as a string value.
  • Replace SNAPSHOT_NAME with the name of the snapshot as a string value.
Status Codes
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 204 No Content – Resource deleted.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
PUT /api/block/image/IMAGE_SPEC/snap/SNAPSHOT_NAME
Parameters
  • Replace IMAGE_SPEC with the image name as a string value.
  • Replace SNAPSHOT_NAME with the name of the snapshot as a string value.
Example
PUT /api/block/image/IMAGE_SPEC/snap/SNAPSHOT_NAME HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "is_protected": true,
    "new_snap_name": "STRING"
}
Status Codes
  • 200 OK – Okay.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
POST /api/block/image/IMAGE_SPEC/snap/SNAPSHOT_NAME/clone
Description
Clones a snapshot to an image.
Parameters
  • Replace IMAGE_SPEC with the image name as a string value.
  • Replace SNAPSHOT_NAME with the name of the snapshot as a string value.
Example
POST /api/block/image/IMAGE_SPEC/snap/SNAPSHOT_NAME/clone HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "child_image_name": "STRING",
    "child_namespace": "STRING",
    "child_pool_name": "STRING",
    "configuration": "STRING",
    "data_pool": "STRING",
    "features": "STRING",
    "obj_size": 1,
    "stripe_count": 1,
    "stripe_unit": "STRING"
}
Status Codes
  • 201 Created – Resource created.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
POST /api/block/image/IMAGE_SPEC/snap/SNAPSHOT_NAME/rollback
Parameters
  • Replace IMAGE_SPEC with the image name as a string value.
  • Replace SNAPSHOT_NAME with the name of the snapshot as a string value.
Status Codes
  • 201 Created – Resource created.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.

RBD Trash

GET /api/block/image/trash
Description
Display all the RBD trash entries, or the RBD trash details by pool name.
Parameters
  • Queries:

    • pool_name - The name of the pool as a string value.
Example
GET /api/block/image/trash HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
POST /api/block/image/trash/purge
Description
Remove all the expired images from trash.
Parameters
  • Queries:

    • pool_name - The name of the pool as a string value.
Example
POST /api/block/image/trash/purge HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "pool_name": "STRING"
}
Status Codes
  • 201 Created – Resource created.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
DELETE /api/block/image/trash/IMAGE_ID_SPEC
Description
Deletes an image from the trash. If the image deferment time has not expired, you can not delete it unless you use force. An actively in-use image by clones or has snapshots, it can not be deleted.
Parameters
  • Replace IMAGE_ID_SPEC with the image name as a string value.
  • Queries:

    • force - A boolean value to force the deletion of an image from trash.
Status Codes
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 204 No Content – Resource deleted.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
POST /api/block/image/trash/IMAGE_ID_SPEC/restore
Description
Restores an image from the trash.
Parameters
  • Replace IMAGE_ID_SPEC with the image name as a string value.
Example
POST /api/block/image/trash/IMAGE_ID_SPEC/restore HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "new_image_name": "STRING"
}
Status Codes
  • 201 Created – Resource created.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.

Additional Resources

  • See the Ceph RESTful API chapter in the Red Hat Ceph Storage Developer Guide for more details.

A.24. Performance counters

The method reference for using the Ceph RESTful API perf_counters endpoint to display the various Ceph performance counter. This reference includes all available performance counter endpoints, such as:

Ceph Metadata Server

GET /api/perf_counters/mds/SERVICE_ID
Parameters
  • Replace SERVICE_ID with the required service identifier as a string.
Example
GET /api/perf_counters/mds/SERVICE_ID HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.

Ceph Manager

GET /api/perf_counters/mgr/SERVICE_ID
Parameters
  • Replace SERVICE_ID with the required service identifier as a string.
Example
GET /api/perf_counters/mgr/SERVICE_ID HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.

Ceph Monitor

GET /api/perf_counters/mon/SERVICE_ID
Parameters
  • Replace SERVICE_ID with the required service identifier as a string.
Example
GET /api/perf_counters/mon/SERVICE_ID HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.

Ceph OSD

GET /api/perf_counters/osd/SERVICE_ID
Parameters
  • Replace SERVICE_ID with the required service identifier as a string.
Example
GET /api/perf_counters/osd/SERVICE_ID HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.

Ceph RADOS Block Device (RBD) Mirroring

GET /api/perf_counters/rbd-mirror/SERVICE_ID
Parameters
  • Replace SERVICE_ID with the required service identifier as a string.
Example
GET /api/perf_counters/rbd-mirror/SERVICE_ID HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.

Ceph Object Gateway

GET /api/perf_counters/rgw/SERVICE_ID
Parameters
  • Replace SERVICE_ID with the required service identifier as a string.
Example
GET /api/perf_counters/rgw/SERVICE_ID HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.

TCMU Runner

GET /api/perf_counters/tcmu-runner/SERVICE_ID
Parameters
  • Replace SERVICE_ID with the required service identifier as a string.
Example
GET /api/perf_counters/tcmu-runner/SERVICE_ID HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.

Additional Resources

  • See the Ceph RESTful API chapter in the Red Hat Ceph Storage Developer Guide for more details.

A.25. Roles

The method reference for using the Ceph RESTful API role endpoint to manage the various user roles in Ceph.

GET /api/role
Description
Display the role list.
Example
GET /api/role HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
POST /api/role
Example
POST /api/role HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "description": "STRING",
    "name": "STRING",
    "scopes_permissions": "STRING"
}
Status Codes
  • 201 Created – Resource created.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
DELETE /api/role/NAME
Parameters
  • Replace NAME with the role name as a string.
Status Codes
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 204 No Content – Resource deleted.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/role/NAME
Parameters
  • Replace NAME with the role name as a string.
Example
GET /api/role/NAME HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
PUT /api/role/NAME
Parameters
  • Replace NAME with the role name as a string.
Example
PUT /api/role/NAME HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "description": "STRING",
    "scopes_permissions": "STRING"
}
Status Codes
  • 200 OK – Okay.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
POST /api/role/NAME/clone
Parameters
  • Replace NAME with the role name as a string.
Example
POST /api/role/NAME/clone HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "new_name": "STRING"
}
Status Codes
  • 201 Created – Resource created.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.

Additional Resources

  • See the Ceph RESTful API chapter in the Red Hat Ceph Storage Developer Guide for more details.

A.26. Services

The method reference for using the Ceph RESTful API service endpoint to manage the various Ceph services.

GET /api/service
Parameters
  • Queries:

    • service_name - The name of the service as a string.
Example
GET /api/service HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
POST /api/service
Parameters
  • service_spec - The service specification as a JSON file.
  • service_name - The name of the service.
Example
POST /api/service HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "service_name": "STRING",
    "service_spec": "STRING"
}
Status Codes
  • 201 Created – Resource created.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/service/known_types
Description
Display a list of known service types.
Example
GET /api/service/known_types HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
DELETE /api/service/SERVICE_NAME
Parameters
  • Replace SERVICE_NAME with the name of the service as a string.
Status Codes
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 204 No Content – Resource deleted.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/service/SERVICE_NAME
Parameters
  • Replace SERVICE_NAME with the name of the service as a string.
Example
GET /api/service/SERVICE_NAME HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/service/SERVICE_NAME/daemons
Parameters
  • Replace SERVICE_NAME with the name of the service as a string.
Example
GET /api/service/SERVICE_NAME/daemons HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.

Additional Resources

  • See the Ceph RESTful API chapter in the Red Hat Ceph Storage Developer Guide for more details.

A.27. Settings

The method reference for using the Ceph RESTful API settings endpoint to manage the various Ceph settings.

GET /api/settings
Description
Display the list of available options
Parameters
  • Queries:

    • names - A comma-separated list of option names.
Example
GET /api/settings HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
PUT /api/settings
Status Codes
  • 200 OK – Okay.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
DELETE /api/settings/NAME
Parameters
  • Replace NAME with the option name as a string.
Status Codes
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 204 No Content – Resource deleted.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/settings/NAME
Description
Display the given option.
Parameters
  • Replace NAME with the option name as a string.
Example
GET /api/settings/NAME HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
PUT /api/settings/NAME
Parameters
  • Replace NAME with the option name as a string.
Example
PUT /api/settings/NAME HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "value": "STRING"
}
Status Codes
  • 200 OK – Okay.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.

Additional Resources

  • See the Ceph RESTful API chapter in the Red Hat Ceph Storage Developer Guide for more details.

A.28. Ceph task

The method reference for using the Ceph RESTful API task endpoint to display Ceph tasks.

GET /api/task
Description
Display Ceph tasks.
Parameters
  • Queries:

    • name - The name of the task.
Example
GET /api/task HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.

Additional Resources

  • See the Ceph RESTful API chapter in the Red Hat Ceph Storage Developer Guide for more details.

A.29. Telemetry

The method reference for using the Ceph RESTful API telemetry endpoint to manage data for the telemetry Ceph Manager module.

PUT /api/telemetry
Description
Enables or disables the sending of collected data by the telemetry module.
Parameters
  • enable - A boolean value.
  • license_name - A string value, such as, sharing-1-0. Make sure the user is aware of and accepts the license for sharing telemetry data.
Example
PUT /api/telemetry HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "enable": true,
    "license_name": "STRING"
}
Status Codes
  • 200 OK – Okay.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/telemetry/report
Description
Display report data on Ceph and devices.
Example
GET /api/telemetry/report HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.

Additional Resources

A.30. Ceph users

The method reference for using the Ceph RESTful API user endpoint to display Ceph user details and to manage Ceph user passwords.

GET /api/user
Description
Display a list of users.
Example
GET /api/user HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
POST /api/user
Example
POST /api/user HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "email": "STRING",
    "enabled": true,
    "name": "STRING",
    "password": "STRING",
    "pwdExpirationDate": "STRING",
    "pwdUpdateRequired": true,
    "roles": "STRING",
    "username": "STRING"
}
Status Codes
  • 201 Created – Resource created.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
DELETE /api/user/USER_NAME
Parameters
  • Replace USER_NAME with the name of the user as a string.
Status Codes
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 204 No Content – Resource deleted.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
GET /api/user/USER_NAME
Parameters
  • Replace USER_NAME with the name of the user as a string.
Example
GET /api/user/USER_NAME HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Okay.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
PUT /api/user/USER_NAME
Parameters
  • Replace USER_NAME with the name of the user as a string.
Example
PUT /api/user/USER_NAME HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "email": "STRING",
    "enabled": "STRING",
    "name": "STRING",
    "password": "STRING",
    "pwdExpirationDate": "STRING",
    "pwdUpdateRequired": true,
    "roles": "STRING"
}
Status Codes
  • 200 OK – Okay.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
POST /api/user/USER_NAME/change_password
Parameters
  • Replace USER_NAME with the name of the user as a string.
Example
POST /api/user/USER_NAME/change_password HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "new_password": "STRING",
    "old_password": "STRING"
}
Status Codes
  • 201 Created – Resource created.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.
POST /api/user/validate_password
Description
Checks the password to see if it meets the password policy.
Parameters
  • password - The password to validate.
  • username - Optional. The name of the user.
  • old_password - Optional. The old password.
Example
POST /api/user/validate_password HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "old_password": "STRING",
    "password": "STRING",
    "username": "STRING"
}
Status Codes
  • 201 Created – Resource created.
  • 202 Accepted – Operation is still executing. Please check the task queue.
  • 400 Bad Request – Operation exception. Please check the response body for details.
  • 401 Unauthorized – Unauthenticated access. Please login first.
  • 403 Forbidden – Unauthorized access. Please check your permissions.
  • 500 Internal Server Error – Unexpected error. Please check the response body for the stack trace.

Additional Resources

  • See the Ceph RESTful API chapter in the Red Hat Ceph Storage Developer Guide for more details.
Red Hat logoGithubRedditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

© 2024 Red Hat, Inc.