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 2025/02/27 12:52:48 UTC
(pulsar-site) 02/02: Release notes for 3.0.10, 3.3.5 and 4.0.3
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 47f829c6a622a7e20f1c39d879e07e5a76e466ef
Author: Lari Hotari <lh...@users.noreply.github.com>
AuthorDate: Thu Feb 27 14:07:52 2025 +0200
Release notes for 3.0.10, 3.3.5 and 4.0.3
---
data/release-java.js | 27 +-
data/release-pulsar.js | 33 +-
release-notes/versioned/client-java-3.0.10.md | 17 +
release-notes/versioned/client-java-3.3.5.md | 17 +
release-notes/versioned/client-java-4.0.3.md | 18 +
release-notes/versioned/pulsar-3.0.10.md | 92 +
release-notes/versioned/pulsar-3.3.5.md | 106 +
release-notes/versioned/pulsar-4.0.3.md | 100 +
releases.json | 3 +
static/swagger/3.0.10/swagger.json | 35209 +++++++++++++++++++
static/swagger/3.0.10/swaggerfunctions.json | 2047 ++
static/swagger/3.0.10/swaggerlookup.json | 319 +
static/swagger/3.0.10/swaggerpackages.json | 627 +
static/swagger/3.0.10/swaggersink.json | 1446 +
static/swagger/3.0.10/swaggersource.json | 1398 +
static/swagger/3.0.10/swaggertransactions.json | 1315 +
static/swagger/3.0.10/v2/swagger.json | 35209 +++++++++++++++++++
static/swagger/3.0.10/v2/swaggerlookup.json | 319 +
static/swagger/3.0.10/v3/swaggerfunctions.json | 2047 ++
static/swagger/3.0.10/v3/swaggerpackages.json | 627 +
static/swagger/3.0.10/v3/swaggersink.json | 1446 +
static/swagger/3.0.10/v3/swaggersource.json | 1398 +
static/swagger/3.0.10/v3/swaggertransactions.json | 1315 +
static/swagger/3.3.5/swagger.json | 35925 +++++++++++++++++++
static/swagger/3.3.5/swaggerfunctions.json | 2047 ++
static/swagger/3.3.5/swaggerlookup.json | 319 +
static/swagger/3.3.5/swaggerpackages.json | 627 +
static/swagger/3.3.5/swaggersink.json | 1449 +
static/swagger/3.3.5/swaggersource.json | 1404 +
static/swagger/3.3.5/swaggertransactions.json | 1537 +
static/swagger/3.3.5/v2/swagger.json | 35925 +++++++++++++++++++
static/swagger/3.3.5/v2/swaggerlookup.json | 319 +
static/swagger/3.3.5/v3/swaggerfunctions.json | 2047 ++
static/swagger/3.3.5/v3/swaggerpackages.json | 627 +
static/swagger/3.3.5/v3/swaggersink.json | 1449 +
static/swagger/3.3.5/v3/swaggersource.json | 1404 +
static/swagger/3.3.5/v3/swaggertransactions.json | 1537 +
static/swagger/4.0.3/swagger.json | 36143 ++++++++++++++++++++
static/swagger/4.0.3/swaggerfunctions.json | 2047 ++
static/swagger/4.0.3/swaggerlookup.json | 319 +
static/swagger/4.0.3/swaggerpackages.json | 627 +
static/swagger/4.0.3/swaggersink.json | 1449 +
static/swagger/4.0.3/swaggersource.json | 1404 +
static/swagger/4.0.3/swaggertransactions.json | 1537 +
static/swagger/4.0.3/v2/swagger.json | 36143 ++++++++++++++++++++
static/swagger/4.0.3/v2/swaggerlookup.json | 319 +
static/swagger/4.0.3/v3/swaggerfunctions.json | 2047 ++
static/swagger/4.0.3/v3/swaggerpackages.json | 627 +
static/swagger/4.0.3/v3/swaggersink.json | 1449 +
static/swagger/4.0.3/v3/swaggersource.json | 1404 +
static/swagger/4.0.3/v3/swaggertransactions.json | 1537 +
static/swagger/restApiVersions.json | 57 +
52 files changed, 258854 insertions(+), 6 deletions(-)
diff --git a/data/release-java.js b/data/release-java.js
index fd32cd55ba4e..3d743a6ddbbc 100644
--- a/data/release-java.js
+++ b/data/release-java.js
@@ -1,10 +1,17 @@
module.exports = [
+ {
+ "tagName": "v4.0.3",
+ "vtag": "4.0.x",
+ "releaseNotes": "/release-notes/versioned/client-java-4.0.3/",
+ "doc": "/docs/4.0.x/client-libraries-java",
+ "version": "v4.0.x"
+ },
{
"tagName": "v4.0.2",
"vtag": "4.0.x",
"releaseNotes": "/release-notes/versioned/client-java-4.0.2/",
"doc": "/docs/4.0.x/client-libraries-java",
- "version": "v4.0.x"
+ "version": ""
},
{
"tagName": "v4.0.1",
@@ -20,12 +27,19 @@ module.exports = [
"doc": "/docs/4.0.x/client-libraries-java",
"version": ""
},
+ {
+ "tagName": "v3.3.5",
+ "vtag": "3.3.x",
+ "releaseNotes": "/release-notes/versioned/client-java-3.3.5/",
+ "doc": "/docs/3.3.x/client-libraries-java",
+ "version": "v3.3.x"
+ },
{
"tagName": "v3.3.4",
"vtag": "3.3.x",
"releaseNotes": "/release-notes/versioned/client-java-3.3.4/",
"doc": "/docs/3.3.x/client-libraries-java",
- "version": "v3.3.x"
+ "version": ""
},
{
"tagName": "v3.3.3",
@@ -118,12 +132,19 @@ module.exports = [
"doc": "/docs/3.1.x/client-libraries-java",
"version": ""
},
+ {
+ "tagName": "v3.0.10",
+ "vtag": "3.0.x",
+ "releaseNotes": "/release-notes/versioned/client-java-3.0.10/",
+ "doc": "/docs/3.0.x/client-libraries-java",
+ "version": "v3.0.x"
+ },
{
"tagName": "v3.0.9",
"vtag": "3.0.x",
"releaseNotes": "/release-notes/versioned/client-java-3.0.9/",
"doc": "/docs/3.0.x/client-libraries-java",
- "version": "v3.0.x"
+ "version": ""
},
{
"tagName": "v3.0.8",
diff --git a/data/release-pulsar.js b/data/release-pulsar.js
index 3525475c3163..a1602d092d25 100644
--- a/data/release-pulsar.js
+++ b/data/release-pulsar.js
@@ -1,4 +1,13 @@
module.exports = [
+ {
+ "author": "lhotari",
+ "tagName": "v4.0.3",
+ "publishedAt": "2025-02-27T11:36:46Z",
+ "vtag": "4.0.x",
+ "releaseNotes": "/release-notes/versioned/pulsar-4.0.3/",
+ "doc": "/docs/4.0.x",
+ "version": "v4.0.x"
+ },
{
"author": "lhotari",
"tagName": "v4.0.2",
@@ -6,7 +15,7 @@ module.exports = [
"vtag": "4.0.x",
"releaseNotes": "/release-notes/versioned/pulsar-4.0.2/",
"doc": "/docs/4.0.x",
- "version": "v4.0.x"
+ "version": ""
},
{
"author": "lhotari",
@@ -26,6 +35,15 @@ module.exports = [
"doc": "/docs/4.0.x",
"version": ""
},
+ {
+ "author": "lhotari",
+ "tagName": "v3.3.5",
+ "publishedAt": "2025-02-27T11:36:24Z",
+ "vtag": "3.3.x",
+ "releaseNotes": "/release-notes/versioned/pulsar-3.3.5/",
+ "doc": "/docs/3.3.x",
+ "version": "v3.3.x"
+ },
{
"author": "lhotari",
"tagName": "v3.3.4",
@@ -33,7 +51,7 @@ module.exports = [
"vtag": "3.3.x",
"releaseNotes": "/release-notes/versioned/pulsar-3.3.4/",
"doc": "/docs/3.3.x",
- "version": "v3.3.x"
+ "version": ""
},
{
"author": "lhotari",
@@ -152,6 +170,15 @@ module.exports = [
"doc": "/docs/3.1.x",
"version": ""
},
+ {
+ "author": "lhotari",
+ "tagName": "v3.0.10",
+ "publishedAt": "2025-02-27T11:32:42Z",
+ "vtag": "3.0.x",
+ "releaseNotes": "/release-notes/versioned/pulsar-3.0.10/",
+ "doc": "/docs/3.0.x",
+ "version": "v3.0.x"
+ },
{
"author": "lhotari",
"tagName": "v3.0.9",
@@ -159,7 +186,7 @@ module.exports = [
"vtag": "3.0.x",
"releaseNotes": "/release-notes/versioned/pulsar-3.0.9/",
"doc": "/docs/3.0.x",
- "version": "v3.0.x"
+ "version": ""
},
{
"author": "lhotari",
diff --git a/release-notes/versioned/client-java-3.0.10.md b/release-notes/versioned/client-java-3.0.10.md
new file mode 100644
index 000000000000..588e175cd276
--- /dev/null
+++ b/release-notes/versioned/client-java-3.0.10.md
@@ -0,0 +1,17 @@
+---
+id: client-java-3.0.10
+title: Client Java 3.0.10
+sidebar_label: Client Java 3.0.10
+---
+
+- [fix][sec] Upgrade to Netty 4.1.118 to address [CVE-2025-24970](https://github.com/netty/netty/security/advisories/GHSA-4g8c-wm8x-jfhw) ([#23965](https://github.com/apache/pulsar/pull/23965))
+- [feat][client] Support forward proxy for the ZTS server in pulsar-client-auth-athenz ([#23947](https://github.com/apache/pulsar/pull/23947))
+- [fix] Avoid NPE when closing an uninitialized SameAuthParamsLookupAutoClusterFailover ([#23911](https://github.com/apache/pulsar/pull/23911))
+- [fix] Initialize UrlServiceProvider before trying to use transaction coordinator ([#23914](https://github.com/apache/pulsar/pull/23914))
+- [fix][client] Fix LoadManagerReport not found ([#23886](https://github.com/apache/pulsar/pull/23886))
+- [fix][client] Fix memory leak in ClientCnx.newLookup when there's TooManyRequestsException ([#23971](https://github.com/apache/pulsar/pull/23971))
+- [fix][client] Fix memory leak when message size exceeds max message size and batching is enabled ([#23967](https://github.com/apache/pulsar/pull/23967))
+- [fix][client] Orphan producer when concurrently calling producer closing and reconnection ([#23853](https://github.com/apache/pulsar/pull/23853))
+- [fix][client] call redeliver 1 msg but did 2 msgs ([#23943](https://github.com/apache/pulsar/pull/23943))
+- [fix][client] fix retry topic with exclusive mode. ([#23859](https://github.com/apache/pulsar/pull/23859))
+- [improve][client] Avoid logging errors for retriable errors when creating producer [#23935](https://github.com/apache/pulsar/pull/23935)
\ No newline at end of file
diff --git a/release-notes/versioned/client-java-3.3.5.md b/release-notes/versioned/client-java-3.3.5.md
new file mode 100644
index 000000000000..f08b010dc112
--- /dev/null
+++ b/release-notes/versioned/client-java-3.3.5.md
@@ -0,0 +1,17 @@
+---
+id: client-java-3.3.5
+title: Client Java 3.3.5
+sidebar_label: Client Java 3.3.5
+---
+
+- [fix][sec] Upgrade to Netty 4.1.118 to address [CVE-2025-24970](https://github.com/netty/netty/security/advisories/GHSA-4g8c-wm8x-jfhw) ([#23965](https://github.com/apache/pulsar/pull/23965))
+- [fix] Avoid NPE when closing an uninitialized SameAuthParamsLookupAutoClusterFailover ([#23911](https://github.com/apache/pulsar/pull/23911))
+- [fix] Initialize UrlServiceProvider before trying to use transaction coordinator ([#23914](https://github.com/apache/pulsar/pull/23914))
+- [fix][client] Fix LoadManagerReport not found ([#23886](https://github.com/apache/pulsar/pull/23886))
+- [fix][client] Fix memory leak in ClientCnx.newLookup when there's TooManyRequestsException ([#23971](https://github.com/apache/pulsar/pull/23971))
+- [fix][client] Fix memory leak when message size exceeds max message size and batching is enabled ([#23967](https://github.com/apache/pulsar/pull/23967))
+- [fix][client] Orphan producer when concurrently calling producer closing and reconnection ([#23853](https://github.com/apache/pulsar/pull/23853))
+- [fix][client] call redeliver 1 msg but did 2 msgs ([#23943](https://github.com/apache/pulsar/pull/23943))
+- [fix][client] fix retry topic with exclusive mode. ([#23859](https://github.com/apache/pulsar/pull/23859))
+- [improve][client] Avoid logging errors for retriable errors when creating producer ([#23935](https://github.com/apache/pulsar/pull/23935))
+- [improve][cli] Support additional msg metadata for V1 topic on peek message cmd ([#23978](https://github.com/apache/pulsar/pull/23978))
\ No newline at end of file
diff --git a/release-notes/versioned/client-java-4.0.3.md b/release-notes/versioned/client-java-4.0.3.md
new file mode 100644
index 000000000000..6f12e6f607d1
--- /dev/null
+++ b/release-notes/versioned/client-java-4.0.3.md
@@ -0,0 +1,18 @@
+---
+id: client-java-4.0.3
+title: Client Java 4.0.3
+sidebar_label: Client Java 4.0.3
+---
+
+- [fix][sec] Upgrade to Netty 4.1.118 to address [CVE-2025-24970](https://github.com/netty/netty/security/advisories/GHSA-4g8c-wm8x-jfhw) ([#23965](https://github.com/apache/pulsar/pull/23965))
+- [feat][client] Support forward proxy for the ZTS server in pulsar-client-auth-athenz ([#23947](https://github.com/apache/pulsar/pull/23947))
+- [fix] Avoid NPE when closing an uninitialized SameAuthParamsLookupAutoClusterFailover ([#23911](https://github.com/apache/pulsar/pull/23911))
+- [fix] Initialize UrlServiceProvider before trying to use transaction coordinator ([#23914](https://github.com/apache/pulsar/pull/23914))
+- [fix][client] Fix LoadManagerReport not found ([#23886](https://github.com/apache/pulsar/pull/23886))
+- [fix][client] Fix memory leak in ClientCnx.newLookup when there's TooManyRequestsException ([#23971](https://github.com/apache/pulsar/pull/23971))
+- [fix][client] Fix memory leak when message size exceeds max message size and batching is enabled ([#23967](https://github.com/apache/pulsar/pull/23967))
+- [fix][client] call redeliver 1 msg but did 2 msgs ([#23943](https://github.com/apache/pulsar/pull/23943))
+- [fix][client] fix retry topic with exclusive mode. ([#23859](https://github.com/apache/pulsar/pull/23859))
+- [improve][client] Avoid logging errors for retriable errors when creating producer ([#23935](https://github.com/apache/pulsar/pull/23935))
+- [improve][client] Update TypedMessageBuilder deliverAfter and deliverAt api comment ([#23969](https://github.com/apache/pulsar/pull/23969))
+- [improve][cli] Support additional msg metadata for V1 topic on peek message cmd ([#23978](https://github.com/apache/pulsar/pull/23978))
\ No newline at end of file
diff --git a/release-notes/versioned/pulsar-3.0.10.md b/release-notes/versioned/pulsar-3.0.10.md
new file mode 100644
index 000000000000..93d6475ed8d3
--- /dev/null
+++ b/release-notes/versioned/pulsar-3.0.10.md
@@ -0,0 +1,92 @@
+---
+id: pulsar-3.0.10
+title: Apache Pulsar 3.0.10
+sidebar_label: Apache Pulsar 3.0.10
+---
+
+#### 2025-02-27
+
+### Library updates
+
+- [improve] Upgrade to Netty 4.1.117.Final ([#23863](https://github.com/apache/pulsar/pull/23863))
+- [fix][sec] Upgrade to Netty 4.1.118 to address [CVE-2025-24970](https://github.com/netty/netty/security/advisories/GHSA-4g8c-wm8x-jfhw) ([#23965](https://github.com/apache/pulsar/pull/23965))
+- [fix] Bump org.apache.solr:solr-core from 8.11.3 to 9.8.0 in /pulsar-io/solr ([#23899](https://github.com/apache/pulsar/pull/23899))
+- [fix][build] Upgrade json-smart to 2.5.2 ([#23966](https://github.com/apache/pulsar/pull/23966))
+
+### Broker
+
+- [fix][broker] Fix bug in RangeCache where different instance of the key wouldn't ever match ([#23903](https://github.com/apache/pulsar/pull/23903))
+- [fix][broker] Closed topics won't be removed from the cache ([#23884](https://github.com/apache/pulsar/pull/23884))
+- [fix][broker] Continue using the next provider for http authentication if one fails ([#23842](https://github.com/apache/pulsar/pull/23842))
+- [fix][broker] Fix acknowledgeCumulativeAsync block when ackReceipt is enabled ([#23841](https://github.com/apache/pulsar/pull/23841))
+- [fix][broker] Fix incorrect blockedConsumerOnUnackedMsgs value when maxUnackedMessagesPerConsumer is 1 ([#23796](https://github.com/apache/pulsar/pull/23796))
+- [fix][broker] Fix possible mark delete NPE when batch index ack is enabled ([#23833](https://github.com/apache/pulsar/pull/23833))
+- [fix][broker] Fix repeatedly acquired pending reads quota ([#23869](https://github.com/apache/pulsar/pull/23869))
+- [fix][broker] Fix the retry mechanism in `MetadataCache#readModifyUpdateOrCreate` ([#23686](https://github.com/apache/pulsar/pull/23686))
+- [fix][broker] Make InflightReadsLimiter asynchronous and apply it for replay queue reads ([#23901](https://github.com/apache/pulsar/pull/23901))
+- [fix][broker] PIP-399: Fix Metric Name for Delayed Queue ([#23712](https://github.com/apache/pulsar/pull/23712))
+- [fix][broker] Remove blocking calls from internalGetPartitionedStats ([#23832](https://github.com/apache/pulsar/pull/23832))
+- [fix][broker] Revert "[fix][broker] Cancel possible pending replay read in cancelPendingRead ([#23384](https://github.com/apache/pulsar/pull/23384))" ([#23855](https://github.com/apache/pulsar/pull/23855))
+- [fix][broker] Support large number of unack message store for cursor recovery ([#9292](https://github.com/apache/pulsar/pull/9292))
+- [fix][broker] fix broker may lost rack information ([#23331](https://github.com/apache/pulsar/pull/23331))
+- [cleanup][admin] Do not print full stacktrace when get partitioned metadata not found ([#20979](https://github.com/apache/pulsar/pull/20979))
+- [fix][meta] Fix ephemeral Zookeeper put which creates a persistent znode ([#23984](https://github.com/apache/pulsar/pull/23984))
+- [fix][meta] Fix ephemeral handling of ZK nodes and fix MockZooKeeper ephemeral and ZK stat handling ([#23988](https://github.com/apache/pulsar/pull/23988))
+- [fix][misc] Honor dynamic log levels in log4j2.yaml ([#23847](https://github.com/apache/pulsar/pull/23847))
+- [fix][ml] Fix cursor metadata compatability issue when switching the config unackedRangesOpenCacheSetEnabled ([#23759](https://github.com/apache/pulsar/pull/23759))
+- [fix][ml] Fix deadlock in PendingReadsManager ([#23958](https://github.com/apache/pulsar/pull/23958))
+- [fix][ml] Fix memory leak due to duplicated RangeCache value retain operations ([#23955](https://github.com/apache/pulsar/pull/23955))
+- [fix][ml] Fix memory leaks in ManagedCursorInfo and ManagedLedgerInfo decompression and compression ([#23960](https://github.com/apache/pulsar/pull/23960))
+- [fix][ml] incorrect non-durable cursor's backlog due to concurrently trimming ledger and non-durable cursor creation ([#23951](https://github.com/apache/pulsar/pull/23951))
+- [improve][broker] Avoid PersistentReplicator.expireMessages logic compute backlog twice ([#23957](https://github.com/apache/pulsar/pull/23957))
+- [improve][broker] Avoid logging errors when there is a connection issue during subscription. ([#23939](https://github.com/apache/pulsar/pull/23939))
+- [improve][broker] Avoid printing log for IncompatibleSchemaException in ServerCnx ([#23938](https://github.com/apache/pulsar/pull/23938))
+- [improve][broker] Do not print error logs for NotFound or Conflict errors when using the Admin API ([#23928](https://github.com/apache/pulsar/pull/23928))
+- [improve][broker] Don't print error logs for ProducerBusyException ([#23929](https://github.com/apache/pulsar/pull/23929))
+- [improve][broker] Improve Consumer.equals performance ([#23864](https://github.com/apache/pulsar/pull/23864))
+- [improve][broker] Reduce unnecessary REPLICATED_SUBSCRIPTION_SNAPSHOT_REQUEST ([#23839](https://github.com/apache/pulsar/pull/23839))
+- [improve][broker] Remove spamming logs for customized managed ledger ([#23862](https://github.com/apache/pulsar/pull/23862))
+- [improve][broker] Support values up to 2^32 in ConcurrentBitmapSortedLongPairSet ([#23878](https://github.com/apache/pulsar/pull/23878))
+- [improve][meta] Simplify getting parent path in ZKMetadataStore without using java.io.File ([#23996](https://github.com/apache/pulsar/pull/23996))
+
+### Client
+
+- [feat][client] Support forward proxy for the ZTS server in pulsar-client-auth-athenz ([#23947](https://github.com/apache/pulsar/pull/23947))
+- [fix] Avoid NPE when closing an uninitialized SameAuthParamsLookupAutoClusterFailover ([#23911](https://github.com/apache/pulsar/pull/23911))
+- [fix] Initialize UrlServiceProvider before trying to use transaction coordinator ([#23914](https://github.com/apache/pulsar/pull/23914))
+- [fix][client] Fix LoadManagerReport not found ([#23886](https://github.com/apache/pulsar/pull/23886))
+- [fix][client] Fix memory leak in ClientCnx.newLookup when there's TooManyRequestsException ([#23971](https://github.com/apache/pulsar/pull/23971))
+- [fix][client] Fix memory leak when message size exceeds max message size and batching is enabled ([#23967](https://github.com/apache/pulsar/pull/23967))
+- [fix][client] Orphan producer when concurrently calling producer closing and reconnection ([#23853](https://github.com/apache/pulsar/pull/23853))
+- [fix][client] call redeliver 1 msg but did 2 msgs ([#23943](https://github.com/apache/pulsar/pull/23943))
+- [fix][client] fix retry topic with exclusive mode. ([#23859](https://github.com/apache/pulsar/pull/23859))
+- [improve][client] Avoid logging errors for retriable errors when creating producer [#23935](https://github.com/apache/pulsar/pull/23935)
+
+### Pulsar IO and Pulsar Functions
+
+- [fix][io] Fix pulsar-io:pom not found ([#23979](https://github.com/apache/pulsar/pull/23979))
+- [improve] Validate user paths in Functions utils ([#22833](https://github.com/apache/pulsar/pull/22833))
+- [improve][io] Allow skipping connector deployment ([#23932](https://github.com/apache/pulsar/pull/23932))
+
+### Others
+
+- [improve][proxy] Make keep-alive interval configurable in Pulsar Proxy ([#23981](https://github.com/apache/pulsar/pull/23981))
+- [fix] fix for code scanning alert no. 48: Uncontrolled data used in path expression ([#23985](https://github.com/apache/pulsar/pull/23985))
+- [fix][build] Add develops for buildtools ([#23992](https://github.com/apache/pulsar/pull/23992))
+- [improve] Support overriding java.net.preferIPv4Stack with OPTS ([#23846](https://github.com/apache/pulsar/pull/23846))
+
+### Tests & CI
+
+- [improve][test] Add solution to PulsarMockBookKeeper for intercepting reads ([#23875](https://github.com/apache/pulsar/pull/23875))
+- [fix][test] Add reconsumeLater call in RetryTopicTest#testRetryTopicWithMultiTopic. ([#23857](https://github.com/apache/pulsar/pull/23857))
+- [fix][test] Fix flaky DelayedDeliveryTest.testEnableTopicDelayedDelivery ([#23893](https://github.com/apache/pulsar/pull/23893))
+- [fix][test] Fix quiet time implementation in BrokerTestUtil.receiveMessages ([#23876](https://github.com/apache/pulsar/pull/23876))
+- [fix][test] fix flaky testNegativeAcksWithBackoff when batch enabled. ([#23986](https://github.com/apache/pulsar/pull/23986))
+- [fix][test]Fix flaky test testTopicUnloadAfterSessionRebuild ([#23852](https://github.com/apache/pulsar/pull/23852))
+- [fix][ci] Configure Docker data-root to /mnt/docker to avoid running out of disk space ([#23909](https://github.com/apache/pulsar/pull/23909))
+- [improve][ci] Increase Maven max heap size to 2048M and tune GCLockerRetryAllocationCount ([#23883](https://github.com/apache/pulsar/pull/23883))
+- [improve][ci] Publish build scans to develocity.apache.org ([#23851](https://github.com/apache/pulsar/pull/23851))
+- [improve][ci] Skip "OWASP dependency check" when data wasn't found in cache ([#23970](https://github.com/apache/pulsar/pull/23970))
+- [improve][ci] Update GitHub Workflows to Ubuntu 22.04 ([#20729](https://github.com/apache/pulsar/pull/20729))
+
+For the complete list, check the [full changelog](https://github.com/apache/pulsar/compare/v3.0.9...v3.0.10).
diff --git a/release-notes/versioned/pulsar-3.3.5.md b/release-notes/versioned/pulsar-3.3.5.md
new file mode 100644
index 000000000000..d2774891b0bc
--- /dev/null
+++ b/release-notes/versioned/pulsar-3.3.5.md
@@ -0,0 +1,106 @@
+---
+id: pulsar-3.3.5
+title: Apache Pulsar 3.3.5
+sidebar_label: Apache Pulsar 3.3.5
+---
+
+#### 2025-02-27
+
+### Library updates
+
+- [feat][misc] upgrade oxia java client to 0.5.0 ([#23871](https://github.com/apache/pulsar/pull/23871))
+- [fix] Use Alpine 3.21 in base image ([#23964](https://github.com/apache/pulsar/pull/23964))
+- [fix][build] Upgrade json-smart to 2.5.2 ([#23966](https://github.com/apache/pulsar/pull/23966))
+- [improve] Upgrade to Netty 4.1.117.Final ([#23863](https://github.com/apache/pulsar/pull/23863))
+- [fix][sec] Upgrade to Netty 4.1.118 to address [CVE-2025-24970](https://github.com/netty/netty/security/advisories/GHSA-4g8c-wm8x-jfhw) ([#23965](https://github.com/apache/pulsar/pull/23965))
+
+### Broker
+
+- [fix][broker] Fix bug in RangeCache where different instance of the key wouldn't ever match ([#23903](https://github.com/apache/pulsar/pull/23903))
+- [fix][broker] Closed topics won't be removed from the cache ([#23884](https://github.com/apache/pulsar/pull/23884))
+- [fix][broker] Continue using the next provider for http authentication if one fails ([#23842](https://github.com/apache/pulsar/pull/23842))
+- [fix][broker] Fix BucketDelayedDeliveryTracker thread safety ([#24014](https://github.com/apache/pulsar/pull/24014))
+- [fix][broker] Fix NPE during active consumer is disconnected ([#24008](https://github.com/apache/pulsar/pull/24008))
+- [fix][broker] Fix acknowledgeCumulativeAsync block when ackReceipt is enabled ([#23841](https://github.com/apache/pulsar/pull/23841))
+- [fix][broker] Fix incorrect blockedConsumerOnUnackedMsgs value when maxUnackedMessagesPerConsumer is 1 ([#23796](https://github.com/apache/pulsar/pull/23796))
+- [fix][broker] Fix possible mark delete NPE when batch index ack is enabled ([#23833](https://github.com/apache/pulsar/pull/23833))
+- [fix][broker] Fix rate limiter token bucket and clock consistency issues causing excessive throttling and connection timeouts ([#23930](https://github.com/apache/pulsar/pull/23930))
+- [fix][broker] Fix repeatedly acquired pending reads quota ([#23869](https://github.com/apache/pulsar/pull/23869))
+- [fix][broker] Fix the retry mechanism in `MetadataCache#readModifyUpdateOrCreate` ([#23686](https://github.com/apache/pulsar/pull/23686))
+- [fix][broker] Geo Replication lost messages or frequently fails due to Deduplication is not appropriate for Geo-Replication ([#23697](https://github.com/apache/pulsar/pull/23697))
+- [fix][broker] Make InflightReadsLimiter asynchronous and apply it for replay queue reads ([#23901](https://github.com/apache/pulsar/pull/23901))
+- [fix][broker] PIP-322 Fix issue with rate limiters where rates can exceed limits initially and consumption pauses until token balance is positive ([#24012](https://github.com/apache/pulsar/pull/24012))
+- [fix][broker] PIP-399: Fix Metric Name for Delayed Queue ([#23712](https://github.com/apache/pulsar/pull/23712))
+- [fix][broker] Remove blocking calls from internalGetPartitionedStats ([#23832](https://github.com/apache/pulsar/pull/23832))
+- [fix][broker] Revert "[fix][broker] Cancel possible pending replay read in cancelPendingRead ([#23384](https://github.com/apache/pulsar/pull/23384))" ([#23855](https://github.com/apache/pulsar/pull/23855))
+- [fix][broker] Support large number of unack message store for cursor recovery ([#9292](https://github.com/apache/pulsar/pull/9292))
+- [fix][broker] fix broker identifying incorrect stuck topic ([#24006](https://github.com/apache/pulsar/pull/24006))
+- [fix][broker] fix broker may lost rack information ([#23331](https://github.com/apache/pulsar/pull/23331))
+- [fix][meta] Fix ephemeral Zookeeper put which creates a persistent znode ([#23984](https://github.com/apache/pulsar/pull/23984))
+- [fix][meta] Fix ephemeral handling of ZK nodes and fix MockZooKeeper ephemeral and ZK stat handling ([#23988](https://github.com/apache/pulsar/pull/23988))
+- [fix][ml] Fix cursor metadata compatability issue when switching the config unackedRangesOpenCacheSetEnabled ([#23759](https://github.com/apache/pulsar/pull/23759))
+- [fix][ml] Fix deadlock in PendingReadsManager ([#23958](https://github.com/apache/pulsar/pull/23958))
+- [fix][ml] Fix memory leak due to duplicated RangeCache value retain operations ([#23955](https://github.com/apache/pulsar/pull/23955))
+- [fix][ml] Fix memory leaks in ManagedCursorInfo and ManagedLedgerInfo decompression and compression ([#23960](https://github.com/apache/pulsar/pull/23960))
+- [fix][ml] incorrect non-durable cursor's backlog due to concurrently trimming ledger and non-durable cursor creation ([#23951](https://github.com/apache/pulsar/pull/23951))
+- [improve][broker] Avoid PersistentReplicator.expireMessages logic compute backlog twice ([#23957](https://github.com/apache/pulsar/pull/23957))
+- [improve][broker] Avoid logging errors when there is a connection issue during subscription. ([#23939](https://github.com/apache/pulsar/pull/23939))
+- [improve][broker] Avoid printing log for IncompatibleSchemaException in ServerCnx ([#23938](https://github.com/apache/pulsar/pull/23938))
+- [improve][broker] Do not print error logs for NotFound or Conflict errors when using the Admin API ([#23928](https://github.com/apache/pulsar/pull/23928))
+- [improve][broker] Don't print error logs for ProducerBusyException ([#23929](https://github.com/apache/pulsar/pull/23929))
+- [improve][broker] Fix non-persistent system topic schema compatibility ([#23286](https://github.com/apache/pulsar/pull/23286))
+- [improve][broker] Improve Consumer.equals performance ([#23864](https://github.com/apache/pulsar/pull/23864))
+- [improve][broker] Make the estimated entry size more accurate ([#23931](https://github.com/apache/pulsar/pull/23931))
+- [improve][broker] Reduce unnecessary REPLICATED_SUBSCRIPTION_SNAPSHOT_REQUEST ([#23839](https://github.com/apache/pulsar/pull/23839))
+- [improve][broker] Remove spamming logs for customized managed ledger ([#23862](https://github.com/apache/pulsar/pull/23862))
+- [improve][broker] Support values up to 2^32 in ConcurrentBitmapSortedLongPairSet ([#23878](https://github.com/apache/pulsar/pull/23878))
+- [improve][meta] Simplify getting parent path in ZKMetadataStore without using java.io.File ([#23996](https://github.com/apache/pulsar/pull/23996))
+- [improve][ml] Use lock-free queue in InflightReadsLimiter since there's no concurrent access ([#23962](https://github.com/apache/pulsar/pull/23962))
+
+### Client
+
+- [fix] Avoid NPE when closing an uninitialized SameAuthParamsLookupAutoClusterFailover ([#23911](https://github.com/apache/pulsar/pull/23911))
+- [fix] Initialize UrlServiceProvider before trying to use transaction coordinator ([#23914](https://github.com/apache/pulsar/pull/23914))
+- [fix][client] Fix LoadManagerReport not found ([#23886](https://github.com/apache/pulsar/pull/23886))
+- [fix][client] Fix memory leak in ClientCnx.newLookup when there's TooManyRequestsException ([#23971](https://github.com/apache/pulsar/pull/23971))
+- [fix][client] Fix memory leak when message size exceeds max message size and batching is enabled ([#23967](https://github.com/apache/pulsar/pull/23967))
+- [fix][client] Orphan producer when concurrently calling producer closing and reconnection ([#23853](https://github.com/apache/pulsar/pull/23853))
+- [fix][client] call redeliver 1 msg but did 2 msgs ([#23943](https://github.com/apache/pulsar/pull/23943))
+- [fix][client] fix retry topic with exclusive mode. ([#23859](https://github.com/apache/pulsar/pull/23859))
+- [improve][client] Avoid logging errors for retriable errors when creating producer ([#23935](https://github.com/apache/pulsar/pull/23935))
+- [improve][cli] Support additional msg metadata for V1 topic on peek message cmd ([#23978](https://github.com/apache/pulsar/pull/23978))
+
+### Pulsar IO and Pulsar Functions
+
+- [fix][io] Fix pulsar-io:pom not found ([#23979](https://github.com/apache/pulsar/pull/23979))
+- [improve] Validate user paths in Functions utils ([#22833](https://github.com/apache/pulsar/pull/22833))
+- [improve][fn] Set default tenant and namespace for ListFunctions cmd ([#23881](https://github.com/apache/pulsar/pull/23881))
+- [improve][io] Allow skipping connector deployment ([#23932](https://github.com/apache/pulsar/pull/23932))
+
+### Others
+
+- [fix] fix for code scanning alert no. 48: Uncontrolled data used in path expression ([#23985](https://github.com/apache/pulsar/pull/23985))
+- [fix][build] Use amazoncorretto:21-alpine3.20 JDK build for Alpine 3.20 ([#23898](https://github.com/apache/pulsar/pull/23898))
+- [fix][build] Add develops for buildtools ([#23992](https://github.com/apache/pulsar/pull/23992))
+- [fix][misc] Honor dynamic log levels in log4j2.yaml ([#23847](https://github.com/apache/pulsar/pull/23847))
+- [improve][proxy] Make keep-alive interval configurable in Pulsar Proxy ([#23981](https://github.com/apache/pulsar/pull/23981))
+
+### Tests & CI
+
+- [improve][test] Add solution to PulsarMockBookKeeper for intercepting reads ([#23875](https://github.com/apache/pulsar/pull/23875))
+- [improve][test] Upgrade Testcontainers to 1.20.4 and docker-java to 3.4.0 ([#24003](https://github.com/apache/pulsar/pull/24003))
+- [fix][test] Add reconsumeLater call in RetryTopicTest#testRetryTopicWithMultiTopic. ([#23857](https://github.com/apache/pulsar/pull/23857))
+- [fix][test] Fix flaky DelayedDeliveryTest.testEnableTopicDelayedDelivery ([#23893](https://github.com/apache/pulsar/pull/23893))
+- [fix][test] Fix flaky test MetadataStoreTest.emptyStoreTest ([#23998](https://github.com/apache/pulsar/pull/23998))
+- [fix][test] Fix flaky test OneWayReplicatorUsingGlobalZKTest.testConfigReplicationStartAt ([#24011](https://github.com/apache/pulsar/pull/24011))
+- [fix][test] Fix quiet time implementation in BrokerTestUtil.receiveMessages ([#23876](https://github.com/apache/pulsar/pull/23876))
+- [fix][test] fix flaky testNegativeAcksWithBackoff when batch enabled. ([#23986](https://github.com/apache/pulsar/pull/23986))
+- [fix][test]Fix flaky test V1_ProducerConsumerTest.testConcurrentConsumerReceiveWhileReconnect ([#24019](https://github.com/apache/pulsar/pull/24019))
+- [fix][test]Fix flaky test testTopicUnloadAfterSessionRebuild ([#23852](https://github.com/apache/pulsar/pull/23852))
+- [fix][ci] Configure Docker data-root to /mnt/docker to avoid running out of disk space ([#23909](https://github.com/apache/pulsar/pull/23909))
+- [improve][ci] Increase Maven max heap size to 2048M and tune GCLockerRetryAllocationCount ([#23883](https://github.com/apache/pulsar/pull/23883))
+- [improve][ci] Publish build scans to develocity.apache.org ([#23851](https://github.com/apache/pulsar/pull/23851))
+- [improve][ci] Skip "OWASP dependency check" when data wasn't found in cache ([#23970](https://github.com/apache/pulsar/pull/23970))
+- [improve][ci] Upgrade Gradle Develocity Maven Extension to 1.23.1 ([#24004](https://github.com/apache/pulsar/pull/24004))
+
+For the complete list, check the [full changelog](https://github.com/apache/pulsar/compare/v3.3.4...v3.3.5).
diff --git a/release-notes/versioned/pulsar-4.0.3.md b/release-notes/versioned/pulsar-4.0.3.md
new file mode 100644
index 000000000000..dca620b44846
--- /dev/null
+++ b/release-notes/versioned/pulsar-4.0.3.md
@@ -0,0 +1,100 @@
+---
+id: pulsar-4.0.3
+title: Apache Pulsar 4.0.3
+sidebar_label: Apache Pulsar 4.0.3
+---
+
+#### 2025-02-27
+
+### Library updates
+
+- [feat][misc] upgrade oxia java client to 0.5.0 ([#23871](https://github.com/apache/pulsar/pull/23871))
+- [fix] Bump org.apache.solr:solr-core from 8.11.3 to 9.8.0 in /pulsar-io/solr ([#23899](https://github.com/apache/pulsar/pull/23899))
+- [fix] Use Alpine 3.21 in base image ([#23964](https://github.com/apache/pulsar/pull/23964))
+- [fix][build] Upgrade json-smart to 2.5.2 ([#23966](https://github.com/apache/pulsar/pull/23966))
+- [improve] Upgrade to Netty 4.1.117.Final ([#23863](https://github.com/apache/pulsar/pull/23863))
+- [fix][sec] Upgrade to Netty 4.1.118 to address [CVE-2025-24970](https://github.com/netty/netty/security/advisories/GHSA-4g8c-wm8x-jfhw) ([#23965](https://github.com/apache/pulsar/pull/23965))
+
+### Broker
+
+- [fix][broker] Fix bug in RangeCache where different instance of the key wouldn't ever match ([#23903](https://github.com/apache/pulsar/pull/23903))
+- [fix][broker] Apply dispatcherMaxReadSizeBytes also for replay reads for Shared and Key_Shared subscriptions ([#23894](https://github.com/apache/pulsar/pull/23894))
+- [fix][broker] Closed topics won't be removed from the cache ([#23884](https://github.com/apache/pulsar/pull/23884))
+- [fix][broker] Fix BucketDelayedDeliveryTracker thread safety ([#24014](https://github.com/apache/pulsar/pull/24014))
+- [fix][broker] Fix NPE during active consumer is disconnected ([#24008](https://github.com/apache/pulsar/pull/24008))
+- [fix][broker] Fix incorrect blockedConsumerOnUnackedMsgs value when maxUnackedMessagesPerConsumer is 1 ([#23796](https://github.com/apache/pulsar/pull/23796))
+- [fix][broker] Fix rate limiter token bucket and clock consistency issues causing excessive throttling and connection timeouts ([#23930](https://github.com/apache/pulsar/pull/23930))
+- [fix][broker] Fix repeatedly acquired pending reads quota ([#23869](https://github.com/apache/pulsar/pull/23869))
+- [fix][broker] Fix seeking by timestamp can be reset the cursor position to earliest ([#23919](https://github.com/apache/pulsar/pull/23919))
+- [fix][broker] Geo Replication lost messages or frequently fails due to Deduplication is not appropriate for Geo-Replication ([#23697](https://github.com/apache/pulsar/pull/23697))
+- [fix][broker] Make InflightReadsLimiter asynchronous and apply it for replay queue reads ([#23901](https://github.com/apache/pulsar/pull/23901))
+- [fix][broker] PIP-322 Fix issue with rate limiters where rates can exceed limits initially and consumption pauses until token balance is positive ([#24012](https://github.com/apache/pulsar/pull/24012))
+- [fix][broker] PIP-379 Key_Shared implementation race condition causing out-of-order message delivery ([#23874](https://github.com/apache/pulsar/pull/23874))
+- [fix][broker] Skip to persist cursor info if it failed by cursor closed ([#23615](https://github.com/apache/pulsar/pull/23615))
+- [fix][broker] fix broker identifying incorrect stuck topic ([#24006](https://github.com/apache/pulsar/pull/24006))
+- [fix][broker] fix broker may lost rack information ([#23331](https://github.com/apache/pulsar/pull/23331))
+- [fix][meta] Fix ephemeral Zookeeper put which creates a persistent znode ([#23984](https://github.com/apache/pulsar/pull/23984))
+- [fix][meta] Fix ephemeral handling of ZK nodes and fix MockZooKeeper ephemeral and ZK stat handling ([#23988](https://github.com/apache/pulsar/pull/23988))
+- [fix][ml] Fix cursor metadata compatability issue when switching the config unackedRangesOpenCacheSetEnabled ([#23759](https://github.com/apache/pulsar/pull/23759))
+- [fix][ml] Fix deadlock in PendingReadsManager ([#23958](https://github.com/apache/pulsar/pull/23958))
+- [fix][ml] Fix memory leak due to duplicated RangeCache value retain operations ([#23955](https://github.com/apache/pulsar/pull/23955))
+- [fix][ml] Fix memory leaks in ManagedCursorInfo and ManagedLedgerInfo decompression and compression ([#23960](https://github.com/apache/pulsar/pull/23960))
+- [fix][ml] incorrect non-durable cursor's backlog due to concurrently trimming ledger and non-durable cursor creation ([#23951](https://github.com/apache/pulsar/pull/23951))
+- [improve][broker] Avoid PersistentReplicator.expireMessages logic compute backlog twice ([#23957](https://github.com/apache/pulsar/pull/23957))
+- [improve][broker] Avoid logging errors when there is a connection issue during subscription. ([#23939](https://github.com/apache/pulsar/pull/23939))
+- [improve][broker] Avoid printing log for IncompatibleSchemaException in ServerCnx ([#23938](https://github.com/apache/pulsar/pull/23938))
+- [improve][broker] Do not print error logs for NotFound or Conflict errors when using the Admin API ([#23928](https://github.com/apache/pulsar/pull/23928))
+- [improve][broker] Don't print error logs for ProducerBusyException ([#23929](https://github.com/apache/pulsar/pull/23929))
+- [improve][broker] Fix non-persistent system topic schema compatibility ([#23286](https://github.com/apache/pulsar/pull/23286))
+- [improve][broker] Improve Consumer.equals performance ([#23864](https://github.com/apache/pulsar/pull/23864))
+- [improve][broker] Make the estimated entry size more accurate ([#23931](https://github.com/apache/pulsar/pull/23931))
+- [improve][broker] Refactor a private method to eliminate an unnecessary parameter ([#23915](https://github.com/apache/pulsar/pull/23915))
+- [improve][broker] Remove spamming logs for customized managed ledger ([#23862](https://github.com/apache/pulsar/pull/23862))
+- [improve][broker] Support values up to 2^32 in ConcurrentBitmapSortedLongPairSet ([#23878](https://github.com/apache/pulsar/pull/23878))
+- [improve][meta] Simplify getting parent path in ZKMetadataStore without using java.io.File ([#23996](https://github.com/apache/pulsar/pull/23996))
+- [improve][ml] Use lock-free queue in InflightReadsLimiter since there's no concurrent access ([#23962](https://github.com/apache/pulsar/pull/23962))
+
+### Client
+
+- [feat][client] Support forward proxy for the ZTS server in pulsar-client-auth-athenz ([#23947](https://github.com/apache/pulsar/pull/23947))
+- [fix] Avoid NPE when closing an uninitialized SameAuthParamsLookupAutoClusterFailover ([#23911](https://github.com/apache/pulsar/pull/23911))
+- [fix] Initialize UrlServiceProvider before trying to use transaction coordinator ([#23914](https://github.com/apache/pulsar/pull/23914))
+- [fix][client] Fix LoadManagerReport not found ([#23886](https://github.com/apache/pulsar/pull/23886))
+- [fix][client] Fix memory leak in ClientCnx.newLookup when there's TooManyRequestsException ([#23971](https://github.com/apache/pulsar/pull/23971))
+- [fix][client] Fix memory leak when message size exceeds max message size and batching is enabled ([#23967](https://github.com/apache/pulsar/pull/23967))
+- [fix][client] call redeliver 1 msg but did 2 msgs ([#23943](https://github.com/apache/pulsar/pull/23943))
+- [fix][client] fix retry topic with exclusive mode. ([#23859](https://github.com/apache/pulsar/pull/23859))
+- [improve][client] Avoid logging errors for retriable errors when creating producer ([#23935](https://github.com/apache/pulsar/pull/23935))
+- [improve][client] Update TypedMessageBuilder deliverAfter and deliverAt api comment ([#23969](https://github.com/apache/pulsar/pull/23969))
+- [improve][cli] Support additional msg metadata for V1 topic on peek message cmd ([#23978](https://github.com/apache/pulsar/pull/23978))
+
+### Pulsar IO and Pulsar Functions
+
+- [fix][io] Fix pulsar-io:pom not found ([#23979](https://github.com/apache/pulsar/pull/23979))
+- [improve][fn] Set default tenant and namespace for ListFunctions cmd ([#23881](https://github.com/apache/pulsar/pull/23881))
+- [improve][io] Allow skipping connector deployment ([#23932](https://github.com/apache/pulsar/pull/23932))
+
+### Others
+
+- [fix] fix for code scanning alert no. 48: Uncontrolled data used in path expression ([#23985](https://github.com/apache/pulsar/pull/23985))
+- [fix][build] Use amazoncorretto:21-alpine3.20 JDK build for Alpine 3.20 ([#23898](https://github.com/apache/pulsar/pull/23898))
+- [fix][build] Add develops for buildtools ([#23992](https://github.com/apache/pulsar/pull/23992))
+- [improve][proxy] Make keep-alive interval configurable in Pulsar Proxy ([#23981](https://github.com/apache/pulsar/pull/23981))
+
+### Tests & CI
+
+- [fix][test] Fix flaky DelayedDeliveryTest.testEnableTopicDelayedDelivery ([#23893](https://github.com/apache/pulsar/pull/23893))
+- [fix][test] Fix flaky test MetadataStoreTest.emptyStoreTest ([#23998](https://github.com/apache/pulsar/pull/23998))
+- [fix][test] Fix flaky test OneWayReplicatorUsingGlobalZKTest.testConfigReplicationStartAt ([#24011](https://github.com/apache/pulsar/pull/24011))
+- [fix][test] Fix quiet time implementation in BrokerTestUtil.receiveMessages ([#23876](https://github.com/apache/pulsar/pull/23876))
+- [fix][test] fix flaky testNegativeAcksWithBackoff when batch enabled. ([#23986](https://github.com/apache/pulsar/pull/23986))
+- [fix][test]Fix flaky test V1_ProducerConsumerTest.testConcurrentConsumerReceiveWhileReconnect ([#24019](https://github.com/apache/pulsar/pull/24019))
+- [improve][test] Add solution to PulsarMockBookKeeper for intercepting reads ([#23875](https://github.com/apache/pulsar/pull/23875))
+- [improve][test] Support decorating topic, subscription, dispatcher, ManagedLedger and ManagedCursors instances in tests ([#23892](https://github.com/apache/pulsar/pull/23892))
+- [improve][test] Upgrade Testcontainers to 1.20.4 and docker-java to 3.4.0 ([#24003](https://github.com/apache/pulsar/pull/24003))
+- [fix][ci] Configure Docker data-root to /mnt/docker to avoid running out of disk space ([#23909](https://github.com/apache/pulsar/pull/23909))
+- [improve][ci] Increase Maven max heap size to 2048M and tune GCLockerRetryAllocationCount ([#23883](https://github.com/apache/pulsar/pull/23883))
+- [improve][ci] Skip "OWASP dependency check" when data wasn't found in cache ([#23970](https://github.com/apache/pulsar/pull/23970))
+- [improve][ci] Upgrade Gradle Develocity Maven Extension to 1.23.1 ([#24004](https://github.com/apache/pulsar/pull/24004))
+
+For the complete list, check the [full changelog](https://github.com/apache/pulsar/compare/v4.0.2...v4.0.3).
diff --git a/releases.json b/releases.json
index cd94f010b1c0..7a676b32ee2c 100644
--- a/releases.json
+++ b/releases.json
@@ -1,7 +1,9 @@
[
+ "4.0.3",
"4.0.2",
"4.0.1",
"4.0.0",
+ "3.3.5",
"3.3.4",
"3.3.3",
"3.3.2",
@@ -16,6 +18,7 @@
"3.1.2",
"3.1.1",
"3.1.0",
+ "3.0.10",
"3.0.9",
"3.0.8",
"3.0.7",
diff --git a/static/swagger/3.0.10/swagger.json b/static/swagger/3.0.10/swagger.json
new file mode 100644
index 000000000000..1c8c057b7414
--- /dev/null
+++ b/static/swagger/3.0.10/swagger.json
@@ -0,0 +1,35209 @@
+{
+ "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"
+ },
+ "AutoTopicCreationOverrideImpl": {
+ "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"
+ },
+ "BitSet": {
+ "properties": {
+ "empty": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "BookieAffinityGroupData": {
+ "properties": {
+ "bookkeeperAffinityGroupPrimary": {
+ "type": "string"
+ },
+ "bookkeeperAffinityGroupSecondary": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "BookieAffinityGroupDataImpl": {
+ "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"
+ },
+ "BundlesDataImpl": {
+ "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"
+ },
+ "migrated": {
+ "description": "flag to check if cluster is migrated to different cluster",
+ "example": false,
+ "type": "boolean"
+ },
+ "migratedClusterUrl": {
+ "$ref": "#/definitions/ClusterUrl",
+ "description": "url of cluster where current cluster is migrated"
+ },
+ "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"
+ }
+ },
+ "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"
+ },
+ "MessageId": {
+ "type": "object"
+ },
+ "MessageIdAdv": {
+ "properties": {
+ "ackSet": {
+ "$ref": "#/definitions/BitSet"
+ },
+ "batchIndex": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "batchSize": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "entryId": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "firstChunkMessageId": {
+ "$ref": "#/definitions/MessageIdAdv"
+ },
+ "ledgerId": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "partitionIndex": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "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"
+ },
+ "unload_scope": {
+ "description": "The type of unload to perform while applying the new isolation policy.",
+ "enum": [
+ "all_matching",
+ "none",
+ "changed"
+ ],
+ "example": "'all_matching' (default) for unloading all matching namespaces. 'none' for not unloading any namespace. 'changed' for unloading only the namespaces whose placement is actually changing",
+ "type": "string"
+ }
+ },
+ "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"
+ },
+ "backlogQuotaLimitSize": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "backlogQuotaLimitTime": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "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"
+ },
+ "oldestBacklogMessageAgeSeconds": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "oldestBacklogMessageSubscriptionName": {
+ "type": "string"
+ },
+ "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"
+ },
+ "msgInReplay": {
+ "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"
+ },
+ "NonPersistentTopicStatsImpl": {
+ "properties": {
+ "abortedTxnCount": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "averageMsgSize": {
+ "format": "double",
+ "type": "number"
+ },
+ "backlogQuotaLimitSize": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "backlogQuotaLimitTime": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "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"
+ },
+ "oldestBacklogMessageAgeSeconds": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "oldestBacklogMessageSubscriptionName": {
+ "type": "string"
+ },
+ "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"
+ },
+ "OffloadProcessStatus": {
+ "properties": {
+ "firstUnoffloadedMessage": {
+ "$ref": "#/definitions/MessageId"
+ },
+ "lastError": {
+ "type": "string"
+ },
+ "status": {
+ "enum": [
+ "NOT_RUN",
+ "RUNNING",
+ "SUCCESS",
+ "ERROR"
+ ],
+ "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"
+ },
+ "backlogQuotaLimitSize": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "backlogQuotaLimitTime": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "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"
+ },
+ "oldestBacklogMessageAgeSeconds": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "oldestBacklogMessageSubscriptionName": {
+ "type": "string"
+ },
+ "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"
+ },
+ "backlogQuotaLimitSize": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "backlogQuotaLimitTime": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "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"
+ },
+ "oldestBacklogMessageAgeSeconds": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "oldestBacklogMessageSubscriptionName": {
+ "type": "string"
+ },
+ "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": {
+ "allowed_clusters": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "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"
+ },
+ "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"
+ },
+ "msgInReplay": {
+ "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"
+ },
+ "TopicHashPositions": {
+ "properties": {
+ "bundle": {
+ "type": "string"
+ },
+ "namespace": {
+ "type": "string"
+ },
+ "topicHashPositions": {
+ "additionalProperties": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "TopicStats": {
+ "properties": {
+ "averageMsgSize": {
+ "format": "double",
+ "type": "number"
+ },
+ "backlogQuotaLimitSize": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "backlogQuotaLimitTime": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "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"
+ },
+ "oldestBacklogMessageAgeSeconds": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "oldestBacklogMessageSubscriptionName": {
+ "type": "string"
+ },
+ "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"
+ },
+ "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"
+ },
+ "webServiceHaProxyProtocolEnabled": {
+ "type": "boolean"
+ },
+ "webServiceLogDetailedAddresses": {
+ "type": "boolean"
+ },
+ "webServiceTlsCiphers": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "webServiceTlsProtocols": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "webServiceTrustXForwardedFor": {
+ "type": "boolean"
+ },
+ "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": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "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": [
+ {
+ "description": "The bookie address",
+ "in": "path",
+ "name": "bookie",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "description": "The group",
+ "in": "query",
+ "name": "group",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "description": "The bookie info",
+ "in": "body",
+ "name": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BookieInfo"
+ }
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "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": "Returns a nested map structure which Swagger does not fully support for display. Structure: Map<String, Map<String, PendingBookieOpsStats>>. Please refer to this structure for details.",
+ "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": "Returns broker resource availability as Map<Long, List<ResourceUnit>>.Since `ResourceUnit` is an interface, its specific content is not determinable via class reflection. Refer to the source code or interface tests for detailed type definitions.",
+ "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": {
+ "204": {
+ "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": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "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": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ }
+ },
+ "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": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ }
+ },
+ "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 delete 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": [
+ {
+ "description": "Topic Version",
+ "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": "The Pulsar version",
+ "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": {
+ "200": {
+ "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": {
+ "200": {
+ "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": {
+ "200": {
+ "description": "Delete the failure domain of the cluster successfully"
+ },
+ "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": {
+ "204": {
+ "description": "Set the failure domain of the cluster successfully."
+ },
+ "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": {
+ "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": {
+ "200": {
+ "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": {
+ "204": {
+ "description": "Delete namespace isolation policy successfully."
+ },
+ "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": {
+ "204": {
+ "description": "Set namespace isolation policy successfully."
+ },
+ "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": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "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/BookieAffinityGroupDataImpl"
+ }
+ },
+ "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": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "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": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "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}/allowedClusters": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_getNamespaceAllowedClusters",
+ "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": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster or namespace doesn't exist"
+ },
+ "412": {
+ "description": "Namespace is not global"
+ }
+ },
+ "summary": "Get the allowed clusters for a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "post": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "",
+ "operationId": "Namespaces_setNamespaceAllowedClusters",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "description": "List of allowed clusters",
+ "in": "body",
+ "name": "body",
+ "required": true,
+ "schema": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "400": {
+ "description": "The list of allowed clusters should include all replication clusters."
+ },
+ "403": {
+ "description": "The requester does not have admin permissions."
+ },
+ "404": {
+ "description": "The specified tenant, cluster, or namespace does not exist."
+ },
+ "409": {
+ "description": "A peer-cluster cannot be part of an allowed-cluster."
+ },
+ "412": {
+ "description": "The namespace is not global or the provided cluster IDs are invalid."
+ }
+ },
+ "summary": "Set the allowed clusters for a namespace.",
+ "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": {
+ "200": {
+ "description": "Operation successful"
+ },
+ "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": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "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": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "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": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "$ref": "#/definitions/AutoSubscriptionCreationOverrideImpl"
+ }
+ },
+ "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": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "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": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "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": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "$ref": "#/definitions/AutoTopicCreationOverrideImpl"
+ }
+ },
+ "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": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "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": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "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": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "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": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "additionalProperties": {
+ "$ref": "#/definitions/BacklogQuotaImpl"
+ },
+ "type": "object"
+ }
+ },
+ "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": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "$ref": "#/definitions/BundlesDataImpl"
+ }
+ },
+ "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": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "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": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "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": {
+ "200": {
+ "description": "Operation successful"
+ },
+ "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": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "format": "int64",
+ "type": "integer"
+ }
+ },
+ "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": {
+ "200": {
+ "description": "Operation successful"
+ },
+ "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": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "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": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "type": "boolean"
+ }
+ },
+ "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": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "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": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "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": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "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": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "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": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "$ref": "#/definitions/DelayedDeliveryPolicies"
+ }
+ },
+ "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": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "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": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "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": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "$ref": "#/definitions/DispatchRate"
+ }
+ },
+ "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": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "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": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "type": "boolean"
+ }
+ },
+ "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": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "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": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "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": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "$ref": "#/definitions/EntryFilters"
+ }
+ },
+ "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": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "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": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "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": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "$ref": "#/definitions/InactiveTopicPolicies"
+ }
+ },
+ "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": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "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": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "type": "boolean"
+ }
+ },
+ "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": {
+ "200": {
+ "description": "Operation successful"
+ },
+ "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": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "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": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "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": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "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": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "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": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "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": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "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": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "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": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "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": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "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": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "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": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "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": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "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"
+ ]
+ }
+ },
... 249337 lines suppressed ...