You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by mm...@apache.org on 2019/06/04 09:07:14 UTC

[pulsar] branch asf-site updated: Updated site at revision 07845c5

This is an automated email from the ASF dual-hosted git repository.

mmerli pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/pulsar.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 03e3acd  Updated site at revision 07845c5
03e3acd is described below

commit 03e3acd99746254fa6bf74f07b8d52c186bcd4d1
Author: jenkins <bu...@apache.org>
AuthorDate: Tue Jun 4 09:07:04 2019 +0000

    Updated site at revision 07845c5
---
 content/docs/en/2.1.0-incubating/io-rabbitmq.html  |  2 +-
 .../en/2.1.0-incubating/io-rabbitmq/index.html     |  2 +-
 content/docs/en/2.1.1-incubating/io-rabbitmq.html  |  2 +-
 .../en/2.1.1-incubating/io-rabbitmq/index.html     |  2 +-
 content/docs/en/2.2.0/io-rabbitmq.html             |  2 +-
 content/docs/en/2.2.0/io-rabbitmq/index.html       |  2 +-
 content/docs/en/next/cookbooks-tiered-storage.html | 20 ++++-
 .../en/next/cookbooks-tiered-storage/index.html    | 20 ++++-
 content/docs/en/next/reference-configuration.html  |  2 +
 .../en/next/reference-configuration/index.html     |  2 +
 content/docs/fr/2.1.0-incubating/io-rabbitmq.html  |  2 +-
 .../fr/2.1.0-incubating/io-rabbitmq/index.html     |  2 +-
 content/docs/fr/2.1.1-incubating/io-rabbitmq.html  |  2 +-
 .../fr/2.1.1-incubating/io-rabbitmq/index.html     |  2 +-
 content/docs/fr/2.2.0/io-rabbitmq.html             |  2 +-
 content/docs/fr/2.2.0/io-rabbitmq/index.html       |  2 +-
 content/docs/fr/next/cookbooks-tiered-storage.html | 16 +++-
 .../fr/next/cookbooks-tiered-storage/index.html    | 16 +++-
 content/docs/fr/next/reference-configuration.html  |  4 +-
 .../fr/next/reference-configuration/index.html     |  4 +-
 content/docs/ja/2.1.0-incubating/io-rabbitmq.html  |  2 +-
 .../ja/2.1.0-incubating/io-rabbitmq/index.html     |  2 +-
 content/docs/ja/2.1.1-incubating/io-rabbitmq.html  |  2 +-
 .../ja/2.1.1-incubating/io-rabbitmq/index.html     |  2 +-
 content/docs/ja/2.2.0/io-rabbitmq.html             |  2 +-
 content/docs/ja/2.2.0/io-rabbitmq/index.html       |  2 +-
 content/docs/ja/next/cookbooks-tiered-storage.html | 16 +++-
 .../ja/next/cookbooks-tiered-storage/index.html    | 16 +++-
 content/docs/ja/next/reference-configuration.html  |  4 +-
 .../ja/next/reference-configuration/index.html     |  4 +-
 .../docs/zh-CN/2.1.0-incubating/io-rabbitmq.html   |  2 +-
 .../zh-CN/2.1.0-incubating/io-rabbitmq/index.html  |  2 +-
 .../docs/zh-CN/2.1.1-incubating/io-rabbitmq.html   |  2 +-
 .../zh-CN/2.1.1-incubating/io-rabbitmq/index.html  |  2 +-
 content/docs/zh-CN/2.2.0/io-rabbitmq.html          |  2 +-
 content/docs/zh-CN/2.2.0/io-rabbitmq/index.html    |  2 +-
 .../docs/zh-CN/next/cookbooks-tiered-storage.html  | 16 +++-
 .../zh-CN/next/cookbooks-tiered-storage/index.html | 16 +++-
 .../docs/zh-CN/next/reference-configuration.html   |  4 +-
 .../zh-CN/next/reference-configuration/index.html  |  4 +-
 content/swagger/swagger.json                       | 92 ++++++++++++----------
 content/swagger/swaggerfunctions.json              | 88 ++++++++++++++++-----
 42 files changed, 277 insertions(+), 115 deletions(-)

diff --git a/content/docs/en/2.1.0-incubating/io-rabbitmq.html b/content/docs/en/2.1.0-incubating/io-rabbitmq.html
index 9cfd26c..6d4467a 100644
--- a/content/docs/en/2.1.0-incubating/io-rabbitmq.html
+++ b/content/docs/en/2.1.0-incubating/io-rabbitmq.html
@@ -21,7 +21,7 @@
           }
         });
       </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/incubator-pulsar/edit/master/site2/docs/io-rabbitmq.md" target="_blan [...]
-<p>The RabittMQ Source connector is used for receiving messages from a RabittMQ cluster and writing
+<p>The RabbitMQ Source connector is used for receiving messages from a RabbitMQ cluster and writing
 messages to Pulsar topics.</p>
 <h3><a class="anchor" aria-hidden="true" id="source-configuration-options"></a><a href="#source-configuration-options" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 [...]
 <table>
diff --git a/content/docs/en/2.1.0-incubating/io-rabbitmq/index.html b/content/docs/en/2.1.0-incubating/io-rabbitmq/index.html
index 9cfd26c..6d4467a 100644
--- a/content/docs/en/2.1.0-incubating/io-rabbitmq/index.html
+++ b/content/docs/en/2.1.0-incubating/io-rabbitmq/index.html
@@ -21,7 +21,7 @@
           }
         });
       </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/incubator-pulsar/edit/master/site2/docs/io-rabbitmq.md" target="_blan [...]
-<p>The RabittMQ Source connector is used for receiving messages from a RabittMQ cluster and writing
+<p>The RabbitMQ Source connector is used for receiving messages from a RabbitMQ cluster and writing
 messages to Pulsar topics.</p>
 <h3><a class="anchor" aria-hidden="true" id="source-configuration-options"></a><a href="#source-configuration-options" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 [...]
 <table>
diff --git a/content/docs/en/2.1.1-incubating/io-rabbitmq.html b/content/docs/en/2.1.1-incubating/io-rabbitmq.html
index aeb171e..38293ec 100644
--- a/content/docs/en/2.1.1-incubating/io-rabbitmq.html
+++ b/content/docs/en/2.1.1-incubating/io-rabbitmq.html
@@ -21,7 +21,7 @@
           }
         });
       </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/incubator-pulsar/edit/master/site2/docs/io-rabbitmq.md" target="_blan [...]
-<p>The RabittMQ Source connector is used for receiving messages from a RabittMQ cluster and writing
+<p>The RabbitMQ Source connector is used for receiving messages from a RabbitMQ cluster and writing
 messages to Pulsar topics.</p>
 <h3><a class="anchor" aria-hidden="true" id="source-configuration-options"></a><a href="#source-configuration-options" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 [...]
 <table>
diff --git a/content/docs/en/2.1.1-incubating/io-rabbitmq/index.html b/content/docs/en/2.1.1-incubating/io-rabbitmq/index.html
index aeb171e..38293ec 100644
--- a/content/docs/en/2.1.1-incubating/io-rabbitmq/index.html
+++ b/content/docs/en/2.1.1-incubating/io-rabbitmq/index.html
@@ -21,7 +21,7 @@
           }
         });
       </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/incubator-pulsar/edit/master/site2/docs/io-rabbitmq.md" target="_blan [...]
-<p>The RabittMQ Source connector is used for receiving messages from a RabittMQ cluster and writing
+<p>The RabbitMQ Source connector is used for receiving messages from a RabbitMQ cluster and writing
 messages to Pulsar topics.</p>
 <h3><a class="anchor" aria-hidden="true" id="source-configuration-options"></a><a href="#source-configuration-options" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 [...]
 <table>
diff --git a/content/docs/en/2.2.0/io-rabbitmq.html b/content/docs/en/2.2.0/io-rabbitmq.html
index e6711eb..acbf5fb 100644
--- a/content/docs/en/2.2.0/io-rabbitmq.html
+++ b/content/docs/en/2.2.0/io-rabbitmq.html
@@ -21,7 +21,7 @@
           }
         });
       </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/incubator-pulsar/edit/master/site2/docs/io-rabbitmq.md" target="_blan [...]
-<p>The RabittMQ Source connector is used for receiving messages from a RabittMQ cluster and writing
+<p>The RabbitMQ Source connector is used for receiving messages from a RabbitMQ cluster and writing
 messages to Pulsar topics.</p>
 <h3><a class="anchor" aria-hidden="true" id="source-configuration-options"></a><a href="#source-configuration-options" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 [...]
 <table>
diff --git a/content/docs/en/2.2.0/io-rabbitmq/index.html b/content/docs/en/2.2.0/io-rabbitmq/index.html
index e6711eb..acbf5fb 100644
--- a/content/docs/en/2.2.0/io-rabbitmq/index.html
+++ b/content/docs/en/2.2.0/io-rabbitmq/index.html
@@ -21,7 +21,7 @@
           }
         });
       </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/incubator-pulsar/edit/master/site2/docs/io-rabbitmq.md" target="_blan [...]
-<p>The RabittMQ Source connector is used for receiving messages from a RabittMQ cluster and writing
+<p>The RabbitMQ Source connector is used for receiving messages from a RabbitMQ cluster and writing
 messages to Pulsar topics.</p>
 <h3><a class="anchor" aria-hidden="true" id="source-configuration-options"></a><a href="#source-configuration-options" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 [...]
 <table>
diff --git a/content/docs/en/next/cookbooks-tiered-storage.html b/content/docs/en/next/cookbooks-tiered-storage.html
index 7d8a999..1ac9360 100644
--- a/content/docs/en/next/cookbooks-tiered-storage.html
+++ b/content/docs/en/next/cookbooks-tiered-storage.html
@@ -129,6 +129,11 @@ but relies on the mechanisms supported by the
 <a href="https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/auth/DefaultAWSCredentialsProviderChain.html">DefaultAWSCredentialsProviderChain</a>.</p>
 <p>Once you have created a set of credentials in the AWS IAM console, they can be configured in a number of ways.</p>
 <ol>
+<li>Using ec2 instance metadata credentials</li>
+</ol>
+<p>If you are on AWS instance with an instance profile that provides credentials, Pulsar will use these credentials
+if no other mechanism is provided</p>
+<ol start="2">
 <li>Set the environment variables <strong>AWS_ACCESS_KEY_ID</strong> and <strong>AWS_SECRET_ACCESS_KEY</strong> in <code>conf/pulsar_env.sh</code>.</li>
 </ol>
 <pre><code class="hljs css language-bash"><span class="hljs-built_in">export</span> AWS_ACCESS_KEY_ID=ABC123456789
@@ -137,19 +142,26 @@ but relies on the mechanisms supported by the
 <blockquote>
 <p>&quot;export&quot; is important so that the variables are made available in the environment of spawned processes.</p>
 </blockquote>
-<ol start="2">
+<ol start="3">
 <li>Add the Java system properties <em>aws.accessKeyId</em> and <em>aws.secretKey</em> to <strong>PULSAR_EXTRA_OPTS</strong> in <code>conf/pulsar_env.sh</code>.</li>
 </ol>
 <pre><code class="hljs css language-bash">PULSAR_EXTRA_OPTS=<span class="hljs-string">"<span class="hljs-variable">${PULSAR_EXTRA_OPTS}</span> <span class="hljs-variable">${PULSAR_MEM}</span> <span class="hljs-variable">${PULSAR_GC}</span> -Daws.accessKeyId=ABC123456789 -Daws.secretKey=ded7db27a4558e2ea8bbf0bf37ae0e8521618f366c -Dio.netty.leakDetectionLevel=disabled -Dio.netty.recycler.maxCapacity.default=1000 -Dio.netty.recycler.linkCapacity=1024"</span>
 </code></pre>
-<ol start="3">
+<ol start="4">
 <li>Set the access credentials in <code>~/.aws/credentials</code>.</li>
 </ol>
 <pre><code class="hljs css language-conf"><span class="hljs-section">[default]</span>
 <span class="hljs-attr">aws_access_key_id</span>=ABC123456789
 <span class="hljs-attr">aws_secret_access_key</span>=ded7db27a4558e2ea8bbf0bf37ae0e8521618f366c
 </code></pre>
-<p>If you are running in EC2 you can also use instance profile credentials, provided through the EC2 metadata service, but that is out of scope for this cookbook.</p>
+<ol start="5">
+<li>Assuming an IAM role</li>
+</ol>
+<p>If you want to assume an IAM role, this can be done via specifying the following:</p>
+<pre><code class="hljs css language-conf"><span class="hljs-attr">s3ManagedLedgerOffloadRole</span>=&lt;aws role arn&gt;
+<span class="hljs-attr">s3ManagedLedgerOffloadRoleSessionName</span>=pulsar-s3-<span class="hljs-literal">off</span>load
+</code></pre>
+<p>This will use the <code>DefaultAWSCredentialsProviderChain</code> for assuming this role.</p>
 <blockquote>
 <p>The broker must be rebooted for credentials specified in pulsar_env to take effect.</p>
 </blockquote>
@@ -222,7 +234,7 @@ Offload is currently running
 Offload was a success
 </code></pre>
 <p>If there is an error offloading, the error will be propagated to the offload-status command.</p>
-<pre><code class="hljs css language-bash">$ bin/pulsar-admin topics offload-status persistent://public/default/topic1                                                                                                       
+<pre><code class="hljs css language-bash">$ bin/pulsar-admin topics offload-status persistent://public/default/topic1
 Error <span class="hljs-keyword">in</span> offload
 null
 
diff --git a/content/docs/en/next/cookbooks-tiered-storage/index.html b/content/docs/en/next/cookbooks-tiered-storage/index.html
index 7d8a999..1ac9360 100644
--- a/content/docs/en/next/cookbooks-tiered-storage/index.html
+++ b/content/docs/en/next/cookbooks-tiered-storage/index.html
@@ -129,6 +129,11 @@ but relies on the mechanisms supported by the
 <a href="https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/auth/DefaultAWSCredentialsProviderChain.html">DefaultAWSCredentialsProviderChain</a>.</p>
 <p>Once you have created a set of credentials in the AWS IAM console, they can be configured in a number of ways.</p>
 <ol>
+<li>Using ec2 instance metadata credentials</li>
+</ol>
+<p>If you are on AWS instance with an instance profile that provides credentials, Pulsar will use these credentials
+if no other mechanism is provided</p>
+<ol start="2">
 <li>Set the environment variables <strong>AWS_ACCESS_KEY_ID</strong> and <strong>AWS_SECRET_ACCESS_KEY</strong> in <code>conf/pulsar_env.sh</code>.</li>
 </ol>
 <pre><code class="hljs css language-bash"><span class="hljs-built_in">export</span> AWS_ACCESS_KEY_ID=ABC123456789
@@ -137,19 +142,26 @@ but relies on the mechanisms supported by the
 <blockquote>
 <p>&quot;export&quot; is important so that the variables are made available in the environment of spawned processes.</p>
 </blockquote>
-<ol start="2">
+<ol start="3">
 <li>Add the Java system properties <em>aws.accessKeyId</em> and <em>aws.secretKey</em> to <strong>PULSAR_EXTRA_OPTS</strong> in <code>conf/pulsar_env.sh</code>.</li>
 </ol>
 <pre><code class="hljs css language-bash">PULSAR_EXTRA_OPTS=<span class="hljs-string">"<span class="hljs-variable">${PULSAR_EXTRA_OPTS}</span> <span class="hljs-variable">${PULSAR_MEM}</span> <span class="hljs-variable">${PULSAR_GC}</span> -Daws.accessKeyId=ABC123456789 -Daws.secretKey=ded7db27a4558e2ea8bbf0bf37ae0e8521618f366c -Dio.netty.leakDetectionLevel=disabled -Dio.netty.recycler.maxCapacity.default=1000 -Dio.netty.recycler.linkCapacity=1024"</span>
 </code></pre>
-<ol start="3">
+<ol start="4">
 <li>Set the access credentials in <code>~/.aws/credentials</code>.</li>
 </ol>
 <pre><code class="hljs css language-conf"><span class="hljs-section">[default]</span>
 <span class="hljs-attr">aws_access_key_id</span>=ABC123456789
 <span class="hljs-attr">aws_secret_access_key</span>=ded7db27a4558e2ea8bbf0bf37ae0e8521618f366c
 </code></pre>
-<p>If you are running in EC2 you can also use instance profile credentials, provided through the EC2 metadata service, but that is out of scope for this cookbook.</p>
+<ol start="5">
+<li>Assuming an IAM role</li>
+</ol>
+<p>If you want to assume an IAM role, this can be done via specifying the following:</p>
+<pre><code class="hljs css language-conf"><span class="hljs-attr">s3ManagedLedgerOffloadRole</span>=&lt;aws role arn&gt;
+<span class="hljs-attr">s3ManagedLedgerOffloadRoleSessionName</span>=pulsar-s3-<span class="hljs-literal">off</span>load
+</code></pre>
+<p>This will use the <code>DefaultAWSCredentialsProviderChain</code> for assuming this role.</p>
 <blockquote>
 <p>The broker must be rebooted for credentials specified in pulsar_env to take effect.</p>
 </blockquote>
@@ -222,7 +234,7 @@ Offload is currently running
 Offload was a success
 </code></pre>
 <p>If there is an error offloading, the error will be propagated to the offload-status command.</p>
-<pre><code class="hljs css language-bash">$ bin/pulsar-admin topics offload-status persistent://public/default/topic1                                                                                                       
+<pre><code class="hljs css language-bash">$ bin/pulsar-admin topics offload-status persistent://public/default/topic1
 Error <span class="hljs-keyword">in</span> offload
 null
 
diff --git a/content/docs/en/next/reference-configuration.html b/content/docs/en/next/reference-configuration.html
index 5b50956..3a30612 100644
--- a/content/docs/en/next/reference-configuration.html
+++ b/content/docs/en/next/reference-configuration.html
@@ -293,6 +293,8 @@
 <tr><td>s3ManagedLedgerOffloadServiceEndpoint</td><td>For Amazon S3 ledger offload, Alternative endpoint to connect to (useful for testing)</td><td></td></tr>
 <tr><td>s3ManagedLedgerOffloadMaxBlockSizeInBytes</td><td>For Amazon S3 ledger offload, Max block size in bytes. (64MB by default, 5MB minimum)</td><td>67108864</td></tr>
 <tr><td>s3ManagedLedgerOffloadReadBufferSizeInBytes</td><td>For Amazon S3 ledger offload, Read buffer size in bytes (1MB by default)</td><td>1048576</td></tr>
+<tr><td>s3ManagedLedgerOffloadRole</td><td>For Amazon S3 ledger offload, provide a role to assume before writing to s3</td><td></td></tr>
+<tr><td>s3ManagedLedgerOffloadRoleSessionName</td><td>For Amazon S3 ledger offload, provide a role session name when using a role</td><td>pulsar-s3-offload</td></tr>
 </tbody>
 </table>
 <h2><a class="anchor" aria-hidden="true" id="client"></a><a href="#client" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
diff --git a/content/docs/en/next/reference-configuration/index.html b/content/docs/en/next/reference-configuration/index.html
index 5b50956..3a30612 100644
--- a/content/docs/en/next/reference-configuration/index.html
+++ b/content/docs/en/next/reference-configuration/index.html
@@ -293,6 +293,8 @@
 <tr><td>s3ManagedLedgerOffloadServiceEndpoint</td><td>For Amazon S3 ledger offload, Alternative endpoint to connect to (useful for testing)</td><td></td></tr>
 <tr><td>s3ManagedLedgerOffloadMaxBlockSizeInBytes</td><td>For Amazon S3 ledger offload, Max block size in bytes. (64MB by default, 5MB minimum)</td><td>67108864</td></tr>
 <tr><td>s3ManagedLedgerOffloadReadBufferSizeInBytes</td><td>For Amazon S3 ledger offload, Read buffer size in bytes (1MB by default)</td><td>1048576</td></tr>
+<tr><td>s3ManagedLedgerOffloadRole</td><td>For Amazon S3 ledger offload, provide a role to assume before writing to s3</td><td></td></tr>
+<tr><td>s3ManagedLedgerOffloadRoleSessionName</td><td>For Amazon S3 ledger offload, provide a role session name when using a role</td><td>pulsar-s3-offload</td></tr>
 </tbody>
 </table>
 <h2><a class="anchor" aria-hidden="true" id="client"></a><a href="#client" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
diff --git a/content/docs/fr/2.1.0-incubating/io-rabbitmq.html b/content/docs/fr/2.1.0-incubating/io-rabbitmq.html
index cf9eb7d..be4606c 100644
--- a/content/docs/fr/2.1.0-incubating/io-rabbitmq.html
+++ b/content/docs/fr/2.1.0-incubating/io-rabbitmq.html
@@ -21,7 +21,7 @@
           }
         });
       </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/fr" target="_blank" rel="noreferrer noopener">Transla [...]
-<p>The RabittMQ Source connector is used for receiving messages from a RabittMQ cluster and writing messages to Pulsar topics.</p>
+<p>The RabbitMQ Source connector is used for receiving messages from a RabbitMQ cluster and writing messages to Pulsar topics.</p>
 <h3><a class="anchor" aria-hidden="true" id="source-configuration-options"></a><a href="#source-configuration-options" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 [...]
 <table>
 <thead>
diff --git a/content/docs/fr/2.1.0-incubating/io-rabbitmq/index.html b/content/docs/fr/2.1.0-incubating/io-rabbitmq/index.html
index cf9eb7d..be4606c 100644
--- a/content/docs/fr/2.1.0-incubating/io-rabbitmq/index.html
+++ b/content/docs/fr/2.1.0-incubating/io-rabbitmq/index.html
@@ -21,7 +21,7 @@
           }
         });
       </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/fr" target="_blank" rel="noreferrer noopener">Transla [...]
-<p>The RabittMQ Source connector is used for receiving messages from a RabittMQ cluster and writing messages to Pulsar topics.</p>
+<p>The RabbitMQ Source connector is used for receiving messages from a RabbitMQ cluster and writing messages to Pulsar topics.</p>
 <h3><a class="anchor" aria-hidden="true" id="source-configuration-options"></a><a href="#source-configuration-options" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 [...]
 <table>
 <thead>
diff --git a/content/docs/fr/2.1.1-incubating/io-rabbitmq.html b/content/docs/fr/2.1.1-incubating/io-rabbitmq.html
index e8a728d..28f1c8e 100644
--- a/content/docs/fr/2.1.1-incubating/io-rabbitmq.html
+++ b/content/docs/fr/2.1.1-incubating/io-rabbitmq.html
@@ -21,7 +21,7 @@
           }
         });
       </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/fr" target="_blank" rel="noreferrer noopener">Transla [...]
-<p>The RabittMQ Source connector is used for receiving messages from a RabittMQ cluster and writing messages to Pulsar topics.</p>
+<p>The RabbitMQ Source connector is used for receiving messages from a RabbitMQ cluster and writing messages to Pulsar topics.</p>
 <h3><a class="anchor" aria-hidden="true" id="source-configuration-options"></a><a href="#source-configuration-options" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 [...]
 <table>
 <thead>
diff --git a/content/docs/fr/2.1.1-incubating/io-rabbitmq/index.html b/content/docs/fr/2.1.1-incubating/io-rabbitmq/index.html
index e8a728d..28f1c8e 100644
--- a/content/docs/fr/2.1.1-incubating/io-rabbitmq/index.html
+++ b/content/docs/fr/2.1.1-incubating/io-rabbitmq/index.html
@@ -21,7 +21,7 @@
           }
         });
       </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/fr" target="_blank" rel="noreferrer noopener">Transla [...]
-<p>The RabittMQ Source connector is used for receiving messages from a RabittMQ cluster and writing messages to Pulsar topics.</p>
+<p>The RabbitMQ Source connector is used for receiving messages from a RabbitMQ cluster and writing messages to Pulsar topics.</p>
 <h3><a class="anchor" aria-hidden="true" id="source-configuration-options"></a><a href="#source-configuration-options" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 [...]
 <table>
 <thead>
diff --git a/content/docs/fr/2.2.0/io-rabbitmq.html b/content/docs/fr/2.2.0/io-rabbitmq.html
index e6536ef..b983a54 100644
--- a/content/docs/fr/2.2.0/io-rabbitmq.html
+++ b/content/docs/fr/2.2.0/io-rabbitmq.html
@@ -21,7 +21,7 @@
           }
         });
       </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/fr" target="_blank" rel="noreferrer noopener">Transla [...]
-<p>The RabittMQ Source connector is used for receiving messages from a RabittMQ cluster and writing messages to Pulsar topics.</p>
+<p>The RabbitMQ Source connector is used for receiving messages from a RabbitMQ cluster and writing messages to Pulsar topics.</p>
 <h3><a class="anchor" aria-hidden="true" id="source-configuration-options"></a><a href="#source-configuration-options" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 [...]
 <table>
 <thead>
diff --git a/content/docs/fr/2.2.0/io-rabbitmq/index.html b/content/docs/fr/2.2.0/io-rabbitmq/index.html
index e6536ef..b983a54 100644
--- a/content/docs/fr/2.2.0/io-rabbitmq/index.html
+++ b/content/docs/fr/2.2.0/io-rabbitmq/index.html
@@ -21,7 +21,7 @@
           }
         });
       </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/fr" target="_blank" rel="noreferrer noopener">Transla [...]
-<p>The RabittMQ Source connector is used for receiving messages from a RabittMQ cluster and writing messages to Pulsar topics.</p>
+<p>The RabbitMQ Source connector is used for receiving messages from a RabbitMQ cluster and writing messages to Pulsar topics.</p>
 <h3><a class="anchor" aria-hidden="true" id="source-configuration-options"></a><a href="#source-configuration-options" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 [...]
 <table>
 <thead>
diff --git a/content/docs/fr/next/cookbooks-tiered-storage.html b/content/docs/fr/next/cookbooks-tiered-storage.html
index c929ac8..78735fe 100644
--- a/content/docs/fr/next/cookbooks-tiered-storage.html
+++ b/content/docs/fr/next/cookbooks-tiered-storage.html
@@ -112,6 +112,10 @@
 <p>To be able to access AWS S3, you need to authenticate with AWS S3. Pulsar does not provide any direct means of configuring authentication for AWS S3, but relies on the mechanisms supported by the <a href="https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/auth/DefaultAWSCredentialsProviderChain.html">DefaultAWSCredentialsProviderChain</a>.</p>
 <p>Once you have created a set of credentials in the AWS IAM console, they can be configured in a number of ways.</p>
 <ol>
+<li>Using ec2 instance metadata credentials</li>
+</ol>
+<p>If you are on AWS instance with an instance profile that provides credentials, Pulsar will use these credentials if no other mechanism is provided</p>
+<ol>
 <li>Set the environment variables <strong>AWS_ACCESS_KEY_ID</strong> and <strong>AWS_SECRET_ACCESS_KEY</strong> in <code>conf/pulsar_env.sh</code>.</li>
 </ol>
 <pre><code class="hljs css language-bash"><span class="hljs-built_in">export</span> AWS_ACCESS_KEY_ID=ABC123456789
@@ -132,7 +136,14 @@
 <span class="hljs-attr">aws_access_key_id</span>=ABC123456789
 <span class="hljs-attr">aws_secret_access_key</span>=ded7db27a4558e2ea8bbf0bf37ae0e8521618f366c
 </code></pre>
-<p>If you are running in EC2 you can also use instance profile credentials, provided through the EC2 metadata service, but that is out of scope for this cookbook.</p>
+<ol>
+<li>Assuming an IAM role</li>
+</ol>
+<p>If you want to assume an IAM role, this can be done via specifying the following:</p>
+<pre><code class="hljs css language-conf"><span class="hljs-attr">s3ManagedLedgerOffloadRole</span>=&lt;aws role arn&gt;
+<span class="hljs-attr">s3ManagedLedgerOffloadRoleSessionName</span>=pulsar-s3-<span class="hljs-literal">off</span>load
+</code></pre>
+<p>This will use the <code>DefaultAWSCredentialsProviderChain</code> for assuming this role.</p>
 <blockquote>
 <p>The broker must be rebooted for credentials specified in pulsar_env to take effect.</p>
 </blockquote>
@@ -189,8 +200,7 @@ Offload is currently running
 Offload was a success
 </code></pre>
 <p>If there is an error offloading, the error will be propagated to the offload-status command.</p>
-<pre><code class="hljs css language-bash $ bin/pulsar-admin topics offload-status persistent://public/default/topic1">Error <span class="hljs-keyword">in</span> offload null
-
+<pre><code class="hljs css language-bash $ bin/pulsar-admin topics offload-status persistent://public/default/topic1 Error in offload null">
 Reason: Error offloading: org.apache.bookkeeper.mledger.ManagedLedgerException: java.util.concurrent.CompletionException: com.amazonaws.services.s3.model.AmazonS3Exception: Anonymous users cannot initiate multipart uploads. Please authenticate. (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: 798758DE3F1776DF; S3 Extended Request ID: dhBFz/lZm1oiG/oBEepeNlhrtsDlzoOhocuYMpKihQGXe6EG8puRGOkK6UwqzVrMXTWBxxHcS+g=), S3 Extended Request ID: dhBFz/lZm1oiG/oBEepeNlhrt [...]
 </span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/next/adaptors-storm"><span class="arrow-prev">← </span><span>Apache Storm</span></a><a class="docs-next button" href="/docs/fr/next/cookbooks-compaction"><span>Topic compaction</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#when-should-i-use-tiered-storage">When should I use Tiered Storage?</a></li><li><a href="#th [...]
       const community = document.querySelector("a[href='#community']").parentNode;
diff --git a/content/docs/fr/next/cookbooks-tiered-storage/index.html b/content/docs/fr/next/cookbooks-tiered-storage/index.html
index c929ac8..78735fe 100644
--- a/content/docs/fr/next/cookbooks-tiered-storage/index.html
+++ b/content/docs/fr/next/cookbooks-tiered-storage/index.html
@@ -112,6 +112,10 @@
 <p>To be able to access AWS S3, you need to authenticate with AWS S3. Pulsar does not provide any direct means of configuring authentication for AWS S3, but relies on the mechanisms supported by the <a href="https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/auth/DefaultAWSCredentialsProviderChain.html">DefaultAWSCredentialsProviderChain</a>.</p>
 <p>Once you have created a set of credentials in the AWS IAM console, they can be configured in a number of ways.</p>
 <ol>
+<li>Using ec2 instance metadata credentials</li>
+</ol>
+<p>If you are on AWS instance with an instance profile that provides credentials, Pulsar will use these credentials if no other mechanism is provided</p>
+<ol>
 <li>Set the environment variables <strong>AWS_ACCESS_KEY_ID</strong> and <strong>AWS_SECRET_ACCESS_KEY</strong> in <code>conf/pulsar_env.sh</code>.</li>
 </ol>
 <pre><code class="hljs css language-bash"><span class="hljs-built_in">export</span> AWS_ACCESS_KEY_ID=ABC123456789
@@ -132,7 +136,14 @@
 <span class="hljs-attr">aws_access_key_id</span>=ABC123456789
 <span class="hljs-attr">aws_secret_access_key</span>=ded7db27a4558e2ea8bbf0bf37ae0e8521618f366c
 </code></pre>
-<p>If you are running in EC2 you can also use instance profile credentials, provided through the EC2 metadata service, but that is out of scope for this cookbook.</p>
+<ol>
+<li>Assuming an IAM role</li>
+</ol>
+<p>If you want to assume an IAM role, this can be done via specifying the following:</p>
+<pre><code class="hljs css language-conf"><span class="hljs-attr">s3ManagedLedgerOffloadRole</span>=&lt;aws role arn&gt;
+<span class="hljs-attr">s3ManagedLedgerOffloadRoleSessionName</span>=pulsar-s3-<span class="hljs-literal">off</span>load
+</code></pre>
+<p>This will use the <code>DefaultAWSCredentialsProviderChain</code> for assuming this role.</p>
 <blockquote>
 <p>The broker must be rebooted for credentials specified in pulsar_env to take effect.</p>
 </blockquote>
@@ -189,8 +200,7 @@ Offload is currently running
 Offload was a success
 </code></pre>
 <p>If there is an error offloading, the error will be propagated to the offload-status command.</p>
-<pre><code class="hljs css language-bash $ bin/pulsar-admin topics offload-status persistent://public/default/topic1">Error <span class="hljs-keyword">in</span> offload null
-
+<pre><code class="hljs css language-bash $ bin/pulsar-admin topics offload-status persistent://public/default/topic1 Error in offload null">
 Reason: Error offloading: org.apache.bookkeeper.mledger.ManagedLedgerException: java.util.concurrent.CompletionException: com.amazonaws.services.s3.model.AmazonS3Exception: Anonymous users cannot initiate multipart uploads. Please authenticate. (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: 798758DE3F1776DF; S3 Extended Request ID: dhBFz/lZm1oiG/oBEepeNlhrtsDlzoOhocuYMpKihQGXe6EG8puRGOkK6UwqzVrMXTWBxxHcS+g=), S3 Extended Request ID: dhBFz/lZm1oiG/oBEepeNlhrt [...]
 </span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/next/adaptors-storm"><span class="arrow-prev">← </span><span>Apache Storm</span></a><a class="docs-next button" href="/docs/fr/next/cookbooks-compaction"><span>Topic compaction</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#when-should-i-use-tiered-storage">When should I use Tiered Storage?</a></li><li><a href="#th [...]
       const community = document.querySelector("a[href='#community']").parentNode;
diff --git a/content/docs/fr/next/reference-configuration.html b/content/docs/fr/next/reference-configuration.html
index 869f750..e8e633c 100644
--- a/content/docs/fr/next/reference-configuration.html
+++ b/content/docs/fr/next/reference-configuration.html
@@ -297,7 +297,9 @@
 | s3ManagedLedgerOffloadBucket                         | For Amazon S3 ledger offload, Bucket to place offloaded ledger into                                                                                                                                                                                                                                                                                                                                                                                 [...]
 | s3ManagedLedgerOffloadServiceEndpoint                | For Amazon S3 ledger offload, Alternative endpoint to connect to (useful for testing)                                                                                                                                                                                                                                                                                                                                                               [...]
 | s3ManagedLedgerOffloadMaxBlockSizeInBytes            | For Amazon S3 ledger offload, Max block size in bytes. (64MB by default, 5MB minimum)                                                                                                                                                                                                                                                                                                                                                               [...]
-| s3ManagedLedgerOffloadReadBufferSizeInBytes          | For Amazon S3 ledger offload, Read buffer size in bytes (1MB by default)                                                                                                                                                                                                                                                                                                                                                                            [...]
+| s3ManagedLedgerOffloadReadBufferSizeInBytes          | For Amazon S3 ledger offload, Read buffer size in bytes (1MB by default)                                                                                                                                                                                                                                                                                                                                                                            [...]
+| s3ManagedLedgerOffloadRole                           | For Amazon S3 ledger offload, provide a role to assume before writing to s3                                                                                                                                                                                                                                                                                                                                                                         [...]
+| s3ManagedLedgerOffloadRoleSessionName                | For Amazon S3 ledger offload, provide a role session name when using a role                                                                                                                                                                                                                                                                                                                                                                         [...]
 </ul>
 <h2><a class="anchor" aria-hidden="true" id="client"></a><a href="#client" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
 <p>The <a href="/docs/fr/next/reference-cli-tools#pulsar-client"><code>pulsar-client</code></a> CLI tool can be used to publish messages to Pulsar and consume messages from Pulsar topics. This tool can be used in lieu of a client library.</p>
diff --git a/content/docs/fr/next/reference-configuration/index.html b/content/docs/fr/next/reference-configuration/index.html
index 869f750..e8e633c 100644
--- a/content/docs/fr/next/reference-configuration/index.html
+++ b/content/docs/fr/next/reference-configuration/index.html
@@ -297,7 +297,9 @@
 | s3ManagedLedgerOffloadBucket                         | For Amazon S3 ledger offload, Bucket to place offloaded ledger into                                                                                                                                                                                                                                                                                                                                                                                 [...]
 | s3ManagedLedgerOffloadServiceEndpoint                | For Amazon S3 ledger offload, Alternative endpoint to connect to (useful for testing)                                                                                                                                                                                                                                                                                                                                                               [...]
 | s3ManagedLedgerOffloadMaxBlockSizeInBytes            | For Amazon S3 ledger offload, Max block size in bytes. (64MB by default, 5MB minimum)                                                                                                                                                                                                                                                                                                                                                               [...]
-| s3ManagedLedgerOffloadReadBufferSizeInBytes          | For Amazon S3 ledger offload, Read buffer size in bytes (1MB by default)                                                                                                                                                                                                                                                                                                                                                                            [...]
+| s3ManagedLedgerOffloadReadBufferSizeInBytes          | For Amazon S3 ledger offload, Read buffer size in bytes (1MB by default)                                                                                                                                                                                                                                                                                                                                                                            [...]
+| s3ManagedLedgerOffloadRole                           | For Amazon S3 ledger offload, provide a role to assume before writing to s3                                                                                                                                                                                                                                                                                                                                                                         [...]
+| s3ManagedLedgerOffloadRoleSessionName                | For Amazon S3 ledger offload, provide a role session name when using a role                                                                                                                                                                                                                                                                                                                                                                         [...]
 </ul>
 <h2><a class="anchor" aria-hidden="true" id="client"></a><a href="#client" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
 <p>The <a href="/docs/fr/next/reference-cli-tools#pulsar-client"><code>pulsar-client</code></a> CLI tool can be used to publish messages to Pulsar and consume messages from Pulsar topics. This tool can be used in lieu of a client library.</p>
diff --git a/content/docs/ja/2.1.0-incubating/io-rabbitmq.html b/content/docs/ja/2.1.0-incubating/io-rabbitmq.html
index 67047f8..f631db6 100644
--- a/content/docs/ja/2.1.0-incubating/io-rabbitmq.html
+++ b/content/docs/ja/2.1.0-incubating/io-rabbitmq.html
@@ -21,7 +21,7 @@
           }
         });
       </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/ja" target="_blank" rel="noreferrer noopener">Transla [...]
-<p>The RabittMQ Source connector is used for receiving messages from a RabittMQ cluster and writing messages to Pulsar topics.</p>
+<p>The RabbitMQ Source connector is used for receiving messages from a RabbitMQ cluster and writing messages to Pulsar topics.</p>
 <h3><a class="anchor" aria-hidden="true" id="source-configuration-options"></a><a href="#source-configuration-options" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 [...]
 <table>
 <thead>
diff --git a/content/docs/ja/2.1.0-incubating/io-rabbitmq/index.html b/content/docs/ja/2.1.0-incubating/io-rabbitmq/index.html
index 67047f8..f631db6 100644
--- a/content/docs/ja/2.1.0-incubating/io-rabbitmq/index.html
+++ b/content/docs/ja/2.1.0-incubating/io-rabbitmq/index.html
@@ -21,7 +21,7 @@
           }
         });
       </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/ja" target="_blank" rel="noreferrer noopener">Transla [...]
-<p>The RabittMQ Source connector is used for receiving messages from a RabittMQ cluster and writing messages to Pulsar topics.</p>
+<p>The RabbitMQ Source connector is used for receiving messages from a RabbitMQ cluster and writing messages to Pulsar topics.</p>
 <h3><a class="anchor" aria-hidden="true" id="source-configuration-options"></a><a href="#source-configuration-options" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 [...]
 <table>
 <thead>
diff --git a/content/docs/ja/2.1.1-incubating/io-rabbitmq.html b/content/docs/ja/2.1.1-incubating/io-rabbitmq.html
index a93b25b..bb50268 100644
--- a/content/docs/ja/2.1.1-incubating/io-rabbitmq.html
+++ b/content/docs/ja/2.1.1-incubating/io-rabbitmq.html
@@ -21,7 +21,7 @@
           }
         });
       </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/ja" target="_blank" rel="noreferrer noopener">Transla [...]
-<p>The RabittMQ Source connector is used for receiving messages from a RabittMQ cluster and writing messages to Pulsar topics.</p>
+<p>The RabbitMQ Source connector is used for receiving messages from a RabbitMQ cluster and writing messages to Pulsar topics.</p>
 <h3><a class="anchor" aria-hidden="true" id="source-configuration-options"></a><a href="#source-configuration-options" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 [...]
 <table>
 <thead>
diff --git a/content/docs/ja/2.1.1-incubating/io-rabbitmq/index.html b/content/docs/ja/2.1.1-incubating/io-rabbitmq/index.html
index a93b25b..bb50268 100644
--- a/content/docs/ja/2.1.1-incubating/io-rabbitmq/index.html
+++ b/content/docs/ja/2.1.1-incubating/io-rabbitmq/index.html
@@ -21,7 +21,7 @@
           }
         });
       </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/ja" target="_blank" rel="noreferrer noopener">Transla [...]
-<p>The RabittMQ Source connector is used for receiving messages from a RabittMQ cluster and writing messages to Pulsar topics.</p>
+<p>The RabbitMQ Source connector is used for receiving messages from a RabbitMQ cluster and writing messages to Pulsar topics.</p>
 <h3><a class="anchor" aria-hidden="true" id="source-configuration-options"></a><a href="#source-configuration-options" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 [...]
 <table>
 <thead>
diff --git a/content/docs/ja/2.2.0/io-rabbitmq.html b/content/docs/ja/2.2.0/io-rabbitmq.html
index 1bcc174..6f13b96 100644
--- a/content/docs/ja/2.2.0/io-rabbitmq.html
+++ b/content/docs/ja/2.2.0/io-rabbitmq.html
@@ -21,7 +21,7 @@
           }
         });
       </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/ja" target="_blank" rel="noreferrer noopener">Transla [...]
-<p>The RabittMQ Source connector is used for receiving messages from a RabittMQ cluster and writing messages to Pulsar topics.</p>
+<p>The RabbitMQ Source connector is used for receiving messages from a RabbitMQ cluster and writing messages to Pulsar topics.</p>
 <h3><a class="anchor" aria-hidden="true" id="source-configuration-options"></a><a href="#source-configuration-options" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 [...]
 <table>
 <thead>
diff --git a/content/docs/ja/2.2.0/io-rabbitmq/index.html b/content/docs/ja/2.2.0/io-rabbitmq/index.html
index 1bcc174..6f13b96 100644
--- a/content/docs/ja/2.2.0/io-rabbitmq/index.html
+++ b/content/docs/ja/2.2.0/io-rabbitmq/index.html
@@ -21,7 +21,7 @@
           }
         });
       </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/ja" target="_blank" rel="noreferrer noopener">Transla [...]
-<p>The RabittMQ Source connector is used for receiving messages from a RabittMQ cluster and writing messages to Pulsar topics.</p>
+<p>The RabbitMQ Source connector is used for receiving messages from a RabbitMQ cluster and writing messages to Pulsar topics.</p>
 <h3><a class="anchor" aria-hidden="true" id="source-configuration-options"></a><a href="#source-configuration-options" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 [...]
 <table>
 <thead>
diff --git a/content/docs/ja/next/cookbooks-tiered-storage.html b/content/docs/ja/next/cookbooks-tiered-storage.html
index 3c1aed1..8aa4122 100644
--- a/content/docs/ja/next/cookbooks-tiered-storage.html
+++ b/content/docs/ja/next/cookbooks-tiered-storage.html
@@ -112,6 +112,10 @@
 <p>To be able to access AWS S3, you need to authenticate with AWS S3. Pulsar does not provide any direct means of configuring authentication for AWS S3, but relies on the mechanisms supported by the <a href="https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/auth/DefaultAWSCredentialsProviderChain.html">DefaultAWSCredentialsProviderChain</a>.</p>
 <p>Once you have created a set of credentials in the AWS IAM console, they can be configured in a number of ways.</p>
 <ol>
+<li>Using ec2 instance metadata credentials</li>
+</ol>
+<p>If you are on AWS instance with an instance profile that provides credentials, Pulsar will use these credentials if no other mechanism is provided</p>
+<ol>
 <li>Set the environment variables <strong>AWS_ACCESS_KEY_ID</strong> and <strong>AWS_SECRET_ACCESS_KEY</strong> in <code>conf/pulsar_env.sh</code>.</li>
 </ol>
 <pre><code class="hljs css language-bash"><span class="hljs-built_in">export</span> AWS_ACCESS_KEY_ID=ABC123456789
@@ -132,7 +136,14 @@
 <span class="hljs-attr">aws_access_key_id</span>=ABC123456789
 <span class="hljs-attr">aws_secret_access_key</span>=ded7db27a4558e2ea8bbf0bf37ae0e8521618f366c
 </code></pre>
-<p>If you are running in EC2 you can also use instance profile credentials, provided through the EC2 metadata service, but that is out of scope for this cookbook.</p>
+<ol>
+<li>Assuming an IAM role</li>
+</ol>
+<p>If you want to assume an IAM role, this can be done via specifying the following:</p>
+<pre><code class="hljs css language-conf"><span class="hljs-attr">s3ManagedLedgerOffloadRole</span>=&lt;aws role arn&gt;
+<span class="hljs-attr">s3ManagedLedgerOffloadRoleSessionName</span>=pulsar-s3-<span class="hljs-literal">off</span>load
+</code></pre>
+<p>This will use the <code>DefaultAWSCredentialsProviderChain</code> for assuming this role.</p>
 <blockquote>
 <p>The broker must be rebooted for credentials specified in pulsar_env to take effect.</p>
 </blockquote>
@@ -189,8 +200,7 @@ Offload is currently running
 Offload was a success
 </code></pre>
 <p>If there is an error offloading, the error will be propagated to the offload-status command.</p>
-<pre><code class="hljs css language-bash $ bin/pulsar-admin topics offload-status persistent://public/default/topic1">Error <span class="hljs-keyword">in</span> offload null
-
+<pre><code class="hljs css language-bash $ bin/pulsar-admin topics offload-status persistent://public/default/topic1 Error in offload null">
 Reason: Error offloading: org.apache.bookkeeper.mledger.ManagedLedgerException: java.util.concurrent.CompletionException: com.amazonaws.services.s3.model.AmazonS3Exception: Anonymous users cannot initiate multipart uploads. Please authenticate. (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: 798758DE3F1776DF; S3 Extended Request ID: dhBFz/lZm1oiG/oBEepeNlhrtsDlzoOhocuYMpKihQGXe6EG8puRGOkK6UwqzVrMXTWBxxHcS+g=), S3 Extended Request ID: dhBFz/lZm1oiG/oBEepeNlhrt [...]
 </span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/ja/next/adaptors-storm"><span class="arrow-prev">← </span><span>Apache Storm</span></a><a class="docs-next button" href="/docs/ja/next/cookbooks-compaction"><span>Topic compaction</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#when-should-i-use-tiered-storage">When should I use Tiered Storage?</a></li><li><a href="#th [...]
       const community = document.querySelector("a[href='#community']").parentNode;
diff --git a/content/docs/ja/next/cookbooks-tiered-storage/index.html b/content/docs/ja/next/cookbooks-tiered-storage/index.html
index 3c1aed1..8aa4122 100644
--- a/content/docs/ja/next/cookbooks-tiered-storage/index.html
+++ b/content/docs/ja/next/cookbooks-tiered-storage/index.html
@@ -112,6 +112,10 @@
 <p>To be able to access AWS S3, you need to authenticate with AWS S3. Pulsar does not provide any direct means of configuring authentication for AWS S3, but relies on the mechanisms supported by the <a href="https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/auth/DefaultAWSCredentialsProviderChain.html">DefaultAWSCredentialsProviderChain</a>.</p>
 <p>Once you have created a set of credentials in the AWS IAM console, they can be configured in a number of ways.</p>
 <ol>
+<li>Using ec2 instance metadata credentials</li>
+</ol>
+<p>If you are on AWS instance with an instance profile that provides credentials, Pulsar will use these credentials if no other mechanism is provided</p>
+<ol>
 <li>Set the environment variables <strong>AWS_ACCESS_KEY_ID</strong> and <strong>AWS_SECRET_ACCESS_KEY</strong> in <code>conf/pulsar_env.sh</code>.</li>
 </ol>
 <pre><code class="hljs css language-bash"><span class="hljs-built_in">export</span> AWS_ACCESS_KEY_ID=ABC123456789
@@ -132,7 +136,14 @@
 <span class="hljs-attr">aws_access_key_id</span>=ABC123456789
 <span class="hljs-attr">aws_secret_access_key</span>=ded7db27a4558e2ea8bbf0bf37ae0e8521618f366c
 </code></pre>
-<p>If you are running in EC2 you can also use instance profile credentials, provided through the EC2 metadata service, but that is out of scope for this cookbook.</p>
+<ol>
+<li>Assuming an IAM role</li>
+</ol>
+<p>If you want to assume an IAM role, this can be done via specifying the following:</p>
+<pre><code class="hljs css language-conf"><span class="hljs-attr">s3ManagedLedgerOffloadRole</span>=&lt;aws role arn&gt;
+<span class="hljs-attr">s3ManagedLedgerOffloadRoleSessionName</span>=pulsar-s3-<span class="hljs-literal">off</span>load
+</code></pre>
+<p>This will use the <code>DefaultAWSCredentialsProviderChain</code> for assuming this role.</p>
 <blockquote>
 <p>The broker must be rebooted for credentials specified in pulsar_env to take effect.</p>
 </blockquote>
@@ -189,8 +200,7 @@ Offload is currently running
 Offload was a success
 </code></pre>
 <p>If there is an error offloading, the error will be propagated to the offload-status command.</p>
-<pre><code class="hljs css language-bash $ bin/pulsar-admin topics offload-status persistent://public/default/topic1">Error <span class="hljs-keyword">in</span> offload null
-
+<pre><code class="hljs css language-bash $ bin/pulsar-admin topics offload-status persistent://public/default/topic1 Error in offload null">
 Reason: Error offloading: org.apache.bookkeeper.mledger.ManagedLedgerException: java.util.concurrent.CompletionException: com.amazonaws.services.s3.model.AmazonS3Exception: Anonymous users cannot initiate multipart uploads. Please authenticate. (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: 798758DE3F1776DF; S3 Extended Request ID: dhBFz/lZm1oiG/oBEepeNlhrtsDlzoOhocuYMpKihQGXe6EG8puRGOkK6UwqzVrMXTWBxxHcS+g=), S3 Extended Request ID: dhBFz/lZm1oiG/oBEepeNlhrt [...]
 </span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/ja/next/adaptors-storm"><span class="arrow-prev">← </span><span>Apache Storm</span></a><a class="docs-next button" href="/docs/ja/next/cookbooks-compaction"><span>Topic compaction</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#when-should-i-use-tiered-storage">When should I use Tiered Storage?</a></li><li><a href="#th [...]
       const community = document.querySelector("a[href='#community']").parentNode;
diff --git a/content/docs/ja/next/reference-configuration.html b/content/docs/ja/next/reference-configuration.html
index 8efa8c2..2ea3d45 100644
--- a/content/docs/ja/next/reference-configuration.html
+++ b/content/docs/ja/next/reference-configuration.html
@@ -297,7 +297,9 @@
 | s3ManagedLedgerOffloadBucket                         | For Amazon S3 ledger offload, Bucket to place offloaded ledger into                                                                                                                                                                                                                                                                                                                                                                                 [...]
 | s3ManagedLedgerOffloadServiceEndpoint                | For Amazon S3 ledger offload, Alternative endpoint to connect to (useful for testing)                                                                                                                                                                                                                                                                                                                                                               [...]
 | s3ManagedLedgerOffloadMaxBlockSizeInBytes            | For Amazon S3 ledger offload, Max block size in bytes. (64MB by default, 5MB minimum)                                                                                                                                                                                                                                                                                                                                                               [...]
-| s3ManagedLedgerOffloadReadBufferSizeInBytes          | For Amazon S3 ledger offload, Read buffer size in bytes (1MB by default)                                                                                                                                                                                                                                                                                                                                                                            [...]
+| s3ManagedLedgerOffloadReadBufferSizeInBytes          | For Amazon S3 ledger offload, Read buffer size in bytes (1MB by default)                                                                                                                                                                                                                                                                                                                                                                            [...]
+| s3ManagedLedgerOffloadRole                           | For Amazon S3 ledger offload, provide a role to assume before writing to s3                                                                                                                                                                                                                                                                                                                                                                         [...]
+| s3ManagedLedgerOffloadRoleSessionName                | For Amazon S3 ledger offload, provide a role session name when using a role                                                                                                                                                                                                                                                                                                                                                                         [...]
 </ul>
 <h2><a class="anchor" aria-hidden="true" id="client"></a><a href="#client" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
 <p>The <a href="/docs/ja/next/reference-cli-tools#pulsar-client"><code>pulsar-client</code></a> CLI tool can be used to publish messages to Pulsar and consume messages from Pulsar topics. This tool can be used in lieu of a client library.</p>
diff --git a/content/docs/ja/next/reference-configuration/index.html b/content/docs/ja/next/reference-configuration/index.html
index 8efa8c2..2ea3d45 100644
--- a/content/docs/ja/next/reference-configuration/index.html
+++ b/content/docs/ja/next/reference-configuration/index.html
@@ -297,7 +297,9 @@
 | s3ManagedLedgerOffloadBucket                         | For Amazon S3 ledger offload, Bucket to place offloaded ledger into                                                                                                                                                                                                                                                                                                                                                                                 [...]
 | s3ManagedLedgerOffloadServiceEndpoint                | For Amazon S3 ledger offload, Alternative endpoint to connect to (useful for testing)                                                                                                                                                                                                                                                                                                                                                               [...]
 | s3ManagedLedgerOffloadMaxBlockSizeInBytes            | For Amazon S3 ledger offload, Max block size in bytes. (64MB by default, 5MB minimum)                                                                                                                                                                                                                                                                                                                                                               [...]
-| s3ManagedLedgerOffloadReadBufferSizeInBytes          | For Amazon S3 ledger offload, Read buffer size in bytes (1MB by default)                                                                                                                                                                                                                                                                                                                                                                            [...]
+| s3ManagedLedgerOffloadReadBufferSizeInBytes          | For Amazon S3 ledger offload, Read buffer size in bytes (1MB by default)                                                                                                                                                                                                                                                                                                                                                                            [...]
+| s3ManagedLedgerOffloadRole                           | For Amazon S3 ledger offload, provide a role to assume before writing to s3                                                                                                                                                                                                                                                                                                                                                                         [...]
+| s3ManagedLedgerOffloadRoleSessionName                | For Amazon S3 ledger offload, provide a role session name when using a role                                                                                                                                                                                                                                                                                                                                                                         [...]
 </ul>
 <h2><a class="anchor" aria-hidden="true" id="client"></a><a href="#client" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
 <p>The <a href="/docs/ja/next/reference-cli-tools#pulsar-client"><code>pulsar-client</code></a> CLI tool can be used to publish messages to Pulsar and consume messages from Pulsar topics. This tool can be used in lieu of a client library.</p>
diff --git a/content/docs/zh-CN/2.1.0-incubating/io-rabbitmq.html b/content/docs/zh-CN/2.1.0-incubating/io-rabbitmq.html
index 0b0d465..81c6de1 100644
--- a/content/docs/zh-CN/2.1.0-incubating/io-rabbitmq.html
+++ b/content/docs/zh-CN/2.1.0-incubating/io-rabbitmq.html
@@ -21,7 +21,7 @@
           }
         });
       </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Tran [...]
-<p>The RabittMQ Source connector is used for receiving messages from a RabittMQ cluster and writing messages to Pulsar topics.</p>
+<p>The RabbitMQ Source connector is used for receiving messages from a RabbitMQ cluster and writing messages to Pulsar topics.</p>
 <h3><a class="anchor" aria-hidden="true" id="source-configuration-options"></a><a href="#source-configuration-options" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 [...]
 <table>
 <thead>
diff --git a/content/docs/zh-CN/2.1.0-incubating/io-rabbitmq/index.html b/content/docs/zh-CN/2.1.0-incubating/io-rabbitmq/index.html
index 0b0d465..81c6de1 100644
--- a/content/docs/zh-CN/2.1.0-incubating/io-rabbitmq/index.html
+++ b/content/docs/zh-CN/2.1.0-incubating/io-rabbitmq/index.html
@@ -21,7 +21,7 @@
           }
         });
       </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Tran [...]
-<p>The RabittMQ Source connector is used for receiving messages from a RabittMQ cluster and writing messages to Pulsar topics.</p>
+<p>The RabbitMQ Source connector is used for receiving messages from a RabbitMQ cluster and writing messages to Pulsar topics.</p>
 <h3><a class="anchor" aria-hidden="true" id="source-configuration-options"></a><a href="#source-configuration-options" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 [...]
 <table>
 <thead>
diff --git a/content/docs/zh-CN/2.1.1-incubating/io-rabbitmq.html b/content/docs/zh-CN/2.1.1-incubating/io-rabbitmq.html
index 0e74a64..7f3b9f5 100644
--- a/content/docs/zh-CN/2.1.1-incubating/io-rabbitmq.html
+++ b/content/docs/zh-CN/2.1.1-incubating/io-rabbitmq.html
@@ -21,7 +21,7 @@
           }
         });
       </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Tran [...]
-<p>The RabittMQ Source connector is used for receiving messages from a RabittMQ cluster and writing messages to Pulsar topics.</p>
+<p>The RabbitMQ Source connector is used for receiving messages from a RabbitMQ cluster and writing messages to Pulsar topics.</p>
 <h3><a class="anchor" aria-hidden="true" id="source-configuration-options"></a><a href="#source-configuration-options" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 [...]
 <table>
 <thead>
diff --git a/content/docs/zh-CN/2.1.1-incubating/io-rabbitmq/index.html b/content/docs/zh-CN/2.1.1-incubating/io-rabbitmq/index.html
index 0e74a64..7f3b9f5 100644
--- a/content/docs/zh-CN/2.1.1-incubating/io-rabbitmq/index.html
+++ b/content/docs/zh-CN/2.1.1-incubating/io-rabbitmq/index.html
@@ -21,7 +21,7 @@
           }
         });
       </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Tran [...]
-<p>The RabittMQ Source connector is used for receiving messages from a RabittMQ cluster and writing messages to Pulsar topics.</p>
+<p>The RabbitMQ Source connector is used for receiving messages from a RabbitMQ cluster and writing messages to Pulsar topics.</p>
 <h3><a class="anchor" aria-hidden="true" id="source-configuration-options"></a><a href="#source-configuration-options" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 [...]
 <table>
 <thead>
diff --git a/content/docs/zh-CN/2.2.0/io-rabbitmq.html b/content/docs/zh-CN/2.2.0/io-rabbitmq.html
index 25d4beb..d4aa8ce 100644
--- a/content/docs/zh-CN/2.2.0/io-rabbitmq.html
+++ b/content/docs/zh-CN/2.2.0/io-rabbitmq.html
@@ -21,7 +21,7 @@
           }
         });
       </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Tran [...]
-<p>The RabittMQ Source connector is used for receiving messages from a RabittMQ cluster and writing messages to Pulsar topics.</p>
+<p>The RabbitMQ Source connector is used for receiving messages from a RabbitMQ cluster and writing messages to Pulsar topics.</p>
 <h3><a class="anchor" aria-hidden="true" id="source-configuration-options"></a><a href="#source-configuration-options" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 [...]
 <table>
 <thead>
diff --git a/content/docs/zh-CN/2.2.0/io-rabbitmq/index.html b/content/docs/zh-CN/2.2.0/io-rabbitmq/index.html
index 25d4beb..d4aa8ce 100644
--- a/content/docs/zh-CN/2.2.0/io-rabbitmq/index.html
+++ b/content/docs/zh-CN/2.2.0/io-rabbitmq/index.html
@@ -21,7 +21,7 @@
           }
         });
       </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Tran [...]
-<p>The RabittMQ Source connector is used for receiving messages from a RabittMQ cluster and writing messages to Pulsar topics.</p>
+<p>The RabbitMQ Source connector is used for receiving messages from a RabbitMQ cluster and writing messages to Pulsar topics.</p>
 <h3><a class="anchor" aria-hidden="true" id="source-configuration-options"></a><a href="#source-configuration-options" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 [...]
 <table>
 <thead>
diff --git a/content/docs/zh-CN/next/cookbooks-tiered-storage.html b/content/docs/zh-CN/next/cookbooks-tiered-storage.html
index 11550f3..531156c 100644
--- a/content/docs/zh-CN/next/cookbooks-tiered-storage.html
+++ b/content/docs/zh-CN/next/cookbooks-tiered-storage.html
@@ -112,6 +112,10 @@
 <p>To be able to access AWS S3, you need to authenticate with AWS S3. Pulsar does not provide any direct means of configuring authentication for AWS S3, but relies on the mechanisms supported by the <a href="https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/auth/DefaultAWSCredentialsProviderChain.html">DefaultAWSCredentialsProviderChain</a>.</p>
 <p>Once you have created a set of credentials in the AWS IAM console, they can be configured in a number of ways.</p>
 <ol>
+<li>Using ec2 instance metadata credentials</li>
+</ol>
+<p>If you are on AWS instance with an instance profile that provides credentials, Pulsar will use these credentials if no other mechanism is provided</p>
+<ol>
 <li>Set the environment variables <strong>AWS_ACCESS_KEY_ID</strong> and <strong>AWS_SECRET_ACCESS_KEY</strong> in <code>conf/pulsar_env.sh</code>.</li>
 </ol>
 <pre><code class="hljs css language-bash"><span class="hljs-built_in">export</span> AWS_ACCESS_KEY_ID=ABC123456789
@@ -132,7 +136,14 @@
 <span class="hljs-attr">aws_access_key_id</span>=ABC123456789
 <span class="hljs-attr">aws_secret_access_key</span>=ded7db27a4558e2ea8bbf0bf37ae0e8521618f366c
 </code></pre>
-<p>If you are running in EC2 you can also use instance profile credentials, provided through the EC2 metadata service, but that is out of scope for this cookbook.</p>
+<ol>
+<li>Assuming an IAM role</li>
+</ol>
+<p>If you want to assume an IAM role, this can be done via specifying the following:</p>
+<pre><code class="hljs css language-conf"><span class="hljs-attr">s3ManagedLedgerOffloadRole</span>=&lt;aws role arn&gt;
+<span class="hljs-attr">s3ManagedLedgerOffloadRoleSessionName</span>=pulsar-s3-<span class="hljs-literal">off</span>load
+</code></pre>
+<p>This will use the <code>DefaultAWSCredentialsProviderChain</code> for assuming this role.</p>
 <blockquote>
 <p>The broker must be rebooted for credentials specified in pulsar_env to take effect.</p>
 </blockquote>
@@ -189,8 +200,7 @@ Offload is currently running
 Offload was a success
 </code></pre>
 <p>If there is an error offloading, the error will be propagated to the offload-status command.</p>
-<pre><code class="hljs css language-bash $ bin/pulsar-admin topics offload-status persistent://public/default/topic1">Error <span class="hljs-keyword">in</span> offload null
-
+<pre><code class="hljs css language-bash $ bin/pulsar-admin topics offload-status persistent://public/default/topic1 Error in offload null">
 Reason: Error offloading: org.apache.bookkeeper.mledger.ManagedLedgerException: java.util.concurrent.CompletionException: com.amazonaws.services.s3.model.AmazonS3Exception: Anonymous users cannot initiate multipart uploads. Please authenticate. (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: 798758DE3F1776DF; S3 Extended Request ID: dhBFz/lZm1oiG/oBEepeNlhrtsDlzoOhocuYMpKihQGXe6EG8puRGOkK6UwqzVrMXTWBxxHcS+g=), S3 Extended Request ID: dhBFz/lZm1oiG/oBEepeNlhrt [...]
 </span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/next/adaptors-storm"><span class="arrow-prev">← </span><span>Apache Storm</span></a><a class="docs-next button" href="/docs/zh-CN/next/cookbooks-compaction"><span>Topic compaction</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#when-should-i-use-tiered-storage">When should I use Tiered Storage?</a></li><li><a hre [...]
       const community = document.querySelector("a[href='#community']").parentNode;
diff --git a/content/docs/zh-CN/next/cookbooks-tiered-storage/index.html b/content/docs/zh-CN/next/cookbooks-tiered-storage/index.html
index 11550f3..531156c 100644
--- a/content/docs/zh-CN/next/cookbooks-tiered-storage/index.html
+++ b/content/docs/zh-CN/next/cookbooks-tiered-storage/index.html
@@ -112,6 +112,10 @@
 <p>To be able to access AWS S3, you need to authenticate with AWS S3. Pulsar does not provide any direct means of configuring authentication for AWS S3, but relies on the mechanisms supported by the <a href="https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/auth/DefaultAWSCredentialsProviderChain.html">DefaultAWSCredentialsProviderChain</a>.</p>
 <p>Once you have created a set of credentials in the AWS IAM console, they can be configured in a number of ways.</p>
 <ol>
+<li>Using ec2 instance metadata credentials</li>
+</ol>
+<p>If you are on AWS instance with an instance profile that provides credentials, Pulsar will use these credentials if no other mechanism is provided</p>
+<ol>
 <li>Set the environment variables <strong>AWS_ACCESS_KEY_ID</strong> and <strong>AWS_SECRET_ACCESS_KEY</strong> in <code>conf/pulsar_env.sh</code>.</li>
 </ol>
 <pre><code class="hljs css language-bash"><span class="hljs-built_in">export</span> AWS_ACCESS_KEY_ID=ABC123456789
@@ -132,7 +136,14 @@
 <span class="hljs-attr">aws_access_key_id</span>=ABC123456789
 <span class="hljs-attr">aws_secret_access_key</span>=ded7db27a4558e2ea8bbf0bf37ae0e8521618f366c
 </code></pre>
-<p>If you are running in EC2 you can also use instance profile credentials, provided through the EC2 metadata service, but that is out of scope for this cookbook.</p>
+<ol>
+<li>Assuming an IAM role</li>
+</ol>
+<p>If you want to assume an IAM role, this can be done via specifying the following:</p>
+<pre><code class="hljs css language-conf"><span class="hljs-attr">s3ManagedLedgerOffloadRole</span>=&lt;aws role arn&gt;
+<span class="hljs-attr">s3ManagedLedgerOffloadRoleSessionName</span>=pulsar-s3-<span class="hljs-literal">off</span>load
+</code></pre>
+<p>This will use the <code>DefaultAWSCredentialsProviderChain</code> for assuming this role.</p>
 <blockquote>
 <p>The broker must be rebooted for credentials specified in pulsar_env to take effect.</p>
 </blockquote>
@@ -189,8 +200,7 @@ Offload is currently running
 Offload was a success
 </code></pre>
 <p>If there is an error offloading, the error will be propagated to the offload-status command.</p>
-<pre><code class="hljs css language-bash $ bin/pulsar-admin topics offload-status persistent://public/default/topic1">Error <span class="hljs-keyword">in</span> offload null
-
+<pre><code class="hljs css language-bash $ bin/pulsar-admin topics offload-status persistent://public/default/topic1 Error in offload null">
 Reason: Error offloading: org.apache.bookkeeper.mledger.ManagedLedgerException: java.util.concurrent.CompletionException: com.amazonaws.services.s3.model.AmazonS3Exception: Anonymous users cannot initiate multipart uploads. Please authenticate. (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: 798758DE3F1776DF; S3 Extended Request ID: dhBFz/lZm1oiG/oBEepeNlhrtsDlzoOhocuYMpKihQGXe6EG8puRGOkK6UwqzVrMXTWBxxHcS+g=), S3 Extended Request ID: dhBFz/lZm1oiG/oBEepeNlhrt [...]
 </span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/next/adaptors-storm"><span class="arrow-prev">← </span><span>Apache Storm</span></a><a class="docs-next button" href="/docs/zh-CN/next/cookbooks-compaction"><span>Topic compaction</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#when-should-i-use-tiered-storage">When should I use Tiered Storage?</a></li><li><a hre [...]
       const community = document.querySelector("a[href='#community']").parentNode;
diff --git a/content/docs/zh-CN/next/reference-configuration.html b/content/docs/zh-CN/next/reference-configuration.html
index d94b242..222a3b9 100644
--- a/content/docs/zh-CN/next/reference-configuration.html
+++ b/content/docs/zh-CN/next/reference-configuration.html
@@ -297,7 +297,9 @@
 | s3ManagedLedgerOffloadBucket                         | For Amazon S3 ledger offload, Bucket to place offloaded ledger into                                                                                                                                                                                                                                                                                                                                                                                 [...]
 | s3ManagedLedgerOffloadServiceEndpoint                | For Amazon S3 ledger offload, Alternative endpoint to connect to (useful for testing)                                                                                                                                                                                                                                                                                                                                                               [...]
 | s3ManagedLedgerOffloadMaxBlockSizeInBytes            | For Amazon S3 ledger offload, Max block size in bytes. (64MB by default, 5MB minimum)                                                                                                                                                                                                                                                                                                                                                               [...]
-| s3ManagedLedgerOffloadReadBufferSizeInBytes          | For Amazon S3 ledger offload, Read buffer size in bytes (1MB by default)                                                                                                                                                                                                                                                                                                                                                                            [...]
+| s3ManagedLedgerOffloadReadBufferSizeInBytes          | For Amazon S3 ledger offload, Read buffer size in bytes (1MB by default)                                                                                                                                                                                                                                                                                                                                                                            [...]
+| s3ManagedLedgerOffloadRole                           | For Amazon S3 ledger offload, provide a role to assume before writing to s3                                                                                                                                                                                                                                                                                                                                                                         [...]
+| s3ManagedLedgerOffloadRoleSessionName                | For Amazon S3 ledger offload, provide a role session name when using a role                                                                                                                                                                                                                                                                                                                                                                         [...]
 </ul>
 <h2><a class="anchor" aria-hidden="true" id="client"></a><a href="#client" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
 <p>The <a href="/docs/zh-CN/next/reference-cli-tools#pulsar-client"><code>pulsar-client</code></a> CLI tool can be used to publish messages to Pulsar and consume messages from Pulsar topics. This tool can be used in lieu of a client library.</p>
diff --git a/content/docs/zh-CN/next/reference-configuration/index.html b/content/docs/zh-CN/next/reference-configuration/index.html
index d94b242..222a3b9 100644
--- a/content/docs/zh-CN/next/reference-configuration/index.html
+++ b/content/docs/zh-CN/next/reference-configuration/index.html
@@ -297,7 +297,9 @@
 | s3ManagedLedgerOffloadBucket                         | For Amazon S3 ledger offload, Bucket to place offloaded ledger into                                                                                                                                                                                                                                                                                                                                                                                 [...]
 | s3ManagedLedgerOffloadServiceEndpoint                | For Amazon S3 ledger offload, Alternative endpoint to connect to (useful for testing)                                                                                                                                                                                                                                                                                                                                                               [...]
 | s3ManagedLedgerOffloadMaxBlockSizeInBytes            | For Amazon S3 ledger offload, Max block size in bytes. (64MB by default, 5MB minimum)                                                                                                                                                                                                                                                                                                                                                               [...]
-| s3ManagedLedgerOffloadReadBufferSizeInBytes          | For Amazon S3 ledger offload, Read buffer size in bytes (1MB by default)                                                                                                                                                                                                                                                                                                                                                                            [...]
+| s3ManagedLedgerOffloadReadBufferSizeInBytes          | For Amazon S3 ledger offload, Read buffer size in bytes (1MB by default)                                                                                                                                                                                                                                                                                                                                                                            [...]
+| s3ManagedLedgerOffloadRole                           | For Amazon S3 ledger offload, provide a role to assume before writing to s3                                                                                                                                                                                                                                                                                                                                                                         [...]
+| s3ManagedLedgerOffloadRoleSessionName                | For Amazon S3 ledger offload, provide a role session name when using a role                                                                                                                                                                                                                                                                                                                                                                         [...]
 </ul>
 <h2><a class="anchor" aria-hidden="true" id="client"></a><a href="#client" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
 <p>The <a href="/docs/zh-CN/next/reference-cli-tools#pulsar-client"><code>pulsar-client</code></a> CLI tool can be used to publish messages to Pulsar and consume messages from Pulsar topics. This tool can be used in lieu of a client library.</p>
diff --git a/content/swagger/swagger.json b/content/swagger/swagger.json
index 170915b..eba7d32 100644
--- a/content/swagger/swagger.json
+++ b/content/swagger/swagger.json
@@ -360,6 +360,9 @@
           },
           "404" : {
             "description" : "Configuration not found"
+          },
+          "500" : {
+            "description" : "Internal server error"
           }
         }
       }
@@ -393,7 +396,10 @@
             "description" : "Configuration not found"
           },
           "412" : {
-            "description" : "Configuration can't be updated dynamically"
+            "description" : "Invalid dynamic-config value"
+          },
+          "500" : {
+            "description" : "Internal server error"
           }
         }
       }
@@ -414,6 +420,9 @@
           },
           "404" : {
             "description" : "Cluster doesn't exist"
+          },
+          "500" : {
+            "description" : "Internal server error"
           }
         }
       }
@@ -435,15 +444,20 @@
         }
       }
     },
-    "/brokers/{cluster}" : {
+    "/brokers/{clusterName}/{broker-webserviceurl}/ownedNamespaces" : {
       "get" : {
         "tags" : [ "brokers" ],
-        "summary" : "Get the list of active brokers (web service addresses) in the cluster.",
+        "summary" : "Get the list of namespaces served by the specific broker",
         "description" : "",
-        "operationId" : "getActiveBrokers",
+        "operationId" : "getOwnedNamespaes",
         "produces" : [ "application/json" ],
         "parameters" : [ {
-          "name" : "cluster",
+          "name" : "clusterName",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "broker-webserviceurl",
           "in" : "path",
           "required" : true,
           "type" : "string"
@@ -452,10 +466,9 @@
           "200" : {
             "description" : "successful operation",
             "schema" : {
-              "type" : "array",
-              "uniqueItems" : true,
-              "items" : {
-                "type" : "string"
+              "type" : "object",
+              "additionalProperties" : {
+                "$ref" : "#/definitions/NamespaceOwnershipStatus"
               }
             }
           },
@@ -468,39 +481,38 @@
         }
       }
     },
-    "/brokers/{cluster}/{broker}/ownedNamespaces" : {
+    "/brokers/{cluster}" : {
       "get" : {
         "tags" : [ "brokers" ],
-        "summary" : "Get the list of namespaces served by the specific broker",
+        "summary" : "Get the list of active brokers (web service addresses) in the cluster.If authorization is not enabled, any cluster name is valid.",
         "description" : "",
-        "operationId" : "getOwnedNamespaes",
+        "operationId" : "getActiveBrokers",
         "produces" : [ "application/json" ],
         "parameters" : [ {
           "name" : "cluster",
           "in" : "path",
           "required" : true,
           "type" : "string"
-        }, {
-          "name" : "broker",
-          "in" : "path",
-          "required" : true,
-          "type" : "string"
         } ],
         "responses" : {
           "200" : {
             "description" : "successful operation",
             "schema" : {
-              "type" : "object",
-              "additionalProperties" : {
-                "$ref" : "#/definitions/NamespaceOwnershipStatus"
+              "type" : "array",
+              "uniqueItems" : true,
+              "items" : {
+                "type" : "string"
               }
             }
           },
+          "401" : {
+            "description" : "Authentication required"
+          },
           "403" : {
-            "description" : "Don't have admin permission"
+            "description" : "This operation requires super-user access"
           },
           "404" : {
-            "description" : "Cluster doesn't exist"
+            "description" : "Cluster does not exist: cluster={clustername}"
           }
         }
       }
@@ -6932,10 +6944,10 @@
             "type" : "string"
           }
         },
-        "clientVersion" : {
+        "connectedSince" : {
           "type" : "string"
         },
-        "connectedSince" : {
+        "clientVersion" : {
           "type" : "string"
         },
         "address" : {
@@ -7258,10 +7270,6 @@
           "type" : "number",
           "format" : "double"
         },
-        "msgThroughputIn" : {
-          "type" : "number",
-          "format" : "double"
-        },
         "underLoaded" : {
           "type" : "boolean"
         },
@@ -7271,13 +7279,15 @@
         "loadReportType" : {
           "type" : "string"
         },
-        "cpu" : {
-          "$ref" : "#/definitions/ResourceUsage"
+        "msgThroughputIn" : {
+          "type" : "number",
+          "format" : "double"
         },
-        "memory" : {
-          "$ref" : "#/definitions/ResourceUsage"
+        "lastUpdate" : {
+          "type" : "integer",
+          "format" : "int64"
         },
-        "directMemory" : {
+        "cpu" : {
           "$ref" : "#/definitions/ResourceUsage"
         },
         "bandwidthIn" : {
@@ -7286,9 +7296,11 @@
         "bandwidthOut" : {
           "$ref" : "#/definitions/ResourceUsage"
         },
-        "lastUpdate" : {
-          "type" : "integer",
-          "format" : "int64"
+        "memory" : {
+          "$ref" : "#/definitions/ResourceUsage"
+        },
+        "directMemory" : {
+          "$ref" : "#/definitions/ResourceUsage"
         },
         "msgThroughputOut" : {
           "type" : "number",
@@ -7452,13 +7464,13 @@
           "type" : "number",
           "format" : "double"
         },
-        "clientVersion" : {
+        "producerName" : {
           "type" : "string"
         },
         "connectedSince" : {
           "type" : "string"
         },
-        "producerName" : {
+        "clientVersion" : {
           "type" : "string"
         },
         "address" : {
@@ -8182,13 +8194,13 @@
             "type" : "string"
           }
         },
-        "clientVersion" : {
+        "producerName" : {
           "type" : "string"
         },
         "connectedSince" : {
           "type" : "string"
         },
-        "producerName" : {
+        "clientVersion" : {
           "type" : "string"
         },
         "address" : {
diff --git a/content/swagger/swaggerfunctions.json b/content/swagger/swaggerfunctions.json
index 87aa878..580bd92 100644
--- a/content/swagger/swaggerfunctions.json
+++ b/content/swagger/swaggerfunctions.json
@@ -364,6 +364,49 @@
             "description" : "Internal server error"
           }
         }
+      },
+      "post" : {
+        "tags" : [ "functions" ],
+        "summary" : "Put the state associated with a Pulsar Function",
+        "description" : "",
+        "operationId" : "putFunctionState",
+        "consumes" : [ "multipart/form-data" ],
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "name" : "tenant",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "namespace",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "functionName",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "key",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        } ],
+        "responses" : {
+          "400" : {
+            "description" : "Invalid request"
+          },
+          "403" : {
+            "description" : "The requester doesn't have admin permissions"
+          },
+          "404" : {
+            "description" : "The function does not exist"
+          },
+          "500" : {
+            "description" : "Internal server error"
+          }
+        }
       }
     },
     "/functions/{tenant}/{namespace}/{functionName}/stats" : {
@@ -1115,6 +1158,13 @@
         "stringValue" : {
           "type" : "string"
         },
+        "byteValue" : {
+          "type" : "array",
+          "items" : {
+            "type" : "string",
+            "format" : "byte"
+          }
+        },
         "numberValue" : {
           "type" : "integer",
           "format" : "int64"
@@ -1185,17 +1235,13 @@
     "Message" : {
       "type" : "object",
       "properties" : {
-        "publishTime" : {
-          "type" : "integer",
-          "format" : "int64"
+        "messageId" : {
+          "$ref" : "#/definitions/MessageId"
         },
-        "eventTime" : {
+        "sequenceId" : {
           "type" : "integer",
           "format" : "int64"
         },
-        "topicName" : {
-          "type" : "string"
-        },
         "keyBytes" : {
           "type" : "array",
           "items" : {
@@ -1213,26 +1259,30 @@
         "encryptionCtx" : {
           "$ref" : "#/definitions/EncryptionContext"
         },
-        "schemaVersion" : {
-          "type" : "array",
-          "items" : {
-            "type" : "string",
-            "format" : "byte"
-          }
+        "redeliveryCount" : {
+          "type" : "integer",
+          "format" : "int32"
         },
-        "sequenceId" : {
+        "publishTime" : {
           "type" : "integer",
           "format" : "int64"
         },
-        "messageId" : {
-          "$ref" : "#/definitions/MessageId"
+        "eventTime" : {
+          "type" : "integer",
+          "format" : "int64"
+        },
+        "topicName" : {
+          "type" : "string"
         },
         "producerName" : {
           "type" : "string"
         },
-        "redeliveryCount" : {
-          "type" : "integer",
-          "format" : "int32"
+        "schemaVersion" : {
+          "type" : "array",
+          "items" : {
+            "type" : "string",
+            "format" : "byte"
+          }
         },
         "data" : {
           "type" : "array",