diff --git a/pr_body.md b/pr_body.md index 9ed07c6..d575da4 100644 --- a/pr_body.md +++ b/pr_body.md @@ -4,7 +4,7 @@ This PR contains automated updates to the Proxmox API specifications. ### PBS API Changes -- Endpoints: 240 → 246 (+6) +- Endpoints: 246 → 246 (+0) - File sizes: - JSON: 1.8M - YAML: 1.4M @@ -23,4 +23,4 @@ This PR contains automated updates to the Proxmox API specifications. 3. Merge to update the API specifications --- -*Generated automatically by GitHub Actions on 2026-07-05 03:11:30 UTC* +*Generated automatically by GitHub Actions on 2026-08-16 03:01:18 UTC* diff --git a/proxmox-backup-server/apidoc.js b/proxmox-backup-server/apidoc.js index f9fd9ba..c20db7b 100644 --- a/proxmox-backup-server/apidoc.js +++ b/proxmox-backup-server/apidoc.js @@ -17625,6 +17625,18 @@ var apiSchema = [ "pattern": "/^(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)$/", "type": "string" }, + "limit-active-requests": { + "description": "Combined rate limit for PUT, POST and DELETE requests given as #request/s.", + "minimum": 0, + "optional": 1, + "type": "integer" + }, + "limit-passive-requests": { + "description": "Combined rate limit for GET and HEAD requests given as #request/s.", + "minimum": 0, + "optional": 1, + "type": "integer" + }, "path-style": { "default": false, "description": "Use path style bucket addressing over vhost style.", @@ -17650,7 +17662,7 @@ var apiSchema = [ "type": "array" }, "put-rate-limit": { - "description": "Rate limit for put requests given as #request/s.", + "description": "Rate limit for put requests given as #request/s (deprecated: use active-rate-limit instead).", "optional": 1, "type": "integer" }, @@ -17674,6 +17686,12 @@ var apiSchema = [ "optional": 1, "pattern": "/^[_a-z\\d][-_a-z\\d]+$/", "type": "string" + }, + "use-node-proxy": { + "default": false, + "description": "Use node proxy for client connections", + "optional": 1, + "type": "boolean" } }, "type": "object" @@ -17719,7 +17737,10 @@ var apiSchema = [ "burst-in", "rate-out", "burst-out", - "provider-quirks" + "limit-active-requests", + "limit-passive-requests", + "provider-quirks", + "use-node-proxy" ], "type": "string" }, @@ -17751,6 +17772,18 @@ var apiSchema = [ "pattern": "/^(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)$/", "type": "string" }, + "limit-active-requests": { + "description": "Combined rate limit for PUT, POST and DELETE requests given as #request/s.", + "minimum": 0, + "optional": 1, + "type": "integer" + }, + "limit-passive-requests": { + "description": "Combined rate limit for GET and HEAD requests given as #request/s.", + "minimum": 0, + "optional": 1, + "type": "integer" + }, "path-style": { "default": false, "description": "Use path style bucket addressing over vhost style.", @@ -17776,7 +17809,7 @@ var apiSchema = [ "type": "array" }, "put-rate-limit": { - "description": "Rate limit for put requests given as #request/s.", + "description": "Rate limit for put requests given as #request/s (deprecated: use active-rate-limit instead).", "optional": 1, "type": "integer" }, @@ -17805,6 +17838,12 @@ var apiSchema = [ "description": "S3 client secret key.", "optional": 1, "type": "string" + }, + "use-node-proxy": { + "default": false, + "description": "Use node proxy for client connections", + "optional": 1, + "type": "boolean" } } }, @@ -17887,6 +17926,18 @@ var apiSchema = [ "pattern": "/^(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)$/", "type": "string" }, + "limit-active-requests": { + "description": "Combined rate limit for PUT, POST and DELETE requests given as #request/s.", + "minimum": 0, + "optional": 1, + "type": "integer" + }, + "limit-passive-requests": { + "description": "Combined rate limit for GET and HEAD requests given as #request/s.", + "minimum": 0, + "optional": 1, + "type": "integer" + }, "path-style": { "default": false, "description": "Use path style bucket addressing over vhost style.", @@ -17912,7 +17963,7 @@ var apiSchema = [ "type": "array" }, "put-rate-limit": { - "description": "Rate limit for put requests given as #request/s.", + "description": "Rate limit for put requests given as #request/s (deprecated: use active-rate-limit instead).", "optional": 1, "type": "integer" }, @@ -17936,6 +17987,12 @@ var apiSchema = [ "optional": 1, "pattern": "/^[_a-z\\d][-_a-z\\d]+$/", "type": "string" + }, + "use-node-proxy": { + "default": false, + "description": "Use node proxy for client connections", + "optional": 1, + "type": "boolean" } }, "type": "object" @@ -17987,6 +18044,18 @@ var apiSchema = [ "pattern": "/^(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)$/", "type": "string" }, + "limit-active-requests": { + "description": "Combined rate limit for PUT, POST and DELETE requests given as #request/s.", + "minimum": 0, + "optional": 1, + "type": "integer" + }, + "limit-passive-requests": { + "description": "Combined rate limit for GET and HEAD requests given as #request/s.", + "minimum": 0, + "optional": 1, + "type": "integer" + }, "path-style": { "default": false, "description": "Use path style bucket addressing over vhost style.", @@ -18012,7 +18081,7 @@ var apiSchema = [ "type": "array" }, "put-rate-limit": { - "description": "Rate limit for put requests given as #request/s.", + "description": "Rate limit for put requests given as #request/s (deprecated: use active-rate-limit instead).", "optional": 1, "type": "integer" }, @@ -18040,6 +18109,12 @@ var apiSchema = [ "secret-key": { "description": "S3 secret key", "type": "string" + }, + "use-node-proxy": { + "default": false, + "description": "Use node proxy for client connections", + "optional": 1, + "type": "boolean" } } }, @@ -23569,7 +23644,7 @@ var apiSchema = [ "info": { "GET": { "description": "Read syslog entries.", - "method": "GET", + "method": "DOWNLOAD", "parameters": { "additionalProperties": false, "description": "Read syslog entries.", @@ -23579,6 +23654,18 @@ var apiSchema = [ "optional": 1, "type": "string" }, + "identifiers": { + "default": false, + "description": "Also list the distinct syslog identifiers present. Requires 'structured'.", + "optional": 1, + "type": "boolean" + }, + "kernel": { + "default": false, + "description": "Only print kernel messages.", + "optional": 1, + "type": "boolean" + }, "lastentries": { "description": "Limit to the last X lines. Conflicts with a range.", "minimum": 0, @@ -23590,6 +23677,16 @@ var apiSchema = [ "pattern": "/^(?:[a-zA-Z0-9](?:[a-zA-Z0-9\\-]*[a-zA-Z0-9])?)$/", "type": "string" }, + "priority": { + "description": "Only print messages of this syslog priority: a single level from 0 (emerg) to 7 (debug), selecting that level and everything more severe, or a 'LOW..HIGH' range. Empty means no filter.", + "optional": 1, + "type": "string" + }, + "service": { + "description": "Only print messages whose syslog identifier matches this glob.", + "optional": 1, + "type": "string" + }, "since": { "description": "Display all log since this UNIX epoch. Conflicts with 'startcursor'.", "minimum": 0, @@ -23601,6 +23698,23 @@ var apiSchema = [ "optional": 1, "type": "string" }, + "structured": { + "default": false, + "description": "Emit structured JSON with separate entry fields instead of plain text.", + "optional": 1, + "type": "boolean" + }, + "unit": { + "description": "Only print messages of this systemd unit (the .service suffix is implied).", + "optional": 1, + "type": "string" + }, + "units": { + "default": false, + "description": "Also list the distinct systemd units present. Requires 'structured'.", + "optional": 1, + "type": "boolean" + }, "until": { "description": "Display all log until this UNIX epoch. Conflicts with 'endcursor'.", "minimum": 0, @@ -23622,12 +23736,7 @@ var apiSchema = [ } }, "returns": { - "description": "Returns a list of journal entries.", - "items": { - "description": "Line text.", - "type": "string" - }, - "type": "array" + "type": "null" }, "unstable": false } @@ -30447,7 +30556,10 @@ Ext.onReady(function () { }, ); - if (info.parameters && info.parameters.properties) { + let is_object_schema = (schema) => { + return schema.properties || schema.allOf || schema.oneOf; + }; + if (info.parameters && is_object_schema(info.parameters)) { let pstore = Ext.create('Ext.data.Store', { model: 'pmx-param-schema', proxy: { @@ -30468,23 +30580,52 @@ Ext.onReady(function () { let has_type_properties = false; - Ext.Object.each(info.parameters.properties, function (name, pdef) { - if (pdef.oneOf) { - pdef.oneOf.forEach((alternative) => { - alternative.name = name; - pstore.add(alternative); - has_type_properties = true; + let for_each_property = function (schema, callback, one_of_info) { + one_of_info ||= []; + + if (schema.properties) { + Ext.Object.each(schema.properties, function (name, pdef) { + callback(name, pdef, one_of_info); + }); + } else if (schema.allOf) { + Ext.Array.each(schema.allOf, function (entry) { + for_each_property(entry, callback, one_of_info); }); - } else if (pdef['instance-types']) { - pdef['instance-types'].forEach((type) => { - let typePdef = Ext.apply({}, pdef); - typePdef.name = name; - typePdef['instance-types'] = [type]; - pstore.add(typePdef); - has_type_properties = true; + } else if (schema.oneOf && schema['type-property-schema']) { + let type_property = schema['type-property']; + callback(type_property, schema['type-property-schema'], one_of_info); + schema.oneOf.forEach((type) => { + one_of_info.push(`${type_property}=${type['instance-type']}`); + for_each_property(type, callback, one_of_info); + one_of_info.pop(); }); + } + }; + + for_each_property(info.parameters, function (name, pdef, one_of_info) { + if (Ext.Object.isEmpty(one_of_info)) { + if (pdef.oneOf) { + pdef.oneOf.forEach((alternative) => { + alternative.name = name; + pstore.add(alternative); + has_type_properties = true; + }); + } else if (pdef['instance-types']) { + pdef['instance-types'].forEach((type) => { + let typePdef = Ext.apply({}, pdef); + typePdef.name = name; + typePdef['instance-types'] = [type]; + pstore.add(typePdef); + has_type_properties = true; + }); + } else { + pdef.name = name; + pstore.add(pdef); + } } else { + has_type_properties = true; pdef.name = name; + pdef['instance-types'] = [one_of_info.join(', ')]; pstore.add(pdef); } }); diff --git a/proxmox-backup-server/pbs-api.json b/proxmox-backup-server/pbs-api.json index d4dd207..bb84af9 100644 --- a/proxmox-backup-server/pbs-api.json +++ b/proxmox-backup-server/pbs-api.json @@ -30075,6 +30075,14 @@ "type": "string", "description": "ID to uniquely identify s3 client config." }, + "limit-active-requests": { + "type": "integer", + "description": "Combined rate limit for PUT, POST and DELETE requests given as #request/s." + }, + "limit-passive-requests": { + "type": "integer", + "description": "Combined rate limit for GET and HEAD requests given as #request/s." + }, "path-style": { "type": "boolean", "description": "Use path style bucket addressing over vhost style." @@ -30093,7 +30101,7 @@ }, "put-rate-limit": { "type": "integer", - "description": "Rate limit for put requests given as #request/s." + "description": "Rate limit for put requests given as #request/s (deprecated: use active-rate-limit instead)." }, "rate-in": { "type": "string", @@ -30106,6 +30114,10 @@ "region": { "type": "string", "description": "Region to access S3 object store." + }, + "use-node-proxy": { + "type": "boolean", + "description": "Use node proxy for client connections" } }, "description": "S3 client configuration properties without secret." @@ -30240,6 +30252,16 @@ "maxLength": 32, "pattern": "^(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)$" }, + "limit-active-requests": { + "type": "integer", + "description": "Combined rate limit for PUT, POST and DELETE requests given as #request/s.", + "minimum": 0 + }, + "limit-passive-requests": { + "type": "integer", + "description": "Combined rate limit for GET and HEAD requests given as #request/s.", + "minimum": 0 + }, "path-style": { "type": "boolean", "description": "Use path style bucket addressing over vhost style.", @@ -30258,7 +30280,7 @@ }, "put-rate-limit": { "type": "integer", - "description": "Rate limit for put requests given as #request/s." + "description": "Rate limit for put requests given as #request/s (deprecated: use active-rate-limit instead)." }, "rate-in": { "type": "string", @@ -30281,6 +30303,11 @@ "secret-key": { "type": "string", "description": "S3 secret key" + }, + "use-node-proxy": { + "type": "boolean", + "description": "Use node proxy for client connections", + "default": false } }, "required": [ @@ -30558,6 +30585,14 @@ "type": "string", "description": "ID to uniquely identify s3 client config." }, + "limit-active-requests": { + "type": "integer", + "description": "Combined rate limit for PUT, POST and DELETE requests given as #request/s." + }, + "limit-passive-requests": { + "type": "integer", + "description": "Combined rate limit for GET and HEAD requests given as #request/s." + }, "path-style": { "type": "boolean", "description": "Use path style bucket addressing over vhost style." @@ -30576,7 +30611,7 @@ }, "put-rate-limit": { "type": "integer", - "description": "Rate limit for put requests given as #request/s." + "description": "Rate limit for put requests given as #request/s (deprecated: use active-rate-limit instead)." }, "rate-in": { "type": "string", @@ -30589,6 +30624,10 @@ "region": { "type": "string", "description": "Region to access S3 object store." + }, + "use-node-proxy": { + "type": "boolean", + "description": "Use node proxy for client connections" } }, "description": "S3 client configuration properties without secret." @@ -30726,6 +30765,16 @@ "description": "X509 certificate fingerprint (sha256).", "pattern": "^(?:[0-9a-fA-F][0-9a-fA-F])(?::[0-9a-fA-F][0-9a-fA-F]){31}$" }, + "limit-active-requests": { + "type": "integer", + "description": "Combined rate limit for PUT, POST and DELETE requests given as #request/s.", + "minimum": 0 + }, + "limit-passive-requests": { + "type": "integer", + "description": "Combined rate limit for GET and HEAD requests given as #request/s.", + "minimum": 0 + }, "path-style": { "type": "boolean", "description": "Use path style bucket addressing over vhost style.", @@ -30744,7 +30793,7 @@ }, "put-rate-limit": { "type": "integer", - "description": "Rate limit for put requests given as #request/s." + "description": "Rate limit for put requests given as #request/s (deprecated: use active-rate-limit instead)." }, "rate-in": { "type": "string", @@ -30767,6 +30816,11 @@ "secret-key": { "type": "string", "description": "S3 client secret key." + }, + "use-node-proxy": { + "type": "boolean", + "description": "Use node proxy for client connections", + "default": false } } } @@ -40195,6 +40249,28 @@ }, "description": "End before the given Cursor. Conflicts with 'until'" }, + { + "name": "identifiers", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "description": "Also list the distinct syslog identifiers present. Requires 'structured'.", + "default": false + }, + "description": "Also list the distinct syslog identifiers present. Requires 'structured'." + }, + { + "name": "kernel", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "description": "Only print kernel messages.", + "default": false + }, + "description": "Only print kernel messages." + }, { "name": "lastentries", "in": "query", @@ -40206,6 +40282,26 @@ }, "description": "Limit to the last X lines. Conflicts with a range." }, + { + "name": "priority", + "in": "query", + "required": false, + "schema": { + "type": "string", + "description": "Only print messages of this syslog priority: a single level from 0 (emerg) to 7 (debug), selecting that level and everything more severe, or a 'LOW..HIGH' range. Empty means no filter." + }, + "description": "Only print messages of this syslog priority: a single level from 0 (emerg) to 7 (debug), selecting that level and everything more severe, or a 'LOW..HIGH' range. Empty means no filter." + }, + { + "name": "service", + "in": "query", + "required": false, + "schema": { + "type": "string", + "description": "Only print messages whose syslog identifier matches this glob." + }, + "description": "Only print messages whose syslog identifier matches this glob." + }, { "name": "since", "in": "query", @@ -40227,6 +40323,38 @@ }, "description": "Start after the given Cursor. Conflicts with 'since'." }, + { + "name": "structured", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "description": "Emit structured JSON with separate entry fields instead of plain text.", + "default": false + }, + "description": "Emit structured JSON with separate entry fields instead of plain text." + }, + { + "name": "unit", + "in": "query", + "required": false, + "schema": { + "type": "string", + "description": "Only print messages of this systemd unit (the .service suffix is implied)." + }, + "description": "Only print messages of this systemd unit (the .service suffix is implied)." + }, + { + "name": "units", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "description": "Also list the distinct systemd units present. Requires 'structured'.", + "default": false + }, + "description": "Also list the distinct systemd units present. Requires 'structured'." + }, { "name": "until", "in": "query", @@ -40241,16 +40369,13 @@ ], "responses": { "200": { - "description": "Returns a list of journal entries.", + "description": "Successful operation", "content": { "application/json": { "schema": { - "type": "array", - "items": { - "type": "string", - "description": "Line text." - }, - "description": "Returns a list of journal entries." + "type": "object", + "properties": {}, + "additionalProperties": false } } } diff --git a/proxmox-backup-server/pbs-api.yaml b/proxmox-backup-server/pbs-api.yaml index 060e0e9..ed3fe82 100644 --- a/proxmox-backup-server/pbs-api.yaml +++ b/proxmox-backup-server/pbs-api.yaml @@ -20705,6 +20705,14 @@ paths: id: type: string description: ID to uniquely identify s3 client config. + limit-active-requests: + type: integer + description: 'Combined rate limit for PUT, POST and DELETE requests + given as #request/s.' + limit-passive-requests: + type: integer + description: 'Combined rate limit for GET and HEAD requests + given as #request/s.' path-style: type: boolean description: Use path style bucket addressing over vhost style. @@ -20720,7 +20728,8 @@ paths: quirks. put-rate-limit: type: integer - description: 'Rate limit for put requests given as #request/s.' + description: 'Rate limit for put requests given as #request/s + (deprecated: use active-rate-limit instead).' rate-in: type: string description: Byte size with optional unit (B, KB (base 10), @@ -20732,6 +20741,9 @@ paths: region: type: string description: Region to access S3 object store. + use-node-proxy: + type: boolean + description: Use node proxy for client connections description: S3 client configuration properties without secret. description: List configured s3 clients. '400': @@ -20822,6 +20834,16 @@ paths: minLength: 3 maxLength: 32 pattern: ^(?:[A-Za-z0-9_][A-Za-z0-9._\-]*)$ + limit-active-requests: + type: integer + description: 'Combined rate limit for PUT, POST and DELETE requests + given as #request/s.' + minimum: 0 + limit-passive-requests: + type: integer + description: 'Combined rate limit for GET and HEAD requests given + as #request/s.' + minimum: 0 path-style: type: boolean description: Use path style bucket addressing over vhost style. @@ -20836,7 +20858,8 @@ paths: type: string put-rate-limit: type: integer - description: 'Rate limit for put requests given as #request/s.' + description: 'Rate limit for put requests given as #request/s (deprecated: + use active-rate-limit instead).' rate-in: type: string description: Byte size with optional unit (B, KB (base 10), MB, @@ -20857,6 +20880,10 @@ paths: secret-key: type: string description: S3 secret key + use-node-proxy: + type: boolean + description: Use node proxy for client connections + default: false required: - access-key - endpoint @@ -21039,6 +21066,14 @@ paths: id: type: string description: ID to uniquely identify s3 client config. + limit-active-requests: + type: integer + description: 'Combined rate limit for PUT, POST and DELETE requests + given as #request/s.' + limit-passive-requests: + type: integer + description: 'Combined rate limit for GET and HEAD requests given + as #request/s.' path-style: type: boolean description: Use path style bucket addressing over vhost style. @@ -21054,7 +21089,8 @@ paths: quirks. put-rate-limit: type: integer - description: 'Rate limit for put requests given as #request/s.' + description: 'Rate limit for put requests given as #request/s + (deprecated: use active-rate-limit instead).' rate-in: type: string description: Byte size with optional unit (B, KB (base 10), MB, @@ -21066,6 +21102,9 @@ paths: region: type: string description: Region to access S3 object store. + use-node-proxy: + type: boolean + description: Use node proxy for client connections description: S3 client configuration properties without secret. '400': description: Bad Request - Invalid input parameters or malformed request @@ -21159,6 +21198,16 @@ paths: type: string description: X509 certificate fingerprint (sha256). pattern: ^(?:[0-9a-fA-F][0-9a-fA-F])(?::[0-9a-fA-F][0-9a-fA-F]){31}$ + limit-active-requests: + type: integer + description: 'Combined rate limit for PUT, POST and DELETE requests + given as #request/s.' + minimum: 0 + limit-passive-requests: + type: integer + description: 'Combined rate limit for GET and HEAD requests given + as #request/s.' + minimum: 0 path-style: type: boolean description: Use path style bucket addressing over vhost style. @@ -21173,7 +21222,8 @@ paths: type: string put-rate-limit: type: integer - description: 'Rate limit for put requests given as #request/s.' + description: 'Rate limit for put requests given as #request/s (deprecated: + use active-rate-limit instead).' rate-in: type: string description: Byte size with optional unit (B, KB (base 10), MB, @@ -21194,6 +21244,10 @@ paths: secret-key: type: string description: S3 client secret key. + use-node-proxy: + type: boolean + description: Use node proxy for client connections + default: false parameters: - name: id in: path @@ -27664,6 +27718,23 @@ paths: type: string description: End before the given Cursor. Conflicts with 'until' description: End before the given Cursor. Conflicts with 'until' + - name: identifiers + in: query + required: false + schema: + type: boolean + description: Also list the distinct syslog identifiers present. Requires + 'structured'. + default: false + description: Also list the distinct syslog identifiers present. Requires 'structured'. + - name: kernel + in: query + required: false + schema: + type: boolean + description: Only print kernel messages. + default: false + description: Only print kernel messages. - name: lastentries in: query required: false @@ -27672,6 +27743,24 @@ paths: description: Limit to the last X lines. Conflicts with a range. minimum: 0 description: Limit to the last X lines. Conflicts with a range. + - name: priority + in: query + required: false + schema: + type: string + description: 'Only print messages of this syslog priority: a single level + from 0 (emerg) to 7 (debug), selecting that level and everything more + severe, or a ''LOW..HIGH'' range. Empty means no filter.' + description: 'Only print messages of this syslog priority: a single level + from 0 (emerg) to 7 (debug), selecting that level and everything more severe, + or a ''LOW..HIGH'' range. Empty means no filter.' + - name: service + in: query + required: false + schema: + type: string + description: Only print messages whose syslog identifier matches this glob. + description: Only print messages whose syslog identifier matches this glob. - name: since in: query required: false @@ -27687,6 +27776,33 @@ paths: type: string description: Start after the given Cursor. Conflicts with 'since'. description: Start after the given Cursor. Conflicts with 'since'. + - name: structured + in: query + required: false + schema: + type: boolean + description: Emit structured JSON with separate entry fields instead of + plain text. + default: false + description: Emit structured JSON with separate entry fields instead of plain + text. + - name: unit + in: query + required: false + schema: + type: string + description: Only print messages of this systemd unit (the .service suffix + is implied). + description: Only print messages of this systemd unit (the .service suffix + is implied). + - name: units + in: query + required: false + schema: + type: boolean + description: Also list the distinct systemd units present. Requires 'structured'. + default: false + description: Also list the distinct systemd units present. Requires 'structured'. - name: until in: query required: false @@ -27697,15 +27813,13 @@ paths: description: Display all log until this UNIX epoch. Conflicts with 'endcursor'. responses: '200': - description: Returns a list of journal entries. + description: Successful operation content: application/json: schema: - type: array - items: - type: string - description: Line text. - description: Returns a list of journal entries. + type: object + properties: {} + additionalProperties: false '400': description: Bad Request - Invalid input parameters or malformed request content: