Ceph RESTful API

Introduction

The Ceph RESTful API (henceforth Ceph API) is provided by the Ceph Dashboard module. The Ceph API service is available at the same URL as the regular Ceph Dashboard, under the /api base path (please refer to Host Name and Port):

  1. http://<server_addr>:<server_port>/api

or, if HTTPS is enabled (please refer to SSL/TLS Support):

  1. https://<server_addr>:<ssl_server_port>/api

The Ceph API leverages the following standards:

Warning

Some endpoints are still under active development, and should be carefully used since new Ceph releases could bring backward incompatible changes.

Authentication and Authorization

Requests to the Ceph API pass through two access control checkpoints:

  • Authentication: ensures that the request is performed on behalf of an existing and valid user account.

  • Authorization: ensures that the previously authenticated user can in fact perform a specific action (create, read, update or delete) on the target endpoint.

So, prior to start consuming the Ceph API, a valid JSON Web Token (JWT) has to be obtained, and it may then be reused for subsequent requests. The /api/auth endpoint will provide the valid token:

  1. $ curl -X POST "https://example.com:8443/api/auth" \
  2. -H "Accept: application/vnd.ceph.api.v1.0+json" \
  3. -H "Content-Type: application/json" \
  4. -d '{"username": <username>, "password": <password>}'
  5. { "token": "<redacted_token>", ...}

The token obtained must be passed together with every API request in the Authorization HTTP header:

  1. curl -H "Authorization: Bearer <token>" ...

Authentication and authorization can be further configured from the Ceph CLI, the Ceph-Dashboard UI and the Ceph API itself (please refer to User and Role Management).

Versioning

One of the main goals of the Ceph API is to keep a stable interface. For this purpose, Ceph API is built upon the following principles:

  • Mandatory: in order to avoid implicit defaults, all endpoints require an explicit default version (starting with 1.0).

  • Per-endpoint: as this API wraps many different Ceph components, this allows for a finer-grained change control.

    • Content/MIME Type: the version expected from a specific endpoint is stated by the Accept: application/vnd.ceph.api.v<major>.<minor>+json HTTP header. If the current Ceph API server is not able to address that specific major version, a 415 - Unsupported Media Type response will be returned.
  • Semantic Versioning: with a major.minor version:

    • Major changes are backward incompatible: they might result in non-additive changes to the request and/or response formats of a specific endpoint.

    • Minor changes are backward/forward compatible: they basically consists of additive changes to the request or response formats of a specific endpoint.

An example:

  1. $ curl -X GET "https://example.com:8443/api/osd" \
  2. -H "Accept: application/vnd.ceph.api.v1.0+json" \
  3. -H "Authorization: Bearer <token>"

Specification

Auth

POST /api/auth

Example request:

  1. POST /api/auth HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "password": "string",
  6. "username": "string"
  7. }

POST /api/auth/check

Check token Authentication

  • Query Parameters

    • token (string) – Authentication Token (Required)

Example request:

  1. POST /api/auth/check?token=string HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "token": "string"
  6. }

POST /api/auth/logout

Cephfs

GET /api/cephfs

Example request:

  1. GET /api/cephfs HTTP/1.1
  2. Host: example.com

GET /api/cephfs/{fs_id}

  • Parameters

    • fs_id (string) –

Example request:

  1. GET /api/cephfs/{fs_id} HTTP/1.1
  2. Host: example.com

DELETE /api/cephfs/{fs_id}/client/{client_id}

  • Parameters

    • fs_id (string) –

    • client_id (string) –

    Status Codes

GET /api/cephfs/{fs_id}/clients

  • Parameters

    • fs_id (string) –

Example request:

  1. GET /api/cephfs/{fs_id}/clients HTTP/1.1
  2. Host: example.com

GET /api/cephfs/{fs_id}/get_root_directory

The root directory that can’t be fetched using ls_dir (api). :param fs_id: The filesystem identifier. :return: The root directory :rtype: dict

  • Parameters

    • fs_id (string) –

Example request:

  1. GET /api/cephfs/{fs_id}/get_root_directory HTTP/1.1
  2. Host: example.com

GET /api/cephfs/{fs_id}/ls_dir

List directories of specified path. :param fs_id: The filesystem identifier. :param path: The path where to start listing the directory content. Defaults to ‘/’ if not set. :type path: str | bytes :param depth: The number of steps to go down the directory tree. :type depth: int | str :return: The names of the directories below the specified path. :rtype: list

  • Parameters

    • fs_id (string) –

    Query Parameters

    • path (string) –

    • depth (integer) –

Example request:

  1. GET /api/cephfs/{fs_id}/ls_dir HTTP/1.1
  2. Host: example.com

GET /api/cephfs/{fs_id}/mds_counters

  • Parameters

    • fs_id (string) –

    Query Parameters

    • counters (integer) –

Example request:

  1. GET /api/cephfs/{fs_id}/mds_counters HTTP/1.1
  2. Host: example.com

GET /api/cephfs/{fs_id}/quota

Get Cephfs Quotas of the specified path

Get the quotas of the specified path. :param fs_id: The filesystem identifier. :param path: The path of the directory/file. :return: Returns a dictionary containing ‘max_bytes’ and ‘max_files’. :rtype: dict

  • Parameters

    • fs_id (string) – File System Identifier

    Query Parameters

    • path (string) – File System Path (Required)

Example request:

  1. GET /api/cephfs/{fs_id}/quota?path=string HTTP/1.1
  2. Host: example.com

PUT /api/cephfs/{fs_id}/quota

Set the quotas of the specified path. :param fs_id: The filesystem identifier. :param path: The path of the directory/file. :param max_bytes: The byte limit. :param max_files: The file limit.

  • Parameters

    • fs_id (string) –

Example request:

  1. PUT /api/cephfs/{fs_id}/quota HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "max_bytes": "string",
  6. "max_files": "string",
  7. "path": "string"
  8. }
  • Status Codes

DELETE /api/cephfs/{fs_id}/snapshot

Remove a snapshot. :param fs_id: The filesystem identifier. :param path: The path of the directory. :param name: The name of the snapshot.

  • Parameters

    • fs_id (string) –

    Query Parameters

    • path (string) – (Required)

    • name (string) – (Required)

    Status Codes

POST /api/cephfs/{fs_id}/snapshot

Create a snapshot. :param fs_id: The filesystem identifier. :param path: The path of the directory. :param name: The name of the snapshot. If not specified, a name using the current time in RFC3339 UTC format will be generated. :return: The name of the snapshot. :rtype: str

  • Parameters

    • fs_id (string) –

Example request:

  1. POST /api/cephfs/{fs_id}/snapshot HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "name": "string",
  6. "path": "string"
  7. }

DELETE /api/cephfs/{fs_id}/tree

Remove a directory. :param fs_id: The filesystem identifier. :param path: The path of the directory.

  • Parameters

    • fs_id (string) –

    Query Parameters

    • path (string) – (Required)

    Status Codes

POST /api/cephfs/{fs_id}/tree

Create a directory. :param fs_id: The filesystem identifier. :param path: The path of the directory.

  • Parameters

    • fs_id (string) –

Example request:

  1. POST /api/cephfs/{fs_id}/tree HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "path": "string"
  6. }

ClusterConfiguration

GET /api/cluster_conf

Example request:

  1. GET /api/cluster_conf HTTP/1.1
  2. Host: example.com

POST /api/cluster_conf

Example request:

  1. POST /api/cluster_conf HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "name": "string",
  6. "value": "string"
  7. }

PUT /api/cluster_conf

Example request:

  1. PUT /api/cluster_conf HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "options": "string"
  6. }
  • Status Codes

GET /api/cluster_conf/filter

Get Cluster Configuration by name

  • Query Parameters

    • names (string) – Config option names

Example request:

  1. GET /api/cluster_conf/filter HTTP/1.1
  2. Host: example.com

DELETE /api/cluster_conf/{name}

  • Parameters

    • name (string) –

    Query Parameters

    • section (string) – (Required)

    Status Codes

GET /api/cluster_conf/{name}

  • Parameters

    • name (string) –

Example request:

  1. GET /api/cluster_conf/{name} HTTP/1.1
  2. Host: example.com

CrushRule

GET /api/crush_rule

List Crush Rule Configuration

Example request:

  1. GET /api/crush_rule HTTP/1.1
  2. Host: example.com

POST /api/crush_rule

Example request:

  1. POST /api/crush_rule HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "device_class": "string",
  6. "failure_domain": "string",
  7. "name": "string",
  8. "root": "string"
  9. }

DELETE /api/crush_rule/{name}

  • Parameters

    • name (string) –

    Status Codes

GET /api/crush_rule/{name}

  • Parameters

    • name (string) –

Example request:

  1. GET /api/crush_rule/{name} HTTP/1.1
  2. Host: example.com

ErasureCodeProfile

GET /api/erasure_code_profile

List Erasure Code Profile Information

Example request:

  1. GET /api/erasure_code_profile HTTP/1.1
  2. Host: example.com

POST /api/erasure_code_profile

Example request:

  1. POST /api/erasure_code_profile HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "name": "string"
  6. }

DELETE /api/erasure_code_profile/{name}

  • Parameters

    • name (string) –

    Status Codes

GET /api/erasure_code_profile/{name}

  • Parameters

    • name (string) –

Example request:

  1. GET /api/erasure_code_profile/{name} HTTP/1.1
  2. Host: example.com

FeatureTogglesEndpoint

GET /api/feature_toggles

Get List Of Features

Example request:

  1. GET /api/feature_toggles HTTP/1.1
  2. Host: example.com

Grafana

POST /api/grafana/dashboards

GET /api/grafana/url

List Grafana URL Instance

Example request:

  1. GET /api/grafana/url HTTP/1.1
  2. Host: example.com

GET /api/grafana/validation/{params}

  • Parameters

    • params (string) –

Example request:

  1. GET /api/grafana/validation/{params} HTTP/1.1
  2. Host: example.com

Health

GET /api/health/full

Example request:

  1. GET /api/health/full HTTP/1.1
  2. Host: example.com

GET /api/health/minimal

Get Cluster’s minimal health report

Example request:

  1. GET /api/health/minimal HTTP/1.1
  2. Host: example.com

Host

GET /api/host

List Host Specifications

  • Query Parameters

    • sources (string) – Host Sources

Example request:

  1. GET /api/host HTTP/1.1
  2. Host: example.com

POST /api/host

Example request:

  1. POST /api/host HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "hostname": "string"
  6. }

DELETE /api/host/{hostname}

  • Parameters

    • hostname (string) –

    Status Codes

GET /api/host/{hostname}

Get the specified host. :raises: cherrypy.HTTPError: If host not found.

  • Parameters

    • hostname (string) –

Example request:

  1. GET /api/host/{hostname} HTTP/1.1
  2. Host: example.com

PUT /api/host/{hostname}

Update the specified host. Note, this is only supported when Ceph Orchestrator is enabled. :param hostname: The name of the host to be processed. :param labels: List of labels.

  • Parameters

    • hostname (string) –

Example request:

  1. PUT /api/host/{hostname} HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "labels": "string"
  6. }
  • Status Codes

GET /api/host/{hostname}/daemons

  • Parameters

    • hostname (string) –

Example request:

  1. GET /api/host/{hostname}/daemons HTTP/1.1
  2. Host: example.com

GET /api/host/{hostname}/devices

  • Parameters

    • hostname (string) –

Example request:

  1. GET /api/host/{hostname}/devices HTTP/1.1
  2. Host: example.com

POST /api/host/{hostname}/identify_device

Identify a device by switching on the device light for N seconds. :param hostname: The hostname of the device to process. :param device: The device identifier to process, e.g. /dev/dm-0 or ABC1234DEF567-1R1234_ABC8DE0Q. :param duration: The duration in seconds how long the LED should flash.

  • Parameters

    • hostname (string) –

Example request:

  1. POST /api/host/{hostname}/identify_device HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "device": "string",
  6. "duration": "string"
  7. }

GET /api/host/{hostname}/inventory

Get inventory of a host

  • Parameters

    • hostname (string) – Hostname

    Query Parameters

    • refresh (string) – Trigger asynchronous refresh

Example request:

  1. GET /api/host/{hostname}/inventory HTTP/1.1
  2. Host: example.com

GET /api/host/{hostname}/smart

  • Parameters

    • hostname (string) –

Example request:

  1. GET /api/host/{hostname}/smart HTTP/1.1
  2. Host: example.com

Iscsi

GET /api/iscsi/discoveryauth

Get Iscsi discoveryauth Details

Example request:

  1. GET /api/iscsi/discoveryauth HTTP/1.1
  2. Host: example.com

PUT /api/iscsi/discoveryauth

Set Iscsi discoveryauth

  • Query Parameters

    • user (string) – Username (Required)

    • password (string) – Password (Required)

    • mutual_user (string) – Mutual UserName (Required)

    • mutual_password (string) – Mutual Password (Required)

Example request:

  1. PUT /api/iscsi/discoveryauth?user=string&password=string&mutual_user=string&mutual_password=string HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "mutual_password": "string",
  6. "mutual_user": "string",
  7. "password": "string",
  8. "user": "string"
  9. }
  • Status Codes

IscsiTarget

GET /api/iscsi/target

Example request:

  1. GET /api/iscsi/target HTTP/1.1
  2. Host: example.com

POST /api/iscsi/target

Example request:

  1. POST /api/iscsi/target HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "acl_enabled": "string",
  6. "auth": "string",
  7. "clients": "string",
  8. "disks": "string",
  9. "groups": "string",
  10. "portals": "string",
  11. "target_controls": "string",
  12. "target_iqn": "string"
  13. }

DELETE /api/iscsi/target/{target_iqn}

  • Parameters

    • target_iqn (string) –

    Status Codes

GET /api/iscsi/target/{target_iqn}

  • Parameters

    • target_iqn (string) –

Example request:

  1. GET /api/iscsi/target/{target_iqn} HTTP/1.1
  2. Host: example.com

PUT /api/iscsi/target/{target_iqn}

  • Parameters

    • target_iqn (string) –

Example request:

  1. PUT /api/iscsi/target/{target_iqn} HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "acl_enabled": "string",
  6. "auth": "string",
  7. "clients": "string",
  8. "disks": "string",
  9. "groups": "string",
  10. "new_target_iqn": "string",
  11. "portals": "string",
  12. "target_controls": "string"
  13. }
  • Status Codes

Logs

GET /api/logs/all

Display Logs Configuration

Example request:

  1. GET /api/logs/all HTTP/1.1
  2. Host: example.com

MdsPerfCounter

GET /api/perf_counters/mds/{service_id}

  • Parameters

    • service_id (string) –

Example request:

  1. GET /api/perf_counters/mds/{service_id} HTTP/1.1
  2. Host: example.com

MgrModule

GET /api/mgr/module

List Mgr modules

Get the list of managed modules. :return: A list of objects with the fields ‘enabled’, ‘name’ and ‘options’. :rtype: list

Example request:

  1. GET /api/mgr/module HTTP/1.1
  2. Host: example.com

GET /api/mgr/module/{module_name}

Retrieve the values of the persistent configuration settings. :param module_name: The name of the Ceph Mgr module. :type module_name: str :return: The values of the module options. :rtype: dict

  • Parameters

    • module_name (string) –

Example request:

  1. GET /api/mgr/module/{module_name} HTTP/1.1
  2. Host: example.com

PUT /api/mgr/module/{module_name}

Set the values of the persistent configuration settings. :param module_name: The name of the Ceph Mgr module. :type module_name: str :param config: The values of the module options to be stored. :type config: dict

  • Parameters

    • module_name (string) –

Example request:

  1. PUT /api/mgr/module/{module_name} HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "config": "string"
  6. }
  • Status Codes

POST /api/mgr/module/{module_name}/disable

Disable the specified Ceph Mgr module. :param module_name: The name of the Ceph Mgr module. :type module_name: str

  • Parameters

    • module_name (string) –

    Status Codes

POST /api/mgr/module/{module_name}/enable

Enable the specified Ceph Mgr module. :param module_name: The name of the Ceph Mgr module. :type module_name: str

  • Parameters

    • module_name (string) –

    Status Codes

GET /api/mgr/module/{module_name}/options

Get the module options of the specified Ceph Mgr module. :param module_name: The name of the Ceph Mgr module. :type module_name: str :return: The module options as list of dicts. :rtype: list

  • Parameters

    • module_name (string) –

Example request:

  1. GET /api/mgr/module/{module_name}/options HTTP/1.1
  2. Host: example.com

MgrPerfCounter

GET /api/perf_counters/mgr/{service_id}

  • Parameters

    • service_id (string) –

Example request:

  1. GET /api/perf_counters/mgr/{service_id} HTTP/1.1
  2. Host: example.com

MonPerfCounter

GET /api/perf_counters/mon/{service_id}

  • Parameters

    • service_id (string) –

Example request:

  1. GET /api/perf_counters/mon/{service_id} HTTP/1.1
  2. Host: example.com

Monitor

GET /api/monitor

Get Monitor Details

Example request:

  1. GET /api/monitor HTTP/1.1
  2. Host: example.com

NFS-Ganesha

GET /api/nfs-ganesha/daemon

List NFS-Ganesha daemons information

Example request:

  1. GET /api/nfs-ganesha/daemon HTTP/1.1
  2. Host: example.com

GET /api/nfs-ganesha/export

List all NFS-Ganesha exports

Example request:

  1. GET /api/nfs-ganesha/export HTTP/1.1
  2. Host: example.com

POST /api/nfs-ganesha/export

Creates a new NFS-Ganesha export

Example request:

  1. POST /api/nfs-ganesha/export HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "access_type": "string",
  6. "clients": [
  7. {
  8. "access_type": "string",
  9. "addresses": [
  10. "string"
  11. ],
  12. "squash": "string"
  13. }
  14. ],
  15. "cluster_id": "string",
  16. "daemons": [
  17. "string"
  18. ],
  19. "fsal": {
  20. "filesystem": "string",
  21. "name": "string",
  22. "rgw_user_id": "string",
  23. "sec_label_xattr": "string",
  24. "user_id": "string"
  25. },
  26. "path": "string",
  27. "protocols": [
  28. 1
  29. ],
  30. "pseudo": "string",
  31. "reload_daemons": true,
  32. "security_label": "string",
  33. "squash": "string",
  34. "tag": "string",
  35. "transports": [
  36. "string"
  37. ]
  38. }

DELETE /api/nfs-ganesha/export/{cluster_id}/{export_id}

Deletes an NFS-Ganesha export

  • Parameters

    • cluster_id (string) – Cluster identifier

    • export_id (integer) – Export ID

    Query Parameters

    • reload_daemons (boolean) – Trigger reload of NFS-Ganesha daemons configuration

    Status Codes

GET /api/nfs-ganesha/export/{cluster_id}/{export_id}

Get an NFS-Ganesha export

  • Parameters

    • cluster_id (string) – Cluster identifier

    • export_id (integer) – Export ID

Example request:

  1. GET /api/nfs-ganesha/export/{cluster_id}/{export_id} HTTP/1.1
  2. Host: example.com

PUT /api/nfs-ganesha/export/{cluster_id}/{export_id}

Updates an NFS-Ganesha export

  • Parameters

    • cluster_id (string) – Cluster identifier

    • export_id (integer) – Export ID

Example request:

  1. PUT /api/nfs-ganesha/export/{cluster_id}/{export_id} HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "access_type": "string",
  6. "clients": [
  7. {
  8. "access_type": "string",
  9. "addresses": [
  10. "string"
  11. ],
  12. "squash": "string"
  13. }
  14. ],
  15. "daemons": [
  16. "string"
  17. ],
  18. "fsal": {
  19. "filesystem": "string",
  20. "name": "string",
  21. "rgw_user_id": "string",
  22. "sec_label_xattr": "string",
  23. "user_id": "string"
  24. },
  25. "path": "string",
  26. "protocols": [
  27. 1
  28. ],
  29. "pseudo": "string",
  30. "reload_daemons": true,
  31. "security_label": "string",
  32. "squash": "string",
  33. "tag": "string",
  34. "transports": [
  35. "string"
  36. ]
  37. }
  • Status Codes

GET /api/nfs-ganesha/status

Status of NFS-Ganesha management feature

Example request:

  1. GET /api/nfs-ganesha/status HTTP/1.1
  2. Host: example.com

OSD

GET /api/osd

Example request:

  1. GET /api/osd HTTP/1.1
  2. Host: example.com

POST /api/osd

Example request:

  1. POST /api/osd HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "data": "string",
  6. "method": "string",
  7. "tracking_id": "string"
  8. }

GET /api/osd/flags

Display OSD Flags

Example request:

  1. GET /api/osd/flags HTTP/1.1
  2. Host: example.com

PUT /api/osd/flags

Sets OSD flags for the entire cluster.

The recovery_deletes, sortbitwise and pglog_hardlimit flags cannot be unset. purged_snapshots cannot even be set. It is therefore required to at least include those four flags for a successful operation.

Example request:

  1. PUT /api/osd/flags HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "flags": [
  6. "string"
  7. ]
  8. }
  • Status Codes

GET /api/osd/flags/individual

Displays individual OSD flags

Example request:

  1. GET /api/osd/flags/individual HTTP/1.1
  2. Host: example.com

PUT /api/osd/flags/individual

Sets OSD flags for a subset of individual OSDs.

Updates flags (noout, noin, nodown, noup) for an individual subset of OSDs.

Example request:

  1. PUT /api/osd/flags/individual HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "flags": {
  6. "nodown": true,
  7. "noin": true,
  8. "noout": true,
  9. "noup": true
  10. },
  11. "ids": [
  12. 1
  13. ]
  14. }
  • Status Codes

GET /api/osd/safe_to_delete

  • type ids

    int|[int]

  • Query Parameters

    • svc_ids (string) – (Required)

Example request:

  1. GET /api/osd/safe_to_delete?svc_ids=string HTTP/1.1
  2. Host: example.com

GET /api/osd/safe_to_destroy

Check If OSD is Safe to Destroy

  • type ids

    int|[int]

  • Query Parameters

    • ids (string) – OSD Service Identifier (Required)

Example request:

  1. GET /api/osd/safe_to_destroy?ids=string HTTP/1.1
  2. Host: example.com

DELETE /api/osd/{svc_id}

  • Parameters

    • svc_id (string) –

    Query Parameters

    • preserve_id (string) –

    • force (string) –

    Status Codes

GET /api/osd/{svc_id}

Returns collected data about an OSD.

  • return

    Returns the requested data.

  • Parameters

    • svc_id (string) –

Example request:

  1. GET /api/osd/{svc_id} HTTP/1.1
  2. Host: example.com

PUT /api/osd/{svc_id}

  • Parameters

    • svc_id (string) –

Example request:

  1. PUT /api/osd/{svc_id} HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "device_class": "string"
  6. }
  • Status Codes

POST /api/osd/{svc_id}/destroy

Mark osd as being destroyed. Keeps the ID intact (allowing reuse), but removes cephx keys, config-key data and lockbox keys, rendering data permanently unreadable.

The osd must be marked down before being destroyed.

  • Parameters

    • svc_id (string) –

    Status Codes

GET /api/osd/{svc_id}/devices

  • Parameters

    • svc_id (string) –

Example request:

  1. GET /api/osd/{svc_id}/devices HTTP/1.1
  2. Host: example.com

GET /api/osd/{svc_id}/histogram

  • return

    Returns the histogram data.

  • Parameters

    • svc_id (string) –

Example request:

  1. GET /api/osd/{svc_id}/histogram HTTP/1.1
  2. Host: example.com

PUT /api/osd/{svc_id}/mark

Mark OSD flags (out, in, down, lost, …)

Note: osd must be marked down before marking lost.

  • Parameters

    • svc_id (string) – SVC ID

Example request:

  1. PUT /api/osd/{svc_id}/mark HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "action": "string"
  6. }
  • Status Codes

POST /api/osd/{svc_id}/purge

Note: osd must be marked down before removal.

  • Parameters

    • svc_id (string) –

    Status Codes

POST /api/osd/{svc_id}/reweight

Reweights the OSD temporarily.

Note that ‘ceph osd reweight’ is not a persistent setting. When an OSD gets marked out, the osd weight will be set to 0. When it gets marked in again, the weight will be changed to 1.

Because of this ‘ceph osd reweight’ is a temporary solution. You should only use it to keep your cluster running while you’re ordering more hardware.

  • Parameters

    • svc_id (string) –

Example request:

  1. POST /api/osd/{svc_id}/reweight HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "weight": "string"
  6. }

POST /api/osd/{svc_id}/scrub

  • Parameters

    • svc_id (string) –

    Query Parameters

    • deep (boolean) –

Example request:

  1. POST /api/osd/{svc_id}/scrub HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "deep": true
  6. }

GET /api/osd/{svc_id}/smart

  • Parameters

    • svc_id (string) –

Example request:

  1. GET /api/osd/{svc_id}/smart HTTP/1.1
  2. Host: example.com

Orchestrator

GET /api/orchestrator/status

Display Orchestrator Status

Example request:

  1. GET /api/orchestrator/status HTTP/1.1
  2. Host: example.com

OsdPerfCounter

GET /api/perf_counters/osd/{service_id}

  • Parameters

    • service_id (string) –

Example request:

  1. GET /api/perf_counters/osd/{service_id} HTTP/1.1
  2. Host: example.com

PerfCounters

GET /api/perf_counters

Display Perf Counters

Example request:

  1. GET /api/perf_counters HTTP/1.1
  2. Host: example.com

Pool

GET /api/pool

Display Pool List

  • Query Parameters

    • attrs (string) – Pool Attributes

    • stats (boolean) – Pool Stats

Example request:

  1. GET /api/pool HTTP/1.1
  2. Host: example.com

POST /api/pool

Example request:

  1. POST /api/pool HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "application_metadata": "string",
  6. "configuration": "string",
  7. "erasure_code_profile": "string",
  8. "flags": "string",
  9. "pg_num": 1,
  10. "pool": "string",
  11. "pool_type": "string",
  12. "rule_name": "string"
  13. }

DELETE /api/pool/{pool_name}

  • Parameters

    • pool_name (string) –

    Status Codes

GET /api/pool/{pool_name}

  • Parameters

    • pool_name (string) –

    Query Parameters

    • attrs (string) –

    • stats (boolean) –

Example request:

  1. GET /api/pool/{pool_name} HTTP/1.1
  2. Host: example.com

PUT /api/pool/{pool_name}

  • Parameters

    • pool_name (string) –

Example request:

  1. PUT /api/pool/{pool_name} HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "application_metadata": "string",
  6. "configuration": "string",
  7. "flags": "string"
  8. }
  • Status Codes

GET /api/pool/{pool_name}/configuration

  • Parameters

    • pool_name (string) –

Example request:

  1. GET /api/pool/{pool_name}/configuration HTTP/1.1
  2. Host: example.com

Prometheus

GET /api/prometheus

Example request:

  1. GET /api/prometheus HTTP/1.1
  2. Host: example.com

GET /api/prometheus/rules

Example request:

  1. GET /api/prometheus/rules HTTP/1.1
  2. Host: example.com

POST /api/prometheus/silence

DELETE /api/prometheus/silence/{s_id}

  • Parameters

    • s_id (string) –

    Status Codes

GET /api/prometheus/silences

Example request:

  1. GET /api/prometheus/silences HTTP/1.1
  2. Host: example.com

PrometheusNotifications

GET /api/prometheus/notifications

Example request:

  1. GET /api/prometheus/notifications HTTP/1.1
  2. Host: example.com

Rbd

GET /api/block/image

Display Rbd Images

  • Query Parameters

    • pool_name (string) – Pool Name

Example request:

  1. GET /api/block/image HTTP/1.1
  2. Host: example.com

POST /api/block/image

Example request:

  1. POST /api/block/image HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "configuration": "string",
  6. "data_pool": "string",
  7. "features": "string",
  8. "name": "string",
  9. "namespace": "string",
  10. "obj_size": 1,
  11. "pool_name": "string",
  12. "size": 1,
  13. "stripe_count": 1,
  14. "stripe_unit": "string"
  15. }

GET /api/block/image/clone_format_version

Return the RBD clone format version.

Example request:

  1. GET /api/block/image/clone_format_version HTTP/1.1
  2. Host: example.com

GET /api/block/image/default_features

Example request:

  1. GET /api/block/image/default_features HTTP/1.1
  2. Host: example.com

DELETE /api/block/image/{image_spec}

  • Parameters

    • image_spec (string) –

    Status Codes

GET /api/block/image/{image_spec}

  • Parameters

    • image_spec (string) –

Example request:

  1. GET /api/block/image/{image_spec} HTTP/1.1
  2. Host: example.com

PUT /api/block/image/{image_spec}

  • Parameters

    • image_spec (string) –

Example request:

  1. PUT /api/block/image/{image_spec} HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "configuration": "string",
  6. "features": "string",
  7. "name": "string",
  8. "size": 1
  9. }
  • Status Codes

POST /api/block/image/{image_spec}/copy

  • Parameters

    • image_spec (string) –

Example request:

  1. POST /api/block/image/{image_spec}/copy HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "configuration": "string",
  6. "data_pool": "string",
  7. "dest_image_name": "string",
  8. "dest_namespace": "string",
  9. "dest_pool_name": "string",
  10. "features": "string",
  11. "obj_size": 1,
  12. "snapshot_name": "string",
  13. "stripe_count": 1,
  14. "stripe_unit": "string"
  15. }

POST /api/block/image/{image_spec}/flatten

  • Parameters

    • image_spec (string) –

    Status Codes

POST /api/block/image/{image_spec}/move_trash

  • Move an image to the trash.

    Images, even ones actively in-use by clones, can be moved to the trash and deleted at a later time.

  • Parameters

    • image_spec (string) –

Example request:

  1. POST /api/block/image/{image_spec}/move_trash HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "delay": 1
  6. }

RbdMirroring

GET /api/block/mirroring/site_name

Display Rbd Mirroring sitename

Example request:

  1. GET /api/block/mirroring/site_name HTTP/1.1
  2. Host: example.com

PUT /api/block/mirroring/site_name

Example request:

  1. PUT /api/block/mirroring/site_name HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "site_name": "string"
  6. }
  • Status Codes

RbdMirroringPoolBootstrap

POST /api/block/mirroring/pool/{pool_name}/bootstrap/peer

  • Parameters

    • pool_name (string) –

Example request:

  1. POST /api/block/mirroring/pool/{pool_name}/bootstrap/peer HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "direction": "string",
  6. "token": "string"
  7. }

POST /api/block/mirroring/pool/{pool_name}/bootstrap/token

  • Parameters

    • pool_name (string) –

    Status Codes

RbdMirroringPoolMode

GET /api/block/mirroring/pool/{pool_name}

Display Rbd Mirroring Summary

  • Parameters

    • pool_name (string) – Pool Name

Example request:

  1. GET /api/block/mirroring/pool/{pool_name} HTTP/1.1
  2. Host: example.com

PUT /api/block/mirroring/pool/{pool_name}

  • Parameters

    • pool_name (string) –

Example request:

  1. PUT /api/block/mirroring/pool/{pool_name} HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "mirror_mode": "string"
  6. }
  • Status Codes

RbdMirroringPoolPeer

GET /api/block/mirroring/pool/{pool_name}/peer

  • Parameters

    • pool_name (string) –

Example request:

  1. GET /api/block/mirroring/pool/{pool_name}/peer HTTP/1.1
  2. Host: example.com

POST /api/block/mirroring/pool/{pool_name}/peer

  • Parameters

    • pool_name (string) –

Example request:

  1. POST /api/block/mirroring/pool/{pool_name}/peer HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "client_id": "string",
  6. "cluster_name": "string",
  7. "key": "string",
  8. "mon_host": "string"
  9. }

DELETE /api/block/mirroring/pool/{pool_name}/peer/{peer_uuid}

  • Parameters

    • pool_name (string) –

    • peer_uuid (string) –

    Status Codes

GET /api/block/mirroring/pool/{pool_name}/peer/{peer_uuid}

  • Parameters

    • pool_name (string) –

    • peer_uuid (string) –

Example request:

  1. GET /api/block/mirroring/pool/{pool_name}/peer/{peer_uuid} HTTP/1.1
  2. Host: example.com

PUT /api/block/mirroring/pool/{pool_name}/peer/{peer_uuid}

  • Parameters

    • pool_name (string) –

    • peer_uuid (string) –

Example request:

  1. PUT /api/block/mirroring/pool/{pool_name}/peer/{peer_uuid} HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "client_id": "string",
  6. "cluster_name": "string",
  7. "key": "string",
  8. "mon_host": "string"
  9. }
  • Status Codes

RbdMirroringSummary

GET /api/block/mirroring/summary

Display Rbd Mirroring Summary

Example request:

  1. GET /api/block/mirroring/summary HTTP/1.1
  2. Host: example.com

RbdNamespace

GET /api/block/pool/{pool_name}/namespace

  • Parameters

    • pool_name (string) –

Example request:

  1. GET /api/block/pool/{pool_name}/namespace HTTP/1.1
  2. Host: example.com

POST /api/block/pool/{pool_name}/namespace

  • Parameters

    • pool_name (string) –

Example request:

  1. POST /api/block/pool/{pool_name}/namespace HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "namespace": "string"
  6. }

DELETE /api/block/pool/{pool_name}/namespace/{namespace}

  • Parameters

    • pool_name (string) –

    • namespace (string) –

    Status Codes

RbdSnapshot

POST /api/block/image/{image_spec}/snap

  • Parameters

    • image_spec (string) –

Example request:

  1. POST /api/block/image/{image_spec}/snap HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "snapshot_name": "string"
  6. }

DELETE /api/block/image/{image_spec}/snap/{snapshot_name}

  • Parameters

    • image_spec (string) –

    • snapshot_name (string) –

    Status Codes

PUT /api/block/image/{image_spec}/snap/{snapshot_name}

  • Parameters

    • image_spec (string) –

    • snapshot_name (string) –

Example request:

  1. PUT /api/block/image/{image_spec}/snap/{snapshot_name} HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "is_protected": true,
  6. "new_snap_name": "string"
  7. }
  • Status Codes

POST /api/block/image/{image_spec}/snap/{snapshot_name}/clone

Clones a snapshot to an image

  • Parameters

    • image_spec (string) –

    • snapshot_name (string) –

Example request:

  1. POST /api/block/image/{image_spec}/snap/{snapshot_name}/clone HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "child_image_name": "string",
  6. "child_namespace": "string",
  7. "child_pool_name": "string",
  8. "configuration": "string",
  9. "data_pool": "string",
  10. "features": "string",
  11. "obj_size": 1,
  12. "stripe_count": 1,
  13. "stripe_unit": "string"
  14. }

POST /api/block/image/{image_spec}/snap/{snapshot_name}/rollback

  • Parameters

    • image_spec (string) –

    • snapshot_name (string) –

    Status Codes

RbdTrash

GET /api/block/image/trash

Get RBD Trash Details by pool name

List all entries from trash.

  • Query Parameters

    • pool_name (string) – Name of the pool

Example request:

  1. GET /api/block/image/trash HTTP/1.1
  2. Host: example.com

POST /api/block/image/trash/purge

Remove all expired images from trash.

  • Query Parameters

    • pool_name (string) –

Example request:

  1. POST /api/block/image/trash/purge HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "pool_name": "string"
  6. }

DELETE /api/block/image/trash/{image_id_spec}

  • Delete an image from trash.

    If image deferment time has not expired you can not removed it unless use force. But an actively in-use by clones or has snapshots can not be removed.

  • Parameters

    • image_id_spec (string) –

    Query Parameters

    • force (boolean) –

    Status Codes

POST /api/block/image/trash/{image_id_spec}/restore

Restore an image from trash.

  • Parameters

    • image_id_spec (string) –

Example request:

  1. POST /api/block/image/trash/{image_id_spec}/restore HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "new_image_name": "string"
  6. }

Rgw

GET /api/rgw/status

Display RGW Status

Example request:

  1. GET /api/rgw/status HTTP/1.1
  2. Host: example.com

RgwBucket

GET /api/rgw/bucket

  • Query Parameters

    • stats (boolean) –

Example request:

  1. GET /api/rgw/bucket HTTP/1.1
  2. Host: example.com

POST /api/rgw/bucket

Example request:

  1. POST /api/rgw/bucket HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "bucket": "string",
  6. "lock_enabled": "string",
  7. "lock_mode": "string",
  8. "lock_retention_period_days": "string",
  9. "lock_retention_period_years": "string",
  10. "placement_target": "string",
  11. "uid": "string",
  12. "zonegroup": "string"
  13. }

DELETE /api/rgw/bucket/{bucket}

  • Parameters

    • bucket (string) –

    Query Parameters

    • purge_objects (string) –

    Status Codes

GET /api/rgw/bucket/{bucket}

  • Parameters

    • bucket (string) –

Example request:

  1. GET /api/rgw/bucket/{bucket} HTTP/1.1
  2. Host: example.com

PUT /api/rgw/bucket/{bucket}

  • Parameters

    • bucket (string) –

Example request:

  1. PUT /api/rgw/bucket/{bucket} HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "bucket_id": "string",
  6. "lock_mode": "string",
  7. "lock_retention_period_days": "string",
  8. "lock_retention_period_years": "string",
  9. "mfa_delete": "string",
  10. "mfa_token_pin": "string",
  11. "mfa_token_serial": "string",
  12. "uid": "string",
  13. "versioning_state": "string"
  14. }
  • Status Codes

RgwDaemon

GET /api/rgw/daemon

Display RGW Daemons

Example request:

  1. GET /api/rgw/daemon HTTP/1.1
  2. Host: example.com

GET /api/rgw/daemon/{svc_id}

  • Parameters

    • svc_id (string) –

Example request:

  1. GET /api/rgw/daemon/{svc_id} HTTP/1.1
  2. Host: example.com

RgwMirrorPerfCounter

GET /api/perf_counters/rbd-mirror/{service_id}

  • Parameters

    • service_id (string) –

Example request:

  1. GET /api/perf_counters/rbd-mirror/{service_id} HTTP/1.1
  2. Host: example.com

RgwPerfCounter

GET /api/perf_counters/rgw/{service_id}

  • Parameters

    • service_id (string) –

Example request:

  1. GET /api/perf_counters/rgw/{service_id} HTTP/1.1
  2. Host: example.com

RgwSite

GET /api/rgw/site

  • Query Parameters

    • query (string) –

Example request:

  1. GET /api/rgw/site HTTP/1.1
  2. Host: example.com

RgwUser

GET /api/rgw/user

Display RGW Users

Example request:

  1. GET /api/rgw/user HTTP/1.1
  2. Host: example.com

POST /api/rgw/user

Example request:

  1. POST /api/rgw/user HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "access_key": "string",
  6. "display_name": "string",
  7. "email": "string",
  8. "generate_key": "string",
  9. "max_buckets": "string",
  10. "secret_key": "string",
  11. "suspended": "string",
  12. "uid": "string"
  13. }

GET /api/rgw/user/get_emails

Example request:

  1. GET /api/rgw/user/get_emails HTTP/1.1
  2. Host: example.com

DELETE /api/rgw/user/{uid}

  • Parameters

    • uid (string) –

    Status Codes

GET /api/rgw/user/{uid}

  • Parameters

    • uid (string) –

Example request:

  1. GET /api/rgw/user/{uid} HTTP/1.1
  2. Host: example.com

PUT /api/rgw/user/{uid}

  • Parameters

    • uid (string) –

Example request:

  1. PUT /api/rgw/user/{uid} HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "display_name": "string",
  6. "email": "string",
  7. "max_buckets": "string",
  8. "suspended": "string"
  9. }
  • Status Codes

DELETE /api/rgw/user/{uid}/capability

  • Parameters

    • uid (string) –

    Query Parameters

    • type (string) – (Required)

    • perm (string) – (Required)

    Status Codes

POST /api/rgw/user/{uid}/capability

  • Parameters

    • uid (string) –

Example request:

  1. POST /api/rgw/user/{uid}/capability HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "perm": "string",
  6. "type": "string"
  7. }

DELETE /api/rgw/user/{uid}/key

  • Parameters

    • uid (string) –

    Query Parameters

    • key_type (string) –

    • subuser (string) –

    • access_key (string) –

    Status Codes

POST /api/rgw/user/{uid}/key

  • Parameters

    • uid (string) –

Example request:

  1. POST /api/rgw/user/{uid}/key HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "access_key": "string",
  6. "generate_key": "string",
  7. "key_type": "string",
  8. "secret_key": "string",
  9. "subuser": "string"
  10. }

GET /api/rgw/user/{uid}/quota

  • Parameters

    • uid (string) –

Example request:

  1. GET /api/rgw/user/{uid}/quota HTTP/1.1
  2. Host: example.com

PUT /api/rgw/user/{uid}/quota

  • Parameters

    • uid (string) –

Example request:

  1. PUT /api/rgw/user/{uid}/quota HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "enabled": "string",
  6. "max_objects": "string",
  7. "max_size_kb": 1,
  8. "quota_type": "string"
  9. }
  • Status Codes

POST /api/rgw/user/{uid}/subuser

  • Parameters

    • uid (string) –

Example request:

  1. POST /api/rgw/user/{uid}/subuser HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "access": "string",
  6. "access_key": "string",
  7. "generate_secret": "string",
  8. "key_type": "string",
  9. "secret_key": "string",
  10. "subuser": "string"
  11. }

DELETE /api/rgw/user/{uid}/subuser/{subuser}

  • param purge_keys

    Set to False to do not purge the keys. Note, this only works for s3 subusers.

  • Parameters

    • uid (string) –

    • subuser (string) –

    Query Parameters

    • purge_keys (string) –

    Status Codes

Role

GET /api/role

Display Role list

Example request:

  1. GET /api/role HTTP/1.1
  2. Host: example.com

POST /api/role

Example request:

  1. POST /api/role HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "description": "string",
  6. "name": "string",
  7. "scopes_permissions": "string"
  8. }

DELETE /api/role/{name}

  • Parameters

    • name (string) –

    Status Codes

GET /api/role/{name}

  • Parameters

    • name (string) –

Example request:

  1. GET /api/role/{name} HTTP/1.1
  2. Host: example.com

PUT /api/role/{name}

  • Parameters

    • name (string) –

Example request:

  1. PUT /api/role/{name} HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "description": "string",
  6. "scopes_permissions": "string"
  7. }
  • Status Codes

POST /api/role/{name}/clone

  • Parameters

    • name (string) –

Example request:

  1. POST /api/role/{name}/clone HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "new_name": "string"
  6. }

Service

GET /api/service

  • Query Parameters

    • service_name (string) –

Example request:

  1. GET /api/service HTTP/1.1
  2. Host: example.com

POST /api/service

  • param service_spec

    The service specification as JSON.

    param service_name

    The service name, e.g. ‘alertmanager’.

    return

    None

Example request:

  1. POST /api/service HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "service_name": "string",
  6. "service_spec": "string"
  7. }

GET /api/service/known_types

Get a list of known service types, e.g. ‘alertmanager’, ‘node-exporter’, ‘osd’ or ‘rgw’.

Example request:

  1. GET /api/service/known_types HTTP/1.1
  2. Host: example.com

DELETE /api/service/{service_name}

  • param service_name

    The service name, e.g. ‘mds’ or ‘crash.foo’.

    return

    None

  • Parameters

    • service_name (string) –

    Status Codes

GET /api/service/{service_name}

  • Parameters

    • service_name (string) –

Example request:

  1. GET /api/service/{service_name} HTTP/1.1
  2. Host: example.com

GET /api/service/{service_name}/daemons

  • Parameters

    • service_name (string) –

Example request:

  1. GET /api/service/{service_name}/daemons HTTP/1.1
  2. Host: example.com

Settings

GET /api/settings

Display Settings Information

Get the list of available options. :param names: A comma separated list of option names that should be processed. Defaults to None. :type names: None|str :return: A list of available options. :rtype: list[dict]

  • Query Parameters

    • names (string) – Name of Settings

Example request:

  1. GET /api/settings HTTP/1.1
  2. Host: example.com

PUT /api/settings

  • Status Codes

DELETE /api/settings/{name}

  • Parameters

    • name (string) –

    Status Codes

GET /api/settings/{name}

Get the given option. :param name: The name of the option. :return: Returns a dict containing the name, type, default value and current value of the given option. :rtype: dict

  • Parameters

    • name (string) –

Example request:

  1. GET /api/settings/{name} HTTP/1.1
  2. Host: example.com

PUT /api/settings/{name}

  • Parameters

    • name (string) –

Example request:

  1. PUT /api/settings/{name} HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "value": "string"
  6. }
  • Status Codes

Summary

GET /api/summary

Display Summary

Example request:

  1. GET /api/summary HTTP/1.1
  2. Host: example.com

Task

GET /api/task

Display Tasks

  • Query Parameters

    • name (string) – Task Name

Example request:

  1. GET /api/task HTTP/1.1
  2. Host: example.com

TcmuRunnerPerfCounter

GET /api/perf_counters/tcmu-runner/{service_id}

  • Parameters

    • service_id (string) –

Example request:

  1. GET /api/perf_counters/tcmu-runner/{service_id} HTTP/1.1
  2. Host: example.com

Telemetry

PUT /api/telemetry

Enables or disables sending data collected by the Telemetry module. :param enable: Enable or disable sending data :type enable: bool :param license_name: License string e.g. ‘sharing-1-0’ to make sure the user is aware of and accepts the license for sharing Telemetry data. :type license_name: string

Example request:

  1. PUT /api/telemetry HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "enable": true,
  6. "license_name": "string"
  7. }
  • Status Codes

GET /api/telemetry/report

Get Detailed Telemetry report

Get Ceph and device report data :return: Ceph and device report data :rtype: dict

Example request:

  1. GET /api/telemetry/report HTTP/1.1
  2. Host: example.com

User

GET /api/user

Get List Of Users

Example request:

  1. GET /api/user HTTP/1.1
  2. Host: example.com

POST /api/user

Example request:

  1. POST /api/user HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "email": "string",
  6. "enabled": true,
  7. "name": "string",
  8. "password": "string",
  9. "pwdExpirationDate": "string",
  10. "pwdUpdateRequired": true,
  11. "roles": "string",
  12. "username": "string"
  13. }

DELETE /api/user/{username}

  • Parameters

    • username (string) –

    Status Codes

GET /api/user/{username}

  • Parameters

    • username (string) –

Example request:

  1. GET /api/user/{username} HTTP/1.1
  2. Host: example.com

PUT /api/user/{username}

  • Parameters

    • username (string) –

Example request:

  1. PUT /api/user/{username} HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "email": "string",
  6. "enabled": "string",
  7. "name": "string",
  8. "password": "string",
  9. "pwdExpirationDate": "string",
  10. "pwdUpdateRequired": true,
  11. "roles": "string"
  12. }
  • Status Codes

UserChangePassword

POST /api/user/{username}/change_password

  • Parameters

    • username (string) –

Example request:

  1. POST /api/user/{username}/change_password HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "new_password": "string",
  6. "old_password": "string"
  7. }

UserPasswordPolicy

POST /api/user/validate_password

Check if the password meets the password policy. :param password: The password to validate. :param username: The name of the user (optional). :param old_password: The old password (optional). :return: An object with properties valid, credits and valuation. ‘credits’ contains the password complexity credits and ‘valuation’ the textual summary of the validation.

Example request:

  1. POST /api/user/validate_password HTTP/1.1
  2. Host: example.com
  3. Content-Type: application/json
  4. {
  5. "old_password": "string",
  6. "password": "string",
  7. "username": "string"
  8. }