OpenAPI spec for admin API #379
1 changed files with 16 additions and 1 deletions
|
@ -30,6 +30,7 @@ paths:
|
||||||
application/json:
|
application/json:
|
||||||
schema:
|
schema:
|
||||||
type: object
|
type: object
|
||||||
|
required: [ node, garageVersion, knownNodes, layout ]
|
||||||
properties:
|
properties:
|
||||||
node:
|
node:
|
||||||
type: string
|
type: string
|
||||||
|
@ -69,6 +70,7 @@ paths:
|
||||||
description: |
|
description: |
|
||||||
Instructs this Garage node to connect to other Garage nodes at specified `<node_id>@<net_address>`. `node_id` is generated automatically on node start.
|
Instructs this Garage node to connect to other Garage nodes at specified `<node_id>@<net_address>`. `node_id` is generated automatically on node start.
|
||||||
requestBody:
|
requestBody:
|
||||||
|
required: true
|
||||||
content:
|
content:
|
||||||
application/json:
|
application/json:
|
||||||
schema:
|
schema:
|
||||||
|
@ -147,6 +149,7 @@ paths:
|
||||||
To remove a node, set it to `null` instead of passing a configuration object.
|
To remove a node, set it to `null` instead of passing a configuration object.
|
||||||
|
|
||||||
Contrary to the CLI that may update only a subset of the fields capacity, zone and tags, when calling this API all of these values must be specified.
|
Contrary to the CLI that may update only a subset of the fields capacity, zone and tags, when calling this API all of these values must be specified.
|
||||||
|
required: true
|
||||||
content:
|
content:
|
||||||
application/json:
|
application/json:
|
||||||
schema:
|
schema:
|
||||||
|
@ -180,6 +183,7 @@ paths:
|
||||||
requestBody:
|
requestBody:
|
||||||
description: |
|
description: |
|
||||||
Similarly to the CLI, the body must include the version of the new layout that will be created, which MUST be 1 + the value of the currently existing layout in the cluster.
|
Similarly to the CLI, the body must include the version of the new layout that will be created, which MUST be 1 + the value of the currently existing layout in the cluster.
|
||||||
|
required: true
|
||||||
content:
|
content:
|
||||||
application/json:
|
application/json:
|
||||||
schema:
|
schema:
|
||||||
|
@ -204,6 +208,7 @@ paths:
|
||||||
requestBody:
|
requestBody:
|
||||||
description: |
|
description: |
|
||||||
Reverting the staged changes is done by incrementing the version number and clearing the contents of the staged change list. Similarly to the CLI, the body must include the incremented version number, which MUST be 1 + the value of the currently existing layout in the cluster.
|
Reverting the staged changes is done by incrementing the version number and clearing the contents of the staged change list. Similarly to the CLI, the body must include the incremented version number, which MUST be 1 + the value of the currently existing layout in the cluster.
|
||||||
|
required: true
|
||||||
content:
|
content:
|
||||||
application/json:
|
application/json:
|
||||||
schema:
|
schema:
|
||||||
|
@ -241,6 +246,7 @@ paths:
|
||||||
name: ""
|
name: ""
|
||||||
items:
|
items:
|
||||||
type: object
|
type: object
|
||||||
|
required: [ id ]
|
||||||
properties:
|
properties:
|
||||||
id:
|
id:
|
||||||
type: string
|
type: string
|
||||||
|
@ -255,7 +261,8 @@ paths:
|
||||||
Creates a new API access key.
|
Creates a new API access key.
|
||||||
requestBody:
|
requestBody:
|
||||||
description: |
|
description: |
|
||||||
"You can optionnaly set a friendly name for this key"
|
"You can set a friendly name for this key, send an empty string instead"
|
||||||
|
required: true
|
||||||
content:
|
content:
|
||||||
application/json:
|
application/json:
|
||||||
schema:
|
schema:
|
||||||
|
@ -343,6 +350,7 @@ paths:
|
||||||
requestBody:
|
requestBody:
|
||||||
description: |
|
description: |
|
||||||
For a given key, provide a first set with the permissions to grant, and a second set with the permissions to remove
|
For a given key, provide a first set with the permissions to grant, and a second set with the permissions to remove
|
||||||
|
required: true
|
||||||
content:
|
content:
|
||||||
application/json:
|
application/json:
|
||||||
schema:
|
schema:
|
||||||
|
@ -418,10 +426,12 @@ paths:
|
||||||
requestBody:
|
requestBody:
|
||||||
description: |
|
description: |
|
||||||
Information on the key to import
|
Information on the key to import
|
||||||
|
required: true
|
||||||
content:
|
content:
|
||||||
application/json:
|
application/json:
|
||||||
schema:
|
schema:
|
||||||
type: object
|
type: object
|
||||||
|
required: [ name, accessKeyId, secretAccessKey ]
|
||||||
properties:
|
properties:
|
||||||
name:
|
name:
|
||||||
type: string
|
type: string
|
||||||
|
@ -452,6 +462,7 @@ components:
|
||||||
schemas:
|
schemas:
|
||||||
NodeNetworkInfo:
|
NodeNetworkInfo:
|
||||||
type: object
|
type: object
|
||||||
|
required: [ addr, is_up, last_seen_secs_ago, hostname ]
|
||||||
properties:
|
properties:
|
||||||
addr:
|
addr:
|
||||||
type: string
|
type: string
|
||||||
|
@ -461,11 +472,14 @@ components:
|
||||||
example: true
|
example: true
|
||||||
last_seen_secs_ago:
|
last_seen_secs_ago:
|
||||||
type: integer
|
type: integer
|
||||||
|
nullable: true
|
||||||
example: 9
|
example: 9
|
||||||
hostname:
|
hostname:
|
||||||
type: string
|
type: string
|
||||||
example: "node1"
|
example: "node1"
|
||||||
NodeClusterInfo:
|
NodeClusterInfo:
|
||||||
|
type: object
|
||||||
|
required: [ zone, capacity, tags ]
|
||||||
properties:
|
properties:
|
||||||
zone:
|
zone:
|
||||||
type: string
|
type: string
|
||||||
|
@ -484,6 +498,7 @@ components:
|
||||||
type: string
|
type: string
|
||||||
ClusterLayout:
|
ClusterLayout:
|
||||||
type: object
|
type: object
|
||||||
|
required: [ version, roles, stagedRoleChanges ]
|
||||||
properties:
|
properties:
|
||||||
version:
|
version:
|
||||||
type: integer
|
type: integer
|
||||||
|
|
Loading…
Reference in a new issue