You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by lh...@apache.org on 2024/04/02 06:33:57 UTC
(pulsar-site) branch main updated (b227939dd501 -> c3451511e958)
This is an automated email from the ASF dual-hosted git repository.
lhotari pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/pulsar-site.git
from b227939dd501 Move bumping of pom.xml version to the end
new f6517ccd7962 Improve release process instructions
new 5a4aa95eb174 update rest-apidoc for 3.2.2
new c3451511e958 Add release notes for 3.2.2
The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
contribute/release-process.md | 3 +-
data/release-java.js | 17 ++++++-----
data/release-pulsar.js | 11 ++++++-
.../{client-java-3.0.4.md => client-java-3.2.2.md} | 10 +++----
.../versioned/{pulsar-3.0.4.md => pulsar-3.2.2.md} | 35 ++++++++++------------
static/swagger/{3.2.1 => 3.2.2}/swagger.json | 0
.../swagger/{3.0.0 => 3.2.2}/swaggerfunctions.json | 0
.../swagger/{2.10.5 => 3.2.2}/swaggerlookup.json | 0
.../swagger/{3.0.0 => 3.2.2}/swaggerpackages.json | 0
static/swagger/{3.0.0 => 3.2.2}/swaggersink.json | 0
static/swagger/{3.2.0 => 3.2.2}/swaggersource.json | 0
.../{2.10.5 => 3.2.2}/swaggertransactions.json | 0
static/swagger/{3.2.1 => 3.2.2/v2}/swagger.json | 0
.../{2.10.5 => 3.2.2/v2}/swaggerlookup.json | 0
.../{3.0.0 => 3.2.2/v3}/swaggerfunctions.json | 0
.../{3.0.0 => 3.2.2/v3}/swaggerpackages.json | 0
.../swagger/{3.0.0 => 3.2.2/v3}/swaggersink.json | 0
.../swagger/{3.2.0 => 3.2.2/v3}/swaggersource.json | 0
.../{2.10.5 => 3.2.2/v3}/swaggertransactions.json | 0
static/swagger/restApiVersions.json | 19 ++++++++++++
20 files changed, 61 insertions(+), 34 deletions(-)
copy release-notes/versioned/{client-java-3.0.4.md => client-java-3.2.2.md} (79%)
copy release-notes/versioned/{pulsar-3.0.4.md => pulsar-3.2.2.md} (78%)
copy static/swagger/{3.2.1 => 3.2.2}/swagger.json (100%)
copy static/swagger/{3.0.0 => 3.2.2}/swaggerfunctions.json (100%)
copy static/swagger/{2.10.5 => 3.2.2}/swaggerlookup.json (100%)
copy static/swagger/{3.0.0 => 3.2.2}/swaggerpackages.json (100%)
copy static/swagger/{3.0.0 => 3.2.2}/swaggersink.json (100%)
copy static/swagger/{3.2.0 => 3.2.2}/swaggersource.json (100%)
copy static/swagger/{2.10.5 => 3.2.2}/swaggertransactions.json (100%)
copy static/swagger/{3.2.1 => 3.2.2/v2}/swagger.json (100%)
copy static/swagger/{2.10.5 => 3.2.2/v2}/swaggerlookup.json (100%)
copy static/swagger/{3.0.0 => 3.2.2/v3}/swaggerfunctions.json (100%)
copy static/swagger/{3.0.0 => 3.2.2/v3}/swaggerpackages.json (100%)
copy static/swagger/{3.0.0 => 3.2.2/v3}/swaggersink.json (100%)
copy static/swagger/{3.2.0 => 3.2.2/v3}/swaggersource.json (100%)
copy static/swagger/{2.10.5 => 3.2.2/v3}/swaggertransactions.json (100%)
(pulsar-site) 01/03: Improve release process instructions
Posted by lh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
lhotari pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/pulsar-site.git
commit f6517ccd7962f30a44e27bdb43f1696274f4b9d2
Author: Lari Hotari <lh...@users.noreply.github.com>
AuthorDate: Tue Apr 2 09:20:34 2024 +0300
Improve release process instructions
---
contribute/release-process.md | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/contribute/release-process.md b/contribute/release-process.md
index d5cb85069d65..830cbf77aae7 100644
--- a/contribute/release-process.md
+++ b/contribute/release-process.md
@@ -726,6 +726,7 @@ First, build swagger files from apache/pulsar repo at the released tag:
```shell
mvn -ntp install -Pcore-modules,swagger,-main -DskipTests -DskipSourceReleaseAssembly=true -Dspotbugs.skip=true -Dlicense.skip=true
+PULSAR_PATH=$(pwd)
```
Now, run the following script from the main branch of apache/pulsar-site repo:
@@ -742,7 +743,7 @@ poetry run bin/rest-apidoc-generator.py --master-path=$PULSAR_PATH --version=$VE
cd ../..
git add -u
git add static/swagger/$VERSION_WITHOUT_RC
-git commit -m "update rest-apidoc for $VERSION_WITH_RC"
+git commit -m "update rest-apidoc for $VERSION_WITHOUT_RC"
```
Read more on the manual of [pytools](https://github.com/apache/pulsar-site/tree/main/tools/pytools/README.md).
(pulsar-site) 03/03: Add release notes for 3.2.2
Posted by lh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
lhotari pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/pulsar-site.git
commit c3451511e958e5a7fc9f9d1e959be9632dd323ff
Author: Lari Hotari <lh...@users.noreply.github.com>
AuthorDate: Tue Apr 2 09:33:23 2024 +0300
Add release notes for 3.2.2
---
data/release-java.js | 17 +++----
data/release-pulsar.js | 11 ++++-
release-notes/versioned/client-java-3.2.2.md | 15 ++++++
release-notes/versioned/pulsar-3.2.2.md | 70 ++++++++++++++++++++++++++++
4 files changed, 104 insertions(+), 9 deletions(-)
diff --git a/data/release-java.js b/data/release-java.js
index fcadbb4acb24..ce0e892fe2b1 100644
--- a/data/release-java.js
+++ b/data/release-java.js
@@ -1,23 +1,24 @@
module.exports = [
-{tagName: "v3.2.1",vtag:"3.2.x",releaseNotes:"/release-notes/versioned/client-java-3.2.1/",doc:"/docs/3.2.x/client-libraries-java",version:"v3.2.x"},
+{tagName: "v3.2.2",vtag:"3.2.x",releaseNotes:"/release-notes/versioned/client-java-3.2.2/",doc:"/docs/3.2.x/client-libraries-java",version:"v3.2.x"},
+{tagName: "v3.2.1",vtag:"3.2.x",releaseNotes:"/release-notes/versioned/client-java-3.2.1/",doc:"/docs/3.2.x/client-libraries-java",version:""},
{tagName: "v3.2.0",vtag:"3.2.x",releaseNotes:"/release-notes/versioned/client-java-3.2.0/",doc:"/docs/3.2.x/client-libraries-java",version:""},
{tagName: "v3.1.3",vtag:"3.1.x",releaseNotes:"/release-notes/versioned/client-java-3.1.3/",doc:"/docs/3.1.x/client-libraries-java",version:"v3.1.x"},
{tagName: "v3.1.2",vtag:"3.1.x",releaseNotes:"/release-notes/versioned/client-java-3.1.2/",doc:"/docs/3.1.x/client-libraries-java",version:""},
{tagName: "v3.1.1",vtag:"3.1.x",releaseNotes:"/release-notes/versioned/client-java-3.1.1/",doc:"/docs/3.1.x/client-libraries-java",version:""},
{tagName: "v3.1.0",vtag:"3.1.x",releaseNotes:"/release-notes/versioned/client-java-3.1.0/",doc:"/docs/3.1.x/client-libraries-java",version:""},
{tagName: "v3.0.4",vtag:"3.0.x",releaseNotes:"/release-notes/versioned/client-java-3.0.4/",doc:"/docs/3.0.x/client-libraries-java",version:"v3.0.x"},
-{tagName: "v3.0.3",vtag:"3.0.x",releaseNotes:"/release-notes/versioned/client-java-3.0.3/",doc:"/docs/3.0.x/client-libraries-java",version:"v3.0.x"},
-{tagName: "v3.0.2",vtag:"3.0.x",releaseNotes:"/release-notes/versioned/client-java-3.0.2/",doc:"/docs/3.0.x/client-libraries-java",version:"v3.0.x"},
-{tagName: "v3.0.1",vtag:"3.0.x",releaseNotes:"/release-notes/versioned/client-java-3.0.1/",doc:"/docs/3.0.x/client-libraries-java",version:"v3.0.x"},
-{tagName: "v3.0.0",vtag:"3.0.x",releaseNotes:"/release-notes/versioned/client-java-3.0.0/",doc:"/docs/3.0.x/client-libraries-java",version:"v3.0.x"},
+{tagName: "v3.0.3",vtag:"3.0.x",releaseNotes:"/release-notes/versioned/client-java-3.0.3/",doc:"/docs/3.0.x/client-libraries-java",version:""},
+{tagName: "v3.0.2",vtag:"3.0.x",releaseNotes:"/release-notes/versioned/client-java-3.0.2/",doc:"/docs/3.0.x/client-libraries-java",version:""},
+{tagName: "v3.0.1",vtag:"3.0.x",releaseNotes:"/release-notes/versioned/client-java-3.0.1/",doc:"/docs/3.0.x/client-libraries-java",version:""},
+{tagName: "v3.0.0",vtag:"3.0.x",releaseNotes:"/release-notes/versioned/client-java-3.0.0/",doc:"/docs/3.0.x/client-libraries-java",version:""},
{tagName: "v2.11.4",vtag:"2.11.x",releaseNotes:"/release-notes/versioned/client-java-2.11.4/",doc:"/docs/2.11.x/client-libraries-java",version:"v2.11.x"},
-{tagName: "v2.11.3",vtag:"2.11.x",releaseNotes:"/release-notes/versioned/client-java-2.11.3/",doc:"/docs/2.11.x/client-libraries-java",version:"v2.11.x"},
+{tagName: "v2.11.3",vtag:"2.11.x",releaseNotes:"/release-notes/versioned/client-java-2.11.3/",doc:"/docs/2.11.x/client-libraries-java",version:""},
{tagName: "v2.11.2",vtag:"2.11.x",releaseNotes:"/release-notes/versioned/client-java-2.11.2/",doc:"/docs/2.11.x/client-libraries-java",version:""},
{tagName: "v2.11.1",vtag:"2.11.x",releaseNotes:"/release-notes/versioned/client-java-2.11.1/",doc:"/docs/2.11.x/client-libraries-java",version:""},
{tagName: "v2.11.0",vtag:"2.11.x",releaseNotes:"/release-notes/versioned/client-java-2.11.0/",doc:"/docs/2.11.x/client-libraries-java",version:""},
{tagName: "v2.10.6",vtag:"2.10.x",releaseNotes:"/release-notes/versioned/client-java-2.10.6/",doc:"/docs/2.10.x/client-libraries-java",version:"v2.10.x"},
-{tagName: "v2.10.5",vtag:"2.10.x",releaseNotes:"/release-notes/versioned/client-java-2.10.5/",doc:"/docs/2.10.x/client-libraries-java",version:"v2.10.x"},
-{tagName: "v2.10.4",vtag:"2.10.x",releaseNotes:"/release-notes/versioned/client-java-2.10.4/",doc:"/docs/2.10.x/client-libraries-java",version:"v2.10.x"},
+{tagName: "v2.10.5",vtag:"2.10.x",releaseNotes:"/release-notes/versioned/client-java-2.10.5/",doc:"/docs/2.10.x/client-libraries-java",version:""},
+{tagName: "v2.10.4",vtag:"2.10.x",releaseNotes:"/release-notes/versioned/client-java-2.10.4/",doc:"/docs/2.10.x/client-libraries-java",version:""},
{tagName: "v2.10.3",vtag:"2.10.x",releaseNotes:"/release-notes/versioned/client-java-2.10.3/",doc:"/docs/2.10.x/client-libraries-java",version:""},
{tagName: "v2.10.2",vtag:"2.10.x",releaseNotes:"/release-notes/versioned/client-java-2.10.2/",doc:"/docs/2.10.x/client-libraries-java",version:""},
{tagName: "v2.10.1",vtag:"2.10.x",releaseNotes:"/release-notes/versioned/client-java-2.10.1/",doc:"/docs/2.10.x/client-libraries-java",version:""},
diff --git a/data/release-pulsar.js b/data/release-pulsar.js
index 6af6666a34dc..4d2f0b9c7f1b 100644
--- a/data/release-pulsar.js
+++ b/data/release-pulsar.js
@@ -1,4 +1,13 @@
module.exports = [
+ {
+ "author": "lhotari",
+ "tagName": "v3.2.2",
+ "publishedAt": "2024-04-02T06:08:51Z",
+ "vtag": "3.2.x",
+ "releaseNotes": "/release-notes/versioned/pulsar-3.2.2/",
+ "doc": "/docs/3.2.x",
+ "version": "v3.2.x"
+ },
{
"author": "Technoboy-",
"tagName": "v3.2.1",
@@ -6,7 +15,7 @@ module.exports = [
"vtag": "3.2.x",
"releaseNotes": "/release-notes/versioned/pulsar-3.2.1/",
"doc": "/docs/3.2.x",
- "version": "v3.2.x"
+ "version": ""
},
{
"author": "Technoboy-",
diff --git a/release-notes/versioned/client-java-3.2.2.md b/release-notes/versioned/client-java-3.2.2.md
new file mode 100644
index 000000000000..7d98045b0b40
--- /dev/null
+++ b/release-notes/versioned/client-java-3.2.2.md
@@ -0,0 +1,15 @@
+---
+id: client-java-3.2.1
+title: Client Java 3.2.1
+sidebar_label: Client Java 3.2.1
+---
+
+- [fix][client] Consumer lost message ack due to race condition in acknowledge with batch message ([#22353](https://github.com/apache/pulsar/pull/22353))
+- [fix][client] Do no retrying for error subscription not found when disabled allowAutoSubscriptionCreation ([#22164](https://github.com/apache/pulsar/pull/22164))
+- [fix][client] Fix wrong results of hasMessageAvailable and readNext after seeking by timestamp ([#22363](https://github.com/apache/pulsar/pull/22363))
+- [fix][client] GenericProtobufNativeSchema not implement getNativeSchema method. ([#22204](https://github.com/apache/pulsar/pull/22204))
+- [fix][client] Unclear error message when creating a consumer with two same topics ([#22255](https://github.com/apache/pulsar/pull/22255))
+- [fix][client] fix Reader.hasMessageAvailable might return true after seeking to latest ([#22201](https://github.com/apache/pulsar/pull/22201))
+- [fix][client]Fixed getting an incorrect `maxMessageSize` value when accessing multiple clusters in the same process ([#22306](https://github.com/apache/pulsar/pull/22306))
+- [fix][misc] Make ConcurrentBitSet thread safe ([#22361](https://github.com/apache/pulsar/pull/22361))
+- [improve][misc] Remove the call to sun InetAddressCachePolicy ([#22329](https://github.com/apache/pulsar/pull/22329))
diff --git a/release-notes/versioned/pulsar-3.2.2.md b/release-notes/versioned/pulsar-3.2.2.md
new file mode 100644
index 000000000000..fae9078de22e
--- /dev/null
+++ b/release-notes/versioned/pulsar-3.2.2.md
@@ -0,0 +1,70 @@
+---
+id: pulsar-3.2.2
+title: Apache Pulsar 3.2.2
+sidebar_label: Apache Pulsar 3.2.2
+---
+
+#### 2024-04-02
+
+### Broker
+
+- [fix][broker] Avoid execute prepareInitPoliciesCacheAsync if namespace is deleted ([#22268](https://github.com/apache/pulsar/pull/22268))
+- [fix][broker] Avoid expired unclosed ledgers when checking expired messages by ledger closure time ([#22335](https://github.com/apache/pulsar/pull/22335))
+- [fix][broker] Check cursor state before adding it to the `waitingCursors` ([#22191](https://github.com/apache/pulsar/pull/22191))
+- [fix][broker] Close dispatchers stuck due to mismatch between dispatcher.consumerList and dispatcher.consumerSet ([#22270](https://github.com/apache/pulsar/pull/22270))
+- [fix][broker] Fix OpReadEntry.skipCondition NPE issue ([#22367](https://github.com/apache/pulsar/pull/22367))
+- [fix][broker] Fix ResourceGroup report local usage ([#22340](https://github.com/apache/pulsar/pull/22340))
+- [fix][broker] Fix ResourceGroups loading ([#21781](https://github.com/apache/pulsar/pull/21781))
+- [fix][broker] Fix issue of field 'topic' is not set when handle GetSchema request ([#22377](https://github.com/apache/pulsar/pull/22377))
+- [fix][broker] Fix wrong double-checked locking for readOnActiveConsumerTask in dispatcher ([#22279](https://github.com/apache/pulsar/pull/22279))
+- [fix][broker] fix mismatch between dispatcher.consumerList and dispatcher.consumerSet ([#22283](https://github.com/apache/pulsar/pull/22283))
+- [fix][ml]Expose ledger timestamp ([#22338](https://github.com/apache/pulsar/pull/22338))
+- [fix][offload] Fix Offload readHandle cannot close multi times. ([#22162](https://github.com/apache/pulsar/pull/22162))
+- [fix][txn]Fix TopicTransactionBuffer potential thread safety issue ([#22149](https://github.com/apache/pulsar/pull/22149))
+- [improve][admin] Fix the `createMissingPartitions` doesn't response correctly ([#22311](https://github.com/apache/pulsar/pull/22311))
+- [improve][broker] Add createTopicIfDoesNotExist option to RawReader constructor ([#22264](https://github.com/apache/pulsar/pull/22264))
+- [improve][broker] Add fine-grain authorization to ns/topic management endpoints ([#22305](https://github.com/apache/pulsar/pull/22305))
+- [improve][broker] Add missing configuration keys for caching catch-up reads ([#22295](https://github.com/apache/pulsar/pull/22295))
+- [improve][broker] Support create RawReader based on configuration ([#22280](https://github.com/apache/pulsar/pull/22280))
+
+### Client
+
+- [fix][client] Consumer lost message ack due to race condition in acknowledge with batch message ([#22353](https://github.com/apache/pulsar/pull/22353))
+- [fix][client] Do no retrying for error subscription not found when disabled allowAutoSubscriptionCreation ([#22164](https://github.com/apache/pulsar/pull/22164))
+- [fix][client] Fix wrong results of hasMessageAvailable and readNext after seeking by timestamp ([#22363](https://github.com/apache/pulsar/pull/22363))
+- [fix][client] GenericProtobufNativeSchema not implement getNativeSchema method. ([#22204](https://github.com/apache/pulsar/pull/22204))
+- [fix][client] Unclear error message when creating a consumer with two same topics ([#22255](https://github.com/apache/pulsar/pull/22255))
+- [fix][client] fix Reader.hasMessageAvailable might return true after seeking to latest ([#22201](https://github.com/apache/pulsar/pull/22201))
+- [fix][client]Fixed getting an incorrect `maxMessageSize` value when accessing multiple clusters in the same process ([#22306](https://github.com/apache/pulsar/pull/22306))
+
+### Others
+
+- [fix][misc] Make ConcurrentBitSet thread safe ([#22361](https://github.com/apache/pulsar/pull/22361))
+- [improve][misc] Remove the call to sun InetAddressCachePolicy ([#22329](https://github.com/apache/pulsar/pull/22329))
+- [fix][ws] Check the validity of config before start websocket service ([#22231](https://github.com/apache/pulsar/pull/22231))
+
+### Library updates
+
+- [fix][sec] Upgrade jose4j to 0.9.4 ([#22273](https://github.com/apache/pulsar/pull/22273))
+- [fix][sec] Go Functions security updates ([#21844](https://github.com/apache/pulsar/pull/21844))
+- [fix][sec] Upgrade Zookeeper to 3.9.2 to address CVE-2024-23944 ([#22275](https://github.com/apache/pulsar/pull/22275))
+- [improve][misc] Include native epoll library for Netty for arm64 ([#22319](https://github.com/apache/pulsar/pull/22319))
+- [improve][misc] Upgrade Netty version to 4.1.105.Final ([#21923](https://github.com/apache/pulsar/pull/21923))
+
+### Tests & CI
+
+- [fix][ci] Enable CI for branch-3.2 ([#22287](https://github.com/apache/pulsar/pull/22287))
+- [fix][ci] Tolerate mount option change failing in CI ([#22241](https://github.com/apache/pulsar/pull/22241))
+- [fix][test] Fix flaky ManagedLedgerErrorsTest.recoverAfterZnodeVersionError ([#22368](https://github.com/apache/pulsar/pull/22368))
+- [fix][test] Fix flaky RGUsageMTAggrWaitForAllMsgsTest ([#22252](https://github.com/apache/pulsar/pull/22252))
+- [fix][test] Fix flaky test BrokerServiceAutoSubscriptionCreationTest ([#22190](https://github.com/apache/pulsar/pull/22190))
+- [fix][test] Fix flaky test ManagedLedgerTest.testGetNumberOfEntriesInStorage ([#22344](https://github.com/apache/pulsar/pull/22344))
+- [fix][test] Fix thread leak in TopicPoliciesAuthZTest ([#22257](https://github.com/apache/pulsar/pull/22257))
+- [fix][test][branch-3.2] Fix broken ManagedLedgerTest.testGetNumberOfEntriesInStorage
+- [fix][fn] fix broken function-go test ([#22260](https://github.com/apache/pulsar/pull/22260))
+- [fix][test] Fix the tests with same namespace name ([#22240](https://github.com/apache/pulsar/pull/22240))
+- [fix][build] Fix version in pulsar-bom/pom.xml and fix src/set-project-version.sh
+- [improve][test][branch-3.2] Improve ManagedLedgerTest.testGetNumberOfEntriesInStorage
+- [improve][misc] Upgrade checkstyle to 10.14.2 ([#22291](https://github.com/apache/pulsar/pull/22291))
+
+For the complete list, check the [full changelog](https://github.com/apache/pulsar/compare/v3.2.1...v3.2.2).
\ No newline at end of file
(pulsar-site) 02/03: update rest-apidoc for 3.2.2
Posted by lh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
lhotari pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/pulsar-site.git
commit 5a4aa95eb174ed088995a10a7bc87b35b3c470f2
Author: Lari Hotari <lh...@users.noreply.github.com>
AuthorDate: Tue Apr 2 09:20:58 2024 +0300
update rest-apidoc for 3.2.2
---
static/swagger/3.2.2/swagger.json | 33558 +++++++++++++++++++++
static/swagger/3.2.2/swaggerfunctions.json | 2230 ++
static/swagger/3.2.2/swaggerlookup.json | 319 +
static/swagger/3.2.2/swaggerpackages.json | 624 +
static/swagger/3.2.2/swaggersink.json | 1428 +
static/swagger/3.2.2/swaggersource.json | 1380 +
static/swagger/3.2.2/swaggertransactions.json | 975 +
static/swagger/3.2.2/v2/swagger.json | 33558 +++++++++++++++++++++
static/swagger/3.2.2/v2/swaggerlookup.json | 319 +
static/swagger/3.2.2/v3/swaggerfunctions.json | 2230 ++
static/swagger/3.2.2/v3/swaggerpackages.json | 624 +
static/swagger/3.2.2/v3/swaggersink.json | 1428 +
static/swagger/3.2.2/v3/swaggersource.json | 1380 +
static/swagger/3.2.2/v3/swaggertransactions.json | 975 +
static/swagger/restApiVersions.json | 19 +
15 files changed, 81047 insertions(+)
diff --git a/static/swagger/3.2.2/swagger.json b/static/swagger/3.2.2/swagger.json
new file mode 100644
index 000000000000..a7a8d1ac034e
--- /dev/null
+++ b/static/swagger/3.2.2/swagger.json
@@ -0,0 +1,33558 @@
+{
+ "basePath": "/admin/v2",
+ "definitions": {
+ "AllocatorStats": {
+ "properties": {
+ "directArenas": {
+ "items": {
+ "$ref": "#/definitions/PoolArenaStats"
+ },
+ "type": "array"
+ },
+ "heapArenas": {
+ "items": {
+ "$ref": "#/definitions/PoolArenaStats"
+ },
+ "type": "array"
+ },
+ "normalCacheSize": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "numDirectArenas": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "numHeapArenas": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "numThreadLocalCaches": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "smallCacheSize": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AuthPolicies": {
+ "properties": {
+ "namespaceAuthentication": {
+ "additionalProperties": {
+ "items": {
+ "enum": [
+ "produce",
+ "consume",
+ "functions",
+ "sources",
+ "sinks",
+ "packages"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "type": "object"
+ },
+ "subscriptionAuthentication": {
+ "additionalProperties": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "type": "object"
+ },
+ "topicAuthentication": {
+ "additionalProperties": {
+ "additionalProperties": {
+ "items": {
+ "enum": [
+ "produce",
+ "consume",
+ "functions",
+ "sources",
+ "sinks",
+ "packages"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "type": "object"
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "AuthenticationDataSource": {
+ "properties": {
+ "commandData": {
+ "type": "string"
+ },
+ "httpAuthType": {
+ "type": "string"
+ },
+ "peerAddress": {
+ "$ref": "#/definitions/SocketAddress"
+ },
+ "subscription": {
+ "type": "string"
+ },
+ "tlsCertificates": {
+ "items": {
+ "$ref": "#/definitions/Certificate"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "AuthenticationParameters": {
+ "properties": {
+ "clientAuthenticationDataSource": {
+ "$ref": "#/definitions/AuthenticationDataSource"
+ },
+ "clientRole": {
+ "type": "string"
+ },
+ "originalPrincipal": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "AutoFailoverPolicyData": {
+ "properties": {
+ "parameters": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "policyType": {
+ "enum": [
+ "min_available"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "AutoSubscriptionCreationOverride": {
+ "properties": {
+ "allowAutoSubscriptionCreation": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "AutoSubscriptionCreationOverrideImpl": {
+ "properties": {
+ "allowAutoSubscriptionCreation": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "AutoTopicCreationOverride": {
+ "properties": {
+ "allowAutoTopicCreation": {
+ "type": "boolean"
+ },
+ "defaultNumPartitions": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "topicType": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "BacklogQuota": {
+ "properties": {
+ "limit": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "limitSize": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "limitTime": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "policy": {
+ "enum": [
+ "producer_request_hold",
+ "producer_exception",
+ "consumer_backlog_eviction"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "BacklogQuotaImpl": {
+ "properties": {
+ "limit": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "limitSize": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "limitTime": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "policy": {
+ "enum": [
+ "producer_request_hold",
+ "producer_exception",
+ "consumer_backlog_eviction"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "BookieAffinityGroupData": {
+ "properties": {
+ "bookkeeperAffinityGroupPrimary": {
+ "type": "string"
+ },
+ "bookkeeperAffinityGroupSecondary": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "BookieInfo": {
+ "properties": {
+ "hostname": {
+ "type": "string"
+ },
+ "rack": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "BookiesClusterInfo": {
+ "properties": {
+ "bookies": {
+ "items": {
+ "$ref": "#/definitions/RawBookieInfo"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "BrokerInfo": {
+ "properties": {
+ "brokerId": {
+ "type": "string"
+ },
+ "serviceUrl": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "BrokerNamespaceIsolationData": {
+ "description": "The namespace isolation data for a given broker",
+ "properties": {
+ "brokerName": {
+ "description": "The broker name",
+ "example": "broker1:8080",
+ "type": "string"
+ },
+ "namespaceRegex": {
+ "description": "The namespace-isolation policies attached to this broker",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "policyName": {
+ "description": "Policy name",
+ "example": "my-policy",
+ "type": "string"
+ },
+ "primary": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "BundlesData": {
+ "properties": {
+ "boundaries": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "numBundles": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "Certificate": {
+ "properties": {
+ "encoded": {
+ "items": {
+ "format": "byte",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "publicKey": {
+ "$ref": "#/definitions/PublicKey"
+ },
+ "type": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ClusterData": {
+ "description": "The configuration data for a cluster",
+ "properties": {
+ "authenticationParameters": {
+ "description": "Authentication parameters when client would like to connect to cluster.",
+ "type": "string"
+ },
+ "authenticationPlugin": {
+ "description": "Authentication plugin when client would like to connect to cluster.",
+ "example": "org.apache.pulsar.client.impl.auth.AuthenticationToken",
+ "type": "string"
+ },
+ "brokerClientCertificateFilePath": {
+ "description": "TLS certificate file for internal client, used by the internal client to authenticate with Pulsar brokers",
+ "type": "string"
+ },
+ "brokerClientKeyFilePath": {
+ "description": "TLS private key file for internal client, used by the internal client to authenticate with Pulsar brokers",
+ "type": "string"
+ },
+ "brokerClientTlsEnabled": {
+ "description": "Enable TLS when talking with other brokers in the same cluster (admin operation) or different clusters (replication)",
+ "type": "boolean"
+ },
+ "brokerClientTlsEnabledWithKeyStore": {
+ "description": "Whether internal client use KeyStore type to authenticate with other Pulsar brokers",
+ "type": "boolean"
+ },
+ "brokerClientTlsKeyStore": {
+ "description": "TLS KeyStore path for internal client, used by the internal client to authenticate with Pulsar brokers",
+ "type": "string"
+ },
+ "brokerClientTlsKeyStorePassword": {
+ "description": "TLS KeyStore password for internal client, used by the internal client to authenticate with Pulsar brokers",
+ "type": "string"
+ },
+ "brokerClientTlsKeyStoreType": {
+ "description": "TLS KeyStore type configuration for internal client: JKS, PKCS12, used by the internal client to authenticate with Pulsar brokers",
+ "type": "string"
+ },
+ "brokerClientTlsTrustStore": {
+ "description": "TLS TrustStore path for internal client used by the internal client to authenticate with Pulsar brokers",
+ "type": "string"
+ },
+ "brokerClientTlsTrustStorePassword": {
+ "description": "TLS TrustStore password for internal client used by the internal client to authenticate with Pulsar brokers",
+ "type": "string"
+ },
+ "brokerClientTlsTrustStoreType": {
+ "description": "TLS TrustStore type configuration for internal client: JKS, PKCS12 used by the internal client to authenticate with Pulsar brokers",
+ "example": "JKS",
+ "type": "string"
+ },
+ "brokerClientTrustCertsFilePath": {
+ "description": "Path for the trusted TLS certificate file for outgoing connection to a server (broker)",
+ "type": "string"
+ },
+ "brokerServiceUrl": {
+ "description": "The broker service url (for produce and consume operations)",
+ "example": "pulsar://pulsar.example.com:6650",
+ "type": "string"
+ },
+ "brokerServiceUrlTls": {
+ "description": "The secured broker service url (for produce and consume operations)",
+ "example": "pulsar+ssl://pulsar.example.com:6651",
+ "type": "string"
+ },
+ "listenerName": {
+ "description": "listenerName when client would like to connect to cluster",
+ "type": "string"
+ },
+ "peerClusterNames": {
+ "description": "A set of peer cluster names",
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "proxyProtocol": {
+ "description": "protocol to decide type of proxy routing eg: SNI-routing",
+ "enum": [
+ "SNI"
+ ],
+ "example": "SNI",
+ "type": "string"
+ },
+ "proxyServiceUrl": {
+ "description": "Proxy-service url when client would like to connect to broker via proxy.",
+ "example": "pulsar+ssl://ats-proxy.example.com:4443 or pulsar://ats-proxy.example.com:4080",
+ "type": "string"
+ },
+ "serviceUrl": {
+ "description": "The HTTP rest service URL (for admin operations)",
+ "example": "http://pulsar.example.com:8080",
+ "type": "string"
+ },
+ "serviceUrlTls": {
+ "description": "The HTTPS rest service URL (for admin operations)",
+ "example": "https://pulsar.example.com:8443",
+ "type": "string"
+ },
+ "tlsAllowInsecureConnection": {
+ "description": "Allow TLS connections to servers whose certificate cannot be be verified to have been signed by a trusted certificate authority.",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "ClusterUrl": {
+ "properties": {
+ "brokerServiceUrl": {
+ "type": "string"
+ },
+ "brokerServiceUrlTls": {
+ "type": "string"
+ },
+ "empty": {
+ "type": "boolean"
+ },
+ "serviceUrl": {
+ "type": "string"
+ },
+ "serviceUrlTls": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "CompactionStats": {
+ "properties": {
+ "lastCompactionDurationTimeInMills": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "lastCompactionFailedTimestamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "lastCompactionRemovedEventCount": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "lastCompactionSucceedTimestamp": {
+ "format": "int64",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "CompactionStatsImpl": {
+ "properties": {
+ "lastCompactionDurationTimeInMills": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "lastCompactionFailedTimestamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "lastCompactionRemovedEventCount": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "lastCompactionSucceedTimestamp": {
+ "format": "int64",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "CompletableFuture": {
+ "properties": {
+ "cancelled": {
+ "type": "boolean"
+ },
+ "completedExceptionally": {
+ "type": "boolean"
+ },
+ "done": {
+ "type": "boolean"
+ },
+ "numberOfDependents": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "CompletableFutureClusterData": {
+ "properties": {
+ "cancelled": {
+ "type": "boolean"
+ },
+ "completedExceptionally": {
+ "type": "boolean"
+ },
+ "done": {
+ "type": "boolean"
+ },
+ "numberOfDependents": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "CompletableFutureListSchemaAndMetadata": {
+ "properties": {
+ "cancelled": {
+ "type": "boolean"
+ },
+ "completedExceptionally": {
+ "type": "boolean"
+ },
+ "done": {
+ "type": "boolean"
+ },
+ "numberOfDependents": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "CompletableFutureLong": {
+ "properties": {
+ "cancelled": {
+ "type": "boolean"
+ },
+ "completedExceptionally": {
+ "type": "boolean"
+ },
+ "done": {
+ "type": "boolean"
+ },
+ "numberOfDependents": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "CompletableFuturePairBooleanSchemaCompatibilityStrategy": {
+ "properties": {
+ "cancelled": {
+ "type": "boolean"
+ },
+ "completedExceptionally": {
+ "type": "boolean"
+ },
+ "done": {
+ "type": "boolean"
+ },
+ "numberOfDependents": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "CompletableFuturePartitionedTopicMetadata": {
+ "properties": {
+ "cancelled": {
+ "type": "boolean"
+ },
+ "completedExceptionally": {
+ "type": "boolean"
+ },
+ "done": {
+ "type": "boolean"
+ },
+ "numberOfDependents": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "CompletableFutureResourceQuota": {
+ "properties": {
+ "cancelled": {
+ "type": "boolean"
+ },
+ "completedExceptionally": {
+ "type": "boolean"
+ },
+ "done": {
+ "type": "boolean"
+ },
+ "numberOfDependents": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "CompletableFutureSchemaAndMetadata": {
+ "properties": {
+ "cancelled": {
+ "type": "boolean"
+ },
+ "completedExceptionally": {
+ "type": "boolean"
+ },
+ "done": {
+ "type": "boolean"
+ },
+ "numberOfDependents": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "CompletableFutureSchemaVersion": {
+ "properties": {
+ "cancelled": {
+ "type": "boolean"
+ },
+ "completedExceptionally": {
+ "type": "boolean"
+ },
+ "done": {
+ "type": "boolean"
+ },
+ "numberOfDependents": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "CompletableFutureVoid": {
+ "properties": {
+ "cancelled": {
+ "type": "boolean"
+ },
+ "completedExceptionally": {
+ "type": "boolean"
+ },
+ "done": {
+ "type": "boolean"
+ },
+ "numberOfDependents": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "ConnectorDefinition": {
+ "properties": {
+ "description": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "sinkClass": {
+ "type": "string"
+ },
+ "sinkConfigClass": {
+ "type": "string"
+ },
+ "sourceClass": {
+ "type": "string"
+ },
+ "sourceConfigClass": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ConsumerStats": {
+ "properties": {
+ "address": {
+ "type": "string"
+ },
+ "availablePermits": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "avgMessagesPerEntry": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "blockedConsumerOnUnackedMsgs": {
+ "type": "boolean"
+ },
+ "bytesOutCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "chunkedMessageRate": {
+ "format": "double",
+ "type": "number"
+ },
+ "clientVersion": {
+ "type": "string"
+ },
+ "connectedSince": {
+ "type": "string"
+ },
+ "consumerName": {
+ "type": "string"
+ },
+ "keyHashRanges": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "lastAckedTimestamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "lastConsumedFlowTimestamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "lastConsumedTimestamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "messageAckRate": {
+ "format": "double",
+ "type": "number"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "msgOutCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "msgRateOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgRateRedeliver": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgThroughputOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "readPositionWhenJoining": {
+ "type": "string"
+ },
+ "unackedMessages": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "CursorDetails": {
+ "properties": {
+ "cursorBacklog": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "cursorLedgerId": {
+ "format": "int64",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "CursorInfo": {
+ "properties": {
+ "creationDate": {
+ "type": "string"
+ },
+ "cursorsLedgerId": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "individualDeletedMessages": {
+ "items": {
+ "$ref": "#/definitions/MessageRangeInfo"
+ },
+ "type": "array"
+ },
+ "markDelete": {
+ "$ref": "#/definitions/PositionInfo"
+ },
+ "modificationDate": {
+ "type": "string"
+ },
+ "properties": {
+ "additionalProperties": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "type": "object"
+ },
+ "version": {
+ "format": "int64",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "CursorStats": {
+ "properties": {
+ "active": {
+ "type": "boolean"
+ },
+ "cursorLedger": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "cursorLedgerLastEntry": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "individuallyDeletedMessages": {
+ "type": "string"
+ },
+ "lastLedgerSwitchTimestamp": {
+ "type": "string"
+ },
+ "markDeletePosition": {
+ "type": "string"
+ },
+ "messagesConsumedCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "numberOfEntriesSinceFirstNotAckedMessage": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "pendingReadOps": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "properties": {
+ "additionalProperties": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "type": "object"
+ },
+ "readPosition": {
+ "type": "string"
+ },
+ "state": {
+ "type": "string"
+ },
+ "subscriptionHavePendingRead": {
+ "type": "boolean"
+ },
+ "subscriptionHavePendingReplayRead": {
+ "type": "boolean"
+ },
+ "totalNonContiguousDeletedMessagesRange": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "waitingReadOp": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "DelayedDeliveryPolicies": {
+ "properties": {
+ "active": {
+ "type": "boolean"
+ },
+ "tickTime": {
+ "format": "int64",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "DeleteSchemaResponse": {
+ "properties": {
+ "version": {
+ "format": "int64",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "DispatchRate": {
+ "properties": {
+ "dispatchThrottlingRateInByte": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "dispatchThrottlingRateInMsg": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "ratePeriodInSecond": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "relativeToPublishRate": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "DispatchRateImpl": {
+ "properties": {
+ "dispatchThrottlingRateInByte": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "dispatchThrottlingRateInMsg": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "ratePeriodInSecond": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "relativeToPublishRate": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "EntryFilters": {
+ "properties": {
+ "entryFilterNames": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "FailureDomain": {
+ "description": "The data of a failure domain configuration in a cluster",
+ "properties": {
+ "brokers": {
+ "description": "The collection of brokers in the same failure domain",
+ "example": "[ 'broker-1', 'broker-2' ]",
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "FunctionInstanceStatsData": {
+ "properties": {
+ "avgProcessLatency": {
+ "format": "double",
+ "type": "number"
+ },
+ "lastInvocation": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "oneMin": {
+ "$ref": "#/definitions/FunctionInstanceStatsDataBase"
+ },
+ "processedSuccessfullyTotal": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "receivedTotal": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "systemExceptionsTotal": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "userExceptionsTotal": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "userMetrics": {
+ "additionalProperties": {
+ "format": "double",
+ "type": "number"
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "FunctionInstanceStatsDataBase": {
+ "properties": {
+ "avgProcessLatency": {
+ "format": "double",
+ "type": "number"
+ },
+ "processedSuccessfullyTotal": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "receivedTotal": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "systemExceptionsTotal": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "userExceptionsTotal": {
+ "format": "int64",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "Functions": {
+ "properties": {
+ "listOfConnectors": {
+ "items": {
+ "$ref": "#/definitions/ConnectorDefinition"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "FunctionsV2": {
+ "properties": {
+ "listOfConnectors": {
+ "items": {
+ "$ref": "#/definitions/ConnectorDefinition"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "FunctionsV2WorkerService": {
+ "properties": {
+ "listOfConnectors": {
+ "items": {
+ "$ref": "#/definitions/ConnectorDefinition"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "FunctionsWorkerService": {
+ "properties": {
+ "listOfConnectors": {
+ "items": {
+ "$ref": "#/definitions/ConnectorDefinition"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "GetAllVersionsSchemaResponse": {
+ "properties": {
+ "getSchemaResponses": {
+ "items": {
+ "$ref": "#/definitions/GetSchemaResponse"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "GetSchemaResponse": {
+ "properties": {
+ "data": {
+ "type": "string"
+ },
+ "properties": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "timestamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "type": {
+ "enum": [
+ "NONE",
+ "STRING",
+ "JSON",
+ "PROTOBUF",
+ "AVRO",
+ "BOOLEAN",
+ "INT8",
+ "INT16",
+ "INT32",
+ "INT64",
+ "FLOAT",
+ "DOUBLE",
+ "DATE",
+ "TIME",
+ "TIMESTAMP",
+ "KEY_VALUE",
+ "INSTANT",
+ "LOCAL_DATE",
+ "LOCAL_TIME",
+ "LOCAL_DATE_TIME",
+ "PROTOBUF_NATIVE",
+ "BYTES",
+ "AUTO",
+ "AUTO_CONSUME",
+ "AUTO_PUBLISH"
+ ],
+ "type": "string"
+ },
+ "version": {
+ "format": "int64",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "InactiveTopicPolicies": {
+ "properties": {
+ "deleteWhileInactive": {
+ "type": "boolean"
+ },
+ "inactiveTopicDeleteMode": {
+ "enum": [
+ "delete_when_no_subscriptions",
+ "delete_when_subscriptions_caught_up"
+ ],
+ "type": "string"
+ },
+ "maxInactiveDurationSeconds": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "InternalConfigurationData": {
+ "properties": {
+ "bookkeeperMetadataServiceUri": {
+ "type": "string"
+ },
+ "configurationMetadataStoreUrl": {
+ "type": "string"
+ },
+ "configurationStoreServers": {
+ "type": "string"
+ },
+ "ledgersRootPath": {
+ "type": "string"
+ },
+ "metadataStoreUrl": {
+ "type": "string"
+ },
+ "stateStorageServiceUrl": {
+ "type": "string"
+ },
+ "zookeeperServers": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "IsCompatibilityResponse": {
+ "properties": {
+ "compatibility": {
+ "type": "boolean"
+ },
+ "schemaCompatibilityStrategy": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "KubernetesContainerFactory": {
+ "properties": {
+ "changeConfigMap": {
+ "type": "string"
+ },
+ "changeConfigMapNamespace": {
+ "type": "string"
+ },
+ "configAdminCLI": {
+ "type": "string"
+ },
+ "cpuOverCommitRatio": {
+ "format": "double",
+ "type": "number"
+ },
+ "customLabels": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "expectedMetricsCollectionInterval": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "extraFunctionDependenciesDir": {
+ "type": "string"
+ },
+ "functionDockerImages": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "functionInstanceClassPath": {
+ "type": "string"
+ },
+ "gracePeriodSeconds": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "grpcPort": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "imagePullPolicy": {
+ "type": "string"
+ },
+ "installUserCodeDependencies": {
+ "type": "boolean"
+ },
+ "jobName": {
+ "type": "string"
+ },
+ "jobNamespace": {
+ "type": "string"
+ },
+ "k8Uri": {
+ "type": "string"
+ },
+ "kubernetesFunctionAuthProviderConfig": {
+ "additionalProperties": {
+ "type": "object"
+ },
+ "type": "object"
+ },
+ "memoryOverCommitRatio": {
+ "format": "double",
+ "type": "number"
+ },
+ "metricsPort": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "narExtractionDirectory": {
+ "type": "string"
+ },
+ "percentMemoryPadding": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "pulsarAdminUrl": {
+ "type": "string"
+ },
+ "pulsarDockerImageName": {
+ "type": "string"
+ },
+ "pulsarRootDir": {
+ "type": "string"
+ },
+ "pulsarServiceUrl": {
+ "type": "string"
+ },
+ "pythonDependencyRepository": {
+ "type": "string"
+ },
+ "pythonExtraDependencyRepository": {
+ "type": "string"
+ },
+ "submittingInsidePod": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "LedgerDetails": {
+ "properties": {
+ "entries": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "ledgerId": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "size": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "timestamp": {
+ "format": "int64",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "LedgerInfo": {
+ "properties": {
+ "entries": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "ledgerId": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "metadata": {
+ "type": "string"
+ },
+ "offloaded": {
+ "type": "boolean"
+ },
+ "size": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "underReplicated": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "LoadReport": {
+ "properties": {
+ "allocatedBandwidthIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "allocatedBandwidthOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "allocatedCPU": {
+ "format": "double",
+ "type": "number"
+ },
+ "allocatedMemory": {
+ "format": "double",
+ "type": "number"
+ },
+ "allocatedMsgRateIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "allocatedMsgRateOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "bandwidthIn": {
+ "$ref": "#/definitions/ResourceUsage"
+ },
+ "bandwidthOut": {
+ "$ref": "#/definitions/ResourceUsage"
+ },
+ "brokerVersionString": {
+ "type": "string"
+ },
+ "bundleGains": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "bundleLosses": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "bundleStats": {
+ "additionalProperties": {
+ "$ref": "#/definitions/NamespaceBundleStats"
+ },
+ "type": "object"
+ },
+ "cpu": {
+ "$ref": "#/definitions/ResourceUsage"
+ },
+ "directMemory": {
+ "$ref": "#/definitions/ResourceUsage"
+ },
+ "lastUpdate": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "loadManagerClassName": {
+ "type": "string"
+ },
+ "loadReportType": {
+ "type": "string"
+ },
+ "memory": {
+ "$ref": "#/definitions/ResourceUsage"
+ },
+ "msgRateIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgRateOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgThroughputIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgThroughputOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "name": {
+ "type": "string"
+ },
+ "nonPersistentTopicsEnabled": {
+ "type": "boolean"
+ },
+ "numBundles": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "numConsumers": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "numProducers": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "numTopics": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "overLoaded": {
+ "type": "boolean"
+ },
+ "persistentTopicsEnabled": {
+ "type": "boolean"
+ },
+ "preAllocatedBandwidthIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "preAllocatedBandwidthOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "preAllocatedCPU": {
+ "format": "double",
+ "type": "number"
+ },
+ "preAllocatedMemory": {
+ "format": "double",
+ "type": "number"
+ },
+ "preAllocatedMsgRateIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "preAllocatedMsgRateOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "protocols": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "pulsarServiceUrl": {
+ "type": "string"
+ },
+ "pulsarServiceUrlTls": {
+ "type": "string"
+ },
+ "startTimestamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "systemResourceUsage": {
+ "$ref": "#/definitions/SystemResourceUsage"
+ },
+ "timestamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "underLoaded": {
+ "type": "boolean"
+ },
+ "webServiceUrl": {
+ "type": "string"
+ },
+ "webServiceUrlTls": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "LongRunningProcessStatus": {
+ "properties": {
+ "lastError": {
+ "type": "string"
+ },
+ "status": {
+ "enum": [
+ "NOT_RUN",
+ "RUNNING",
+ "SUCCESS",
+ "ERROR"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "LongSchemaVersion": {
+ "properties": {
+ "version": {
+ "format": "int64",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "ManagedLedgerInfo": {
+ "properties": {
+ "creationDate": {
+ "type": "string"
+ },
+ "cursors": {
+ "additionalProperties": {
+ "$ref": "#/definitions/CursorInfo"
+ },
+ "type": "object"
+ },
+ "ledgers": {
+ "items": {
+ "$ref": "#/definitions/LedgerInfo"
+ },
+ "type": "array"
+ },
+ "modificationDate": {
+ "type": "string"
+ },
+ "properties": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "terminatedPosition": {
+ "$ref": "#/definitions/PositionInfo"
+ },
+ "version": {
+ "format": "int64",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "MemoryLimit": {
+ "properties": {
+ "absoluteValue": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "percentOfMaxDirectMemory": {
+ "format": "double",
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "MessageRangeInfo": {
+ "properties": {
+ "from": {
+ "$ref": "#/definitions/PositionInfo"
+ },
+ "to": {
+ "$ref": "#/definitions/PositionInfo"
+ }
+ },
+ "type": "object"
+ },
+ "Metrics": {
+ "properties": {
+ "dimensions": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "metrics": {
+ "additionalProperties": {
+ "type": "object"
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "NamespaceBundleStats": {
+ "properties": {
+ "cacheSize": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "consumerCount": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "msgRateIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgRateOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgThroughputIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgThroughputOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "producerCount": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "topics": {
+ "format": "int64",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "NamespaceIsolationData": {
+ "description": "The data of namespace isolation configuration",
+ "properties": {
+ "auto_failover_policy": {
+ "$ref": "#/definitions/AutoFailoverPolicyData",
+ "description": "The data of auto-failover policy configuration",
+ "example": "{ \"policy_type\": \"min_available\" \"parameters\": { \"\": \"\" }}"
+ },
+ "namespaces": {
+ "description": "The list of namespaces to apply this namespace isolation data",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "primary": {
+ "description": "The list of primary brokers for serving the list of namespaces in this isolation policy",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "secondary": {
+ "description": "The list of secondary brokers for serving the list of namespaces in this isolation policy",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "NamespaceOwnershipStatus": {
+ "properties": {
+ "broker_assignment": {
+ "enum": [
+ "primary",
+ "secondary",
+ "shared"
+ ],
+ "type": "string"
+ },
+ "is_active": {
+ "type": "boolean"
+ },
+ "is_controlled": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "NonPersistentPartitionedTopicStatsImpl": {
+ "properties": {
+ "abortedTxnCount": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "averageMsgSize": {
+ "format": "double",
+ "type": "number"
+ },
+ "backlogSize": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "bytesInCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "bytesOutCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "committedTxnCount": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "compaction": {
+ "$ref": "#/definitions/CompactionStatsImpl"
+ },
+ "deduplicationStatus": {
+ "type": "string"
+ },
+ "delayedMessageIndexSizeInBytes": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "earliestMsgPublishTimeInBacklogs": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "lastOffloadFailureTimeStamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "lastOffloadLedgerId": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "lastOffloadSuccessTimeStamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "metadata": {
+ "$ref": "#/definitions/PartitionedTopicMetadata"
+ },
+ "msgChunkPublished": {
+ "type": "boolean"
+ },
+ "msgDropRate": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgInCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "msgOutCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "msgRateIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgRateOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgThroughputIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgThroughputOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "nonContiguousDeletedMessagesRanges": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "nonContiguousDeletedMessagesRangesSerializedSize": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "offloadedStorageSize": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "ongoingTxnCount": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "ownerBroker": {
+ "type": "string"
+ },
+ "partitions": {
+ "additionalProperties": {
+ "$ref": "#/definitions/NonPersistentTopicStatsImpl"
+ },
+ "type": "object"
+ },
+ "publishRateLimitedTimes": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "publishers": {
+ "items": {
+ "$ref": "#/definitions/NonPersistentPublisherStats"
+ },
+ "readOnly": true,
+ "type": "array"
+ },
+ "replication": {
+ "additionalProperties": {
+ "$ref": "#/definitions/NonPersistentReplicatorStats"
+ },
+ "readOnly": true,
+ "type": "object"
+ },
+ "storageSize": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "subscriptions": {
+ "additionalProperties": {
+ "$ref": "#/definitions/NonPersistentSubscriptionStats"
+ },
+ "readOnly": true,
+ "type": "object"
+ },
+ "topicEpoch": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "waitingPublishers": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "NonPersistentPublisherStats": {
+ "properties": {
+ "accessMode": {
+ "enum": [
+ "Shared",
+ "Exclusive",
+ "ExclusiveWithFencing",
+ "WaitForExclusive"
+ ],
+ "type": "string"
+ },
+ "address": {
+ "type": "string"
+ },
+ "averageMsgSize": {
+ "format": "double",
+ "type": "number"
+ },
+ "chunkedMessageRate": {
+ "format": "double",
+ "type": "number"
+ },
+ "clientVersion": {
+ "type": "string"
+ },
+ "connectedSince": {
+ "type": "string"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "msgDropRate": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgRateIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgThroughputIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "producerId": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "producerName": {
+ "type": "string"
+ },
+ "supportsPartialProducer": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "NonPersistentReplicatorStats": {
+ "properties": {
+ "connected": {
+ "type": "boolean"
+ },
+ "inboundConnectedSince": {
+ "type": "string"
+ },
+ "inboundConnection": {
+ "type": "string"
+ },
+ "msgDropRate": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgRateExpired": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgRateIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgRateOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgThroughputIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgThroughputOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "outboundConnectedSince": {
+ "type": "string"
+ },
+ "outboundConnection": {
+ "type": "string"
+ },
+ "replicationBacklog": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "replicationDelayInSeconds": {
+ "format": "int64",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "NonPersistentSubscriptionStats": {
+ "properties": {
+ "activeConsumerName": {
+ "type": "string"
+ },
+ "allowOutOfOrderDelivery": {
+ "type": "boolean"
+ },
+ "backlogSize": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "blockedSubscriptionOnUnackedMsgs": {
+ "type": "boolean"
+ },
+ "bytesOutCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "chunkedMessageRate": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "consumers": {
+ "items": {
+ "$ref": "#/definitions/ConsumerStats"
+ },
+ "type": "array"
+ },
+ "consumersAfterMarkDeletePosition": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "delayedMessageIndexSizeInBytes": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "durable": {
+ "type": "boolean"
+ },
+ "earliestMsgPublishTimeInBacklog": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "filterAcceptedMsgCount": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "filterProcessedMsgCount": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "filterRejectedMsgCount": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "filterRescheduledMsgCount": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "keySharedMode": {
+ "type": "string"
+ },
+ "lastAckedTimestamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "lastConsumedFlowTimestamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "lastConsumedTimestamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "lastExpireTimestamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "lastMarkDeleteAdvancedTimestamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "messageAckRate": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgBacklog": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "msgBacklogNoDelayed": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "msgDelayed": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "msgDropRate": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgOutCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "msgRateExpired": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgRateOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgRateRedeliver": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgThroughputOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "nonContiguousDeletedMessagesRanges": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "nonContiguousDeletedMessagesRangesSerializedSize": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "replicated": {
+ "type": "boolean"
+ },
+ "subscriptionProperties": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "totalMsgExpired": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "type": {
+ "type": "string"
+ },
+ "unackedMessages": {
+ "format": "int64",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "NonPersistentTopicStatsImpl": {
+ "properties": {
+ "abortedTxnCount": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "averageMsgSize": {
+ "format": "double",
+ "type": "number"
+ },
+ "backlogSize": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "bytesInCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "bytesOutCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "committedTxnCount": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "compaction": {
+ "$ref": "#/definitions/CompactionStatsImpl"
+ },
+ "deduplicationStatus": {
+ "type": "string"
+ },
+ "delayedMessageIndexSizeInBytes": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "earliestMsgPublishTimeInBacklogs": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "lastOffloadFailureTimeStamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "lastOffloadLedgerId": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "lastOffloadSuccessTimeStamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "msgChunkPublished": {
+ "type": "boolean"
+ },
+ "msgDropRate": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgInCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "msgOutCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "msgRateIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgRateOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgThroughputIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgThroughputOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "nonContiguousDeletedMessagesRanges": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "nonContiguousDeletedMessagesRangesSerializedSize": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "offloadedStorageSize": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "ongoingTxnCount": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "ownerBroker": {
+ "type": "string"
+ },
+ "publishRateLimitedTimes": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "publishers": {
+ "items": {
+ "$ref": "#/definitions/NonPersistentPublisherStats"
+ },
+ "readOnly": true,
+ "type": "array"
+ },
+ "replication": {
+ "additionalProperties": {
+ "$ref": "#/definitions/NonPersistentReplicatorStats"
+ },
+ "readOnly": true,
+ "type": "object"
+ },
+ "storageSize": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "subscriptions": {
+ "additionalProperties": {
+ "$ref": "#/definitions/NonPersistentSubscriptionStats"
+ },
+ "readOnly": true,
+ "type": "object"
+ },
+ "topicEpoch": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "waitingPublishers": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "OffloadPolicies": {
+ "properties": {
+ "fileSystemProfilePath": {
+ "type": "string"
+ },
+ "fileSystemURI": {
+ "type": "string"
+ },
+ "gcsManagedLedgerOffloadBucket": {
+ "type": "string"
+ },
+ "gcsManagedLedgerOffloadMaxBlockSizeInBytes": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "gcsManagedLedgerOffloadReadBufferSizeInBytes": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "gcsManagedLedgerOffloadRegion": {
+ "type": "string"
+ },
+ "gcsManagedLedgerOffloadServiceAccountKeyFile": {
+ "type": "string"
+ },
+ "managedLedgerOffloadBucket": {
+ "type": "string"
+ },
+ "managedLedgerOffloadDeletionLagInMillis": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "managedLedgerOffloadDriver": {
+ "type": "string"
+ },
+ "managedLedgerOffloadMaxBlockSizeInBytes": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "managedLedgerOffloadMaxThreads": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "managedLedgerOffloadPrefetchRounds": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "managedLedgerOffloadReadBufferSizeInBytes": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "managedLedgerOffloadRegion": {
+ "type": "string"
+ },
+ "managedLedgerOffloadServiceEndpoint": {
+ "type": "string"
+ },
+ "managedLedgerOffloadThresholdInBytes": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "managedLedgerOffloadThresholdInSeconds": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "managedLedgerOffloadedReadPriority": {
+ "enum": [
+ "BOOKKEEPER_FIRST",
+ "TIERED_STORAGE_FIRST"
+ ],
+ "type": "string"
+ },
+ "offloadersDirectory": {
+ "type": "string"
+ },
+ "s3ManagedLedgerOffloadBucket": {
+ "type": "string"
+ },
+ "s3ManagedLedgerOffloadCredentialId": {
+ "type": "string"
+ },
+ "s3ManagedLedgerOffloadCredentialSecret": {
+ "type": "string"
+ },
+ "s3ManagedLedgerOffloadMaxBlockSizeInBytes": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "s3ManagedLedgerOffloadReadBufferSizeInBytes": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "s3ManagedLedgerOffloadRegion": {
+ "type": "string"
+ },
+ "s3ManagedLedgerOffloadRole": {
+ "type": "string"
+ },
+ "s3ManagedLedgerOffloadRoleSessionName": {
+ "type": "string"
+ },
+ "s3ManagedLedgerOffloadServiceEndpoint": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "OffloadPoliciesImpl": {
+ "properties": {
+ "fileSystemDriver": {
+ "type": "boolean"
+ },
+ "fileSystemProfilePath": {
+ "type": "string"
+ },
+ "fileSystemURI": {
+ "type": "string"
+ },
+ "gcsDriver": {
+ "type": "boolean"
+ },
+ "gcsManagedLedgerOffloadBucket": {
+ "type": "string"
+ },
+ "gcsManagedLedgerOffloadMaxBlockSizeInBytes": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "gcsManagedLedgerOffloadReadBufferSizeInBytes": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "gcsManagedLedgerOffloadRegion": {
+ "type": "string"
+ },
+ "gcsManagedLedgerOffloadServiceAccountKeyFile": {
+ "type": "string"
+ },
+ "managedLedgerExtraConfigurations": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "managedLedgerOffloadBucket": {
+ "type": "string"
+ },
+ "managedLedgerOffloadDeletionLagInMillis": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "managedLedgerOffloadDriver": {
+ "type": "string"
+ },
+ "managedLedgerOffloadMaxBlockSizeInBytes": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "managedLedgerOffloadMaxThreads": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "managedLedgerOffloadPrefetchRounds": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "managedLedgerOffloadReadBufferSizeInBytes": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "managedLedgerOffloadRegion": {
+ "type": "string"
+ },
+ "managedLedgerOffloadServiceEndpoint": {
+ "type": "string"
+ },
+ "managedLedgerOffloadThresholdInBytes": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "managedLedgerOffloadThresholdInSeconds": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "managedLedgerOffloadedReadPriority": {
+ "enum": [
+ "BOOKKEEPER_FIRST",
+ "TIERED_STORAGE_FIRST"
+ ],
+ "type": "string"
+ },
+ "offloadersDirectory": {
+ "type": "string"
+ },
+ "s3Driver": {
+ "type": "boolean"
+ },
+ "s3ManagedLedgerOffloadBucket": {
+ "type": "string"
+ },
+ "s3ManagedLedgerOffloadCredentialId": {
+ "type": "string"
+ },
+ "s3ManagedLedgerOffloadCredentialSecret": {
+ "type": "string"
+ },
+ "s3ManagedLedgerOffloadMaxBlockSizeInBytes": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "s3ManagedLedgerOffloadReadBufferSizeInBytes": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "s3ManagedLedgerOffloadRegion": {
+ "type": "string"
+ },
+ "s3ManagedLedgerOffloadRole": {
+ "type": "string"
+ },
+ "s3ManagedLedgerOffloadRoleSessionName": {
+ "type": "string"
+ },
+ "s3ManagedLedgerOffloadServiceEndpoint": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "OutputStream": {
+ "type": "object"
+ },
+ "PartitionedManagedLedgerInfo": {
+ "properties": {
+ "creationDate": {
+ "type": "string"
+ },
+ "cursors": {
+ "additionalProperties": {
+ "$ref": "#/definitions/CursorInfo"
+ },
+ "type": "object"
+ },
+ "ledgers": {
+ "items": {
+ "$ref": "#/definitions/LedgerInfo"
+ },
+ "type": "array"
+ },
+ "modificationDate": {
+ "type": "string"
+ },
+ "partitions": {
+ "additionalProperties": {
+ "$ref": "#/definitions/ManagedLedgerInfo"
+ },
+ "type": "object"
+ },
+ "properties": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "terminatedPosition": {
+ "$ref": "#/definitions/PositionInfo"
+ },
+ "version": {
+ "format": "int64",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "PartitionedTopicInternalStats": {
+ "properties": {
+ "metadata": {
+ "$ref": "#/definitions/PartitionedTopicMetadata"
+ },
+ "partitions": {
+ "additionalProperties": {
+ "$ref": "#/definitions/PersistentTopicInternalStats"
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "PartitionedTopicMetadata": {
+ "properties": {
+ "deleted": {
+ "type": "boolean"
+ },
+ "partitions": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "properties": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "PartitionedTopicStatsImpl": {
+ "properties": {
+ "abortedTxnCount": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "averageMsgSize": {
+ "format": "double",
+ "type": "number"
+ },
+ "backlogSize": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "bytesInCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "bytesOutCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "committedTxnCount": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "compaction": {
+ "$ref": "#/definitions/CompactionStatsImpl"
+ },
+ "deduplicationStatus": {
+ "type": "string"
+ },
+ "delayedMessageIndexSizeInBytes": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "earliestMsgPublishTimeInBacklogs": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "lastOffloadFailureTimeStamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "lastOffloadLedgerId": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "lastOffloadSuccessTimeStamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "metadata": {
+ "$ref": "#/definitions/PartitionedTopicMetadata"
+ },
+ "msgChunkPublished": {
+ "type": "boolean"
+ },
+ "msgInCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "msgOutCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "msgRateIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgRateOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgThroughputIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgThroughputOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "nonContiguousDeletedMessagesRanges": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "nonContiguousDeletedMessagesRangesSerializedSize": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "offloadedStorageSize": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "ongoingTxnCount": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "ownerBroker": {
+ "type": "string"
+ },
+ "partitions": {
+ "additionalProperties": {
+ "$ref": "#/definitions/TopicStats"
+ },
+ "type": "object"
+ },
+ "publishRateLimitedTimes": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "publishers": {
+ "items": {
+ "$ref": "#/definitions/PublisherStats"
+ },
+ "type": "array"
+ },
+ "replication": {
+ "additionalProperties": {
+ "$ref": "#/definitions/ReplicatorStats"
+ },
+ "type": "object"
+ },
+ "storageSize": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "subscriptions": {
+ "additionalProperties": {
+ "$ref": "#/definitions/SubscriptionStats"
+ },
+ "type": "object"
+ },
+ "topicEpoch": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "waitingPublishers": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "PendingBookieOpsStats": {
+ "properties": {
+ "cursorLedgerCloseOp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "cursorLedgerCreateOp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "cursorLedgerDeleteOp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "cursorLedgerOpenOp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "dataLedgerCloseOp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "dataLedgerCreateOp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "dataLedgerDeleteOp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "dataLedgerOpenOp": {
+ "format": "int64",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "PersistencePolicies": {
+ "properties": {
+ "bookkeeperAckQuorum": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "bookkeeperEnsemble": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "bookkeeperWriteQuorum": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "managedLedgerMaxMarkDeleteRate": {
+ "format": "double",
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "PersistentOfflineTopicStats": {
+ "properties": {
+ "brokerName": {
+ "type": "string"
+ },
+ "cursorDetails": {
+ "additionalProperties": {
+ "$ref": "#/definitions/CursorDetails"
+ },
+ "type": "object"
+ },
+ "dataLedgerDetails": {
+ "items": {
+ "$ref": "#/definitions/LedgerDetails"
+ },
+ "type": "array"
+ },
+ "messageBacklog": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "statGeneratedAt": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "storageSize": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "topicName": {
+ "type": "string"
+ },
+ "totalMessages": {
+ "format": "int64",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "PersistentTopicInternalStats": {
+ "properties": {
+ "compactedLedger": {
+ "$ref": "#/definitions/LedgerInfo"
+ },
+ "currentLedgerEntries": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "currentLedgerSize": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "cursors": {
+ "additionalProperties": {
+ "$ref": "#/definitions/CursorStats"
+ },
+ "type": "object"
+ },
+ "entriesAddedCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "lastConfirmedEntry": {
+ "type": "string"
+ },
+ "lastLedgerCreatedTimestamp": {
+ "type": "string"
+ },
+ "lastLedgerCreationFailureTimestamp": {
+ "type": "string"
+ },
+ "ledgers": {
+ "items": {
+ "$ref": "#/definitions/LedgerInfo"
+ },
+ "type": "array"
+ },
+ "numberOfEntries": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "pendingAddEntriesCount": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "schemaLedgers": {
+ "items": {
+ "$ref": "#/definitions/LedgerInfo"
+ },
+ "type": "array"
+ },
+ "state": {
+ "type": "string"
+ },
+ "totalSize": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "waitingCursorsCount": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "PersistentTopicStats": {
+ "properties": {
+ "averageMsgSize": {
+ "format": "double",
+ "type": "number"
+ },
+ "backlogSize": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "bytesInCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "bytesOutCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "compaction": {
+ "$ref": "#/definitions/CompactionStats"
+ },
+ "deduplicationStatus": {
+ "type": "string"
+ },
+ "delayedMessageIndexSizeInBytes": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "earliestMsgPublishTimeInBacklogs": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "msgChunkPublished": {
+ "type": "boolean"
+ },
+ "msgInCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "msgOutCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "msgRateIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgRateOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgThroughputIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgThroughputOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "nonContiguousDeletedMessagesRanges": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "nonContiguousDeletedMessagesRangesSerializedSize": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "offloadedStorageSize": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "ownerBroker": {
+ "type": "string"
+ },
+ "publishers": {
+ "items": {
+ "$ref": "#/definitions/PublisherStats"
+ },
+ "type": "array"
+ },
+ "replication": {
+ "additionalProperties": {
+ "$ref": "#/definitions/ReplicatorStats"
+ },
+ "type": "object"
+ },
+ "storageSize": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "subscriptions": {
+ "additionalProperties": {
+ "$ref": "#/definitions/SubscriptionStats"
+ },
+ "type": "object"
+ },
+ "topicEpoch": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "waitingPublishers": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "Policies": {
+ "properties": {
+ "auth_policies": {
+ "$ref": "#/definitions/AuthPolicies"
+ },
+ "autoSubscriptionCreationOverride": {
+ "$ref": "#/definitions/AutoSubscriptionCreationOverride"
+ },
+ "autoTopicCreationOverride": {
+ "$ref": "#/definitions/AutoTopicCreationOverride"
+ },
+ "backlog_quota_map": {
+ "additionalProperties": {
+ "$ref": "#/definitions/BacklogQuota"
+ },
+ "type": "object"
+ },
+ "bundles": {
+ "$ref": "#/definitions/BundlesData"
+ },
+ "clusterDispatchRate": {
+ "additionalProperties": {
+ "$ref": "#/definitions/DispatchRateImpl"
+ },
+ "type": "object"
+ },
+ "clusterSubscribeRate": {
+ "additionalProperties": {
+ "$ref": "#/definitions/SubscribeRate"
+ },
+ "type": "object"
+ },
+ "compaction_threshold": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "deduplicationEnabled": {
+ "type": "boolean"
+ },
+ "deduplicationSnapshotIntervalSeconds": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "delayed_delivery_policies": {
+ "$ref": "#/definitions/DelayedDeliveryPolicies"
+ },
+ "deleted": {
+ "type": "boolean"
+ },
+ "encryption_required": {
+ "type": "boolean"
+ },
+ "entryFilters": {
+ "$ref": "#/definitions/EntryFilters"
+ },
+ "inactive_topic_policies": {
+ "$ref": "#/definitions/InactiveTopicPolicies"
+ },
+ "is_allow_auto_update_schema": {
+ "type": "boolean"
+ },
+ "latency_stats_sample_rate": {
+ "additionalProperties": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "type": "object"
+ },
+ "max_consumers_per_subscription": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "max_consumers_per_topic": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "max_producers_per_topic": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "max_subscriptions_per_topic": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "max_topics_per_namespace": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "max_unacked_messages_per_consumer": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "max_unacked_messages_per_subscription": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "message_ttl_in_seconds": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "migrated": {
+ "type": "boolean"
+ },
+ "offload_deletion_lag_ms": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "offload_policies": {
+ "$ref": "#/definitions/OffloadPolicies"
+ },
+ "offload_threshold": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "offload_threshold_in_seconds": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "persistence": {
+ "$ref": "#/definitions/PersistencePolicies"
+ },
+ "properties": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "publishMaxMessageRate": {
+ "additionalProperties": {
+ "$ref": "#/definitions/PublishRate"
+ },
+ "type": "object"
+ },
+ "replication_clusters": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "replicatorDispatchRate": {
+ "additionalProperties": {
+ "$ref": "#/definitions/DispatchRateImpl"
+ },
+ "type": "object"
+ },
+ "resource_group_name": {
+ "type": "string"
+ },
+ "retention_policies": {
+ "$ref": "#/definitions/RetentionPolicies"
+ },
+ "schema_auto_update_compatibility_strategy": {
+ "enum": [
+ "AutoUpdateDisabled",
+ "Backward",
+ "Forward",
+ "Full",
+ "AlwaysCompatible",
+ "BackwardTransitive",
+ "ForwardTransitive",
+ "FullTransitive"
+ ],
+ "type": "string"
+ },
+ "schema_compatibility_strategy": {
+ "enum": [
+ "UNDEFINED",
+ "ALWAYS_INCOMPATIBLE",
+ "ALWAYS_COMPATIBLE",
+ "BACKWARD",
+ "FORWARD",
+ "FULL",
+ "BACKWARD_TRANSITIVE",
+ "FORWARD_TRANSITIVE",
+ "FULL_TRANSITIVE"
+ ],
+ "type": "string"
+ },
+ "schema_validation_enforced": {
+ "type": "boolean"
+ },
+ "subscriptionDispatchRate": {
+ "additionalProperties": {
+ "$ref": "#/definitions/DispatchRateImpl"
+ },
+ "type": "object"
+ },
+ "subscription_auth_mode": {
+ "enum": [
+ "None",
+ "Prefix"
+ ],
+ "type": "string"
+ },
+ "subscription_expiration_time_minutes": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "subscription_types_enabled": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "topicDispatchRate": {
+ "additionalProperties": {
+ "$ref": "#/definitions/DispatchRateImpl"
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "PoolArenaStats": {
+ "properties": {
+ "chunkLists": {
+ "items": {
+ "$ref": "#/definitions/PoolChunkListStats"
+ },
+ "type": "array"
+ },
+ "numActiveAllocations": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "numActiveHugeAllocations": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "numActiveNormalAllocations": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "numActiveSmallAllocations": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "numAllocations": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "numChunkLists": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "numDeallocations": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "numHugeAllocations": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "numHugeDeallocations": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "numNormalAllocations": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "numNormalDeallocations": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "numSmallAllocations": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "numSmallDeallocations": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "numSmallSubpages": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "smallSubpages": {
+ "items": {
+ "$ref": "#/definitions/PoolSubpageStats"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "PoolChunkListStats": {
+ "properties": {
+ "chunks": {
+ "items": {
+ "$ref": "#/definitions/PoolChunkStats"
+ },
+ "type": "array"
+ },
+ "maxUsage": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "minUsage": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "PoolChunkStats": {
+ "properties": {
+ "chunkSize": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "freeBytes": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "usage": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "PoolSubpageStats": {
+ "properties": {
+ "elementSize": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "maxNumElements": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "numAvailable": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "pageSize": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "PositionInfo": {
+ "properties": {
+ "entryId": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "ledgerId": {
+ "format": "int64",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "PostSchemaPayload": {
+ "properties": {
+ "properties": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "schema": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "PostSchemaResponse": {
+ "properties": {
+ "version": {
+ "$ref": "#/definitions/SchemaVersion"
+ }
+ },
+ "type": "object"
+ },
+ "ProcessContainerFactory": {
+ "properties": {
+ "extraFunctionDependenciesDir": {
+ "type": "string"
+ },
+ "javaInstanceJarLocation": {
+ "type": "string"
+ },
+ "logDirectory": {
+ "type": "string"
+ },
+ "pythonInstanceLocation": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "PublicKey": {
+ "properties": {
+ "algorithm": {
+ "type": "string"
+ },
+ "encoded": {
+ "items": {
+ "format": "byte",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "format": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "PublishRate": {
+ "properties": {
+ "publishThrottlingRateInByte": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "publishThrottlingRateInMsg": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "PublisherStats": {
+ "properties": {
+ "accessMode": {
+ "enum": [
+ "Shared",
+ "Exclusive",
+ "ExclusiveWithFencing",
+ "WaitForExclusive"
+ ],
+ "type": "string"
+ },
+ "address": {
+ "type": "string"
+ },
+ "averageMsgSize": {
+ "format": "double",
+ "type": "number"
+ },
+ "chunkedMessageRate": {
+ "format": "double",
+ "type": "number"
+ },
+ "clientVersion": {
+ "type": "string"
+ },
+ "connectedSince": {
+ "type": "string"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "msgRateIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgThroughputIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "producerId": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "producerName": {
+ "type": "string"
+ },
+ "supportsPartialProducer": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "RawBookieInfo": {
+ "properties": {
+ "bookieId": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ReplicatorStats": {
+ "properties": {
+ "connected": {
+ "type": "boolean"
+ },
+ "inboundConnectedSince": {
+ "type": "string"
+ },
+ "inboundConnection": {
+ "type": "string"
+ },
+ "msgRateExpired": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgRateIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgRateOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgThroughputIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgThroughputOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "outboundConnectedSince": {
+ "type": "string"
+ },
+ "outboundConnection": {
+ "type": "string"
+ },
+ "replicationBacklog": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "replicationDelayInSeconds": {
+ "format": "int64",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "ResetCursorData": {
+ "properties": {
+ "batchIndex": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "entryId": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "excluded": {
+ "type": "boolean"
+ },
+ "ledgerId": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "partitionIndex": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "properties": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "ResourceDescription": {
+ "properties": {
+ "resourceUsage": {
+ "additionalProperties": {
+ "$ref": "#/definitions/ResourceUsage"
+ },
+ "type": "object"
+ },
+ "usagePct": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "ResourceGroup": {
+ "properties": {
+ "dispatchRateInBytes": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "dispatchRateInMsgs": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "publishRateInBytes": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "publishRateInMsgs": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "ResourceQuota": {
+ "properties": {
+ "bandwidthIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "bandwidthOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "dynamic": {
+ "type": "boolean"
+ },
+ "memory": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgRateIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgRateOut": {
+ "format": "double",
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "ResourceUnit": {
+ "properties": {
+ "availableResource": {
+ "$ref": "#/definitions/ResourceDescription"
+ },
+ "resourceId": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ResourceUsage": {
+ "properties": {
+ "limit": {
+ "format": "double",
+ "type": "number"
+ },
+ "usage": {
+ "format": "double",
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "Resources": {
+ "properties": {
+ "cpu": {
+ "format": "double",
+ "type": "number"
+ },
+ "disk": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "ram": {
+ "format": "int64",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "RetentionPolicies": {
+ "properties": {
+ "retentionSizeInMB": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "retentionTimeInMinutes": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "SchemaVersion": {
+ "type": "object"
+ },
+ "Sinks": {
+ "properties": {
+ "listOfConnectors": {
+ "items": {
+ "$ref": "#/definitions/ConnectorDefinition"
+ },
+ "type": "array"
+ },
+ "sinkList": {
+ "items": {
+ "$ref": "#/definitions/ConnectorDefinition"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "SinksWorkerService": {
+ "properties": {
+ "listOfConnectors": {
+ "items": {
+ "$ref": "#/definitions/ConnectorDefinition"
+ },
+ "type": "array"
+ },
+ "sinkList": {
+ "items": {
+ "$ref": "#/definitions/ConnectorDefinition"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "SocketAddress": {
+ "type": "object"
+ },
+ "Sources": {
+ "properties": {
+ "listOfConnectors": {
+ "items": {
+ "$ref": "#/definitions/ConnectorDefinition"
+ },
+ "type": "array"
+ },
+ "sourceList": {
+ "items": {
+ "$ref": "#/definitions/ConnectorDefinition"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "SourcesWorkerService": {
+ "properties": {
+ "listOfConnectors": {
+ "items": {
+ "$ref": "#/definitions/ConnectorDefinition"
+ },
+ "type": "array"
+ },
+ "sourceList": {
+ "items": {
+ "$ref": "#/definitions/ConnectorDefinition"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "SubscribeRate": {
+ "properties": {
+ "ratePeriodInSecond": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "subscribeThrottlingRatePerConsumer": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "SubscriptionStats": {
+ "properties": {
+ "activeConsumerName": {
+ "type": "string"
+ },
+ "allowOutOfOrderDelivery": {
+ "type": "boolean"
+ },
+ "backlogSize": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "blockedSubscriptionOnUnackedMsgs": {
+ "type": "boolean"
+ },
+ "bytesOutCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "chunkedMessageRate": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "consumers": {
+ "items": {
+ "$ref": "#/definitions/ConsumerStats"
+ },
+ "type": "array"
+ },
+ "consumersAfterMarkDeletePosition": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "delayedMessageIndexSizeInBytes": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "durable": {
+ "type": "boolean"
+ },
+ "earliestMsgPublishTimeInBacklog": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "filterAcceptedMsgCount": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "filterProcessedMsgCount": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "filterRejectedMsgCount": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "filterRescheduledMsgCount": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "keySharedMode": {
+ "type": "string"
+ },
+ "lastAckedTimestamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "lastConsumedFlowTimestamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "lastConsumedTimestamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "lastExpireTimestamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "lastMarkDeleteAdvancedTimestamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "messageAckRate": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgBacklog": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "msgBacklogNoDelayed": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "msgDelayed": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "msgOutCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "msgRateExpired": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgRateOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgRateRedeliver": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgThroughputOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "nonContiguousDeletedMessagesRanges": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "nonContiguousDeletedMessagesRangesSerializedSize": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "replicated": {
+ "type": "boolean"
+ },
+ "subscriptionProperties": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "totalMsgExpired": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "type": {
+ "type": "string"
+ },
+ "unackedMessages": {
+ "format": "int64",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "SystemResourceUsage": {
+ "properties": {
+ "bandwidthIn": {
+ "$ref": "#/definitions/ResourceUsage"
+ },
+ "bandwidthOut": {
+ "$ref": "#/definitions/ResourceUsage"
+ },
+ "cpu": {
+ "$ref": "#/definitions/ResourceUsage"
+ },
+ "directMemory": {
+ "$ref": "#/definitions/ResourceUsage"
+ },
+ "memory": {
+ "$ref": "#/definitions/ResourceUsage"
+ }
+ },
+ "type": "object"
+ },
+ "TenantInfo": {
+ "description": "Information of adminRoles and allowedClusters for tenant",
+ "properties": {
+ "adminRoles": {
+ "description": "Comma separated list of auth principal allowed to administrate the tenant.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "allowedClusters": {
+ "description": "Comma separated allowed clusters.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "ThreadContainerFactory": {
+ "properties": {
+ "pulsarClientMemoryLimit": {
+ "$ref": "#/definitions/MemoryLimit"
+ },
+ "threadGroupName": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "TopicStats": {
+ "properties": {
+ "averageMsgSize": {
+ "format": "double",
+ "type": "number"
+ },
+ "backlogSize": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "bytesInCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "bytesOutCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "compaction": {
+ "$ref": "#/definitions/CompactionStats"
+ },
+ "deduplicationStatus": {
+ "type": "string"
+ },
+ "delayedMessageIndexSizeInBytes": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "earliestMsgPublishTimeInBacklogs": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "msgChunkPublished": {
+ "type": "boolean"
+ },
+ "msgInCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "msgOutCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "msgRateIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgRateOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgThroughputIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgThroughputOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "nonContiguousDeletedMessagesRanges": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "nonContiguousDeletedMessagesRangesSerializedSize": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "offloadedStorageSize": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "ownerBroker": {
+ "type": "string"
+ },
+ "publishers": {
+ "items": {
+ "$ref": "#/definitions/PublisherStats"
+ },
+ "type": "array"
+ },
+ "replication": {
+ "additionalProperties": {
+ "$ref": "#/definitions/ReplicatorStats"
+ },
+ "type": "object"
+ },
+ "storageSize": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "subscriptions": {
+ "additionalProperties": {
+ "$ref": "#/definitions/SubscriptionStats"
+ },
+ "type": "object"
+ },
+ "topicEpoch": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "waitingPublishers": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "WorkerConfig": {
+ "properties": {
+ "additionalEnabledConnectorUrlPatterns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "additionalEnabledFunctionsUrlPatterns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "additionalJavaRuntimeArguments": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "assignmentWriteMaxRetries": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "authenticateMetricsEndpoint": {
+ "type": "boolean"
+ },
+ "authenticationEnabled": {
+ "type": "boolean"
+ },
+ "authenticationProviders": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "authorizationEnabled": {
+ "type": "boolean"
+ },
+ "authorizationProvider": {
+ "type": "string"
+ },
+ "bookkeeperClientAuthenticationParameters": {
+ "type": "string"
+ },
+ "bookkeeperClientAuthenticationParametersName": {
+ "type": "string"
+ },
+ "bookkeeperClientAuthenticationPlugin": {
+ "type": "string"
+ },
+ "brokerClientAuthenticationEnabled": {
+ "type": "boolean"
+ },
+ "brokerClientAuthenticationParameters": {
+ "type": "string"
+ },
+ "brokerClientAuthenticationPlugin": {
+ "type": "string"
+ },
+ "brokerClientTrustCertsFilePath": {
+ "type": "string"
+ },
+ "clientAuthenticationParameters": {
+ "type": "string"
+ },
+ "clientAuthenticationPlugin": {
+ "type": "string"
+ },
+ "clusterCoordinationTopic": {
+ "type": "string"
+ },
+ "clusterCoordinationTopicName": {
+ "type": "string"
+ },
+ "configurationMetadataStoreUrl": {
+ "type": "string"
+ },
+ "configurationStoreServers": {
+ "type": "string"
+ },
+ "connectorsDirectory": {
+ "type": "string"
+ },
+ "downloadDirectory": {
+ "type": "string"
+ },
+ "enableClassloadingOfBuiltinFiles": {
+ "type": "boolean"
+ },
+ "enableClassloadingOfExternalFiles": {
+ "type": "boolean"
+ },
+ "enableReferencingConnectorDirectoryFiles": {
+ "type": "boolean"
+ },
+ "enableReferencingFunctionsDirectoryFiles": {
+ "type": "boolean"
+ },
+ "exposeAdminClientEnabled": {
+ "type": "boolean"
+ },
+ "failureCheckFreqMs": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "forwardSourceMessageProperty": {
+ "type": "boolean"
+ },
+ "functionAssignmentTopic": {
+ "type": "string"
+ },
+ "functionAssignmentTopicName": {
+ "type": "string"
+ },
+ "functionAuthProviderClassName": {
+ "type": "string"
+ },
+ "functionInstanceMaxResources": {
+ "$ref": "#/definitions/Resources"
+ },
+ "functionInstanceMinResources": {
+ "$ref": "#/definitions/Resources"
+ },
+ "functionInstanceResourceChangeInLockStep": {
+ "type": "boolean"
+ },
+ "functionInstanceResourceGranularities": {
+ "$ref": "#/definitions/Resources"
+ },
+ "functionMetadataTopic": {
+ "type": "string"
+ },
+ "functionMetadataTopicName": {
+ "type": "string"
+ },
+ "functionRuntimeFactoryClassName": {
+ "type": "string"
+ },
+ "functionRuntimeFactoryConfigs": {
+ "additionalProperties": {
+ "type": "object"
+ },
+ "type": "object"
+ },
+ "functionWebServiceUrl": {
+ "type": "string"
+ },
+ "functionsDirectory": {
+ "type": "string"
+ },
+ "functionsWorkerEnablePackageManagement": {
+ "type": "boolean"
+ },
+ "functionsWorkerServiceCustomConfigs": {
+ "additionalProperties": {
+ "type": "object"
+ },
+ "type": "object"
+ },
+ "functionsWorkerServiceNarPackage": {
+ "type": "string"
+ },
+ "httpRequestsLimitEnabled": {
+ "type": "boolean"
+ },
+ "httpRequestsMaxPerSecond": {
+ "format": "double",
+ "type": "number"
+ },
+ "httpServerAcceptQueueSize": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "httpServerThreadPoolQueueSize": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "ignoreUnknownConfigFields": {
+ "type": "boolean"
+ },
+ "includeStandardPrometheusMetrics": {
+ "type": "boolean"
+ },
+ "initialBrokerReconnectMaxRetries": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "initializedDlogMetadata": {
+ "type": "boolean"
+ },
+ "instanceLivenessCheckFreqMs": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "jvmGCMetricsLoggerClassName": {
+ "type": "string"
+ },
+ "kinitCommand": {
+ "type": "string"
+ },
+ "kubernetesContainerFactory": {
+ "$ref": "#/definitions/KubernetesContainerFactory"
+ },
+ "maxConcurrentHttpRequests": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "maxHttpServerConnections": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "maxPendingAsyncRequests": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "metadataStoreAllowReadOnlyOperations": {
+ "type": "boolean"
+ },
+ "metadataStoreCacheExpirySeconds": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "metadataStoreOperationTimeoutSeconds": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "metadataStoreSessionTimeoutMillis": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "narExtractionDirectory": {
+ "type": "string"
+ },
+ "numFunctionPackageReplicas": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "numHttpServerThreads": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "processContainerFactory": {
+ "$ref": "#/definitions/ProcessContainerFactory"
+ },
+ "properties": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "proxyRoles": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "pulsarFunctionsCluster": {
+ "type": "string"
+ },
+ "pulsarFunctionsNamespace": {
+ "type": "string"
+ },
+ "pulsarServiceUrl": {
+ "type": "string"
+ },
+ "pulsarWebServiceUrl": {
+ "type": "string"
+ },
+ "rebalanceCheckFreqSec": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "rescheduleTimeoutMs": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "runtimeCustomizerClassName": {
+ "type": "string"
+ },
+ "runtimeCustomizerConfig": {
+ "additionalProperties": {
+ "type": "object"
+ },
+ "type": "object"
+ },
+ "saslJaasClientAllowedIds": {
+ "type": "string"
+ },
+ "saslJaasServerRoleTokenSignerSecretPath": {
+ "type": "string"
+ },
+ "saslJaasServerSectionName": {
+ "type": "string"
+ },
+ "schedulerClassName": {
+ "type": "string"
+ },
+ "secretsProviderConfiguratorClassName": {
+ "type": "string"
+ },
+ "secretsProviderConfiguratorConfig": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "stateStorageProviderImplementation": {
+ "type": "string"
+ },
+ "stateStorageServiceUrl": {
+ "type": "string"
+ },
+ "superUserRoles": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "threadContainerFactory": {
+ "$ref": "#/definitions/ThreadContainerFactory"
+ },
+ "tlsAllowInsecureConnection": {
+ "type": "boolean"
+ },
+ "tlsCertRefreshCheckDurationSec": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "tlsCertificateFilePath": {
+ "type": "string"
+ },
+ "tlsEnableHostnameVerification": {
+ "type": "boolean"
+ },
+ "tlsEnabled": {
+ "type": "boolean"
+ },
+ "tlsEnabledWithKeyStore": {
+ "type": "boolean"
+ },
+ "tlsKeyFilePath": {
+ "type": "string"
+ },
+ "tlsKeyStore": {
+ "type": "string"
+ },
+ "tlsKeyStorePassword": {
+ "type": "string"
+ },
+ "tlsKeyStoreType": {
+ "type": "string"
+ },
+ "tlsProvider": {
+ "type": "string"
+ },
+ "tlsRequireTrustedClientCertOnConnect": {
+ "type": "boolean"
+ },
+ "tlsTrustCertsFilePath": {
+ "type": "string"
+ },
+ "tlsTrustChainBytes": {
+ "items": {
+ "format": "byte",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "tlsTrustStore": {
+ "type": "string"
+ },
+ "tlsTrustStorePassword": {
+ "type": "string"
+ },
+ "tlsTrustStoreType": {
+ "type": "string"
+ },
+ "topicCompactionFrequencySec": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "uploadBuiltinSinksSources": {
+ "type": "boolean"
+ },
+ "useCompactedMetadataTopic": {
+ "type": "boolean"
+ },
+ "useTls": {
+ "type": "boolean"
+ },
+ "validateConnectorConfig": {
+ "type": "boolean"
+ },
+ "webServiceTlsCiphers": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "webServiceTlsProtocols": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "workerHostname": {
+ "type": "string"
+ },
+ "workerId": {
+ "type": "string"
+ },
+ "workerListProbeIntervalSec": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "workerPort": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "workerPortTls": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "workerWebAddress": {
+ "type": "string"
+ },
+ "workerWebAddressTls": {
+ "type": "string"
+ },
+ "zooKeeperAllowReadOnlyOperations": {
+ "type": "boolean"
+ },
+ "zooKeeperCacheExpirySeconds": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "zooKeeperOperationTimeoutSeconds": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "zooKeeperSessionTimeoutMillis": {
+ "format": "int64",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "WorkerFunctionInstanceStats": {
+ "properties": {
+ "metrics": {
+ "$ref": "#/definitions/FunctionInstanceStatsData"
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "WorkerInfo": {
+ "properties": {
+ "port": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "workerHostname": {
+ "type": "string"
+ },
+ "workerId": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "WorkerService": {
+ "properties": {
+ "functions": {
+ "$ref": "#/definitions/FunctionsWorkerService"
+ },
+ "functionsV2": {
+ "$ref": "#/definitions/FunctionsV2WorkerService"
+ },
+ "initialized": {
+ "type": "boolean"
+ },
+ "sinks": {
+ "$ref": "#/definitions/SinksWorkerService"
+ },
+ "sources": {
+ "$ref": "#/definitions/SourcesWorkerService"
+ },
+ "workerConfig": {
+ "$ref": "#/definitions/WorkerConfig"
+ },
+ "workers": {
+ "$ref": "#/definitions/WorkersWorkerService"
+ }
+ },
+ "type": "object"
+ },
+ "Workers": {
+ "type": "object"
+ },
+ "WorkersWorkerService": {
+ "type": "object"
+ }
+ },
+ "info": {
+ "description": "This provides the REST API for admin operations",
+ "license": {
+ "name": "Apache 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.html"
+ },
+ "title": "Pulsar Admin REST API",
+ "version": "v2"
+ },
+ "paths": {
+ "/bookies/all": {
+ "get": {
+ "description": "",
+ "operationId": "Bookies_getAllBookies",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "$ref": "#/definitions/BookiesClusterInfo"
+ }
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ }
+ },
+ "summary": "Gets raw information for all the bookies in the cluster",
+ "tags": [
+ "bookies"
+ ]
+ }
+ },
+ "/bookies/racks-info": {
+ "get": {
+ "description": "",
+ "operationId": "Bookies_getBookiesRackInfo",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "additionalProperties": {
+ "additionalProperties": {
+ "$ref": "#/definitions/BookieInfo"
+ },
+ "type": "object"
+ },
+ "type": "object"
+ }
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ }
+ },
+ "summary": "Gets the rack placement information for all the bookies in the cluster",
+ "tags": [
+ "bookies"
+ ]
+ }
+ },
+ "/bookies/racks-info/{bookie}": {
+ "delete": {
+ "description": "",
+ "operationId": "Bookies_deleteBookieRackInfo",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "bookie",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ }
+ },
+ "summary": "Removed the rack placement information for a specific bookie in the cluster",
+ "tags": [
+ "bookies"
+ ]
+ },
+ "get": {
+ "description": "",
+ "operationId": "Bookies_getBookieRackInfo",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "bookie",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "$ref": "#/definitions/BookieInfo"
+ }
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ }
+ },
+ "summary": "Gets the rack placement information for a specific bookie in the cluster",
+ "tags": [
+ "bookies"
+ ]
+ },
+ "post": {
+ "description": "",
+ "operationId": "Bookies_updateBookieRackInfo",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "bookie",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "group",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ }
+ },
+ "summary": "Updates the rack placement information for a specific bookie in the cluster (note. bookie address format:`address:port`)",
+ "tags": [
+ "bookies"
+ ]
+ }
+ },
+ "/broker-stats/allocator-stats/{allocator}": {
+ "get": {
+ "description": "",
+ "operationId": "BrokerStatsBase_getAllocatorStats",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "allocator",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "$ref": "#/definitions/AllocatorStats"
+ }
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ }
+ },
+ "summary": "Get the stats for the Netty allocator. Available allocators are 'default' and 'ml-cache'",
+ "tags": [
+ "broker-stats"
+ ]
+ }
+ },
+ "/broker-stats/bookieops": {
+ "get": {
+ "description": "",
+ "operationId": "BrokerStatsBase_getPendingBookieOpsStats",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "additionalProperties": {
+ "$ref": "#/definitions/PendingBookieOpsStats"
+ },
+ "type": "object"
+ }
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ }
+ },
+ "summary": "Get pending bookie client op stats by namespace",
+ "tags": [
+ "broker-stats"
+ ]
+ }
+ },
+ "/broker-stats/broker-resource-availability/{tenant}/{namespace}": {
+ "get": {
+ "description": "This API gives the current broker availability in percent, each resource percentage usage is calculated and thensum of all of the resource usage percent is called broker-resource-availability<br/><br/>THIS API IS ONLY FOR USE BY TESTING FOR CONFIRMING NAMESPACE ALLOCATION ALGORITHM",
+ "operationId": "BrokerStats_getBrokerResourceAvailability",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "additionalProperties": {
+ "$ref": "#/definitions/ResourceUnit"
+ },
+ "type": "object"
+ }
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "409": {
+ "description": "Load-manager doesn't support operation"
+ }
+ },
+ "summary": "Broker availability report",
+ "tags": [
+ "broker-stats"
+ ]
+ }
+ },
+ "/broker-stats/load-report": {
+ "get": {
+ "description": "consists of topics stats & systemResourceUsage",
+ "operationId": "BrokerStatsBase_getLoadReport",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "$ref": "#/definitions/LoadReport"
+ }
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ }
+ },
+ "summary": "Get Load for this broker",
+ "tags": [
+ "broker-stats"
+ ]
+ }
+ },
+ "/broker-stats/mbeans": {
+ "get": {
+ "description": "",
+ "operationId": "BrokerStatsBase_getMBeans",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "items": {
+ "$ref": "#/definitions/Metrics"
+ },
+ "type": "array"
+ }
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ }
+ },
+ "summary": "Get all the mbean details of this broker JVM",
+ "tags": [
+ "broker-stats"
+ ]
+ }
+ },
+ "/broker-stats/metrics": {
+ "get": {
+ "description": "Requested should be executed by Monitoring agent on each broker to fetch the metrics",
+ "operationId": "BrokerStatsBase_getMetrics",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "items": {
+ "$ref": "#/definitions/Metrics"
+ },
+ "type": "array"
+ }
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ }
+ },
+ "summary": "Gets the metrics for Monitoring",
+ "tags": [
+ "broker-stats"
+ ]
+ }
+ },
+ "/broker-stats/topics": {
+ "get": {
+ "description": "",
+ "operationId": "BrokerStats_getTopics2",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "$ref": "#/definitions/OutputStream"
+ }
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ }
+ },
+ "summary": "Get all the topic stats by namespace",
+ "tags": [
+ "broker-stats"
+ ]
+ }
+ },
+ "/brokers": {
+ "get": {
+ "description": "",
+ "operationId": "BrokersBase_getActiveBrokers",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "401": {
+ "description": "Authentication required"
+ },
+ "403": {
+ "description": "This operation requires super-user access"
+ }
+ },
+ "summary": "Get the list of active brokers (broker ids) in the local cluster.If authorization is not enabled",
+ "tags": [
+ "brokers"
+ ]
+ }
+ },
+ "/brokers/backlog-quota-check": {
+ "get": {
+ "description": "",
+ "operationId": "BrokersBase_backlogQuotaCheck",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Everything is OK"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "500": {
+ "description": "Internal server error"
+ }
+ },
+ "summary": "An REST endpoint to trigger backlogQuotaCheck",
+ "tags": [
+ "brokers"
+ ]
+ }
+ },
+ "/brokers/configuration": {
+ "get": {
+ "description": "",
+ "operationId": "BrokersBase_getDynamicConfigurationName",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "You don't have admin permission to get configuration"
+ }
+ },
+ "summary": "Get all updatable dynamic configurations's name",
+ "tags": [
+ "brokers"
+ ]
+ }
+ },
+ "/brokers/configuration/runtime": {
+ "get": {
+ "description": "",
+ "operationId": "BrokersBase_getRuntimeConfiguration",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ }
+ },
+ "summary": "Get all runtime configurations. This operation requires Pulsar super-user privileges.",
+ "tags": [
+ "brokers"
+ ]
+ }
+ },
+ "/brokers/configuration/values": {
+ "get": {
+ "description": "",
+ "operationId": "BrokersBase_getAllDynamicConfigurations",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "You don't have admin permission to view configuration"
+ },
+ "404": {
+ "description": "Configuration not found"
+ },
+ "500": {
+ "description": "Internal server error"
+ }
+ },
+ "summary": "Get value of all dynamic configurations' value overridden on local config",
+ "tags": [
+ "brokers"
+ ]
+ }
+ },
+ "/brokers/configuration/{configName}": {
+ "delete": {
+ "description": "",
+ "operationId": "BrokersBase_deleteDynamicConfiguration",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "configName",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "204": {
+ "description": "Service configuration updated successfully"
+ },
+ "403": {
+ "description": "You don't have admin permission to update service-configuration"
+ },
+ "412": {
+ "description": "Invalid dynamic-config value"
+ },
+ "500": {
+ "description": "Internal server error"
+ }
+ },
+ "summary": "Delete dynamic ServiceConfiguration into metadata only. This operation requires Pulsar super-user privileges.",
+ "tags": [
+ "brokers"
+ ]
+ }
+ },
+ "/brokers/configuration/{configName}/{configValue}": {
+ "post": {
+ "description": "",
+ "operationId": "BrokersBase_updateDynamicConfiguration",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "configName",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "configValue",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "204": {
+ "description": "Service configuration updated successfully"
+ },
+ "403": {
+ "description": "You don't have admin permission to update service-configuration"
+ },
+ "404": {
+ "description": "Configuration not found"
+ },
+ "412": {
+ "description": "Invalid dynamic-config value"
+ },
+ "500": {
+ "description": "Internal server error"
+ }
+ },
+ "summary": "Update dynamic serviceconfiguration into zk only. This operation requires Pulsar super-user privileges.",
+ "tags": [
+ "brokers"
+ ]
+ }
+ },
+ "/brokers/health": {
+ "get": {
+ "description": "",
+ "operationId": "BrokersBase_healthCheck",
+ "parameters": [
+ {
+ "enum": [
+ "V1",
+ "V2"
+ ],
+ "in": "query",
+ "name": "topicVersion",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Everything is OK"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Cluster doesn't exist"
+ },
+ "500": {
+ "description": "Internal server error"
+ }
+ },
+ "summary": "Run a healthCheck against the broker",
+ "tags": [
+ "brokers"
+ ]
+ }
+ },
+ "/brokers/internal-configuration": {
+ "get": {
+ "description": "",
+ "operationId": "BrokersBase_getInternalConfigurationData",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "$ref": "#/definitions/InternalConfigurationData"
+ }
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ }
+ },
+ "summary": "Get the internal configuration data",
+ "tags": [
+ "brokers"
+ ]
+ }
+ },
+ "/brokers/leaderBroker": {
+ "get": {
+ "description": "",
+ "operationId": "BrokersBase_getLeaderBroker",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "$ref": "#/definitions/BrokerInfo"
+ }
+ },
+ "401": {
+ "description": "Authentication required"
+ },
+ "403": {
+ "description": "This operation requires super-user access"
+ },
+ "404": {
+ "description": "Leader broker not found"
+ }
+ },
+ "summary": "Get the information of the leader broker.",
+ "tags": [
+ "brokers"
+ ]
+ }
+ },
+ "/brokers/ready": {
+ "get": {
+ "description": "",
+ "operationId": "BrokersBase_isReady",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Broker is ready"
+ },
+ "500": {
+ "description": "Broker is not ready"
+ }
+ },
+ "summary": "Check if the broker is fully initialized",
+ "tags": [
+ "brokers"
+ ]
+ }
+ },
+ "/brokers/shutdown": {
+ "post": {
+ "description": "",
+ "operationId": "BrokersBase_shutDownBrokerGracefully",
+ "parameters": [
+ {
+ "description": "if the value absent(value=0) means no concurrent limitation.",
+ "format": "int32",
+ "in": "query",
+ "name": "maxConcurrentUnloadPerSec",
+ "required": false,
+ "type": "integer"
+ },
+ {
+ "default": true,
+ "in": "query",
+ "name": "forcedTerminateTopic",
+ "required": false,
+ "type": "boolean"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "204": {
+ "description": "Execute shutdown command successfully"
+ },
+ "403": {
+ "description": "You don't have admin permission to update service-configuration"
+ },
+ "500": {
+ "description": "Internal server error"
+ }
+ },
+ "summary": "Shutdown broker gracefully.",
+ "tags": [
+ "brokers"
+ ]
+ }
+ },
+ "/brokers/version": {
+ "get": {
+ "description": "",
+ "operationId": "BrokersBase_version",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Everything is OK",
+ "schema": {
+ "type": "string"
+ }
+ },
+ "500": {
+ "description": "Internal server error"
+ }
+ },
+ "summary": "Get version of current broker",
+ "tags": [
+ "brokers"
+ ]
+ }
+ },
+ "/brokers/{clusterName}/{brokerId}/ownedNamespaces": {
+ "get": {
+ "description": "",
+ "operationId": "BrokersBase_getOwnedNamespaces",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "clusterName",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "brokerId",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "additionalProperties": {
+ "$ref": "#/definitions/NamespaceOwnershipStatus"
+ },
+ "type": "object"
+ }
+ },
+ "307": {
+ "description": "Current broker doesn't serve the cluster"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Cluster doesn't exist"
+ }
+ },
+ "summary": "Get the list of namespaces served by the specific broker id",
+ "tags": [
+ "brokers"
+ ]
+ }
+ },
+ "/brokers/{cluster}": {
+ "get": {
+ "description": "",
+ "operationId": "BrokersBase_getActiveBrokers",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "cluster",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "307": {
+ "description": "Current broker doesn't serve this cluster"
+ },
+ "401": {
+ "description": "Authentication required"
+ },
+ "403": {
+ "description": "This operation requires super-user access"
+ },
+ "404": {
+ "description": "Cluster does not exist: cluster={clustername}"
+ }
+ },
+ "summary": "Get the list of active brokers (broker ids) in the cluster.If authorization is not enabled, any cluster name is valid.",
+ "tags": [
+ "brokers"
+ ]
+ }
+ },
+ "/clusters": {
+ "get": {
+ "description": "",
+ "operationId": "ClustersBase_getClusters",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Return a list of clusters.",
+ "schema": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "500": {
+ "description": "Internal server error."
+ }
+ },
+ "summary": "Get the list of all the Pulsar clusters.",
+ "tags": [
+ "clusters"
+ ]
+ }
+ },
+ "/clusters/{cluster}": {
+ "delete": {
+ "description": "This operation requires Pulsar superuser privileges.",
+ "operationId": "ClustersBase_deleteCluster",
+ "parameters": [
+ {
+ "description": "The cluster name",
+ "in": "path",
+ "name": "cluster",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "204": {
+ "description": "Cluster has been deleted."
+ },
+ "403": {
+ "description": "Don't have admin permission or policies are read-only."
+ },
+ "404": {
+ "description": "Cluster doesn't exist."
+ },
+ "412": {
+ "description": "Cluster is not empty."
+ },
+ "500": {
+ "description": "Internal server error."
+ }
+ },
+ "summary": "Delete an existing cluster.",
+ "tags": [
+ "clusters"
+ ]
+ },
+ "get": {
+ "description": "This operation requires Pulsar superuser privileges.",
+ "operationId": "ClustersBase_getCluster",
+ "parameters": [
+ {
+ "description": "The cluster name",
+ "in": "path",
+ "name": "cluster",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Return the cluster data.",
+ "schema": {
+ "$ref": "#/definitions/ClusterData"
+ }
+ },
+ "403": {
+ "description": "Don't have admin permission."
+ },
+ "404": {
+ "description": "Cluster doesn't exist."
+ },
+ "500": {
+ "description": "Internal server error."
+ }
+ },
+ "summary": "Get the configuration for the specified cluster.",
+ "tags": [
+ "clusters"
+ ]
+ },
+ "post": {
+ "description": "This operation requires Pulsar superuser privileges.",
+ "operationId": "ClustersBase_updateCluster",
+ "parameters": [
+ {
+ "description": "The cluster name",
+ "in": "path",
+ "name": "cluster",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "description": "The cluster data",
+ "in": "body",
+ "name": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ClusterData"
+ },
+ "x-examples": {
+ "application/json": "{\n \"serviceUrl\": \"http://pulsar.example.com:8080\",\n \"brokerServiceUrl\": \"pulsar://pulsar.example.com:6651\"\n}"
+ }
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "204": {
+ "description": "Cluster has been updated."
+ },
+ "400": {
+ "description": "Bad request parameter."
+ },
+ "403": {
+ "description": "Don't have admin permission or policies are read-only."
+ },
+ "404": {
+ "description": "Cluster doesn't exist."
+ },
+ "500": {
+ "description": "Internal server error."
+ }
+ },
+ "summary": "Update the configuration for a cluster.",
+ "tags": [
+ "clusters"
+ ]
+ },
+ "put": {
+ "description": "This operation requires Pulsar superuser privileges, and the name cannot contain the '/' characters.",
+ "operationId": "ClustersBase_createCluster",
+ "parameters": [
+ {
+ "description": "The cluster name",
+ "in": "path",
+ "name": "cluster",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "description": "The cluster data",
+ "in": "body",
+ "name": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ClusterData"
+ },
+ "x-examples": {
+ "application/json": "{\n \"serviceUrl\": \"http://pulsar.example.com:8080\",\n \"brokerServiceUrl\": \"pulsar://pulsar.example.com:6651\",\n}"
+ }
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "204": {
+ "description": "Cluster has been created."
+ },
+ "400": {
+ "description": "Bad request parameter."
+ },
+ "403": {
+ "description": "You don't have admin permission to create the cluster."
+ },
+ "409": {
+ "description": "Cluster already exists."
+ },
+ "412": {
+ "description": "Cluster name is not valid."
+ },
+ "500": {
+ "description": "Internal server error."
+ }
+ },
+ "summary": "Create a new cluster.",
+ "tags": [
+ "clusters"
+ ]
+ }
+ },
+ "/clusters/{cluster}/failureDomains": {
+ "get": {
+ "description": "This operation requires Pulsar superuser privileges.",
+ "operationId": "ClustersBase_getFailureDomains",
+ "parameters": [
+ {
+ "description": "The cluster name",
+ "in": "path",
+ "name": "cluster",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "additionalProperties": {
+ "$ref": "#/definitions/FailureDomain"
+ },
+ "type": "object"
+ }
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "500": {
+ "description": "Internal server error"
+ }
+ },
+ "summary": "Get the cluster failure domains.",
+ "tags": [
+ "clusters"
+ ]
+ }
+ },
+ "/clusters/{cluster}/failureDomains/{domainName}": {
+ "delete": {
+ "description": "This operation requires Pulsar superuser privileges.",
+ "operationId": "ClustersBase_deleteFailureDomain",
+ "parameters": [
+ {
+ "description": "The cluster name",
+ "in": "path",
+ "name": "cluster",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "description": "The failure domain name",
+ "in": "path",
+ "name": "domainName",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission or policy is read only"
+ },
+ "404": {
+ "description": "FailureDomain doesn't exist"
+ },
+ "412": {
+ "description": "Cluster doesn't exist"
+ },
+ "500": {
+ "description": "Internal server error"
+ }
+ },
+ "summary": "Delete the failure domain of the cluster",
+ "tags": [
+ "clusters"
+ ]
+ },
+ "get": {
+ "description": "This operation requires Pulsar superuser privileges.",
+ "operationId": "ClustersBase_getDomain",
+ "parameters": [
+ {
+ "description": "The cluster name",
+ "in": "path",
+ "name": "cluster",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "description": "The failure domain name",
+ "in": "path",
+ "name": "domainName",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "$ref": "#/definitions/FailureDomain"
+ }
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "FailureDomain doesn't exist"
+ },
+ "412": {
+ "description": "Cluster doesn't exist"
+ },
+ "500": {
+ "description": "Internal server error"
+ }
+ },
+ "summary": "Get a domain in a cluster",
+ "tags": [
+ "clusters"
+ ]
+ },
+ "post": {
+ "description": "This operation requires Pulsar superuser privileges.",
+ "operationId": "ClustersBase_setFailureDomain",
+ "parameters": [
+ {
+ "description": "The cluster name",
+ "in": "path",
+ "name": "cluster",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "description": "The failure domain name",
+ "in": "path",
+ "name": "domainName",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "description": "The configuration data of a failure domain",
+ "in": "body",
+ "name": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FailureDomain"
+ }
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission."
+ },
+ "404": {
+ "description": "Failure domain doesn't exist."
+ },
+ "409": {
+ "description": "Broker already exists in another domain."
+ },
+ "412": {
+ "description": "Cluster doesn't exist."
+ },
+ "500": {
+ "description": "Internal server error."
+ }
+ },
+ "summary": "Set the failure domain of the cluster.",
+ "tags": [
+ "clusters"
+ ]
+ }
+ },
+ "/clusters/{cluster}/migrate": {
+ "get": {
+ "description": "This operation requires Pulsar superuser privileges.",
+ "operationId": "ClustersBase_getClusterMigration",
+ "parameters": [
+ {
+ "description": "The cluster name",
+ "in": "path",
+ "name": "cluster",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Return the cluster data.",
+ "schema": {
+ "$ref": "#/definitions/ClusterData"
+ }
+ },
+ "403": {
+ "description": "Don't have admin permission."
+ },
+ "404": {
+ "description": "Cluster doesn't exist."
+ },
+ "500": {
+ "description": "Internal server error."
+ }
+ },
+ "summary": "Get the cluster migration configuration for the specified cluster.",
+ "tags": [
+ "clusters"
+ ]
+ },
+ "post": {
+ "description": "This operation requires Pulsar superuser privileges.",
+ "operationId": "ClustersBase_updateClusterMigration",
+ "parameters": [
+ {
+ "description": "The cluster name",
+ "in": "path",
+ "name": "cluster",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "description": "Is cluster migrated",
+ "in": "query",
+ "name": "migrated",
+ "required": true,
+ "type": "boolean"
+ },
+ {
+ "description": "The cluster url data",
+ "in": "body",
+ "name": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ClusterUrl"
+ },
+ "x-examples": {
+ "application/json": "{\n \"serviceUrl\": \"http://pulsar.example.com:8080\",\n \"brokerServiceUrl\": \"pulsar://pulsar.example.com:6651\"\n}"
+ }
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "204": {
+ "description": "Cluster has been updated."
+ },
+ "400": {
+ "description": "Cluster url must not be empty."
+ },
+ "403": {
+ "description": "Don't have admin permission or policies are read-only."
+ },
+ "404": {
+ "description": "Cluster doesn't exist."
+ },
+ "500": {
+ "description": "Internal server error."
+ }
+ },
+ "summary": "Update the configuration for a cluster migration.",
+ "tags": [
+ "clusters"
+ ]
+ }
+ },
+ "/clusters/{cluster}/namespaceIsolationPolicies": {
+ "get": {
+ "description": "This operation requires Pulsar superuser privileges.",
+ "operationId": "ClustersBase_getNamespaceIsolationPolicies",
+ "parameters": [
+ {
+ "description": "The cluster name",
+ "in": "path",
+ "name": "cluster",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "additionalProperties": {
+ "$ref": "#/definitions/NamespaceIsolationData"
+ },
+ "type": "object"
+ }
+ },
+ "403": {
+ "description": "Don't have admin permission."
+ },
+ "404": {
+ "description": "Cluster doesn't exist."
+ },
+ "500": {
+ "description": "Internal server error."
+ }
+ },
+ "summary": "Get the namespace isolation policies assigned to the cluster.",
+ "tags": [
+ "clusters"
+ ]
+ }
+ },
+ "/clusters/{cluster}/namespaceIsolationPolicies/brokers": {
+ "get": {
+ "description": "This operation requires Pulsar superuser privileges.",
+ "operationId": "ClustersBase_getBrokersWithNamespaceIsolationPolicy",
+ "parameters": [
+ {
+ "description": "The cluster name",
+ "in": "path",
+ "name": "cluster",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "items": {
+ "$ref": "#/definitions/BrokerNamespaceIsolationData"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "403": {
+ "description": "Don't have admin permission."
+ },
+ "404": {
+ "description": "Namespace-isolation policies not found."
+ },
+ "412": {
+ "description": "Cluster doesn't exist."
+ },
+ "500": {
+ "description": "Internal server error."
+ }
+ },
+ "summary": "Get list of brokers with namespace-isolation policies attached to them.",
+ "tags": [
+ "clusters"
+ ]
+ }
+ },
+ "/clusters/{cluster}/namespaceIsolationPolicies/brokers/{broker}": {
+ "get": {
+ "description": "This operation requires Pulsar superuser privileges.",
+ "operationId": "ClustersBase_getBrokerWithNamespaceIsolationPolicy",
+ "parameters": [
+ {
+ "description": "The cluster name",
+ "in": "path",
+ "name": "cluster",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "description": "The broker name (<broker-hostname>:<web-service-port>)",
+ "in": "path",
+ "name": "broker",
+ "required": true,
+ "type": "string",
+ "x-example": "broker1:8080"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "$ref": "#/definitions/BrokerNamespaceIsolationData"
+ }
+ },
+ "403": {
+ "description": "Don't have admin permission."
+ },
+ "404": {
+ "description": "Namespace-isolation policies/ Broker not found."
+ },
+ "412": {
+ "description": "Cluster doesn't exist."
+ },
+ "500": {
+ "description": "Internal server error."
+ }
+ },
+ "summary": "Get a broker with namespace-isolation policies attached to it.",
+ "tags": [
+ "clusters"
+ ]
+ }
+ },
+ "/clusters/{cluster}/namespaceIsolationPolicies/{policyName}": {
+ "delete": {
+ "description": "This operation requires Pulsar superuser privileges.",
+ "operationId": "ClustersBase_deleteNamespaceIsolationPolicy",
+ "parameters": [
+ {
+ "description": "The cluster name",
+ "in": "path",
+ "name": "cluster",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "description": "The namespace isolation policy name",
+ "in": "path",
+ "name": "policyName",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission or policies are read only."
+ },
+ "404": {
+ "description": "Namespace isolation policy doesn't exist."
+ },
+ "412": {
+ "description": "Cluster doesn't exist."
+ },
+ "500": {
+ "description": "Internal server error."
+ }
+ },
+ "summary": "Delete namespace isolation policy.",
+ "tags": [
+ "clusters"
+ ]
+ },
+ "get": {
+ "description": "This operation requires Pulsar superuser privileges.",
+ "operationId": "ClustersBase_getNamespaceIsolationPolicy",
+ "parameters": [
+ {
+ "description": "The cluster name",
+ "in": "path",
+ "name": "cluster",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "description": "The name of the namespace isolation policy",
+ "in": "path",
+ "name": "policyName",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "$ref": "#/definitions/NamespaceIsolationData"
+ }
+ },
+ "403": {
+ "description": "Don't have admin permission."
+ },
+ "404": {
+ "description": "Policy doesn't exist."
+ },
+ "412": {
+ "description": "Cluster doesn't exist."
+ },
+ "500": {
+ "description": "Internal server error."
+ }
+ },
+ "summary": "Get the single namespace isolation policy assigned to the cluster.",
+ "tags": [
+ "clusters"
+ ]
+ },
+ "post": {
+ "description": "This operation requires Pulsar superuser privileges.",
+ "operationId": "ClustersBase_setNamespaceIsolationPolicy",
+ "parameters": [
+ {
+ "description": "The cluster name",
+ "in": "path",
+ "name": "cluster",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "description": "The namespace isolation policy name",
+ "in": "path",
+ "name": "policyName",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "description": "The namespace isolation policy data",
+ "in": "body",
+ "name": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/NamespaceIsolationData"
+ }
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "400": {
+ "description": "Namespace isolation policy data is invalid."
+ },
+ "403": {
+ "description": "Don't have admin permission or policies are read-only."
+ },
+ "404": {
+ "description": "Namespace isolation policy doesn't exist."
+ },
+ "412": {
+ "description": "Cluster doesn't exist."
+ },
+ "500": {
+ "description": "Internal server error."
+ }
+ },
+ "summary": "Set namespace isolation policy.",
+ "tags": [
+ "clusters"
+ ]
+ }
+ },
+ "/clusters/{cluster}/peers": {
+ "get": {
+ "description": "This operation requires Pulsar superuser privileges.",
+ "operationId": "ClustersBase_getPeerCluster",
+ "parameters": [
+ {
+ "description": "The cluster name",
+ "in": "path",
+ "name": "cluster",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "403": {
+ "description": "Don't have admin permission."
+ },
+ "404": {
+ "description": "Cluster doesn't exist."
+ },
+ "500": {
+ "description": "Internal server error."
+ }
+ },
+ "summary": "Get the peer-cluster data for the specified cluster.",
+ "tags": [
+ "clusters"
+ ]
+ },
+ "post": {
+ "description": "This operation requires Pulsar superuser privileges.",
+ "operationId": "ClustersBase_setPeerClusterNames",
+ "parameters": [
+ {
+ "description": "The cluster name",
+ "in": "path",
+ "name": "cluster",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "description": "The list of peer cluster names",
+ "in": "body",
+ "name": "body",
+ "required": true,
+ "schema": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "x-examples": {
+ "application/json": "[\n \"cluster-a\",\n \"cluster-b\"\n]"
+ }
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "204": {
+ "description": "Cluster has been updated."
+ },
+ "403": {
+ "description": "Don't have admin permission or policies are read-only."
+ },
+ "404": {
+ "description": "Cluster doesn't exist."
+ },
+ "412": {
+ "description": "Peer cluster doesn't exist."
+ },
+ "500": {
+ "description": "Internal server error."
+ }
+ },
+ "summary": "Update peer-cluster-list for a cluster.",
+ "tags": [
+ "clusters"
+ ]
+ }
+ },
+ "/namespaces/{cluster}/antiAffinity/{group}": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_getAntiAffinityNamespaces",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "cluster",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "group",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "tenant",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "412": {
+ "description": "Cluster not exist/Anti-affinity group can't be empty."
+ }
+ },
+ "summary": "Get all namespaces that are grouped by given anti-affinity group in a given cluster. api can be only accessed by admin of any of the existing tenant",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/namespaces/{property}/{namespace}/persistence/bookieAffinity": {
+ "delete": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_deleteBookieAffinityGroup",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "property",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ }
+ },
+ "summary": "Delete the bookie-affinity-group from namespace-local policy.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_getBookieAffinityGroup",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "property",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "$ref": "#/definitions/BookieAffinityGroupData"
+ }
+ },
+ "307": {
+ "description": "Current broker doesn't serve the namespace"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ }
+ },
+ "summary": "Get the bookie-affinity-group from namespace-local policy.",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/namespaces/{tenant}": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_getTenantNamespaces",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant doesn't exist"
+ }
+ },
+ "summary": "Get the list of all the namespaces for a certain tenant.",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/namespaces/{tenant}/{namespace}": {
+ "delete": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_deleteNamespace",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "default": false,
+ "in": "query",
+ "name": "force",
+ "required": false,
+ "type": "boolean"
+ },
+ {
+ "default": false,
+ "in": "query",
+ "name": "authoritative",
+ "required": false,
+ "type": "boolean"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "307": {
+ "description": "Current broker doesn't serve the namespace"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster or namespace doesn't exist"
+ },
+ "405": {
+ "description": "Broker doesn't allow forced deletion of namespaces"
+ },
+ "409": {
+ "description": "Namespace is not empty"
+ }
+ },
+ "summary": "Delete a namespace and all the topics under it.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_getPolicies",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "$ref": "#/definitions/Policies"
+ }
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster or namespace doesn't exist"
+ }
+ },
+ "summary": "Get the dump all the policies specified for a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "put": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_createNamespace",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "description": "Policies for the namespace",
+ "in": "body",
+ "name": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/Policies"
+ }
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster doesn't exist"
+ },
+ "409": {
+ "description": "Namespace already exists"
+ },
+ "412": {
+ "description": "Namespace name is not valid"
+ }
+ },
+ "summary": "Creates a new namespace with the specified policies",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/namespaces/{tenant}/{namespace}/antiAffinity": {
+ "delete": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_removeNamespaceAntiAffinityGroup",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ }
+ },
+ "summary": "Remove anti-affinity group of a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_getNamespaceAntiAffinityGroup",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "type": "string"
+ }
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster or namespace doesn't exist"
+ }
+ },
+ "summary": "Get anti-affinity group of a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "post": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_setNamespaceAntiAffinityGroup",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "description": "Anti-affinity group for the specified namespace",
+ "in": "body",
+ "name": "body",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster or namespace doesn't exist"
+ },
+ "412": {
+ "description": "Invalid antiAffinityGroup"
+ }
+ },
+ "summary": "Set anti-affinity group for a namespace",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/namespaces/{tenant}/{namespace}/autoSubscriptionCreation": {
+ "delete": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_removeAutoSubscriptionCreation",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster or namespace doesn't exist"
+ }
+ },
+ "summary": "Remove override of broker's allowAutoSubscriptionCreation in a namespace",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_getAutoSubscriptionCreation",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or namespace doesn't exist"
+ }
+ },
+ "summary": "Get autoSubscriptionCreation info in a namespace",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "post": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_setAutoSubscriptionCreation",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "description": "Settings for automatic subscription creation",
+ "in": "body",
+ "name": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/AutoSubscriptionCreationOverride"
+ }
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "400": {
+ "description": "Invalid autoSubscriptionCreation override"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster or namespace doesn't exist"
+ }
+ },
+ "summary": "Override broker's allowAutoSubscriptionCreation setting for a namespace",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/namespaces/{tenant}/{namespace}/autoTopicCreation": {
+ "delete": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_removeAutoTopicCreation",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster or namespace doesn't exist"
+ }
+ },
+ "summary": "Remove override of broker's allowAutoTopicCreation in a namespace",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_getAutoTopicCreation",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or namespace doesn't exist"
+ }
+ },
+ "summary": "Get autoTopicCreation info in a namespace",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "post": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_setAutoTopicCreation",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "description": "Settings for automatic topic creation",
+ "in": "body",
+ "name": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AutoTopicCreationOverride"
+ }
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "400": {
+ "description": "Invalid autoTopicCreation override"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster or namespace doesn't exist"
+ },
+ "406": {
+ "description": "The number of partitions should be less than or equal to maxNumPartitionsPerPartitionedTopic"
+ }
+ },
+ "summary": "Override broker's allowAutoTopicCreation setting for a namespace",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/namespaces/{tenant}/{namespace}/backlogQuota": {
+ "delete": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_removeBacklogQuota",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "enum": [
+ "destination_storage",
+ "message_age"
+ ],
+ "in": "query",
+ "name": "backlogQuotaType",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ }
+ },
+ "summary": "Remove a backlog quota policy from a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "post": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_setBacklogQuota",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "enum": [
+ "destination_storage",
+ "message_age"
+ ],
+ "in": "query",
+ "name": "backlogQuotaType",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "description": "Backlog quota for all topics of the specified namespace",
+ "in": "body",
+ "name": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/BacklogQuota"
+ }
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ },
+ "412": {
+ "description": "Specified backlog quota exceeds retention quota. Increase retention quota and retry request"
+ }
+ },
+ "summary": " Set a backlog quota for all the topics on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/namespaces/{tenant}/{namespace}/backlogQuotaMap": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_getBacklogQuotaMap",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ }
+ },
+ "summary": "Get backlog quota map on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/namespaces/{tenant}/{namespace}/bundles": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_getBundlesData",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster or namespace doesn't exist"
+ },
+ "412": {
+ "description": "Namespace is not setup to split in bundles"
+ }
+ },
+ "summary": "Get the bundles split data.",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/namespaces/{tenant}/{namespace}/clearBacklog": {
+ "post": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_clearNamespaceBacklog",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "default": false,
+ "in": "query",
+ "name": "authoritative",
+ "required": false,
+ "type": "boolean"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin or operate permission on the namespace"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ }
+ },
+ "summary": "Clear backlog for all topics on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/namespaces/{tenant}/{namespace}/clearBacklog/{subscription}": {
+ "post": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_clearNamespaceBacklogForSubscription",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "subscription",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "default": false,
+ "in": "query",
+ "name": "authoritative",
+ "required": false,
+ "type": "boolean"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin or operate permission on the namespace"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ }
+ },
+ "summary": "Clear backlog for a given subscription on all topics on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/namespaces/{tenant}/{namespace}/compactionThreshold": {
+ "delete": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "The backlog size is compared to the threshold periodically. A threshold of 0 disabled automatic compaction",
+ "operationId": "Namespaces_deleteCompactionThreshold",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace doesn't exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ }
+ },
+ "summary": "Delete maximum number of uncompacted bytes in a topic before compaction is triggered.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "The backlog size is compared to the threshold periodically. A threshold of 0 disabled automatic compaction",
+ "operationId": "Namespaces_getCompactionThreshold",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace doesn't exist"
+ }
+ },
+ "summary": "Maximum number of uncompacted bytes in topics before compaction is triggered.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "put": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "The backlog size is compared to the threshold periodically. A threshold of 0 disabled automatic compaction",
+ "operationId": "Namespaces_setCompactionThreshold",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "description": "Maximum number of uncompacted bytes in a topic of the specified namespace",
+ "in": "body",
+ "name": "body",
+ "required": true,
+ "schema": {
+ "format": "int64",
+ "type": "integer"
+ }
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace doesn't exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ },
+ "412": {
+ "description": "compactionThreshold value is not valid"
+ }
+ },
+ "summary": "Set maximum number of uncompacted bytes in a topic before compaction is triggered.",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/namespaces/{tenant}/{namespace}/deduplication": {
+ "delete": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_removeDeduplication",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster or namespace doesn't exist"
+ }
+ },
+ "summary": "Remove broker side deduplication for all topics in a namespace",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_getDeduplication",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster or namespace doesn't exist"
+ }
+ },
+ "summary": "Get broker side deduplication for all topics in a namespace",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "post": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_modifyDeduplication",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "description": "Flag for disabling or enabling broker side deduplication for all topics in the specified namespace",
+ "in": "body",
+ "name": "body",
+ "required": true,
+ "schema": {
+ "type": "boolean"
+ }
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster or namespace doesn't exist"
+ }
+ },
+ "summary": "Enable or disable broker side deduplication for all topics in a namespace",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/namespaces/{tenant}/{namespace}/deduplicationSnapshotInterval": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_getDeduplicationSnapshotInterval",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ }
+ },
+ "summary": "Get deduplicationSnapshotInterval config on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "post": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_setDeduplicationSnapshotInterval",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "description": "Interval to take deduplication snapshot per topic",
+ "in": "body",
+ "name": "body",
+ "required": true,
+ "schema": {
+ "format": "int32",
+ "type": "integer"
+ }
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ }
+ },
+ "summary": "Set deduplicationSnapshotInterval config on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/namespaces/{tenant}/{namespace}/delayedDelivery": {
+ "delete": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_removeDelayedDeliveryPolicies",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster or namespace doesn't exist"
+ }
+ },
+ "summary": "Delete delayed delivery messages config on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_getDelayedDeliveryPolicies",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster or namespace doesn't exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ }
+ },
+ "summary": "Get delayed delivery messages config on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "post": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_setDelayedDeliveryPolicies",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "description": "Delayed delivery policies for the specified namespace",
+ "in": "body",
+ "name": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/DelayedDeliveryPolicies"
+ }
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster or namespace doesn't exist"
+ }
+ },
+ "summary": "Set delayed delivery messages config on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/namespaces/{tenant}/{namespace}/dispatchRate": {
+ "delete": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_deleteDispatchRate",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ }
+ },
+ "summary": "Delete dispatch-rate throttling for all topics of the namespace",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_getDispatchRate",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ }
+ },
+ "summary": "Get dispatch-rate configured for the namespace, null means dispatch-rate not configured, -1 means msg-dispatch-rate or byte-dispatch-rate not configured in dispatch-rate yet",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "post": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_setDispatchRate",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "description": "Dispatch rate for all topics of the specified namespace",
+ "in": "body",
+ "name": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/DispatchRateImpl"
+ }
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ }
+ },
+ "summary": "Set dispatch-rate throttling for all topics of the namespace",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/namespaces/{tenant}/{namespace}/encryptionRequired": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_getEncryptionRequired",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or namespace doesn't exist"
+ }
+ },
+ "summary": "Get message encryption required status in a namespace",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "post": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_modifyEncryptionRequired",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "description": "Flag defining if message encryption is required",
+ "in": "body",
+ "name": "body",
+ "required": true,
+ "schema": {
+ "type": "boolean"
+ }
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster or namespace doesn't exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ }
+ },
+ "summary": "Message encryption is required or not for all topics in a namespace",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/namespaces/{tenant}/{namespace}/entryFilters": {
+ "delete": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_removeNamespaceEntryFilters",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster or namespace doesn't exist"
+ },
+ "412": {
+ "description": "Invalid TTL"
+ }
+ },
+ "summary": "Remove entry filters for namespace",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_getEntryFiltersPerTopic",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ }
+ },
+ "summary": "Get maxConsumersPerSubscription config on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "post": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_setEntryFiltersPerTopic",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "description": "entry filters",
+ "in": "body",
+ "name": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EntryFilters"
+ }
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "400": {
+ "description": "Specified entry filters are not valid"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster or namespace doesn't exist"
+ }
+ },
+ "summary": "Set entry filters for namespace",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/namespaces/{tenant}/{namespace}/inactiveTopicPolicies": {
+ "delete": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_removeInactiveTopicPolicies",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ }
+ },
+ "summary": "Remove inactive topic policies from a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_getInactiveTopicPolicies",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster or namespace doesn't exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ }
+ },
+ "summary": "Get inactive topic policies config on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "post": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_setInactiveTopicPolicies",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "description": "Inactive topic policies for the specified namespace",
+ "in": "body",
+ "name": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/InactiveTopicPolicies"
+ }
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster or namespace doesn't exist"
+ }
+ },
+ "summary": "Set inactive topic policies config on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/namespaces/{tenant}/{namespace}/isAllowAutoUpdateSchema": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_getIsAllowAutoUpdateSchema",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace doesn't exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ }
+ },
+ "summary": "The flag of whether allow auto update schema",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "post": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_setIsAllowAutoUpdateSchema",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "description": "Flag of whether to allow auto update schema",
+ "in": "body",
+ "name": "body",
+ "required": true,
+ "schema": {
+ "type": "boolean"
+ }
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace doesn't exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ }
+ },
+ "summary": "Update flag of whether allow auto update schema",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/namespaces/{tenant}/{namespace}/maxConsumersPerSubscription": {
+ "delete": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_removeMaxConsumersPerSubscription",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ },
+ "412": {
+ "description": "maxConsumersPerSubscription value is not valid"
+ }
+ },
+ "summary": " Set maxConsumersPerSubscription configuration on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_getMaxConsumersPerSubscription",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ }
+ },
+ "summary": "Get maxConsumersPerSubscription config on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "post": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_setMaxConsumersPerSubscription",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "description": "Number of maximum consumers per subscription",
+ "in": "body",
+ "name": "body",
+ "required": true,
+ "schema": {
+ "format": "int32",
+ "type": "integer"
+ }
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ },
+ "412": {
+ "description": "maxConsumersPerSubscription value is not valid"
+ }
+ },
+ "summary": " Set maxConsumersPerSubscription configuration on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/namespaces/{tenant}/{namespace}/maxConsumersPerTopic": {
+ "delete": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_removeMaxConsumersPerTopic",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ }
+ },
+ "summary": "Remove maxConsumersPerTopic configuration on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_getMaxConsumersPerTopic",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ }
+ },
+ "summary": "Get maxConsumersPerTopic config on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "post": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_setMaxConsumersPerTopic",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "description": "Number of maximum consumers per topic",
+ "in": "body",
+ "name": "body",
+ "required": true,
+ "schema": {
+ "format": "int32",
+ "type": "integer"
+ }
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ },
+ "412": {
+ "description": "maxConsumersPerTopic value is not valid"
+ }
+ },
+ "summary": " Set maxConsumersPerTopic configuration on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/namespaces/{tenant}/{namespace}/maxProducersPerTopic": {
+ "delete": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_removeMaxProducersPerTopic",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ }
+ },
+ "summary": "Remove maxProducersPerTopic configuration on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_getMaxProducersPerTopic",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ }
+ },
+ "summary": "Get maxProducersPerTopic config on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "post": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_setMaxProducersPerTopic",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "description": "Number of maximum producers per topic",
+ "in": "body",
+ "name": "body",
+ "required": true,
+ "schema": {
+ "format": "int32",
+ "type": "integer"
+ }
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ },
+ "412": {
+ "description": "maxProducersPerTopic value is not valid"
+ }
+ },
+ "summary": " Set maxProducersPerTopic configuration on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/namespaces/{tenant}/{namespace}/maxSubscriptionsPerTopic": {
+ "delete": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_removeMaxSubscriptionsPerTopic",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ }
+ },
+ "summary": "Remove maxSubscriptionsPerTopic configuration on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_getMaxSubscriptionsPerTopic",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ }
+ },
+ "summary": "Get maxSubscriptionsPerTopic config on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "post": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_setMaxSubscriptionsPerTopic",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "description": "Number of maximum subscriptions per topic",
+ "in": "body",
+ "name": "body",
+ "required": true,
+ "schema": {
+ "format": "int32",
+ "type": "integer"
+ }
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ },
+ "412": {
+ "description": "maxUnackedMessagesPerSubscription value is not valid"
+ }
+ },
+ "summary": " Set maxSubscriptionsPerTopic configuration on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/namespaces/{tenant}/{namespace}/maxTopicsPerNamespace": {
+ "delete": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_removeMaxTopicsPerNamespace",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or namespace doesn't exist"
+ }
+ },
+ "summary": "Remove maxTopicsPerNamespace config on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_getMaxTopicsPerNamespace",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or namespace does not exist"
+ }
+ },
+ "summary": "Get maxTopicsPerNamespace config on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "post": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_setMaxTopicsPerNamespace",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "description": "Number of maximum topics for specific namespace",
+ "in": "body",
+ "name": "body",
+ "required": true,
+ "schema": {
+ "format": "int32",
+ "type": "integer"
+ }
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or namespace doesn't exist"
+ }
+ },
+ "summary": "Set maxTopicsPerNamespace config on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/namespaces/{tenant}/{namespace}/maxUnackedMessagesPerConsumer": {
+ "delete": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_removeMaxUnackedmessagesPerConsumer",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ }
+ },
+ "summary": "Remove maxUnackedMessagesPerConsumer config on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_getMaxUnackedMessagesPerConsumer",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ }
+ },
+ "summary": "Get maxUnackedMessagesPerConsumer config on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "post": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_setMaxUnackedMessagesPerConsumer",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "description": "Number of maximum unacked messages per consumer",
+ "in": "body",
+ "name": "body",
+ "required": true,
+ "schema": {
+ "format": "int32",
+ "type": "integer"
+ }
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ },
+ "412": {
+ "description": "maxUnackedMessagesPerConsumer value is not valid"
+ }
+ },
+ "summary": " Set maxConsumersPerTopic configuration on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/namespaces/{tenant}/{namespace}/maxUnackedMessagesPerSubscription": {
+ "delete": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_removeMaxUnackedmessagesPerSubscription",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ }
+ },
+ "summary": "Remove maxUnackedMessagesPerSubscription config on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_getMaxUnackedmessagesPerSubscription",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ }
+ },
+ "summary": "Get maxUnackedMessagesPerSubscription config on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "post": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_setMaxUnackedMessagesPerSubscription",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "description": "Number of maximum unacked messages per subscription",
+ "in": "body",
+ "name": "body",
+ "required": true,
+ "schema": {
+ "format": "int32",
+ "type": "integer"
+ }
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ },
+ "412": {
+ "description": "maxUnackedMessagesPerSubscription value is not valid"
+ }
+ },
+ "summary": " Set maxUnackedMessagesPerSubscription configuration on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/namespaces/{tenant}/{namespace}/messageTTL": {
+ "delete": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_removeNamespaceMessageTTL",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster or namespace doesn't exist"
+ },
+ "412": {
+ "description": "Invalid TTL"
+ }
+ },
+ "summary": "Remove message TTL in seconds for namespace",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_getNamespaceMessageTTL",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster or namespace doesn't exist"
+ }
+ },
+ "summary": "Get the message TTL for the namespace",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "post": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_setNamespaceMessageTTL",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "description": "TTL in seconds for the specified namespace",
+ "in": "body",
+ "name": "body",
+ "required": true,
+ "schema": {
+ "format": "int32",
+ "type": "integer"
+ }
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster or namespace doesn't exist"
+ },
+ "412": {
+ "description": "Invalid TTL"
+ }
+ },
+ "summary": "Set message TTL in seconds for namespace",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/namespaces/{tenant}/{namespace}/offloadDeletionLagMs": {
+ "delete": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_clearOffloadDeletionLag",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace doesn't exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ }
+ },
+ "summary": "Clear the namespace configured offload deletion lag. The topics in the namespace will fallback to using the default configured deletion lag for the broker",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "A negative value denotes that deletion has been completely disabled. 'null' denotes that the topics in the namespace will fall back to the broker default for deletion lag.",
+ "operationId": "Namespaces_getOffloadDeletionLag",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace doesn't exist"
+ }
+ },
+ "summary": "Number of milliseconds to wait before deleting a ledger segment which has been offloaded from the Pulsar cluster's local storage (i.e. BookKeeper)",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "put": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "A negative value disables the deletion completely.",
+ "operationId": "Namespaces_setOffloadDeletionLag",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "description": "New number of milliseconds to wait before deleting a ledger segment which has been offloaded",
+ "in": "body",
+ "name": "body",
+ "required": true,
+ "schema": {
+ "format": "int64",
+ "type": "integer"
+ }
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace doesn't exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ },
+ "412": {
+ "description": "offloadDeletionLagMs value is not valid"
+ }
+ },
+ "summary": "Set number of milliseconds to wait before deleting a ledger segment which has been offloaded from the Pulsar cluster's local storage (i.e. BookKeeper)",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/namespaces/{tenant}/{namespace}/offloadPolicies": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_getOffloadPolicies",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ }
+ },
+ "summary": "Get offload configuration on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "post": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_setOffloadPolicies",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "description": "Offload policies for the specified namespace",
+ "in": "body",
+ "name": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/OffloadPoliciesImpl"
+ }
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ },
+ "412": {
+ "description": "OffloadPolicies is empty or driver is not supported or bucket is not valid"
+ }
+ },
+ "summary": " Set offload configuration on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/namespaces/{tenant}/{namespace}/offloadThreshold": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "A negative value disables automatic offloading",
+ "operationId": "Namespaces_getOffloadThreshold",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace doesn't exist"
+ }
+ },
+ "summary": "Maximum number of bytes stored on the pulsar cluster for a topic, before the broker will start offloading to longterm storage",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "put": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "-1 will revert to using the cluster default. A negative value disables automatic offloading. ",
+ "operationId": "Namespaces_setOffloadThreshold",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "description": "Maximum number of bytes stored on the pulsar cluster for a topic of the specified namespace",
+ "in": "body",
+ "name": "body",
+ "required": true,
+ "schema": {
+ "format": "int64",
+ "type": "integer"
+ }
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace doesn't exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ },
+ "412": {
+ "description": "offloadThreshold value is not valid"
+ }
+ },
+ "summary": "Set maximum number of bytes stored on the pulsar cluster for a topic, before the broker will start offloading to longterm storage",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/namespaces/{tenant}/{namespace}/offloadThresholdInSeconds": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "A negative value disables automatic offloading",
+ "operationId": "Namespaces_getOffloadThresholdInSeconds",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace doesn't exist"
+ }
+ },
+ "summary": "Maximum number of bytes stored on the pulsar cluster for a topic, before the broker will start offloading to longterm storage",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "put": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "A negative value disables automatic offloading",
+ "operationId": "Namespaces_setOffloadThresholdInSeconds",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace doesn't exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ },
+ "412": {
+ "description": "offloadThresholdInSeconds value is not valid"
+ }
+ },
+ "summary": "Set maximum number of seconds stored on the pulsar cluster for a topic, before the broker will start offloading to longterm storage",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/namespaces/{tenant}/{namespace}/permissions": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_getPermissions",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster or namespace doesn't exist"
+ },
+ "409": {
+ "description": "Namespace is not empty"
+ }
+ },
+ "summary": "Retrieve the permissions for a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/namespaces/{tenant}/{namespace}/permissions/subscription": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_getPermissionOnSubscription",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster or namespace doesn't exist"
+ },
+ "409": {
+ "description": "Namespace is not empty"
+ }
+ },
+ "summary": "Retrieve the permissions for a subscription.",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/namespaces/{tenant}/{namespace}/permissions/{role}": {
+ "delete": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_revokePermissionsOnNamespace",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "role",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster or namespace doesn't exist"
+ }
+ },
+ "summary": "Revoke all permissions to a role on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "post": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_grantPermissionOnNamespace",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "role",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "description": "List of permissions for the specified role",
+ "in": "body",
+ "name": "body",
+ "required": false,
+ "schema": {
+ "items": {
+ "enum": [
+ "produce",
+ "consume",
+ "functions",
+ "sources",
+ "sinks",
+ "packages"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ }
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster or namespace doesn't exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ },
+ "501": {
+ "description": "Authorization is not enabled"
+ }
+ },
+ "summary": "Grant a new permission to a role on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/namespaces/{tenant}/{namespace}/persistence": {
+ "delete": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_deletePersistence",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ }
+ },
+ "summary": "Delete the persistence configuration for all topics on a namespace",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_getPersistence",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ }
+ },
+ "summary": "Get the persistence configuration for a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "post": {
+ "consumes": [
+ "application/json"
... 71165 lines suppressed ...