Created
July 17, 2020 10:27
-
-
Save Alex0007/3a276227b02768e78d6f96880468b0e0 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
openapi: 3.0.0 | |
info: | |
title: 'Webdock API' | |
description: 'Webdock awesome API!' | |
version: 1.0.0 | |
servers: | |
- | |
url: 'https://api.webdock.localhost' | |
description: 'Webdock API parameters' | |
paths: | |
/account/publicKeys: | |
get: | |
tags: | |
- publicKeys | |
summary: 'Get a list of public keys' | |
description: 'Get a list of public keys for the user account' | |
operationId: getPublicKeys | |
responses: | |
'200': | |
description: 'List of public keys' | |
content: | |
application/json: | |
schema: | |
type: array | |
items: | |
$ref: '#/components/schemas/PublicKeyDTO' | |
security: | |
- | |
webdock_auth: | |
- 'read:account' | |
post: | |
tags: | |
- publicKeys | |
summary: 'Add a new public key' | |
description: 'Add a new public key to the user account' | |
operationId: postPublicKeys | |
requestBody: | |
$ref: '#/components/requestBodies/CreatePublicKeyModel' | |
responses: | |
'200': | |
description: 'Created PublicKey' | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/PublicKeyDTO' | |
'400': | |
description: 'Bad request' | |
security: | |
- | |
webdock_auth: | |
- 'write:account' | |
'/account/publicKeys/{id}': | |
delete: | |
tags: | |
- publicKeys | |
summary: 'Deletes a PublicKey' | |
operationId: deletePublicKey | |
parameters: | |
- | |
name: id | |
in: path | |
description: 'PublicKey ID to delete' | |
required: true | |
schema: | |
type: integer | |
format: int64 | |
responses: | |
'200': | |
description: 'PublicKey deleted succesfully' | |
'404': | |
description: 'PublicKey not found' | |
security: | |
- | |
webdock_auth: | |
- 'write:account' | |
/account/scripts: | |
get: | |
tags: | |
- userScripts | |
summary: 'Get a list of user scripts' | |
description: 'Get a list of user scripts' | |
operationId: getUserScripts | |
responses: | |
'200': | |
description: 'List of user scripts' | |
content: | |
application/json: | |
schema: | |
type: array | |
items: | |
$ref: '#/components/schemas/ScriptDTO' | |
security: | |
- | |
webdock_auth: | |
- 'read:account' | |
post: | |
tags: | |
- userScripts | |
summary: 'Create a user script' | |
description: 'Create a user script' | |
operationId: createUserScript | |
requestBody: | |
$ref: '#/components/requestBodies/CreateUserScriptModel' | |
responses: | |
'200': | |
description: 'The newly created user script' | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/ScriptDTO' | |
'400': | |
description: 'Bad request' | |
security: | |
- | |
webdock_auth: | |
- 'write:account' | |
'/account/scripts/{scriptId}': | |
get: | |
tags: | |
- userScripts | |
summary: 'Get a user script by ID' | |
description: 'Get a user script by ID' | |
operationId: getUserScriptById | |
parameters: | |
- | |
name: scriptId | |
in: path | |
description: 'ID of the script' | |
required: true | |
schema: | |
type: integer | |
format: int64 | |
responses: | |
'200': | |
description: 'A user script' | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/ScriptDTO' | |
'404': | |
description: 'Script not found' | |
security: | |
- | |
webdock_auth: | |
- 'read:account' | |
delete: | |
tags: | |
- userScripts | |
summary: 'Delete a user script' | |
description: 'Delete a user script' | |
operationId: deleteUserScript | |
parameters: | |
- | |
name: scriptId | |
in: path | |
description: 'ID of the script' | |
required: true | |
schema: | |
type: integer | |
format: int64 | |
responses: | |
'200': | |
description: 'User script deleted sucessfully' | |
'404': | |
description: 'Script not found' | |
security: | |
- | |
webdock_auth: | |
- 'write:account' | |
patch: | |
tags: | |
- userScripts | |
summary: 'Update a user script' | |
description: 'Update a user script' | |
operationId: patchUserScript | |
parameters: | |
- | |
name: scriptId | |
in: path | |
description: 'ID of the script' | |
required: true | |
schema: | |
type: integer | |
format: int64 | |
requestBody: | |
$ref: '#/components/requestBodies/CreateUserScriptModel' | |
responses: | |
'200': | |
description: 'The updated user script' | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/ScriptDTO' | |
'400': | |
description: 'Bad request' | |
'404': | |
description: 'Script not found' | |
security: | |
- | |
webdock_auth: | |
- 'write:account' | |
/ping: | |
get: | |
tags: | |
- ping | |
summary: 'Send a ping request to the server' | |
description: 'Send a ping request to the server and get a response back' | |
operationId: getPing | |
responses: | |
'200': | |
description: 'Ping response' | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/Ping' | |
/scripts: | |
get: | |
tags: | |
- scripts | |
summary: 'Get a list of public scripts' | |
description: 'Get a list of public scripts' | |
operationId: getScripts | |
responses: | |
'200': | |
description: 'List of public scripts' | |
content: | |
application/json: | |
schema: | |
type: array | |
items: | |
$ref: '#/components/schemas/ScriptDTO' | |
security: | |
- | |
webdock_auth: | |
- 'read:account' | |
/servers: | |
get: | |
tags: | |
- server | |
summary: 'Get a list of servers' | |
description: 'Get a list of servers' | |
operationId: getServers | |
parameters: | |
- | |
name: status | |
in: query | |
description: 'Status of the server' | |
required: false | |
schema: | |
format: string | |
default: all | |
enum: | |
- all | |
- suspended | |
- active | |
responses: | |
'200': | |
description: 'List of servers' | |
content: | |
application/json: | |
schema: | |
type: array | |
items: | |
$ref: '#/components/schemas/ServerDTO' | |
security: | |
- | |
webdock_auth: | |
- 'read:servers' | |
'/servers/{serverSlug}': | |
get: | |
tags: | |
- server | |
summary: 'Get a server by slug' | |
description: 'Get a server by slug' | |
operationId: getServerBySlug | |
parameters: | |
- | |
name: serverSlug | |
in: path | |
description: 'Slug of the server' | |
required: true | |
schema: | |
type: string | |
responses: | |
'200': | |
description: 'List of servers' | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/ServerDTO' | |
'404': | |
description: 'Server not found' | |
security: | |
- | |
webdock_auth: | |
- 'read:servers' | |
patch: | |
tags: | |
- server | |
summary: 'Update a server' | |
description: 'Update a server' | |
operationId: patchServer | |
parameters: | |
- | |
name: serverSlug | |
in: path | |
description: 'Slug of the server' | |
required: true | |
schema: | |
type: string | |
requestBody: | |
$ref: '#/components/requestBodies/PatchServerModel' | |
responses: | |
'200': | |
description: Server | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/CallbackDTO' | |
'404': | |
description: 'Server not found' | |
security: | |
- | |
webdock_auth: | |
- 'write:servers' | |
'/servers/{serverSlug}/scripts': | |
get: | |
tags: | |
- serverScripts | |
summary: 'Get a list of server scripts' | |
description: 'Get a list of server scripts' | |
operationId: getServerScripts | |
parameters: | |
- | |
name: serverSlug | |
in: path | |
description: 'Slug of the server' | |
required: true | |
schema: | |
type: string | |
responses: | |
'200': | |
description: 'List of server scripts' | |
content: | |
application/json: | |
schema: | |
type: array | |
items: | |
$ref: '#/components/schemas/ServerScriptDTO' | |
'404': | |
description: 'Server not found' | |
security: | |
- | |
webdock_auth: | |
- 'read:servers' | |
post: | |
tags: | |
- serverScripts | |
summary: 'Create a server script' | |
description: 'Create a server script' | |
operationId: createServerScript | |
parameters: | |
- | |
name: serverSlug | |
in: path | |
description: 'Slug of the server' | |
required: true | |
schema: | |
type: string | |
requestBody: | |
$ref: '#/components/requestBodies/CreateServerScriptModel' | |
responses: | |
'200': | |
description: 'Newly created server script' | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/ServerScriptDTO' | |
'400': | |
description: 'Bad request' | |
'404': | |
description: 'Server or script not found' | |
security: | |
- | |
webdock_auth: | |
- 'write:servers' | |
'/servers/{serverSlug}/scripts/{scriptId}': | |
get: | |
tags: | |
- serverScripts | |
summary: 'Get a server script' | |
description: 'Get a server script' | |
operationId: getServerScriptById | |
parameters: | |
- | |
name: serverSlug | |
in: path | |
description: 'Slug of the server' | |
required: true | |
schema: | |
type: string | |
- | |
name: scriptId | |
in: path | |
description: 'ID of the script' | |
required: true | |
schema: | |
type: int | |
responses: | |
'200': | |
description: 'Server script' | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/ServerScriptDTO' | |
'404': | |
description: 'Server not found' | |
security: | |
- | |
webdock_auth: | |
- 'read:servers' | |
delete: | |
tags: | |
- serverScripts | |
summary: 'Deletes a server script' | |
description: 'Deletes a server script' | |
operationId: deleteServerScriptById | |
parameters: | |
- | |
name: serverSlug | |
in: path | |
description: 'Slug of the server' | |
required: true | |
schema: | |
type: string | |
- | |
name: scriptId | |
in: path | |
description: 'ID of the script' | |
required: true | |
schema: | |
type: int | |
responses: | |
'200': | |
description: 'Server script deleted' | |
'404': | |
description: 'Server or script not found' | |
security: | |
- | |
webdock_auth: | |
- 'write:servers' | |
'/servers/{serverSlug}/scripts/{scriptId}/execute': | |
post: | |
tags: | |
- serverScripts | |
summary: 'Executes a server script' | |
description: 'Executes a server script' | |
operationId: executeServerScript | |
parameters: | |
- | |
name: serverSlug | |
in: path | |
description: 'Slug of the server' | |
required: true | |
schema: | |
type: string | |
- | |
name: scriptId | |
in: path | |
description: 'ID of the script' | |
required: true | |
schema: | |
type: int | |
responses: | |
'200': | |
description: 'Server script ran' | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/CallbackDTO' | |
'404': | |
description: 'Server or script not found' | |
security: | |
- | |
webdock_auth: | |
- 'write:servers' | |
'/servers/{serverSlug}/shellUsers': | |
get: | |
tags: | |
- serverShellUsers | |
summary: 'Get a list of shell users from a server' | |
description: 'Get a list of shell users from a server' | |
operationId: getServerShellUsers | |
parameters: | |
- | |
name: serverSlug | |
in: path | |
description: 'Slug of the server' | |
required: true | |
schema: | |
type: string | |
responses: | |
'200': | |
description: 'List of shell users' | |
content: | |
application/json: | |
schema: | |
type: array | |
items: | |
$ref: '#/components/schemas/ShellUserDTO' | |
'404': | |
description: 'Server not found' | |
security: | |
- | |
webdock_auth: | |
- 'read:servers' | |
post: | |
tags: | |
- serverShellUsers | |
summary: 'Create a shell user for a server' | |
description: 'Create a shell user for a server' | |
operationId: postServerShellUsers | |
parameters: | |
- | |
name: serverSlug | |
in: path | |
description: 'Slug of the server' | |
required: true | |
schema: | |
type: string | |
requestBody: | |
$ref: '#/components/requestBodies/CreateShellUserModel' | |
responses: | |
'200': | |
description: 'Created shell user' | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/ShellUserDTO' | |
'400': | |
description: 'Bad request' | |
'404': | |
description: 'Server not found' | |
security: | |
- | |
webdock_auth: | |
- 'write:servers' | |
'/servers/{serverSlug}/shellUsers/{shellUserId}': | |
delete: | |
tags: | |
- serverShellUsers | |
summary: 'Deletes a shell user' | |
operationId: deleteShellUser | |
parameters: | |
- | |
name: serverSlug | |
in: path | |
description: 'Slug of the server' | |
required: true | |
schema: | |
type: string | |
- | |
name: shellUserId | |
in: path | |
description: 'Shell user ID to delete' | |
required: true | |
schema: | |
type: integer | |
format: int64 | |
responses: | |
'200': | |
description: 'Shell user deleted succesfully' | |
'404': | |
description: 'Server or shell user not found' | |
security: | |
- | |
webdock_auth: | |
- 'write:servers' | |
patch: | |
tags: | |
- serverShellUsers | |
summary: 'Update a shell user for a server' | |
description: 'Update a shell user for a server' | |
operationId: patchServerShellUsers | |
parameters: | |
- | |
name: serverSlug | |
in: path | |
description: 'Slug of the server' | |
required: true | |
schema: | |
type: string | |
- | |
name: shellUserId | |
in: path | |
description: 'Shell user ID to delete' | |
required: true | |
schema: | |
type: integer | |
format: int64 | |
requestBody: | |
$ref: '#/components/requestBodies/PatchShellUserModelDTO' | |
responses: | |
'200': | |
description: 'Updated shell user' | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/ShellUserDTO' | |
'400': | |
description: 'Bad request' | |
'404': | |
description: 'Server or shell user not found' | |
security: | |
- | |
webdock_auth: | |
- 'write:servers' | |
'/servers/{serverSlug}/snapshots': | |
get: | |
tags: | |
- serverSnapshots | |
summary: 'Get a list of snapshots for a server' | |
description: 'Get a list of snapshots for a server' | |
operationId: getServerSnapshots | |
parameters: | |
- | |
name: serverSlug | |
in: path | |
description: 'Slug of the server' | |
required: true | |
schema: | |
type: string | |
responses: | |
'200': | |
description: 'List of snapshots' | |
content: | |
application/json: | |
schema: | |
type: array | |
items: | |
$ref: '#/components/schemas/SnapshotDTO' | |
'404': | |
description: 'Server not found' | |
security: | |
- | |
webdock_auth: | |
- 'read:servers' | |
post: | |
tags: | |
- serverSnapshots | |
summary: 'Create a snapshots for a server' | |
description: 'Create a snapshots for a server' | |
operationId: createServerSnapshot | |
parameters: | |
- | |
name: serverSlug | |
in: path | |
description: 'Slug of the server' | |
required: true | |
schema: | |
type: string | |
requestBody: | |
$ref: '#/components/requestBodies/CreateServerSnapshotModel' | |
responses: | |
'200': | |
description: 'Created snapshots' | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/SnapshotDTO' | |
'400': | |
description: 'Bad request' | |
'404': | |
description: 'Server not found' | |
security: | |
- | |
webdock_auth: | |
- 'write:servers' | |
'/servers/{serverSlug}/snapshots/{snapshotId}': | |
get: | |
tags: | |
- serverSnapshots | |
summary: 'Get a snapshot by ID for a server' | |
description: 'Get a snapshot by ID for a server' | |
operationId: getServerSnapshotById | |
parameters: | |
- | |
name: serverSlug | |
in: path | |
description: 'Slug of the server' | |
required: true | |
schema: | |
type: string | |
- | |
name: snapshotId | |
in: path | |
description: 'Snapshot ID' | |
required: true | |
schema: | |
type: integer | |
format: int64 | |
responses: | |
'200': | |
description: Snapshots | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/SnapshotDTO' | |
'404': | |
description: 'Server or snapshot not found' | |
security: | |
- | |
webdock_auth: | |
- 'read:servers' | |
delete: | |
tags: | |
- serverSnapshots | |
summary: 'Delets a snapshot by ID for a server' | |
description: 'Delets a snapshot by ID for a server' | |
operationId: deleteServerSnapshotById | |
parameters: | |
- | |
name: serverSlug | |
in: path | |
description: 'Slug of the server' | |
required: true | |
schema: | |
type: string | |
- | |
name: snapshotId | |
in: path | |
description: 'Snapshot ID' | |
required: true | |
schema: | |
type: integer | |
format: int64 | |
responses: | |
'200': | |
description: 'Snapshot deletes' | |
'404': | |
description: 'Server or snapshot not found' | |
security: | |
- | |
webdock_auth: | |
- 'write:servers' | |
'/servers/{serverSlug}/snapshots/{snapshotId}/restore': | |
delete: | |
tags: | |
- serverSnapshots | |
summary: 'Restores the server to a snapshot' | |
description: 'Restores the server to a snapshot' | |
operationId: restoreServerToSnapshot | |
parameters: | |
- | |
name: serverSlug | |
in: path | |
description: 'Slug of the server' | |
required: true | |
schema: | |
type: string | |
- | |
name: snapshotId | |
in: path | |
description: 'Snapshot ID' | |
required: true | |
schema: | |
type: integer | |
format: int64 | |
responses: | |
'200': | |
description: 'Callback information' | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/CallbackDTO' | |
'400': | |
description: 'Bad request' | |
'404': | |
description: 'Server or snapshot not found' | |
security: | |
- | |
webdock_auth: | |
- 'write:servers' | |
/locations: | |
get: | |
tags: | |
- serversConfigurations | |
summary: 'Possible server location' | |
description: 'Get a list of possible server locations' | |
operationId: getServersLocations | |
responses: | |
'200': | |
description: 'List of locations' | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/ServerLocationDTO' | |
/profiles: | |
get: | |
tags: | |
- serversConfigurations | |
summary: 'Possible server profiles' | |
description: 'Get a list of possible server profiles' | |
operationId: getServersProfiles | |
parameters: | |
- | |
name: locationId | |
in: query | |
description: 'Location of the profile' | |
required: false | |
schema: | |
format: string | |
responses: | |
'200': | |
description: 'List of configurations' | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/ServerProfileDTO' | |
/images: | |
get: | |
tags: | |
- serversConfigurations | |
summary: 'Possible server images' | |
description: 'Get a list of possible server images' | |
operationId: getServersImages | |
responses: | |
'200': | |
description: 'List of configurations' | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/ServerImageDTO' | |
components: | |
schemas: | |
PublicKeyDTO: | |
title: PublicKeyDTO | |
description: 'PublicKey model' | |
properties: | |
id: | |
description: 'PublicKey ID' | |
type: integer | |
format: int64 | |
name: | |
description: 'PublicKey name' | |
type: string | |
format: string | |
key: | |
description: 'PublicKey content' | |
type: string | |
format: string | |
date: | |
description: 'PublicKey creation datetime' | |
type: string | |
format: datetime | |
type: object | |
ScriptDTO: | |
title: ScriptDTO | |
description: 'Script model' | |
properties: | |
id: | |
description: 'Script ID' | |
type: integer | |
format: int64 | |
name: | |
description: 'Script name' | |
type: string | |
format: string | |
description: | |
description: 'Script description' | |
type: string | |
format: string | |
filename: | |
description: 'Script filename' | |
type: string | |
format: string | |
content: | |
description: 'Script content' | |
type: string | |
format: string | |
type: object | |
CallbackDTO: | |
title: CallbackDTO | |
description: 'Callback model' | |
properties: | |
callbackId: | |
description: 'Callback ID' | |
type: integer | |
format: int64 | |
type: object | |
Ping: | |
title: 'Ping model' | |
description: 'Ping model' | |
properties: | |
class: | |
title: 'Class name' | |
description: 'Class name' | |
type: string | |
format: string | |
method: | |
title: 'Method name' | |
description: 'Method name' | |
type: string | |
format: string | |
type: object | |
PriceDTO: | |
title: Price | |
description: 'Price model' | |
properties: | |
amount: | |
description: 'Price amount' | |
type: integer | |
format: int64 | |
currency: | |
description: 'Price currency' | |
type: string | |
format: string | |
enum: | |
- EUR | |
- DKK | |
- USD | |
type: object | |
ServerDTO: | |
title: ServerDTO | |
description: 'Server model' | |
properties: | |
slug: | |
description: 'Server slug' | |
type: string | |
format: string | |
name: | |
description: 'Server name' | |
type: string | |
format: string | |
location: | |
description: 'Location ID of the server' | |
type: string | |
format: string | |
nullable: 'true' | |
image: | |
description: 'Server image' | |
type: string | |
format: string | |
profile: | |
description: 'Server profile' | |
type: string | |
format: string | |
nullable: 'true' | |
ipv4: | |
description: 'IPv4 address' | |
type: string | |
format: string | |
nullable: 'true' | |
ipv6: | |
description: 'IPv6 address' | |
type: string | |
format: string | |
nullable: 'true' | |
status: | |
description: 'Server status' | |
type: string | |
format: string | |
enum: | |
- stopped | |
- working | |
- running | |
webServer: | |
description: 'Webserver type' | |
type: string | |
format: string | |
aliases: | |
description: Aliases | |
type: array | |
items: | |
type: string | |
snapshotRunTime: | |
description: 'Last known snapshot runtime (seconds)' | |
type: integer | |
format: int64 | |
installed: | |
description: 'What''s installed' | |
type: string | |
items: | |
type: string | |
wordPressLockDown: | |
description: 'Wordpress lockdown status' | |
type: boolean | |
format: int64 | |
default: 'false' | |
notes: | |
description: Notes | |
type: string | |
format: string | |
date: | |
description: 'Creation date/time' | |
type: string | |
format: datetime | |
type: object | |
ServerScriptDTO: | |
title: ServerScriptDTO | |
description: 'ServerScript model' | |
properties: | |
id: | |
description: 'Script ID' | |
type: integer | |
format: int64 | |
name: | |
description: 'Script name' | |
type: string | |
format: string | |
path: | |
description: 'Script path' | |
type: string | |
format: string | |
lastRun: | |
description: 'Date/time of the last run' | |
type: string | |
format: datetime | |
nullable: 'true' | |
lastRunCallbackId: | |
description: 'Callback ID of the last script run' | |
type: string | |
format: string | |
nullable: 'true' | |
created: | |
description: 'Creation date/time' | |
type: string | |
format: datetime | |
type: object | |
ShellUserDTO: | |
title: ShellUserDTO | |
description: 'Shell user model' | |
properties: | |
id: | |
description: 'Shell user ID' | |
type: integer | |
format: int64 | |
username: | |
description: Username | |
type: string | |
format: string | |
group: | |
description: 'Shell user group' | |
type: string | |
format: string | |
shell: | |
description: Shell | |
type: string | |
format: string | |
publicKeys: | |
description: Shell | |
type: array | |
format: string | |
items: | |
$ref: '#/components/schemas/PublicKeyDTO' | |
date: | |
description: 'Shell user creation datetime' | |
type: string | |
format: datetime | |
type: object | |
SnapshotDTO: | |
title: Snapshot | |
description: 'Snapshot model' | |
properties: | |
id: | |
description: ID | |
type: integer | |
format: string | |
name: | |
description: Name | |
type: string | |
format: string | |
date: | |
description: 'Creation date/time' | |
type: string | |
format: datetime | |
type: | |
description: 'Snapshot type' | |
type: string | |
format: string | |
enum: | |
- daily | |
- weekly | |
- monthly | |
completed: | |
description: 'Snapshot completed' | |
type: boolean | |
format: int64 | |
default: 'false' | |
callbackId: | |
description: 'Callback ID' | |
type: string | |
format: string | |
nullable: 'true' | |
deletable: | |
description: 'Can the snapshot be deleted' | |
type: boolean | |
default: 'false' | |
type: object | |
CPUDTO: | |
title: CPU | |
description: 'CPU model' | |
properties: | |
cores: | |
description: 'Number of cores' | |
type: integer | |
format: int64 | |
threads: | |
description: 'Number of threads' | |
type: integer | |
format: int64 | |
type: object | |
ServerImageDTO: | |
title: ServerImage | |
description: 'ServerImage model' | |
properties: | |
slug: | |
description: 'Image slug' | |
type: string | |
format: string | |
name: | |
description: 'Image name' | |
type: string | |
format: string | |
webServer: | |
description: 'Web server type' | |
type: string | |
format: string | |
enum: | |
- Apache | |
- Nginx | |
nullable: 'true' | |
phpVersion: | |
description: 'PHP Version' | |
type: string | |
format: string | |
type: object | |
ServerLocationDTO: | |
title: ServerLocation | |
description: 'ServerLocation model' | |
properties: | |
id: | |
description: 'Location ID' | |
type: string | |
format: string | |
name: | |
description: 'Location Name' | |
type: string | |
format: string | |
type: object | |
ServerProfileDTO: | |
title: ServerProfile | |
description: 'ServerProfile model' | |
properties: | |
slug: | |
description: 'Profile slug' | |
type: string | |
format: string | |
name: | |
description: 'Profile name' | |
type: string | |
format: string | |
ram: | |
description: 'RAM memory(in Mb)' | |
type: integer | |
format: int64 | |
disk: | |
description: 'Disk size(in Mb)' | |
type: integer | |
format: int64 | |
cpu: | |
$ref: '#/components/schemas/CPUDTO' | |
price: | |
$ref: '#/components/schemas/PriceDTO' | |
type: object | |
CreatePublicKeyModelDTO: | |
title: CreatePublicKeyModelDTO | |
description: 'PublicKey model' | |
properties: | |
name: | |
description: 'PublicKey name' | |
type: string | |
format: string | |
publicKey: | |
description: PublicKey | |
type: string | |
format: string | |
type: object | |
CreateServerScriptModelDTO: | |
title: CreateServerScriptModelDTO | |
description: 'Server script model' | |
properties: | |
scriptId: | |
description: 'ID of the user script to be deployed' | |
type: integer | |
path: | |
description: 'Path of deployment' | |
type: string | |
format: string | |
makeScriptExecutable: | |
description: 'If script file should be made executable' | |
type: boolean | |
format: boolean | |
default: false | |
executeImmediately: | |
description: 'If script should be executed immiditaly after deploy' | |
type: boolean | |
format: boolean | |
default: false | |
type: object | |
CreateServerSnapshotModelDTO: | |
title: CreateServerSnapshotModelDTO | |
description: 'Create Server Snapshot model' | |
properties: | |
name: | |
description: 'Name of the snapshot' | |
type: string | |
format: string | |
type: object | |
CreateShellUserModelDTO: | |
title: CreateShellUserModelDTO | |
description: 'Shell user model' | |
properties: | |
username: | |
description: 'Shell username' | |
type: string | |
format: string | |
password: | |
description: 'Password for the shell user' | |
type: string | |
format: string | |
group: | |
description: 'Group for the shell user' | |
type: string | |
format: string | |
default: sudo | |
shell: | |
description: 'Shell for the shell user' | |
type: string | |
format: string | |
default: /bin/bash | |
publicKeys: | |
description: 'List of PublicKeys IDs to the assigned to the shell user' | |
type: array | |
items: | |
description: 'PublicKey ID' | |
type: integer | |
format: int64 | |
type: object | |
CreateUserScriptModelDTO: | |
title: CreateUserScriptModelDTO | |
description: 'User script model' | |
properties: | |
name: | |
description: 'Name of the script' | |
type: string | |
format: string | |
filename: | |
description: 'Filename of the script' | |
type: string | |
format: string | |
content: | |
description: 'The script' | |
type: string | |
format: string | |
type: object | |
PatchServerModelDTO: | |
title: PatchServerModelDTO | |
description: 'PatchServer model' | |
properties: | |
status: | |
type: string | |
format: string | |
default: '' | |
enum: | |
- running | |
- stopped | |
type: object | |
PatchShellUserModelDTO: | |
title: PatchShellUserModelDTO | |
description: 'Shell user model' | |
properties: | |
publicKeys: | |
description: 'List of PublicKeys IDs to the assigned to the shell user' | |
type: array | |
items: | |
description: 'PublicKey ID' | |
type: integer | |
format: int64 | |
type: object | |
requestBodies: | |
CreatePublicKeyModel: | |
description: 'PublicKey that will be added' | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/CreatePublicKeyModelDTO' | |
CreateServerScriptModel: | |
description: 'User script to be created' | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/CreateServerScriptModelDTO' | |
CreateServerSnapshotModel: | |
description: 'User script to be created' | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/CreateServerSnapshotModelDTO' | |
CreateShellUserModel: | |
description: 'Shell user that will be added to the server' | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/CreateShellUserModelDTO' | |
CreateUserScriptModel: | |
description: 'User script to be created' | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/CreateUserScriptModelDTO' | |
PatchServerModel: | |
description: 'Patch server model' | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/PatchServerModelDTO' | |
PatchShellUserModelDTO: | |
description: 'Updated to be made to the shell user' | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/PatchShellUserModelDTO' | |
securitySchemes: | |
webdock_auth: | |
type: oauth2 | |
flows: | |
implicit: | |
authorizationUrl: 'https://webdock.io/oauth/dialog' | |
scopes: | |
'read:provision': 'read provisions' | |
'write:provision': 'provision and remove provision' | |
'read:servers': 'read your servers' | |
'write:servers': 'modify servers in your account' | |
'read:account': 'read account data' | |
'write:account': 'modify account data' | |
'read:billing': 'read billing data' | |
'write:billing': 'modify billing data' | |
tags: | |
- | |
name: ping | |
description: 'Pings the API. Tests that the connection is fine' | |
- | |
name: server | |
description: 'API endpoint for servers' | |
- | |
name: serversConfigurations | |
description: 'API endpoint for possible server configurations' | |
- | |
name: publicKeys | |
description: 'API endpoint for Public Keys associated to a user' | |
- | |
name: serverShellUsers | |
description: 'API endpoint for shell users' | |
- | |
name: userScripts | |
description: 'API endpoint for user scripts' | |
- | |
name: scripts | |
description: 'API endpoint for public scripts' | |
- | |
name: serverScripts | |
description: 'API endpoint for server scripts' | |
- | |
name: serverSnapshots | |
description: 'API endpoint for server snapshots' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment