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):

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

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

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:

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

{ "token": "<redacted_token>", ...}

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

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:

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

Specification

Auth

POST /api/auth

Example request:

POST /api/auth HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "password": "string",
    "username": "string"
}
Status Codes
POST /api/auth/check

Check token Authentication

Query Parameters
  • token (string) – Authentication Token (Required)

Example request:

POST /api/auth/check?token=string HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "token": "string"
}
Status Codes
  • 201 Created

    Resource created.

    Example response:

    HTTP/1.1 201 Created
    Content-Type: application/json
    
    {
        "permissions": {
            "cephfs": [
                "string"
            ]
        },
        "pwdUpdateRequired": true,
        "sso": true,
        "username": "string"
    }
    

  • 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

Cephfs

GET /api/cephfs

Example request:

GET /api/cephfs HTTP/1.1
Host: example.com
Status Codes
GET /api/cephfs/{fs_id}
Parameters
  • fs_id (string) –

Example request:

GET /api/cephfs/{fs_id} HTTP/1.1
Host: example.com
Status Codes
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:

GET /api/cephfs/{fs_id}/clients HTTP/1.1
Host: example.com
Status Codes
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:

GET /api/cephfs/{fs_id}/get_root_directory HTTP/1.1
Host: example.com
Status Codes
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:

GET /api/cephfs/{fs_id}/ls_dir HTTP/1.1
Host: example.com
Status Codes
GET /api/cephfs/{fs_id}/mds_counters
Parameters
  • fs_id (string) –

Query Parameters
  • counters (integer) –

Example request:

GET /api/cephfs/{fs_id}/mds_counters HTTP/1.1
Host: example.com
Status Codes
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:

GET /api/cephfs/{fs_id}/quota?path=string HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "max_bytes": 1,
        "max_files": 1
    }
    

  • 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

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:

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
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:

POST /api/cephfs/{fs_id}/snapshot HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "name": "string",
    "path": "string"
}
Status Codes
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:

POST /api/cephfs/{fs_id}/tree HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "path": "string"
}
Status Codes

ClusterConfiguration

GET /api/cluster_conf

Example request:

GET /api/cluster_conf HTTP/1.1
Host: example.com
Status Codes
POST /api/cluster_conf

Example request:

POST /api/cluster_conf HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "name": "string",
    "value": "string"
}
Status Codes
PUT /api/cluster_conf

Example request:

PUT /api/cluster_conf HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "options": "string"
}
Status Codes
GET /api/cluster_conf/filter

Get Cluster Configuration by name

Query Parameters
  • names (string) – Config option names

Example request:

GET /api/cluster_conf/filter HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    [
        {
            "can_update_at_runtime": true,
            "daemon_default": "string",
            "default": "string",
            "desc": "string",
            "enum_values": [
                "string"
            ],
            "flags": [
                "string"
            ],
            "level": "string",
            "long_desc": "string",
            "max": "string",
            "min": "string",
            "name": "string",
            "see_also": [
                "string"
            ],
            "services": [
                "string"
            ],
            "tags": [
                "string"
            ],
            "type": "string"
        }
    ]
    

  • 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
  • name (string) –

Query Parameters
  • section (string) – (Required)

Status Codes
GET /api/cluster_conf/{name}
Parameters
  • name (string) –

Example request:

GET /api/cluster_conf/{name} HTTP/1.1
Host: example.com
Status Codes

CrushRule

GET /api/crush_rule

List Crush Rule Configuration

Example request:

GET /api/crush_rule HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "max_size": 1,
        "min_size": 1,
        "rule_id": 1,
        "rule_name": "string",
        "ruleset": 1,
        "steps": [
            {}
        ],
        "type": 1
    }
    

  • 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 request:

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
DELETE /api/crush_rule/{name}
Parameters
  • name (string) –

Status Codes
GET /api/crush_rule/{name}
Parameters
  • name (string) –

Example request:

GET /api/crush_rule/{name} HTTP/1.1
Host: example.com
Status Codes

ErasureCodeProfile

GET /api/erasure_code_profile

List Erasure Code Profile Information

Example request:

GET /api/erasure_code_profile HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    [
        {
            "crush-failure-domain": "string",
            "k": 1,
            "m": 1,
            "name": "string",
            "plugin": "string",
            "technique": "string"
        }
    ]
    

  • 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 request:

POST /api/erasure_code_profile HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "name": "string"
}
Status Codes
DELETE /api/erasure_code_profile/{name}
Parameters
  • name (string) –

Status Codes
GET /api/erasure_code_profile/{name}
Parameters
  • name (string) –

Example request:

GET /api/erasure_code_profile/{name} HTTP/1.1
Host: example.com
Status Codes

FeatureTogglesEndpoint

GET /api/feature_toggles

Get List Of Features

Example request:

GET /api/feature_toggles HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "cephfs": true,
        "iscsi": true,
        "mirroring": true,
        "nfs": true,
        "rbd": true,
        "rgw": true
    }
    

  • 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.

Grafana

POST /api/grafana/dashboards
Status Codes
GET /api/grafana/url

List Grafana URL Instance

Example request:

GET /api/grafana/url HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "instance": "string"
    }
    

  • 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
  • params (string) –

Example request:

GET /api/grafana/validation/{params} HTTP/1.1
Host: example.com
Status Codes

Health

GET /api/health/full

Example request:

GET /api/health/full HTTP/1.1
Host: example.com
Status Codes
GET /api/health/minimal

Get Cluster’s minimal health report

Example request:

GET /api/health/minimal HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "client_perf": {
            "read_bytes_sec": 1,
            "read_op_per_sec": 1,
            "recovering_bytes_per_sec": 1,
            "write_bytes_sec": 1,
            "write_op_per_sec": 1
        },
        "df": {
            "stats": {
                "total_avail_bytes": 1,
                "total_bytes": 1,
                "total_used_raw_bytes": 1
            }
        },
        "fs_map": {
            "filesystems": [
                {
                    "mdsmap": {
                        "balancer": "string",
                        "compat": {
                            "compat": "string",
                            "incompat": "string",
                            "ro_compat": "string"
                        },
                        "created": "string",
                        "damaged": [
                            1
                        ],
                        "data_pools": [
                            1
                        ],
                        "enabled": true,
                        "epoch": 1,
                        "ever_allowed_features": 1,
                        "explicitly_allowed_features": 1,
                        "failed": [
                            1
                        ],
                        "flags": 1,
                        "fs_name": "string",
                        "in": [
                            1
                        ],
                        "info": "string",
                        "last_failure": 1,
                        "last_failure_osd_epoch": 1,
                        "max_file_size": 1,
                        "max_mds": 1,
                        "metadata_pool": 1,
                        "modified": "string",
                        "required_client_features": "string",
                        "root": 1,
                        "session_autoclose": 1,
                        "session_timeout": 1,
                        "standby_count_wanted": 1,
                        "stopped": [
                            1
                        ],
                        "tableserver": 1,
                        "up": "string"
                    },
                    "standbys": "string"
                }
            ]
        },
        "health": {
            "checks": "string",
            "mutes": "string",
            "status": "string"
        },
        "hosts": 1,
        "iscsi_daemons": {
            "down": 1,
            "up": 1
        },
        "mgr_map": {
            "active_name": "string",
            "standbys": "string"
        },
        "mon_status": {
            "monmap": {
                "mons": "string"
            },
            "quorum": [
                1
            ]
        },
        "osd_map": {
            "osds": [
                {
                    "in": 1,
                    "up": 1
                }
            ]
        },
        "pg_info": {
            "object_stats": {
                "num_object_copies": 1,
                "num_objects": 1,
                "num_objects_degraded": 1,
                "num_objects_misplaced": 1,
                "num_objects_unfound": 1
            },
            "pgs_per_osd": 1,
            "statuses": "string"
        },
        "pools": "string",
        "rgw": 1,
        "scrub_status": "string"
    }
    

  • 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.

Host

GET /api/host

List Host Specifications

Query Parameters
  • sources (string) – Host Sources

Example request:

GET /api/host HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "addr": "string",
        "ceph_version": "string",
        "hostname": "string",
        "labels": [
            "string"
        ],
        "service_type": "string",
        "services": [
            {
                "id": "string",
                "type": "string"
            }
        ],
        "sources": {
            "ceph": true,
            "orchestrator": true
        },
        "status": "string"
    }
    

  • 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 request:

POST /api/host HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "hostname": "string"
}
Status Codes
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:

GET /api/host/{hostname} HTTP/1.1
Host: example.com
Status Codes
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:

PUT /api/host/{hostname} HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "labels": "string"
}
Status Codes
GET /api/host/{hostname}/daemons
Parameters
  • hostname (string) –

Example request:

GET /api/host/{hostname}/daemons HTTP/1.1
Host: example.com
Status Codes
GET /api/host/{hostname}/devices
Parameters
  • hostname (string) –

Example request:

GET /api/host/{hostname}/devices HTTP/1.1
Host: example.com
Status Codes
GET /api/host/{hostname}/smart
Parameters
  • hostname (string) –

Example request:

GET /api/host/{hostname}/smart HTTP/1.1
Host: example.com
Status Codes

Iscsi

GET /api/iscsi/discoveryauth

Get Iscsi discoveryauth Details

Example request:

GET /api/iscsi/discoveryauth HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    [
        {
            "mutual_password": "string",
            "mutual_user": "string",
            "password": "string",
            "user": "string"
        }
    ]
    

  • 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

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:

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

IscsiTarget

GET /api/iscsi/target

Example request:

GET /api/iscsi/target HTTP/1.1
Host: example.com
Status Codes
POST /api/iscsi/target

Example request:

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
DELETE /api/iscsi/target/{target_iqn}
Parameters
  • target_iqn (string) –

Status Codes
GET /api/iscsi/target/{target_iqn}
Parameters
  • target_iqn (string) –

Example request:

GET /api/iscsi/target/{target_iqn} HTTP/1.1
Host: example.com
Status Codes
PUT /api/iscsi/target/{target_iqn}
Parameters
  • target_iqn (string) –

Example request:

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

Logs

GET /api/logs/all

Display Logs Configuration

Example request:

GET /api/logs/all HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "audit_log": [
            {
                "addrs": {
                    "addrvec": [
                        {
                            "addr": "string",
                            "nonce": 1,
                            "type": "string"
                        }
                    ]
                },
                "channel": "string",
                "message": "string",
                "name": "string",
                "priority": "string",
                "rank": "string",
                "seq": 1,
                "stamp": "string"
            }
        ],
        "clog": [
            "string"
        ]
    }
    

  • 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.

MdsPerfCounter

GET /api/perf_counters/mds/{service_id}
Parameters
  • service_id (string) –

Example request:

GET /api/perf_counters/mds/{service_id} HTTP/1.1
Host: example.com
Status Codes

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:

GET /api/mgr/module HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    [
        {
            "always_on": true,
            "enabled": true,
            "name": "string",
            "options": {
                "Option_name": {
                    "default_value": 1,
                    "desc": "string",
                    "enum_allowed": [
                        "string"
                    ],
                    "flags": 1,
                    "level": "string",
                    "long_desc": "string",
                    "max": "string",
                    "min": "string",
                    "name": "string",
                    "see_also": [
                        "string"
                    ],
                    "tags": [
                        "string"
                    ],
                    "type": "string"
                }
            }
        }
    ]
    

  • 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}

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:

GET /api/mgr/module/{module_name} HTTP/1.1
Host: example.com
Status Codes
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:

PUT /api/mgr/module/{module_name} HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "config": "string"
}
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:

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

MgrPerfCounter

GET /api/perf_counters/mgr/{service_id}
Parameters
  • service_id (string) –

Example request:

GET /api/perf_counters/mgr/{service_id} HTTP/1.1
Host: example.com
Status Codes

MonPerfCounter

GET /api/perf_counters/mon/{service_id}
Parameters
  • service_id (string) –

Example request:

GET /api/perf_counters/mon/{service_id} HTTP/1.1
Host: example.com
Status Codes

Monitor

GET /api/monitor

Get Monitor Details

Example request:

GET /api/monitor HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "in_quorum": [
            {
                "addr": "string",
                "name": "string",
                "priority": 1,
                "public_addr": "string",
                "public_addrs": {
                    "addrvec": [
                        {
                            "addr": "string",
                            "nonce": 1,
                            "type": "string"
                        }
                    ]
                },
                "rank": 1,
                "stats": {
                    "num_sessions": [
                        1
                    ]
                },
                "weight": 1
            }
        ],
        "mon_status": {
            "election_epoch": 1,
            "extra_probe_peers": [
                "string"
            ],
            "feature_map": {
                "client": [
                    {
                        "features": "string",
                        "num": 1,
                        "release": "string"
                    }
                ],
                "mds": [
                    {
                        "features": "string",
                        "num": 1,
                        "release": "string"
                    }
                ],
                "mgr": [
                    {
                        "features": "string",
                        "num": 1,
                        "release": "string"
                    }
                ],
                "mon": [
                    {
                        "features": "string",
                        "num": 1,
                        "release": "string"
                    }
                ]
            },
            "features": {
                "quorum_con": "string",
                "quorum_mon": [
                    "string"
                ],
                "required_con": "string",
                "required_mon": [
                    1
                ]
            },
            "monmap": {
                "created": "string",
                "epoch": 1,
                "features": {
                    "optional": [
                        "string"
                    ],
                    "persistent": [
                        "string"
                    ]
                },
                "fsid": "string",
                "min_mon_release": 1,
                "min_mon_release_name": "string",
                "modified": "string",
                "mons": [
                    {
                        "addr": "string",
                        "name": "string",
                        "priority": 1,
                        "public_addr": "string",
                        "public_addrs": {
                            "addrvec": [
                                {
                                    "addr": "string",
                                    "nonce": 1,
                                    "type": "string"
                                }
                            ]
                        },
                        "rank": 1,
                        "stats": {
                            "num_sessions": [
                                1
                            ]
                        },
                        "weight": 1
                    }
                ]
            },
            "name": "string",
            "outside_quorum": [
                "string"
            ],
            "quorum": [
                1
            ],
            "quorum_age": 1,
            "rank": 1,
            "state": "string",
            "sync_provider": [
                "string"
            ]
        },
        "out_quorum": [
            1
        ]
    }
    

  • 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.

NFS-Ganesha

GET /api/nfs-ganesha/daemon

List NFS-Ganesha daemons information

Example request:

GET /api/nfs-ganesha/daemon HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    [
        {
            "cluster_id": "string",
            "daemon_id": "string",
            "desc": "string",
            "status": 1
        }
    ]
    

  • 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

List all NFS-Ganesha exports

Example request:

GET /api/nfs-ganesha/export HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    [
        {
            "access_type": "string",
            "clients": [
                {
                    "access_type": "string",
                    "addresses": [
                        "string"
                    ],
                    "squash": "string"
                }
            ],
            "cluster_id": "string",
            "daemons": [
                "string"
            ],
            "export_id": 1,
            "fsal": {
                "filesystem": "string",
                "name": "string",
                "rgw_user_id": "string",
                "sec_label_xattr": "string",
                "user_id": "string"
            },
            "path": "string",
            "protocols": [
                1
            ],
            "pseudo": "string",
            "security_label": "string",
            "squash": "string",
            "tag": "string",
            "transports": [
                "string"
            ]
        }
    ]
    

  • 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

Creates a new NFS-Ganesha export

Example request:

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.

    Example response:

    HTTP/1.1 201 Created
    Content-Type: application/json
    
    {
        "access_type": "string",
        "clients": [
            {
                "access_type": "string",
                "addresses": [
                    "string"
                ],
                "squash": "string"
            }
        ],
        "cluster_id": "string",
        "daemons": [
            "string"
        ],
        "export_id": 1,
        "fsal": {
            "filesystem": "string",
            "name": "string",
            "rgw_user_id": "string",
            "sec_label_xattr": "string",
            "user_id": "string"
        },
        "path": "string",
        "protocols": [
            1
        ],
        "pseudo": "string",
        "security_label": "string",
        "squash": "string",
        "tag": "string",
        "transports": [
            "string"
        ]
    }
    

  • 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}

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:

GET /api/nfs-ganesha/export/{cluster_id}/{export_id} HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "access_type": "string",
        "clients": [
            {
                "access_type": "string",
                "addresses": [
                    "string"
                ],
                "squash": "string"
            }
        ],
        "cluster_id": "string",
        "daemons": [
            "string"
        ],
        "export_id": 1,
        "fsal": {
            "filesystem": "string",
            "name": "string",
            "rgw_user_id": "string",
            "sec_label_xattr": "string",
            "user_id": "string"
        },
        "path": "string",
        "protocols": [
            1
        ],
        "pseudo": "string",
        "security_label": "string",
        "squash": "string",
        "tag": "string",
        "transports": [
            "string"
        ]
    }
    

  • 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}

Updates an NFS-Ganesha export

Parameters
  • cluster_id (string) – Cluster identifier

  • export_id (integer) – Export ID

Example request:

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

    Resource updated.

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "access_type": "string",
        "clients": [
            {
                "access_type": "string",
                "addresses": [
                    "string"
                ],
                "squash": "string"
            }
        ],
        "cluster_id": "string",
        "daemons": [
            "string"
        ],
        "export_id": 1,
        "fsal": {
            "filesystem": "string",
            "name": "string",
            "rgw_user_id": "string",
            "sec_label_xattr": "string",
            "user_id": "string"
        },
        "path": "string",
        "protocols": [
            1
        ],
        "pseudo": "string",
        "security_label": "string",
        "squash": "string",
        "tag": "string",
        "transports": [
            "string"
        ]
    }
    

  • 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

Status of NFS-Ganesha management feature

Example request:

GET /api/nfs-ganesha/status HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "available": true,
        "message": "string"
    }
    

  • 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.

OSD

GET /api/osd

Example request:

GET /api/osd HTTP/1.1
Host: example.com
Status Codes
POST /api/osd

Example request:

POST /api/osd HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "data": "string",
    "method": "string",
    "tracking_id": "string"
}
Status Codes
GET /api/osd/flags

Display OSD Flags

Example request:

GET /api/osd/flags HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "list_of_flags": [
            "string"
        ]
    }
    

  • 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

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:

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

{
    "flags": "string"
}
Status Codes
GET /api/osd/safe_to_delete
type ids

int|[int]

Query Parameters
  • svc_ids (string) – (Required)

Example request:

GET /api/osd/safe_to_delete?svc_ids=string HTTP/1.1
Host: example.com
Status Codes
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:

GET /api/osd/safe_to_destroy?ids=string HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "active": [
            1
        ],
        "is_safe_to_destroy": true,
        "missing_stats": [
            "string"
        ],
        "safe_to_destroy": [
            "string"
        ],
        "stored_pgs": [
            "string"
        ]
    }
    

  • 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
  • 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:

GET /api/osd/{svc_id} HTTP/1.1
Host: example.com
Status Codes
PUT /api/osd/{svc_id}
Parameters
  • svc_id (string) –

Example request:

PUT /api/osd/{svc_id} HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "device_class": "string"
}
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:

GET /api/osd/{svc_id}/devices HTTP/1.1
Host: example.com
Status Codes
GET /api/osd/{svc_id}/histogram
return

Returns the histogram data.

Parameters
  • svc_id (string) –

Example request:

GET /api/osd/{svc_id}/histogram HTTP/1.1
Host: example.com
Status Codes
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:

PUT /api/osd/{svc_id}/mark HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "action": "string"
}
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:

POST /api/osd/{svc_id}/reweight HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "weight": "string"
}
Status Codes
POST /api/osd/{svc_id}/scrub
Parameters
  • svc_id (string) –

Query Parameters
  • deep (boolean) –

Example request:

POST /api/osd/{svc_id}/scrub HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "deep": true
}
Status Codes
GET /api/osd/{svc_id}/smart
Parameters
  • svc_id (string) –

Example request:

GET /api/osd/{svc_id}/smart HTTP/1.1
Host: example.com
Status Codes

Orchestrator

POST /api/orchestrator/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.

Example request:

POST /api/orchestrator/identify_device HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "device": "string",
    "duration": "string",
    "hostname": "string"
}
Status Codes
GET /api/orchestrator/status

Display Orchestrator Status

Example request:

GET /api/orchestrator/status HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "available": true,
        "description": "string"
    }
    

  • 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.

OrchestratorInventory

GET /api/orchestrator/inventory
Query Parameters
  • hostname (string) –

  • refresh (string) –

Example request:

GET /api/orchestrator/inventory HTTP/1.1
Host: example.com
Status Codes

OsdPerfCounter

GET /api/perf_counters/osd/{service_id}
Parameters
  • service_id (string) –

Example request:

GET /api/perf_counters/osd/{service_id} HTTP/1.1
Host: example.com
Status Codes

PerfCounters

GET /api/perf_counters

Display Perf Counters

Example request:

GET /api/perf_counters HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "mon.a": {
            ".cache_bytes": {
                "description": "string",
                "nick": "string",
                "priority": 1,
                "type": 1,
                "units": 1,
                "value": 1
            }
        }
    }
    

  • 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.

Pool

GET /api/pool

Display Pool List

Query Parameters
  • attrs (string) – Pool Attributes

  • stats (boolean) – Pool Stats

Example request:

GET /api/pool HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    [
        {
            "application_metadata": [
                "string"
            ],
            "auid": 1,
            "cache_min_evict_age": 1,
            "cache_min_flush_age": 1,
            "cache_mode": "string",
            "cache_target_dirty_high_ratio_micro": 1,
            "cache_target_dirty_ratio_micro": 1,
            "cache_target_full_ratio_micro": 1,
            "create_time": "string",
            "crush_rule": "string",
            "erasure_code_profile": "string",
            "expected_num_objects": 1,
            "fast_read": true,
            "flags": 1,
            "flags_names": "string",
            "grade_table": [
                "string"
            ],
            "hit_set_count": 1,
            "hit_set_grade_decay_rate": 1,
            "hit_set_params": {
                "type": "string"
            },
            "hit_set_period": 1,
            "hit_set_search_last_n": 1,
            "last_change": "string",
            "last_force_op_resend": "string",
            "last_force_op_resend_preluminous": "string",
            "last_force_op_resend_prenautilus": "string",
            "last_pg_merge_meta": {
                "last_epoch_clean": 1,
                "last_epoch_started": 1,
                "ready_epoch": 1,
                "source_pgid": "string",
                "source_version": "string",
                "target_version": "string"
            },
            "min_read_recency_for_promote": 1,
            "min_size": 1,
            "min_write_recency_for_promote": 1,
            "object_hash": 1,
            "options": {
                "pg_num_min": 1
            },
            "pg_autoscale_mode": "string",
            "pg_num": 1,
            "pg_num_pending": 1,
            "pg_num_target": 1,
            "pg_placement_num": 1,
            "pg_placement_num_target": 1,
            "pool": 1,
            "pool_name": "string",
            "pool_snaps": [
                "string"
            ],
            "quota_max_bytes": 1,
            "quota_max_objects": 1,
            "read_tier": 1,
            "removed_snaps": [
                "string"
            ],
            "size": 1,
            "snap_epoch": 1,
            "snap_mode": "string",
            "snap_seq": 1,
            "stripe_width": 1,
            "target_max_bytes": 1,
            "target_max_objects": 1,
            "tier_of": 1,
            "tiers": [
                "string"
            ],
            "type": "string",
            "use_gmt_hitset": true,
            "write_tier": 1
        }
    ]
    

  • 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 request:

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
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:

GET /api/pool/{pool_name} HTTP/1.1
Host: example.com
Status Codes
PUT /api/pool/{pool_name}
Parameters
  • pool_name (string) –

Example request:

PUT /api/pool/{pool_name} HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "application_metadata": "string",
    "configuration": "string",
    "flags": "string"
}
Status Codes
GET /api/pool/{pool_name}/configuration
Parameters
  • pool_name (string) –

Example request:

GET /api/pool/{pool_name}/configuration HTTP/1.1
Host: example.com
Status Codes

Prometheus

GET /api/prometheus

Example request:

GET /api/prometheus HTTP/1.1
Host: example.com
Status Codes
GET /api/prometheus/rules

Example request:

GET /api/prometheus/rules HTTP/1.1
Host: example.com
Status Codes
POST /api/prometheus/silence
Status Codes
DELETE /api/prometheus/silence/{s_id}
Parameters
  • s_id (string) –

Status Codes
GET /api/prometheus/silences

Example request:

GET /api/prometheus/silences HTTP/1.1
Host: example.com
Status Codes

PrometheusNotifications

GET /api/prometheus/notifications

Example request:

GET /api/prometheus/notifications HTTP/1.1
Host: example.com
Status Codes

Rbd

GET /api/block/image

Display Rbd Images

Query Parameters
  • pool_name (string) – Pool Name

Example request:

GET /api/block/image HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    [
        {
            "pool_name": "string",
            "status": 1,
            "value": [
                "string"
            ]
        }
    ]
    

  • 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 request:

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
GET /api/block/image/default_features

Example request:

GET /api/block/image/default_features HTTP/1.1
Host: example.com
Status Codes
DELETE /api/block/image/{image_spec}
Parameters
  • image_spec (string) –

Status Codes
GET /api/block/image/{image_spec}
Parameters
  • image_spec (string) –

Example request:

GET /api/block/image/{image_spec} HTTP/1.1
Host: example.com
Status Codes
PUT /api/block/image/{image_spec}
Parameters
  • image_spec (string) –

Example request:

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
POST /api/block/image/{image_spec}/copy
Parameters
  • image_spec (string) –

Example request:

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
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:

POST /api/block/image/{image_spec}/move_trash HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "delay": 1
}
Status Codes

RbdMirroring

GET /api/block/mirroring/site_name

Display Rbd Mirroring sitename

Example request:

GET /api/block/mirroring/site_name HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "site_name": "string"
    }
    

  • 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 request:

PUT /api/block/mirroring/site_name HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "site_name": "string"
}
Status Codes

RbdMirroringPoolBootstrap

POST /api/block/mirroring/pool/{pool_name}/bootstrap/peer
Parameters
  • pool_name (string) –

Example request:

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
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:

GET /api/block/mirroring/pool/{pool_name} HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "mirror_mode": "string"
    }
    

  • 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
  • pool_name (string) –

Example request:

PUT /api/block/mirroring/pool/{pool_name} HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "mirror_mode": "string"
}
Status Codes

RbdMirroringPoolPeer

GET /api/block/mirroring/pool/{pool_name}/peer
Parameters
  • pool_name (string) –

Example request:

GET /api/block/mirroring/pool/{pool_name}/peer HTTP/1.1
Host: example.com
Status Codes
POST /api/block/mirroring/pool/{pool_name}/peer
Parameters
  • pool_name (string) –

Example request:

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
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:

GET /api/block/mirroring/pool/{pool_name}/peer/{peer_uuid} HTTP/1.1
Host: example.com
Status Codes
PUT /api/block/mirroring/pool/{pool_name}/peer/{peer_uuid}
Parameters
  • pool_name (string) –

  • peer_uuid (string) –

Example request:

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

RbdMirroringSummary

GET /api/block/mirroring/summary

Display Rbd Mirroring Summary

Example request:

GET /api/block/mirroring/summary HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "content_data": {
            "daemons": [
                "string"
            ],
            "image_error": [
                "string"
            ],
            "image_ready": [
                "string"
            ],
            "image_syncing": [
                "string"
            ],
            "pools": [
                {
                    "health": "string",
                    "health_color": "string",
                    "mirror_mode": "string",
                    "name": "string",
                    "peer_uuids": [
                        "string"
                    ]
                }
            ]
        },
        "site_name": "string",
        "status": 1
    }
    

  • 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.

RbdNamespace

GET /api/block/pool/{pool_name}/namespace
Parameters
  • pool_name (string) –

Example request:

GET /api/block/pool/{pool_name}/namespace HTTP/1.1
Host: example.com
Status Codes
POST /api/block/pool/{pool_name}/namespace
Parameters
  • pool_name (string) –

Example request:

POST /api/block/pool/{pool_name}/namespace HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "namespace": "string"
}
Status Codes
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:

POST /api/block/image/{image_spec}/snap HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "snapshot_name": "string"
}
Status Codes
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:

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
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:

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
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:

GET /api/block/image/trash HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    [
        {
            "pool_name": "string",
            "status": 1,
            "value": [
                "string"
            ]
        }
    ]
    

  • 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

Remove all expired images from trash.

Query Parameters
  • pool_name (string) –

Example request:

POST /api/block/image/trash/purge HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "pool_name": "string"
}
Status Codes
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:

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

Rgw

GET /api/rgw/status

Display RGW Status

Example request:

GET /api/rgw/status HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "available": true,
        "message": "string"
    }
    

  • 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.

RgwBucket

GET /api/rgw/bucket
Query Parameters
  • stats (boolean) –

Example request:

GET /api/rgw/bucket HTTP/1.1
Host: example.com
Status Codes
POST /api/rgw/bucket

Example request:

POST /api/rgw/bucket HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "bucket": "string",
    "lock_enabled": "string",
    "lock_mode": "string",
    "lock_retention_period_days": "string",
    "lock_retention_period_years": "string",
    "placement_target": "string",
    "uid": "string",
    "zonegroup": "string"
}
Status Codes
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:

GET /api/rgw/bucket/{bucket} HTTP/1.1
Host: example.com
Status Codes
PUT /api/rgw/bucket/{bucket}
Parameters
  • bucket (string) –

Example request:

PUT /api/rgw/bucket/{bucket} HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "bucket_id": "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

RgwDaemon

GET /api/rgw/daemon

Display RGW Daemons

Example request:

GET /api/rgw/daemon HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    [
        {
            "id": "string",
            "server_hostname": "string",
            "version": "string"
        }
    ]
    

  • 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
  • svc_id (string) –

Example request:

GET /api/rgw/daemon/{svc_id} HTTP/1.1
Host: example.com
Status Codes

RgwMirrorPerfCounter

GET /api/perf_counters/rbd-mirror/{service_id}
Parameters
  • service_id (string) –

Example request:

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

RgwPerfCounter

GET /api/perf_counters/rgw/{service_id}
Parameters
  • service_id (string) –

Example request:

GET /api/perf_counters/rgw/{service_id} HTTP/1.1
Host: example.com
Status Codes

RgwSite

GET /api/rgw/site
Query Parameters
  • query (string) –

Example request:

GET /api/rgw/site HTTP/1.1
Host: example.com
Status Codes

RgwUser

GET /api/rgw/user

Display RGW Users

Example request:

GET /api/rgw/user HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "list_of_users": [
            "string"
        ]
    }
    

  • 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 request:

POST /api/rgw/user HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "access_key": "string",
    "display_name": "string",
    "email": "string",
    "generate_key": "string",
    "max_buckets": "string",
    "secret_key": "string",
    "suspended": "string",
    "uid": "string"
}
Status Codes
GET /api/rgw/user/get_emails

Example request:

GET /api/rgw/user/get_emails HTTP/1.1
Host: example.com
Status Codes
DELETE /api/rgw/user/{uid}
Parameters
  • uid (string) –

Status Codes
GET /api/rgw/user/{uid}
Parameters
  • uid (string) –

Example request:

GET /api/rgw/user/{uid} HTTP/1.1
Host: example.com
Status Codes
PUT /api/rgw/user/{uid}
Parameters
  • uid (string) –

Example request:

PUT /api/rgw/user/{uid} HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "display_name": "string",
    "email": "string",
    "max_buckets": "string",
    "suspended": "string"
}
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:

POST /api/rgw/user/{uid}/capability HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "perm": "string",
    "type": "string"
}
Status Codes
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:

POST /api/rgw/user/{uid}/key HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "access_key": "string",
    "generate_key": "string",
    "key_type": "string",
    "secret_key": "string",
    "subuser": "string"
}
Status Codes
GET /api/rgw/user/{uid}/quota
Parameters
  • uid (string) –

Example request:

GET /api/rgw/user/{uid}/quota HTTP/1.1
Host: example.com
Status Codes
PUT /api/rgw/user/{uid}/quota
Parameters
  • uid (string) –

Example request:

PUT /api/rgw/user/{uid}/quota HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "enabled": "string",
    "max_objects": "string",
    "max_size_kb": 1,
    "quota_type": "string"
}
Status Codes
POST /api/rgw/user/{uid}/subuser
Parameters
  • uid (string) –

Example request:

POST /api/rgw/user/{uid}/subuser HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "access": "string",
    "access_key": "string",
    "generate_secret": "string",
    "key_type": "string",
    "secret_key": "string",
    "subuser": "string"
}
Status Codes
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:

GET /api/role HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    [
        {
            "description": "string",
            "name": "string",
            "scopes_permissions": {
                "cephfs": [
                    "string"
                ]
            },
            "system": true
        }
    ]
    

  • 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 request:

POST /api/role HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "description": "string",
    "name": "string",
    "scopes_permissions": "string"
}
Status Codes
DELETE /api/role/{name}
Parameters
  • name (string) –

Status Codes
GET /api/role/{name}
Parameters
  • name (string) –

Example request:

GET /api/role/{name} HTTP/1.1
Host: example.com
Status Codes
PUT /api/role/{name}
Parameters
  • name (string) –

Example request:

PUT /api/role/{name} HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "description": "string",
    "scopes_permissions": "string"
}
Status Codes
POST /api/role/{name}/clone
Parameters
  • name (string) –

Example request:

POST /api/role/{name}/clone HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "new_name": "string"
}
Status Codes

Service

GET /api/service
Query Parameters
  • service_name (string) –

Example request:

GET /api/service HTTP/1.1
Host: example.com
Status Codes
POST /api/service
param service_spec

The service specification as JSON.

param service_name

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

return

None

Example request:

POST /api/service HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "service_name": "string",
    "service_spec": "string"
}
Status Codes
GET /api/service/known_types

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

Example request:

GET /api/service/known_types HTTP/1.1
Host: example.com
Status Codes
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:

GET /api/service/{service_name} HTTP/1.1
Host: example.com
Status Codes
GET /api/service/{service_name}/daemons
Parameters
  • service_name (string) –

Example request:

GET /api/service/{service_name}/daemons HTTP/1.1
Host: example.com
Status Codes

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:

GET /api/settings HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    [
        {
            "default": true,
            "name": "string",
            "type": "string",
            "value": true
        }
    ]
    

  • 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
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:

GET /api/settings/{name} HTTP/1.1
Host: example.com
Status Codes
PUT /api/settings/{name}
Parameters
  • name (string) –

Example request:

PUT /api/settings/{name} HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "value": "string"
}
Status Codes

Summary

GET /api/summary

Display Summary

Example request:

GET /api/summary HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "executing_tasks": [
            "string"
        ],
        "finished_tasks": [
            {
                "begin_time": "string",
                "duration": 1,
                "end_time": "string",
                "exception": "string",
                "metadata": {
                    "pool": 1
                },
                "name": "string",
                "progress": 1,
                "ret_value": "string",
                "success": true
            }
        ],
        "have_mon_connection": "string",
        "health_status": "string",
        "mgr_host": "string",
        "mgr_id": "string",
        "rbd_mirroring": {
            "errors": 1,
            "warnings": 1
        },
        "version": "string"
    }
    

  • 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.

Task

GET /api/task

Display Tasks

Query Parameters
  • name (string) – Task Name

Example request:

GET /api/task HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "executing_tasks": "string",
        "finished_tasks": [
            {
                "begin_time": "string",
                "duration": 1,
                "end_time": "string",
                "exception": true,
                "metadata": {
                    "pool": 1
                },
                "name": "string",
                "progress": 1,
                "ret_value": true,
                "success": true
            }
        ]
    }
    

  • 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.

TcmuRunnerPerfCounter

GET /api/perf_counters/tcmu-runner/{service_id}
Parameters
  • service_id (string) –

Example request:

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

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:

PUT /api/telemetry HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "enable": true,
    "license_name": "string"
}
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:

GET /api/telemetry/report HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "device_report": "string",
        "report": {
            "balancer": {
                "active": true,
                "mode": "string"
            },
            "channels": [
                "string"
            ],
            "channels_available": [
                "string"
            ],
            "config": {
                "active_changed": [
                    "string"
                ],
                "cluster_changed": [
                    "string"
                ]
            },
            "crashes": [
                1
            ],
            "created": "string",
            "crush": {
                "bucket_algs": {
                    "straw2": 1
                },
                "bucket_sizes": {
                    "1": 1,
                    "3": 1
                },
                "bucket_types": {
                    "1": 1,
                    "11": 1
                },
                "compat_weight_set": true,
                "device_classes": [
                    1
                ],
                "num_buckets": 1,
                "num_devices": 1,
                "num_rules": 1,
                "num_types": 1,
                "num_weight_sets": 1,
                "tunables": {
                    "allowed_bucket_algs": 1,
                    "choose_local_fallback_tries": 1,
                    "choose_local_tries": 1,
                    "choose_total_tries": 1,
                    "chooseleaf_descend_once": 1,
                    "chooseleaf_stable": 1,
                    "chooseleaf_vary_r": 1,
                    "has_v2_rules": 1,
                    "has_v3_rules": 1,
                    "has_v4_buckets": 1,
                    "has_v5_rules": 1,
                    "legacy_tunables": 1,
                    "minimum_required_version": "string",
                    "optimal_tunables": 1,
                    "profile": "string",
                    "require_feature_tunables": 1,
                    "require_feature_tunables2": 1,
                    "require_feature_tunables3": 1,
                    "require_feature_tunables5": 1,
                    "straw_calc_version": 1
                }
            },
            "fs": {
                "count": 1,
                "feature_flags": {
                    "enable_multiple": true,
                    "ever_enabled_multiple": true
                },
                "filesystems": [
                    1
                ],
                "num_standby_mds": 1,
                "total_num_mds": 1
            },
            "hosts": {
                "num": 1,
                "num_with_mds": 1,
                "num_with_mgr": 1,
                "num_with_mon": 1,
                "num_with_osd": 1
            },
            "leaderboard": true,
            "license": "string",
            "metadata": {
                "mon": {
                    "arch": {
                        "x86_64": 1
                    },
                    "ceph_version": {
                        "ceph version 16.0.0-3151-gf202994fcf": 1
                    },
                    "cpu": {
                        "Intel(R) Core(TM) i7-8665U CPU @ 1.90GHz": 1
                    },
                    "distro": {
                        "centos": 1
                    },
                    "distro_description": {
                        "CentOS Linux 8 (Core)": 1
                    },
                    "kernel_description": {
                        "#1 SMP Wed Jul 1 19:53:01 UTC 2020": 1
                    },
                    "kernel_version": {
                        "5.7.7-200.fc32.x86_64": 1
                    },
                    "os": {
                        "Linux": 1
                    }
                },
                "osd": {
                    "arch": {
                        "x86_64": 1
                    },
                    "ceph_version": {
                        "ceph version 16.0.0-3151-gf202994fcf": 1
                    },
                    "cpu": {
                        "Intel(R) Core(TM) i7-8665U CPU @ 1.90GHz": 1
                    },
                    "distro": {
                        "centos": 1
                    },
                    "distro_description": {
                        "CentOS Linux 8 (Core)": 1
                    },
                    "kernel_description": {
                        "#1 SMP Wed Jul 1 19:53:01 UTC 2020": 1
                    },
                    "kernel_version": {
                        "5.7.7-200.fc32.x86_64": 1
                    },
                    "os": {
                        "Linux": 1
                    },
                    "osd_objectstore": {
                        "bluestore": 1
                    },
                    "rotational": {
                        "1": 1
                    }
                }
            },
            "mon": {
                "count": 1,
                "features": {
                    "optional": [
                        1
                    ],
                    "persistent": [
                        "string"
                    ]
                },
                "ipv4_addr_mons": 1,
                "ipv6_addr_mons": 1,
                "min_mon_release": 1,
                "v1_addr_mons": 1,
                "v2_addr_mons": 1
            },
            "osd": {
                "cluster_network": true,
                "count": 1,
                "require_min_compat_client": "string",
                "require_osd_release": "string"
            },
            "pools": [
                {
                    "cache_mode": "string",
                    "erasure_code_profile": "string",
                    "min_size": 1,
                    "pg_autoscale_mode": "string",
                    "pg_num": 1,
                    "pgp_num": 1,
                    "pool": 1,
                    "size": 1,
                    "target_max_bytes": 1,
                    "target_max_objects": 1,
                    "type": "string"
                }
            ],
            "rbd": {
                "mirroring_by_pool": [
                    true
                ],
                "num_images_by_pool": [
                    1
                ],
                "num_pools": 1
            },
            "report_id": "string",
            "report_timestamp": "string",
            "report_version": 1,
            "rgw": {
                "count": 1,
                "frontends": [
                    "string"
                ],
                "zonegroups": 1,
                "zones": 1
            },
            "services": {
                "rgw": 1
            },
            "usage": {
                "pg_num": 1,
                "pools": 1,
                "total_avail_bytes": 1,
                "total_bytes": 1,
                "total_used_bytes": 1
            }
        }
    }
    

  • 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

GET /api/user

Get List Of Users

Example request:

GET /api/user HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "email": "string",
        "enabled": true,
        "lastUpdate": 1,
        "name": "string",
        "pwdExpirationDate": "string",
        "pwdUpdateRequired": true,
        "roles": [
            "string"
        ],
        "username": "string"
    }
    

  • 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 request:

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
DELETE /api/user/{username}
Parameters
  • username (string) –

Status Codes
GET /api/user/{username}
Parameters
  • username (string) –

Example request:

GET /api/user/{username} HTTP/1.1
Host: example.com
Status Codes
PUT /api/user/{username}
Parameters
  • username (string) –

Example request:

PUT /api/user/{username} 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

UserChangePassword

POST /api/user/{username}/change_password
Parameters
  • username (string) –

Example request:

POST /api/user/{username}/change_password HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "new_password": "string",
    "old_password": "string"
}
Status Codes

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:

POST /api/user/validate_password HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "old_password": "string",
    "password": "string",
    "username": "string"
}
Status Codes