Add endpoints to swagger doc

pull/15169/head
Daniel García Aubert 5 years ago
parent 8b92fa148b
commit 237c6c19fd

@ -41,6 +41,9 @@ servers:
user:
default: username
description: Your username
api_key:
default: wadus
description: Your api key token
paths:
'/v4/federated_servers':
post:
@ -60,13 +63,13 @@ paths:
content:
application/json:
schema:
$ref: '#/components/schemas/FederatedServer'
$ref: '#/components/schemas/FederatedServerRequest'
example:
federated_server_name: amazon
federated_server_name: example_server
mode: read-only
dbname: testdb
host: myhostname.us-east-2.rds.amazonaws.com
port: 5432
dbname: geometries
host: example.com
port: "5432"
username: read_only_user
password: secret
responses:
@ -75,7 +78,7 @@ paths:
content:
application/json:
schema:
$ref: '#/components/schemas/RegisterFederatedServerResponse'
$ref: '#/components/schemas/FederatedServerResponse'
example:
federated_server_name: example_server
mode: read-only
@ -91,7 +94,7 @@ paths:
x-code-samples:
- lang: Curl
source: |
curl -X POST -H "Content-Type: application/json" "https://documentation.carto.com/api/v4/federated_servers?api_key=bec1667cdedaa6fd70165f5099981d0c61ec1112" -d ''{
curl -X POST -H "Content-Type: application/json" "https://{user}.carto.com/api/v4/federated_servers?api_key={api_key}" -d ''{
"federated_server_name": "example_server",
"mode": "read-only",
"dbname": "geometries",
@ -100,9 +103,171 @@ paths:
"username": "remote_user",
"password": "remote_password"
}''
get:
summary: List all existing Federated Servers
description: |
This endpoint allows you to access the information of all registered servers accesible by the caller.
parameters:
- in: query
name: api_key
required: true
schema:
type: string
description: The authorization key token
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/ListOfFederatedServerResponse'
example:
- federated_server_name: example_server
mode: read-only
dbname: geometries
host: example.com
port: "5432"
- federated_server_name: another_example_server
mode: read-only
dbname: countries
host: example.com
port: "5432"
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
x-code-samples:
- lang: Curl
source: |
curl -X GET "https://{user}.carto.com/api/v4/federated_servers?api_key={api_key}"
'/v4/federated_servers/{federated_server_name}':
get:
summary: Get a Federated Server
description: |
This endpoint returns the configuration of a single server that matches the federated server name.
parameters:
- in: path
name: federated_server_name
required: true
schema:
type: string
description: The name of the federated server
- in: query
name: api_key
required: true
schema:
type: string
description: The authorization key token
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/FederatedServerResponse'
example:
federated_server_name: example_server
mode: read-only
dbname: geometries
host: example.com
port: "5432"
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
x-code-samples:
- lang: Curl
source: |
curl -X GET "https://{user}.carto.com/api/v4/federated_servers/{federated_server_name}?api_key={api_key}"
put:
summary: Update a Federated Server
description: |
This endpoint allows the modification of an already registered server. If the server didn't already exist it will create it.
parameters:
- in: path
name: federated_server_name
required: true
schema:
type: string
description: The name of the federated server
- in: query
name: api_key
required: true
schema:
type: string
description: The authorization key token
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/FederatedServerRequest'
example:
mode: read-only
dbname: geometries
host: example.com
port: "5432"
username: read_only_user
password: secret
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/FederatedServerResponse'
example:
federated_server_name: example_server
mode: read-only
dbname: geometries
host: example.com
port: "5432"
'204':
description: Updated
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'422':
$ref: '#/components/responses/UnprocessableEntity'
x-code-samples:
- lang: Curl
source: |
curl -X PUT -H "Content-Type: application/json" "https://{user}.carto.com/api/v4/federated_servers/example_server?api_key={api_key}" -d ''{
"mode": "read-only",
"dbname": "geometries",
"host": "example.com",
"port": "5432",
"username": "new_user",
"password": "new_password"
}''
delete:
summary: Unregister a Federated Server
description: |
This endpoint will remove a registered server and all the registered tables created through it.
parameters:
- in: path
name: federated_server_name
required: true
schema:
type: string
description: The name of the federated server
- in: query
name: api_key
required: true
schema:
type: string
description: The authorization key token
responses:
'204':
description: Unregistered
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
components:
schemas:
FederatedServer:
FederatedServerRequest:
type: object
properties:
federated_server_name:
@ -135,7 +300,7 @@ components:
type: string
title: password
description: the roles secret password
RegisterFederatedServerResponse:
FederatedServerResponse:
type: object
properties:
federated_server_name:
@ -160,6 +325,10 @@ components:
type: string
title: port
description: available port number
ListOfFederatedServerResponse:
type: array
items:
$ref: '#/components/schemas/FederatedServerResponse'
responses:
NotFound:
description: The specified resource was not found

Loading…
Cancel
Save