]> git.ipfire.org Git - thirdparty/bacula.git/commitdiff
baculum: Update Baculum API OpenAPI documentation
authorMarcin Haba <marcin.haba@bacula.pl>
Sat, 2 Feb 2019 10:56:46 +0000 (11:56 +0100)
committerMarcin Haba <marcin.haba@bacula.pl>
Sat, 2 Feb 2019 10:56:46 +0000 (11:56 +0100)
gui/baculum/protected/API/openapi_baculum.json

index 2993e03714fed0e73753ab77d3d06b9334b8c29d..4d0772d5ce0703e700296303b418beb5061763e8 100644 (file)
@@ -5,7 +5,7 @@
                "description": "This is the Baculum API documentation.",
                "contact": {
                        "name": "Marcin Haba",
-                       "url": "http://www.bacula.org/9.2.x-manuals/en/console/Baculum_API_Web_GUI_Tools.html",
+                       "url": "https://www.bacula.org/9.4.x-manuals/en/console/Baculum_API_Web_GUI_Tools.html",
                        "email": "marcin.haba@bacula.pl"
                },
                "license": {
                "description": "Bacula Client endpoints",
                "externalDocs": {
                        "description": "Find out more",
-                       "url": "http://www.bacula.org/9.2.x-manuals/en/main/Configuring_Director.html#SECTION0019130000000000000000"
+                       "url": "https://www.bacula.org/9.4.x-manuals/en/main/Configuring_Director.html#SECTION0020130000000000000000"
                }
        },
        {
                "description": "Bacula Job endpoints",
                "externalDocs": {
                        "description": "Find out more",
-                       "url": "http://www.bacula.org/9.2.x-manuals/en/main/Configuring_Director.html#SECTION001930000000000000000"
+                       "url": "https://www.bacula.org/9.4.x-manuals/en/main/Configuring_Director.html#SECTION002030000000000000000"
                }
        },
        {
                "description": "Bacula Storage endpoints",
                "externalDocs": {
                        "description": "Find out more",
-                       "url": "http://www.bacula.org/9.2.x-manuals/en/main/Configuring_Director.html#SECTION0019140000000000000000"
+                       "url": "https://www.bacula.org/9.4.x-manuals/en/main/Configuring_Director.html#SECTION0020140000000000000000"
                }
        },
        {
                "description": "Bacula Pool endpoints",
                "externalDocs": {
                        "description": "Find out more",
-                       "url": "http://www.bacula.org/9.2.x-manuals/en/main/Configuring_Director.html#SECTION0019160000000000000000"
+                       "url": "https://www.bacula.org/9.4.x-manuals/en/main/Configuring_Director.html#SECTION0020160000000000000000"
                }
        },
        {
                "description": "Bacula Volume endpoints",
                "externalDocs": {
                        "description": "Find out more",
-                       "url": "http://www.bacula.org/9.2.x-manuals/en/main/Basic_Volume_Management.html"
+                       "url": "http://www.bacula.org/9.4.x-manuals/en/main/Basic_Volume_Management.html"
                }
        },
        {
                "description": "Bacula FileSet endpoints",
                "externalDocs": {
                        "description": "Find out more",
-                       "url": "http://www.bacula.org/9.2.x-manuals/en/main/Configuring_Director.html#SECTION001970000000000000000"
+                       "url": "https://www.bacula.org/9.4.x-manuals/en/main/Configuring_Director.html#SECTION002070000000000000000"
                }
        },
        {
                "description": "Bacula Schedule endpoints",
                "externalDocs": {
                        "description": "Find out more",
-                       "url": "http://www.bacula.org/9.2.x-manuals/en/main/Configuring_Director.html#SECTION001950000000000000000"
+                       "url": "https://www.bacula.org/9.4.x-manuals/en/main/Configuring_Director.html#SECTION002050000000000000000"
                }
        },
        {
                "description": "Bacula BVFS endpoints",
                "externalDocs": {
                        "description": "Find out more",
-                       "url": "http://www.bacula.org/9.2.x-manuals/en/main/New_Features_in_5_2_13.html#SECTION00814000000000000000"
+                       "url": "https://www.bacula.org/9.4.x-manuals/en/main/New_Features_in_5_2_13.html#SECTION00914000000000000000"
                }
        },
        {
                                "tags": ["jobs"],
                                "summary": "Cancel job",
                                "description": "Cancel running job.",
+                               "consumes": [ "application/x-www-form-urlencoded" ],
                                "responses": {
                                        "200": {
                                                "description": "Cancel command output",
                        "post": {
                                "tags": ["jobs"],
                                "summary": "Estimate job bytes and files",
+                               "consumes": [ "application/x-www-form-urlencoded" ],
                                "description": "Estimate job bytes and files before real job run. There can be used (id OR name) and (clientid OR client)",
                                "responses": {
                                        "200": {
                                "parameters": [
                                        {
                                                "name": "create[id]",
-                                               "in": "header",
+                                               "in": "body",
                                                "description": "Job identifier",
                                                "required": true,
                                                "schema": {
                                        },
                                        {
                                                "name": "create[name]",
-                                               "in": "header",
+                                               "in": "body",
                                                "description": "Job name (can be used instead id)",
                                                "required": true,
                                                "schema": {
                                        },
                                        {
                                                "name": "create[clientid]",
-                                               "in": "header",
+                                               "in": "body",
                                                "description": "Client identifier",
                                                "required":  true,
                                                "schema": {
                                        },
                                        {
                                                "name": "create[client]",
-                                               "in": "header",
+                                               "in": "body",
                                                "description": "Client name (can be used instead clientid)",
                                                "required":  true,
                                                "schema": {
                                        },
                                        {
                                                "name": "create[fileset]",
-                                               "in": "header",
+                                               "in": "body",
                                                "description": "FileSet name",
                                                "required": true,
                                                "schema": {
                                        },
                                        {
                                                "name": "create[accurate]",
-                                               "in": "header",
+                                               "in": "body",
                                                "description": "Accurate mode, 1 if enabled, otherwise 0",
                                                "required": false,
                                                "schema": {
                        "post": {
                                "tags": ["jobs"],
                                "summary": "Run job",
+                               "consumes": [ "application/x-www-form-urlencoded" ],
                                "description": "Run job with specific parameters. There can be used (id OR name) and (clientid OR client)",
                                "responses": {
                                        "200": {
                                "parameters": [
                                        {
                                                "name": "create[id]",
-                                               "in": "header",
+                                               "in": "body",
                                                "description": "Job identifier",
                                                "required": true,
                                                "schema": {
                                        },
                                        {
                                                "name": "create[name]",
-                                               "in": "header",
+                                               "in": "body",
                                                "description": "Job name (can be used instead id)",
                                                "required": true,
                                                "schema": {
                                        },
                                        {
                                                "name": "create[clientid]",
-                                               "in": "header",
+                                               "in": "body",
                                                "description": "Client identifier",
                                                "required":  true,
                                                "schema": {
                                        },
                                        {
                                                "name": "create[client]",
-                                               "in": "header",
+                                               "in": "body",
                                                "description": "Client name (can be used instead clientid)",
                                                "required":  true,
                                                "schema": {
                                        },
                                        {
                                                "name": "create[storageid]",
-                                               "in": "header",
+                                               "in": "body",
                                                "description": "Storage identifier",
                                                "required":  true,
                                                "schema": {
                                        },
                                        {
                                                "name": "create[storage]",
-                                               "in": "header",
+                                               "in": "body",
                                                "description": "Storage name (can be used instead storageid)",
                                                "required":  true,
                                                "schema": {
                                        },
                                        {
                                                "name": "create[poolid]",
-                                               "in": "header",
+                                               "in": "body",
                                                "description": "Pool identifier",
                                                "required":  true,
                                                "schema": {
                                        },
                                        {
                                                "name": "create[pool]",
-                                               "in": "header",
+                                               "in": "body",
                                                "description": "Pool name (can be used instead poolid)",
                                                "required":  true,
                                                "schema": {
                                        },
                                        {
                                                "name": "create[fileset]",
-                                               "in": "header",
+                                               "in": "body",
                                                "description": "FileSet name",
                                                "required": true,
                                                "schema": {
                                        },
                                        {
                                                "name": "create[priority]",
-                                               "in": "header",
+                                               "in": "body",
                                                "description": "Job priority",
                                                "required":  false,
                                                "schema": {
                                        },
                                        {
                                                "name": "create[accurate]",
-                                               "in": "header",
+                                               "in": "body",
                                                "description": "Accurate mode, 1 if enabled, otherwise 0",
                                                "required": false,
                                                "schema": {
                                        },
                                        {
                                                "name": "create[jobid]",
-                                               "in": "header",
+                                               "in": "body",
                                                "description": "Job identifier for verify job",
                                                "required":  false,
                                                "schema": {
                                        },
                                        {
                                                "name": "create[verifyjob]",
-                                               "in": "header",
+                                               "in": "body",
                                                "description": "Verify job name",
                                                "required":  false,
                                                "schema": {
                        "post": {
                                "tags": ["jobs"],
                                "summary": "Restore job",
+                               "consumes": [ "application/x-www-form-urlencoded" ],
                                "description": "Restore backup job.",
                                "responses": {
                                        "200": {
                                "parameters": [
                                        {
                                                "name": "create[id]",
-                                               "in": "header",
+                                               "in": "body",
                                                "description": "Job identifier",
                                                "required": true,
                                                "schema": {
                                        },
                                        {
                                                "name": "create[name]",
-                                               "in": "header",
+                                               "in": "body",
                                                "description": "Job name (can be used instead id)",
                                                "required": true,
                                                "schema": {
                                        },
                                        {
                                                "name": "create[clientid]",
-                                               "in": "header",
+                                               "in": "body",
                                                "description": "Client identifier",
                                                "required":  true,
                                                "schema": {
                                        },
                                        {
                                                "name": "create[client]",
-                                               "in": "header",
+                                               "in": "body",
                                                "description": "Client name (can be used instead clientid)",
                                                "required":  true,
                                                "schema": {
                                        },
                                        {
                                                "name": "create[rpath]",
-                                               "in": "header",
+                                               "in": "body",
                                                "description": "Rpath (restore path)",
                                                "required": true,
                                                "schema": {
                                        },
                                        {
                                                "name": "create[where]",
-                                               "in": "header",
+                                               "in": "body",
                                                "description": "Where to restore files",
                                                "required":  true,
                                                "schema": {
                                        },
                                        {
                                                "name": "create[priority]",
-                                               "in": "header",
+                                               "in": "body",
                                                "description": "Job priority",
                                                "required":  false,
                                                "schema": {
                                        },
                                        {
                                                "name": "create[restorejob]",
-                                               "in": "header",
+                                               "in": "body",
                                                "description": "Restore job name",
                                                "required": false,
                                                "schema": {
                                        },
                                        {
                                                "name": "create[strip_prefix]",
-                                               "in": "header",
+                                               "in": "body",
                                                "description": "Strip prefix in restored paths",
                                                "required": false,
                                                "schema": {
                                        },
                                        {
                                                "name": "create[add_prefix]",
-                                               "in": "header",
+                                               "in": "body",
                                                "description": "Add prefix to restored paths",
                                                "required": false,
                                                "schema": {
                                        },
                                        {
                                                "name": "create[add_suffix]",
-                                               "in": "header",
+                                               "in": "body",
                                                "description": "Add suffix to restored paths",
                                                "required": false,
                                                "schema": {
                                        },
                                        {
                                                "name": "create[regex_where]",
-                                               "in": "header",
+                                               "in": "body",
                                                "description": "Use regex to file relocation",
                                                "required": false,
                                                "schema": {
                                "tags": ["pools"],
                                "summary": "Update pool properties",
                                "description": "Update properties in specific pool",
+                               "consumes": [ "application/x-www-form-urlencoded" ],
                                "responses": {
                                        "200": {
                                                "description": "Update pool output",
                                "tags": ["pools"],
                                "summary": "Update properties all volumes in pool",
                                "description": "Update properties all volumes in specific pool",
+                               "consumes": [ "application/x-www-form-urlencoded" ],
                                "responses": {
                                        "200": {
                                                "description": "Update all volumes in pool output",
                                "tags": ["volumes"],
                                "summary": "Update volume properties",
                                "description": "Update specific volume properties.",
+                               "consumes": [ "application/x-www-form-urlencoded" ],
                                "responses": {
                                        "200": { 
                                                "description": "Update volume output",
                                        },
                                        {
                                                "name": "update[volstatus]",
-                                               "in": "header",
+                                               "in": "body",
                                                "description": "Volume status",
                                                "required": false,
                                                "schema": {
                                        },
                                        {
                                                "name": "update[poolid]",
-                                               "in": "header",
+                                               "in": "body",
                                                "description": "Update Volume Pool by Pool identifier",
                                                "required": false,
                                                "schema": {
                                        },
                                        {
                                                "name": "update[volretention]",
-                                               "in": "header",
+                                               "in": "body",
                                                "description": "Volume retention time",
                                                "required": false,
                                                "schema": {
                                        },
                                        {
                                                "name": "update[voluseduration]",
-                                               "in": "header",
+                                               "in": "body",
                                                "description": "Volume use duration time",
                                                "required": false,
                                                "schema": {
                                        },
                                        {
                                                "name": "update[maxvoljobs]",
-                                               "in": "header",
+                                               "in": "body",
                                                "description": "Maximum volume jobs",
                                                "required": false,
                                                "schema": {
                                        },
                                        {
                                                "name": "update[maxvolfiles]",
-                                               "in": "header",
+                                               "in": "body",
                                                "description": "Maximum volume files",
                                                "required": false,
                                                "schema": {
                                        },
                                        {
                                                "name": "update[maxvolbytes]",
-                                               "in": "header",
+                                               "in": "body",
                                                "description": "Maximum volume bytes",
                                                "required": false,
                                                "schema": {
                                        },
                                        {
                                                "name": "update[slot]",
-                                               "in": "header",
+                                               "in": "body",
                                                "description": "Volume slot",
                                                "required": false,
                                                "schema": {
                                        },
                                        {
                                                "name": "update[recycle]",
-                                               "in": "header",
+                                               "in": "body",
                                                "description": "Volume recycle flag",
                                                "required": false,
                                                "schema": {
                                        },
                                        {
                                                "name": "update[enabled]",
-                                               "in": "header",
+                                               "in": "body",
                                                "description": "Volume enabled flag",
                                                "required": false,
                                                "schema": {
                                        },
                                        {
                                                "name": "update[inchanger]",
-                                               "in": "header",
+                                               "in": "body",
                                                "description": "Volume InChanger flag",
                                                "required": false,
                                                "schema": {
                                "tags": ["volumes"],
                                "summary": "Prune volume",
                                "description": "Do prunning on volume.",
+                               "consumes": [ "application/x-www-form-urlencoded" ],
                                "responses": {
                                        "200": { 
                                                "description": "Prune volume output",
                                "tags": ["volumes"],
                                "summary": "Purge volume",
                                "description": "Do purging on volume.",
+                               "consumes": [ "application/x-www-form-urlencoded" ],
                                "responses": {
                                        "200": { 
                                                "description": "Purge volume output",
                                "tags": ["bvfs"],
                                "summary": "Update BVFS cache",
                                "description": "Update BVFS cache for specific jobs identifiers",
+                               "consumes": [ "application/x-www-form-urlencoded" ],
                                "responses": {
                                        "200": {
                                                "description": "BVFS update command output",
                        "post": {
                                "tags": ["bvfs"],
                                "summary": "Prepare BVFS restore",
+                               "consumes": [ "application/x-www-form-urlencoded" ],
                                "description": "Prepare BVFS restore",
                                "responses": {
                                        "200": {
                                "parameters": [
                                        {
                                                "name": "create[path]",
-                                               "in": "header",
+                                               "in": "body",
                                                "description": "Path in format b2[0-9]+",
                                                "required": true,
                                                "schema": {
                                        },
                                        {
                                                "name": "create[jobids]",
-                                               "in": "header",
+                                               "in": "body",
                                                "description": "Comma separated job identifiers",
                                                "required": true,
                                                "schema": {
                                        },
                                        {
                                                "name": "create[fileid]",
-                                               "in": "header",
+                                               "in": "body",
                                                "description": "Comma seprated file identifiers",
                                                "required": false,
                                                "schema": {
                                        },
                                        {
                                                "name": "create[dirid]",
-                                               "in": "header",
+                                               "in": "body",
                                                "description": "Comma seprated directory identifiers",
                                                "required": false,
                                                "schema": {
                                        },
                                        {
                                                "name": "create[findex]",
-                                               "in": "header",
+                                               "in": "body",
                                                "description": "Comma seprated directory file indexes",
                                                "required": false,
                                                "schema": {
                                "tags": ["bvfs"],
                                "summary": "Clear BVFS cache",
                                "description": "Clear BVFS cache",
+                               "consumes": [ "application/x-www-form-urlencoded" ],
                                "responses": {
                                        "200": {
                                                "description": "BVFS clear cache command output",
                                }
                        }
                },
+               "/api/v1/bvfs/cleanup": {
+                       "put": {
+                               "tags": ["bvfs"],
+                               "summary": "Cleanup BVFS (remove temporary table)",
+                               "description": "Cleanup BVFS",
+                               "consumes": [ "application/x-www-form-urlencoded" ],
+                               "responses": {
+                                       "200": {
+                                               "description": "BVFS cleanup output",
+                                               "content": {
+                                                       "application/json": {
+                                                               "schema": {
+                                                                       "type": "object",
+                                                                       "properties": {
+                                                                               "output": {
+                                                                                       "type": "array",
+                                                                                       "items": {
+                                                                                               "description": "BVFS cleanup command output",
+                                                                                               "type": "string"
+                                                                                       }
+                                                                               },
+                                                                               "error": {
+                                                                                       "type": "integer",
+                                                                                       "description": "Error code",
+                                                                                       "enum": [0, 1, 2, 3, 4, 5, 6, 7, 1000]
+                                                                               }
+                                                                       }
+                                                               }
+                                                       }
+                                               }
+                                       }
+                               },
+                               "parameters": [
+                                       {
+                                               "name": "update[path]",
+                                               "in": "body",
+                                               "description": "Path in format b2[0-9]+",
+                                               "required": true,
+                                               "schema": {
+                                                       "type": "integer"
+                                               }
+                                       }
+                               ]
+                       }
+               },
                "/api/v1/config": {
                        "get": {
                                "tags": ["config"],
                                "tags": ["config"],
                                "summary": "Set component config",
                                "description": "Set specific component config",
+                               "consumes": [ "application/x-www-form-urlencoded" ],
                                "responses": {
                                        "200": {
                                                "description": "Set config status",
                                        },
                                        {
                                                "name": "update[config]",
-                                               "in": "header",
+                                               "in": "body",
                                                "description": "Config in JSON form to set",
                                                "required": true,
                                                "schema": {
                                "tags": ["config"],
                                "summary": "Set component resources config",
                                "description": "Set specific component resources config",
+                               "consumes": [ "application/x-www-form-urlencoded" ],
                                "responses": {
                                        "200": {
                                                "description": "Set resources config",
                                        },
                                        {
                                                "name": "update[config]",
-                                               "in": "header",
+                                               "in": "body",
                                                "description": "Config in JSON form to set",
                                                "required": true,
                                                "schema": {
                                "tags": ["config"],
                                "summary": "Set component resource config",
                                "description": "Set specific component resource config",
+                               "consumes": [ "application/x-www-form-urlencoded" ],
                                "responses": {
                                        "200": {
                                                "description": "Set single resource config",
                                        },
                                        {
                                                "name": "update[config]",
-                                               "in": "header",
+                                               "in": "body",
                                                "description": "Config in JSON form to set",
                                                "required": true,
                                                "schema": {