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

sanjeevrk pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-pulsar.git


The following commit(s) were added to refs/heads/master by this push:
     new 87fb48f  Updated documentation about changed arguments for functions, 
sources and sinks (#2457)
87fb48f is described below

commit 87fb48feaa1c2dfe31f08833a8a9f889837f6d96
Author: Sanjeev Kulkarni <sanjee...@gmail.com>
AuthorDate: Wed Aug 29 19:34:30 2018 -0700

    Updated documentation about changed arguments for functions, sources and 
sinks (#2457)
    
    * Updated documentation about changed arguments for functions, sources and 
sinks
    
    * Some missing files
---
 .../org/apache/pulsar/admin/cli/CmdFunctions.java  |   2 +-
 .../java/org/apache/pulsar/admin/cli/CmdSinks.java |   4 -
 site2/docs/deploy-bare-metal.md                    |   4 +-
 site2/docs/functions-api.md                        |  73 +++---
 site2/docs/functions-deploying.md                  |  20 +-
 site2/docs/functions-guarantees.md                 |   4 +-
 site2/docs/functions-overview.md                   |  24 +-
 site2/docs/functions-quickstart.md                 |  10 +-
 site2/docs/io-managing.md                          |  20 +-
 site2/docs/io-quickstart.md                        |   2 +-
 site2/docs/reference-pulsar-admin.md               | 272 ++++++++++++++++-----
 11 files changed, 295 insertions(+), 140 deletions(-)

diff --git 
a/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdFunctions.java
 
b/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdFunctions.java
index 88412a6..18d483c 100644
--- 
a/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdFunctions.java
+++ 
b/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdFunctions.java
@@ -770,7 +770,7 @@ public class CmdFunctions extends CmdBase {
         // for backwards compatibility purposes
         @Parameter(names = "--stateStorageServiceUrl", description = "The URL 
for the state storage service (by default Apache BookKeeper)", hidden = true)
         protected String DEPRECATED_stateStorageServiceUrl;
-        @Parameter(names = "--state-storag-service-url", description = "The 
URL for the state storage service (by default Apache BookKeeper)")
+        @Parameter(names = "--state-storage-service-url", description = "The 
URL for the state storage service (by default Apache BookKeeper)")
         protected String stateStorageServiceUrl;
         // for backwards compatibility purposes
         @Parameter(names = "--brokerServiceUrl", description = "The URL for 
the Pulsar broker", hidden = true)
diff --git 
a/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdSinks.java 
b/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdSinks.java
index 5259996..3e49600 100644
--- 
a/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdSinks.java
+++ 
b/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdSinks.java
@@ -244,10 +244,6 @@ public class CmdSinks extends CmdBase {
         @Parameter(names = "--topics-pattern", description = "TopicsPattern to 
consume from list of topics under a namespace that match the pattern. [--input] 
and [--topicsPattern] are mutually exclusive. Add SerDe class name for a 
pattern in --customSerdeInputs  (supported for java fun only)")
         protected String topicsPattern;
 
-        @Parameter(names = { "-st",
-                "--schema-type" }, description = "The builtin schema type (eg: 
'avro', 'json', etc..) or the class name for a Schema implementation")
-        protected String schemaType = "";
-
         @Parameter(names = "--subsName", description = "Pulsar source 
subscription name if user wants a specific subscription-name for input-topic 
consumer", hidden = true)
         protected String DEPRECATED_subsName;
         @Parameter(names = "--subs-name", description = "Pulsar source 
subscription name if user wants a specific subscription-name for input-topic 
consumer")
diff --git a/site2/docs/deploy-bare-metal.md b/site2/docs/deploy-bare-metal.md
index b0590a0..a65a45a 100644
--- a/site2/docs/deploy-bare-metal.md
+++ b/site2/docs/deploy-bare-metal.md
@@ -334,7 +334,7 @@ Create a ExclamationFunction `exclamation`.
 ```bash
 bin/pulsar-admin functions create \
   --jar examples/api-examples.jar \
-  --className org.apache.pulsar.functions.api.examples.ExclamationFunction \
+  --classname org.apache.pulsar.functions.api.examples.ExclamationFunction \
   --inputs persistent://public/default/exclamation-input \
   --output persistent://public/default/exclamation-output \
   --tenant public \
@@ -345,7 +345,7 @@ bin/pulsar-admin functions create \
 Check if the function is running as expected by 
[triggering](functions-deploying.md#triggering-pulsar-functions) the function.
 
 ```bash
-bin/pulsar-admin functions trigger --name exclamation --triggerValue "hello 
world"
+bin/pulsar-admin functions trigger --name exclamation --trigger-value "hello 
world"
 ```
 
 You will see output as below:
diff --git a/site2/docs/functions-api.md b/site2/docs/functions-api.md
index a52128c..283fcd4 100644
--- a/site2/docs/functions-api.md
+++ b/site2/docs/functions-api.md
@@ -47,13 +47,13 @@ Deploying Pulsar Functions is handled by the 
[`pulsar-admin`](reference-pulsar-a
 ```bash
 $ bin/pulsar-admin functions localrun \
   --py sanitizer.py \          # The Python file with the function's code
-  --className sanitizer \      # The class or function holding the processing 
logic
+  --classname sanitizer \      # The class or function holding the processing 
logic
   --tenant public \            # The function's tenant (derived from the topic 
name by default)
   --namespace default \        # The function's namespace (derived from the 
topic name by default)
   --name sanitizer-function \  # The name of the function (the class name by 
default)
   --inputs dirty-strings-in \  # The input topic(s) for the function
   --output clean-strings-out \ # The output topic for the function
-  --logTopic sanitizer-logs    # The topic to which all functions logs are 
published
+  --log-topic sanitizer-logs   # The topic to which all functions logs are 
published
 ```
 
 For instructions on running functions in your Pulsar cluster, see the 
[Deploying Pulsar Functions](functions-deploying.md) guide.
@@ -85,7 +85,16 @@ class DisplayFunctionName(Function):
         return "The function processing this message has the name 
{0}".format(function_name)
 ```
 
-### Serialization and deserialization (SerDe)
+### Functions, Messages and Message Types
+
+Pulsar Functions can take byte arrays as inputs and spit out byte arrays as 
output. However in languages that support typed interfaces(just Java at the 
moment) one can write typed Functions as well. In this scenario, there are two 
ways one can bind messages to types.
+* [Schema Registry](#Schema-Registry)
+* [SerDe](#SerDe)
+
+### Schema Registry
+Pulsar has a built in [Schema Registry](concepts-schema-registry) and comes 
bundled with a variety of popular schema types(avro, json and protobuf). Pulsar 
Functions can leverage existing schema information from input topics to derive 
the input type. The same applies for output topic as well.
+
+### SerDe
 
 SerDe stands for **Ser**ialization and **De**serialization. All Pulsar 
Functions use SerDe for message handling. How SerDe works by default depends on 
the language you're using for a particular function:
 
@@ -119,7 +128,7 @@ When you run or update Pulsar Functions created using the 
[SDK](#available-apis)
 $ bin/pulsar-admin functions create \
   --name word-filter \
   # Other function configs
-  --userConfig '{"forbidden-word":"rosebud"}'
+  --user-config '{"forbidden-word":"rosebud"}'
 ```
 
 If the function were a Python function, that config value could be accessed 
like this:
@@ -242,11 +251,10 @@ The {@inject: 
javadoc:Context:/client/org/apache/pulsar/functions/api/Context} i
 
 ```java
 public interface Context {
-    byte[] getMessageId();
-    String getTopicName();
-    Collection<String> getSourceTopics();
-    String getSinkTopic();
-    String getOutputSerdeClassName();
+    Record<?> getCurrentRecord();
+    Collection<String> getInputTopics();
+    String getOutputTopic();
+    String getOutputSchemaType();
     String getTenant();
     String getNamespace();
     String getFunctionName();
@@ -254,13 +262,16 @@ public interface Context {
     String getInstanceId();
     String getFunctionVersion();
     Logger getLogger();
-    Map<String, String> getUserConfigMap();
-    Optional<String> getUserConfigValue(String key);
-    String getUserConfigValueOrDefault(String key, String default);
+    void incrCounter(String key, long amount);
+    long getCounter(String key);
+    void putState(String key, ByteBuffer value);
+    ByteBuffer getState(String key);
+    Map<String, Object> getUserConfigMap();
+    Optional<Object> getUserConfigValue(String key);
+    Object getUserConfigValueOrDefault(String key, Object defaultValue);
     void recordMetric(String metricName, double value);
-    <O> CompletableFuture<Void> publish(String topicName, O object, String 
serDeClassName);
+    <O> CompletableFuture<Void> publish(String topicName, O object, String 
schemaOrSerdeClassName);
     <O> CompletableFuture<Void> publish(String topicName, O object);
-    CompletableFuture<Void> ack(byte[] messageId, String topic);
 }
 ```
 
@@ -382,7 +393,7 @@ Here's an example 
[`create`](reference-pulsar-admin.md#create-1) operation:
 ```bash
 $ bin/pulsar-admin functions create \
   --jar /path/to/your.jar \
-  --outputSerdeClassName com.example.serde.TweetSerde \
+  --output-serde-classname com.example.serde.TweetSerde \
   # Other function attributes
 ```
 
@@ -420,8 +431,8 @@ If you want your function to produce logs, you need to 
specify a log topic when
 ```bash
 $ bin/pulsar-admin functions create \
   --jar my-functions.jar \
-  --className my.package.LoggingFunction \
-  --logTopic persistent://public/default/logging-function-logs \
+  --classname my.package.LoggingFunction \
+  --log-topic persistent://public/default/logging-function-logs \
   # Other function configs
 ```
 
@@ -434,7 +445,7 @@ The Java SDK's [`Context`](#context) object enables you to 
access key/value pair
 ```bash
 $ bin/pulsar-admin functions create \
   # Other function configs
-  --userConfig '{"word-of-the-day":"verdure"}'
+  --user-config '{"word-of-the-day":"verdure"}'
 ```
 
 To access that value in a Java function:
@@ -511,18 +522,12 @@ Writing Pulsar Functions in Python entails implementing 
one of two things:
 
 ### Getting started
 
-Regardless of which [deployment mode](functions-deploying.md) you're using, 
you'll need to install the following Python libraries on any machine that's 
running Pulsar Functions written in Python:
-
-* pulsar-client
-* protobuf
-* futures
-* grpcio
-* grpcio-tools
+Regardless of which [deployment mode](functions-deploying.md) you're using, 
'pulsar-client' python library has to installed on any machine that's running 
Pulsar Functions written in Python.
 
 That could be your local machine for [local run 
mode](functions-deploying.md#local-run-mode) or a machine running a Pulsar 
[broker](reference-terminology.md#broker) for [cluster 
mode](functions-deploying.md#cluster-mode). To install those libraries using 
pip:
 
 ```bash
-$ pip install pulsar-client protobuf futures grpcio grpcio-tools
+$ pip install pulsar-client
 ```
 
 ### Packaging
@@ -567,7 +572,9 @@ The 
[`Context`](https://github.com/apache/incubator-pulsar/blob/master/pulsar-cl
 Method | What it provides
 :------|:----------------
 `get_message_id` | The message ID of the message being processed
-`get_topic_name` | The input topic of the message being processed
+`get_current_message_topic_name` | The topic of the message being currently 
being processed
+`get_function_tenant` | The tenant under which the current Pulsar Function 
runs under
+`get_function_namespace` | The namespace under which the current Pulsar 
Function runs under
 `get_function_name` | The name of the current Pulsar Function
 `get_function_id` | The ID of the current Pulsar Function
 `get_instance_id` | The ID of the current Pulsar Functions instance
@@ -590,9 +597,9 @@ $ bin/pulsar-admin functions create \
   --namespace default \
   --name my_function \
   --py my_function.py \
-  --className my_function.MyFunction \
-  --customSerdeInputs '{"input-topic-1":"Serde1","input-topic-2":"Serde2"}' \
-  --outputSerdeClassName Serde3 \
+  --classname my_function.MyFunction \
+  --custom-serde-inputs '{"input-topic-1":"Serde1","input-topic-2":"Serde2"}' \
+  --output-serde-classname Serde3 \
   --output output-topic-1
 ```
 
@@ -665,8 +672,8 @@ If you want your function to produce logs on a Pulsar 
topic, you need to specify
 ```bash
 $ bin/pulsar-admin functions create \
   --py logging_function.py \
-  --className logging_function.LoggingFunction \
-  --logTopic logging-function-logs \
+  --classname logging_function.LoggingFunction \
+  --log-topic logging-function-logs \
   # Other function configs
 ```
 
@@ -679,7 +686,7 @@ The Python SDK's [`Context`](#context) object enables you 
to access key/value pa
 ```bash
 $ bin/pulsar-admin functions create \
   # Other function configs \
-  --userConfig '{"word-of-the-day":"verdure"}'
+  --user-config '{"word-of-the-day":"verdure"}'
 ```
 
 To access that value in a Python function:
diff --git a/site2/docs/functions-deploying.md 
b/site2/docs/functions-deploying.md
index dcf2d3b..27f214c 100644
--- a/site2/docs/functions-deploying.md
+++ b/site2/docs/functions-deploying.md
@@ -43,7 +43,7 @@ When managing Pulsar Functions, you'll need to specify a 
variety of information
 
 Parameter | Default
 :---------|:-------
-Function name | Whichever value is specified for the class name (minus org, 
library, etc.). The flag `--className org.example.MyFunction`, for example, 
would give the function a name of `MyFunction`.
+Function name | Whichever value is specified for the class name (minus org, 
library, etc.). The flag `--classname org.example.MyFunction`, for example, 
would give the function a name of `MyFunction`.
 Tenant | Derived from the input topics' names. If the input topics are under 
the `marketing` tenant---i.e. the topic names have the form 
`persistent://marketing/{namespace}/{topicName}`---then the tenant will be 
`marketing`.
 Namespace | Derived from the input topics' names. If the input topics are 
under the `asia` namespace under the `marketing` tenant---i.e. the topic names 
have the form `persistent://marketing/asia/{topicName}`, then the namespace 
will be `asia`.
 Output topic | `{input topic}-{function name}-output`. A function with an 
input topic name of `incoming` and a function name of `exclamation`, for 
example, would have an output topic of `incoming-exclamation-output`.
@@ -58,7 +58,7 @@ Take this `create` command:
 ```bash
 $ bin/pulsar-admin functions create \
   --jar my-pulsar-functions.jar \
-  --className org.example.MyFunction \
+  --classname org.example.MyFunction \
   --inputs my-function-input-topic1,my-function-input-topic2
 ```
 
@@ -71,7 +71,7 @@ If you run a Pulsar Function in **local run** mode, it will 
run on the machine f
 ```bash
 $ bin/pulsar-admin functions localrun \
   --py myfunc.py \
-  --className myfunc.SomeFunction \
+  --classname myfunc.SomeFunction \
   --inputs persistent://public/default/input-1 \
   --output persistent://public/default/output-1
 ```
@@ -80,7 +80,7 @@ By default, the function will connect to a Pulsar cluster 
running on the same ma
 
 ```bash
 $ bin/pulsar-admin functions localrun \
-  --brokerServiceUrl pulsar://my-cluster-host:6650 \
+  --broker-service-url pulsar://my-cluster-host:6650 \
   # Other function parameters
 ```
 
@@ -91,7 +91,7 @@ When you run a Pulsar Function in **cluster mode**, the 
function code will be up
 ```bash
 $ bin/pulsar-admin functions create \
   --py myfunc.py \
-  --className myfunc.SomeFunction \
+  --classname myfunc.SomeFunction \
   --inputs persistent://public/default/input-1 \
   --output persistent://public/default/output-1
 ```
@@ -103,7 +103,7 @@ You can use the 
[`update`](reference-pulsar-admin.md#update-1) command to update
 ```bash
 $ bin/pulsar-admin functions update \
   --py myfunc.py \
-  --className myfunc.SomeFunction \
+  --classname myfunc.SomeFunction \
   --inputs persistent://public/default/new-input-topic \
   --output persistent://public/default/new-output-topic
 ```
@@ -143,7 +143,7 @@ And here's the corresponding update command:
 
 ```bash
 $ bin/pulsar-admin functions update \
-  --functionConfigFile function-config.yaml
+  --function-config-file function-config.yaml
 ```
 
 ### Function instance resources
@@ -161,7 +161,7 @@ Here's an example function creation command that allocates 
8 cores, 8 GB of RAM,
 ```bash
 $ bin/pulsar-admin functions create \
   --jar target/my-functions.jar \
-  --className org.example.functions.MyFunction \
+  --classname org.example.functions.MyFunction \
   --cpu 8 \
   --ram 8589934592 \
   --disk 10737418240
@@ -192,7 +192,7 @@ $ bin/pulsar-admin functions create \
   --namespace default \
   --name myfunc \
   --py myfunc.py \
-  --className myfunc \
+  --classname myfunc \
   --inputs persistent://public/default/in \
   --output persistent://public/default/out
 ```
@@ -212,7 +212,7 @@ $ bin/pulsar-admin functions trigger \
   --tenant public \
   --namespace default \
   --name myfunc \
-  --triggerValue "hello world"
+  --trigger-value "hello world"
 ```
 
 The consumer listening on the output topic should then produce this in its 
logs:
diff --git a/site2/docs/functions-guarantees.md 
b/site2/docs/functions-guarantees.md
index 1c731eb..738439f 100644
--- a/site2/docs/functions-guarantees.md
+++ b/site2/docs/functions-guarantees.md
@@ -18,7 +18,7 @@ You can set the processing guarantees for a Pulsar Function 
when you create the
 
 ```bash
 $ bin/pulsar-admin functions create \
-  --processingGuarantees EFFECTIVELY_ONCE \
+  --processing-guarantees EFFECTIVELY_ONCE \
   # Other function configs
 ```
 
@@ -36,6 +36,6 @@ You can change the processing guarantees applied to a 
function once it's already
 
 ```bash
 $ bin/pulsar-admin functions update \
-  --processingGuarantees ATMOST_ONCE \
+  --processing-guarantees ATMOST_ONCE \
   # Other function configs
 ```
diff --git a/site2/docs/functions-overview.md b/site2/docs/functions-overview.md
index 2bc1e36..2a5f81d 100644
--- a/site2/docs/functions-overview.md
+++ b/site2/docs/functions-overview.md
@@ -97,7 +97,7 @@ public class WordCountFunction implements Function<String, 
Void> {
 ```bash
 $ bin/pulsar-admin functions create \
   --jar target/my-jar-with-dependencies.jar \
-  --className org.example.functions.WordCountFunction \
+  --classname org.example.functions.WordCountFunction \
   --tenant public \
   --namespace default \
   --name word-count \
@@ -148,7 +148,7 @@ $ bin/pulsar-functions localrun \
   --inputs persistent://public/default/test_src \
   --output persistent://public/default/test_result \
   --jar examples/api-examples.jar \
-  --className org.apache.pulsar.functions.api.examples.ExclamationFunction
+  --classname org.apache.pulsar.functions.api.examples.ExclamationFunction
 ```
 
 ## Fully Qualified Function Name (FQFN)
@@ -172,7 +172,7 @@ If you're supplying a YAML configuration, you must specify 
a path to the file on
 
 ```bash
 $ bin/pulsar-admin functions create \
-  --functionConfigFile ./my-function.yaml
+  --function-config-file ./my-function.yaml
 ```
 
 And here's an example `my-function.yaml` file:
@@ -277,7 +277,7 @@ If you run a Pulsar Function in **local run** mode, it will 
run on the machine f
 ```bash
 $ bin/pulsar-admin functions localrun \
   --py myfunc.py \
-  --className myfunc.SomeFunction \
+  --classname myfunc.SomeFunction \
   --inputs persistent://public/default/input-1 \
   --output persistent://public/default/output-1
 ```
@@ -286,7 +286,7 @@ By default, the function will connect to a Pulsar cluster 
running on the same ma
 
 ```bash
 $ bin/pulsar-admin functions localrun \
-  --brokerServiceUrl pulsar://my-cluster-host:6650 \
+  --broker-service-url pulsar://my-cluster-host:6650 \
   # Other function parameters
 ```
 
@@ -297,7 +297,7 @@ When you run a Pulsar Function in **cluster mode**, the 
function code will be up
 ```bash
 $ bin/pulsar-admin functions create \
   --py myfunc.py \
-  --className myfunc.SomeFunction \
+  --classname myfunc.SomeFunction \
   --inputs persistent://public/default/input-1 \
   --output persistent://public/default/output-1
 ```
@@ -316,7 +316,7 @@ $ bin/pulsar-admin functions create \
   --tenant public \
   --namespace default \
   --py func.py \
-  --className func.ParallelFunction \
+  --classname func.ParallelFunction \
   --parallelism 5
 ```
 
@@ -335,7 +335,7 @@ Here's an example function creation command that allocates 
8 cores, 8 GB of RAM,
 ```bash
 $ bin/pulsar-admin functions create \
   --jar target/my-functions.jar \
-  --className org.example.functions.MyFunction \
+  --classname org.example.functions.MyFunction \
   --cpu 8 \
   --ram 8589934592 \
   --disk 10737418240
@@ -350,7 +350,7 @@ Pulsar Functions created using the [Pulsar Functions 
SDK](#the-pulsar-functions-
 ```bash
 $ bin/pulsar-admin functions create \
   --name my-func-1 \
-  --logTopic persistent://public/default/my-func-1-log \
+  --log-topic persistent://public/default/my-func-1-log \
   # Other configs
 ```
 
@@ -378,7 +378,7 @@ Here's an example of passing a user configuration to a 
function:
 
 ```bash
 $ bin/pulsar-admin functions create \
-  --userConfig '{"key-1":"value-1","key-2","value-2"}' \
+  --user-config '{"key-1":"value-1","key-2","value-2"}' \
   # Other configs
 ```
 
@@ -416,7 +416,7 @@ $ bin/pulsar-admin functions trigger \
   --tenant public \
   --namespace default \
   --name reverse-func \
-  --triggerValue "snoitcnuf raslup ot emoclew"
+  --trigger-value "snoitcnuf raslup ot emoclew"
 ```
 
 That should return `welcome to pulsar functions` as the console output.
@@ -438,7 +438,7 @@ This command, for example, would run a function in [cluster 
mode](#cluster-run-m
 ```bash
 $ bin/pulsar-admin functions create \
   --name my-effectively-once-function \
-  --processingGuarantees EFFECTIVELY_ONCE \
+  --processing-guarantees EFFECTIVELY_ONCE \
   # Other function configs
 ```
 
diff --git a/site2/docs/functions-quickstart.md 
b/site2/docs/functions-quickstart.md
index 9d3690e..3523216 100644
--- a/site2/docs/functions-quickstart.md
+++ b/site2/docs/functions-quickstart.md
@@ -48,7 +48,7 @@ A JAR file containing this and several other functions 
(written in Java) is incl
 ```bash
 $ bin/pulsar-admin functions localrun \
   --jar examples/api-examples.jar \
-  --className org.apache.pulsar.functions.api.examples.ExclamationFunction \
+  --classname org.apache.pulsar.functions.api.examples.ExclamationFunction \
   --inputs persistent://public/default/exclamation-input \
   --output persistent://public/default/exclamation-output \
   --name exclamation
@@ -104,7 +104,7 @@ This command, for example, would deploy the same 
exclamation function we ran loc
 ```bash
 $ bin/pulsar-admin functions create \
   --jar examples/api-examples.jar \
-  --className org.apache.pulsar.functions.api.examples.ExclamationFunction \
+  --classname org.apache.pulsar.functions.api.examples.ExclamationFunction \
   --inputs persistent://public/default/exclamation-input \
   --output persistent://public/default/exclamation-output \
   --name exclamation
@@ -171,7 +171,7 @@ As we can see, the parallelism of the function is 1, 
meaning that only one insta
 ```bash
 $ bin/pulsar-admin functions update \
   --jar examples/api-examples.jar \
-  --className org.apache.pulsar.functions.api.examples.ExclamationFunction \
+  --classname org.apache.pulsar.functions.api.examples.ExclamationFunction \
   --inputs persistent://public/default/exclamation-input \
   --output persistent://public/default/exclamation-output \
   --tenant public \
@@ -235,7 +235,7 @@ Here, the `process` method defines the processing logic of 
the Pulsar Function.
 ```bash
 $ bin/pulsar-admin functions create \
   --py reverse.py \
-  --className reverse \
+  --class-name reverse \
   --inputs persistent://public/default/backwards \
   --output persistent://public/default/forwards \
   --tenant public \
@@ -250,7 +250,7 @@ $ bin/pulsar-admin functions trigger \
   --name reverse \
   --tenant public \
   --namespace default \
-  --triggerValue "sdrawrof won si tub sdrawkcab saw gnirts sihT"
+  --trigger-value "sdrawrof won si tub sdrawkcab saw gnirts sihT"
 ```
 
 You should get this output:
diff --git a/site2/docs/io-managing.md b/site2/docs/io-managing.md
index 5807924..72210d1 100644
--- a/site2/docs/io-managing.md
+++ b/site2/docs/io-managing.md
@@ -54,22 +54,22 @@ Pulsar connectors can be managed using the 
[`source`](reference-pulsar-admin.md#
 You can submit a source to be run in an existing Pulsar cluster using a 
command of this form:
 
 ```bash
-$ ./bin/pulsar-admin source create --className  <classname> --jar 
<jar-location> --tenant <tenant> --namespace <namespace> --name <source-name> 
--destinationTopicName <output-topic>
+$ ./bin/pulsar-admin source create --classname  <classname> --archive 
<jar-location> --tenant <tenant> --namespace <namespace> --name <source-name> 
--destination-topic-name <output-topic>
 ```
 
 Here’s an example command:
 
 ```bash
-bin/pulsar-admin source create --className 
org.apache.pulsar.io.twitter.TwitterFireHose --jar ~/application.jar --tenant 
test --namespace ns1 --name twitter-source --destinationTopicName twitter_data
+bin/pulsar-admin source create --classname 
org.apache.pulsar.io.twitter.TwitterFireHose --archive ~/application.jar 
--tenant test --namespace ns1 --name twitter-source --destination-topic-name 
twitter_data
 ```
 
 Instead of submitting a source to run on an existing Pulsar cluster, you 
alternatively can run a source as a process on your local machine:
 
 ```bash
-bin/pulsar-admin source localrun --className  
org.apache.pulsar.io.twitter.TwitterFireHose --jar ~/application.jar --tenant 
test --namespace ns1 --name twitter-source --destinationTopicName twitter_data
+bin/pulsar-admin source localrun --classname  
org.apache.pulsar.io.twitter.TwitterFireHose --archive ~/application.jar 
--tenant test --namespace ns1 --name twitter-source --destination-topic-name 
twitter_data
 ```
 
-If you are submitting a built-in source, you don't need to specify 
`--className` and `--jar`.
+If you are submitting a built-in source, you don't need to specify 
`--classname` and `--archive`.
 You can simply specify the source type `--source-type`. The command to submit 
a built-in source is
 in following form:
 
@@ -78,7 +78,7 @@ in following form:
     --tenant <tenant> \
     --namespace <namespace> \
     --name <source-name> \
-    --destinationTopicName <input-topics> \
+    --destination-topic-name <input-topics> \
     --source-type <source-type>
 ```
 
@@ -89,7 +89,7 @@ Here's an example to submit a Kafka source:
     --tenant test-tenant \
     --namespace test-namespace \
     --name test-kafka-source \
-    --destinationTopicName pulsar_sink_topic \
+    --destination-topic-name pulsar_sink_topic \
     --source-type kafka
 ```
 
@@ -98,22 +98,22 @@ Here's an example to submit a Kafka source:
 You can submit a sink to be run in an existing Pulsar cluster using a command 
of this form:
 
 ```bash
-./bin/pulsar-admin sink create --className  <classname> --jar <jar-location> 
--tenant test --namespace <namespace> --name <sink-name> --inputs <input-topics>
+./bin/pulsar-admin sink create --classname  <classname> --archive 
<jar-location> --tenant test --namespace <namespace> --name <sink-name> 
--inputs <input-topics>
 ```
 
 Here’s an example command:
 
 ```bash
-./bin/pulsar-admin sink create --className  org.apache.pulsar.io.cassandra 
--jar ~/application.jar --tenant test --namespace ns1 --name cassandra-sink 
--inputs test_topic
+./bin/pulsar-admin sink create --classname  org.apache.pulsar.io.cassandra 
--archive ~/application.jar --tenant test --namespace ns1 --name cassandra-sink 
--inputs test_topic
 ```
 
 Instead of submitting a sink to run on an existing Pulsar cluster, you 
alternatively can run a sink as a process on your local machine:
 
 ```bash
-./bin/pulsar-admin sink localrun --className  org.apache.pulsar.io.cassandra 
--jar ~/application.jar --tenant test --namespace ns1 --name cassandra-sink 
--inputs test_topic
+./bin/pulsar-admin sink localrun --classname  org.apache.pulsar.io.cassandra 
--archive ~/application.jar --tenant test --namespace ns1 --name cassandra-sink 
--inputs test_topic
 ```
 
-If you are submitting a built-in sink, you don't need to specify `--className` 
and `--jar`.
+If you are submitting a built-in sink, you don't need to specify `--classname` 
and `--archive`.
 You can simply specify the sink type `--sink-type`. The command to submit a 
built-in sink is
 in following form:
 
diff --git a/site2/docs/io-quickstart.md b/site2/docs/io-quickstart.md
index d426a1c..4b40f6b 100644
--- a/site2/docs/io-quickstart.md
+++ b/site2/docs/io-quickstart.md
@@ -233,7 +233,7 @@ bin/pulsar-admin sink create \
     --namespace default \
     --name cassandra-test-sink \
     --sink-type cassandra \
-    --sinkConfigFile examples/cassandra-sink.yml \
+    --sink-config-file examples/cassandra-sink.yml \
     --inputs test_cassandra
 ```
 
diff --git a/site2/docs/reference-pulsar-admin.md 
b/site2/docs/reference-pulsar-admin.md
index 48fec1a..459afce 100644
--- a/site2/docs/reference-pulsar-admin.md
+++ b/site2/docs/reference-pulsar-admin.md
@@ -306,24 +306,35 @@ Options
 |`--cpu`|The CPU to allocate to each function instance (in number of cores)||
 |`--ram`|The RAM to allocate to each function instance (in bytes)||
 |`--disk`|The disk space to allocate to each function instance (in bytes)||
-|`--brokerServiceUrl `|The URL of the Pulsar broker||
-|`--className`|The name of the function’s class||
-|`--customSerdeInputs`|A map of the input topic to SerDe name||
-|`--functionConfigFile`|The path of the YAML config file used to configure the 
function||
+|`--auto-ack`|Let the functions framework manage acking||
+|`--broker-service-url `|The URL of the Pulsar broker||
+|`--classname`|The name of the function’s class||
+|`--custom-serde-inputs`|A map of the input topic to SerDe name||
+|`--client-auth-params`|Client Authentication Params||
+|`--function-config-file`|The path of the YAML config file used to configure 
the function||
+|`--hostname-verification-enabled`|Enable Hostname verification||
+|`--instance-id-offset`|Instance ids will be assigned starting from this 
offset||
 |`--inputs`|The input topics for the function (as a comma-separated list if 
more than one topic is desired)||
-|`--logTopic`|The topic to which logs from this function are published||
+|`--log-topic`|The topic to which logs from this function are published||
 |`--jar`|A path to the JAR file for the function (if the function is written 
in Java)||
-|`--name`|The name of the function|The value specified by --className|
+|`--name`|The name of the function||
 |`--namespace`|The function’s namespace||
 |`--output`|The name of the topic to which the function publishes its output 
(if any)||
-|`--outputSerdeClassName`|The SerDe class used for the function’s output||
+|`--output-serde-classname`|The SerDe class used for the function’s output||
 |`--parallelism`|The function’s parallelism factor, i.e. the number of 
instances of the function to run|1|
-|`--processingGuarantees`|The processing guarantees applied to the function. 
Can be one of: ATLEAST_ONCE, ATMOST_ONCE, or EFFECTIVELY_ONCE|ATLEAST_ONCE|
+|`--processing-guarantees`|The processing guarantees applied to the function. 
Can be one of: ATLEAST_ONCE, ATMOST_ONCE, or EFFECTIVELY_ONCE|ATLEAST_ONCE|
 |`--py`|The path of the Python file containing the function’s processing logic 
(if the function is written in Python)||
-|`--stateStorageServiceUrl`|The service URL for the function’s state storage 
(if the function uses a storage system different from the Apache BookKeeper 
cluster used by Pulsar)||
-|`--subscriptionType`|The subscription type used by the function when 
consuming messages on the input topic(s). Can be either SHARED or 
EXCLUSIVE|SHARED|
+|`--schema-type`|Schema Type to be used for storing output messages||
+|`--skip-output`|Do we supress writing to the output topic||
+|`--sliding-interval-count`|Number of messages after which the window ends||
+|`--sliding-interval-duration-ms`|The time duration after which the window 
slides||
+|`--state-storage-service-url`|The service URL for the function’s state 
storage (if the function uses a storage system different from the Apache 
BookKeeper cluster used by Pulsar)||
+|`--subscription-type`|The subscription type used by the function when 
consuming messages on the input topic(s). Can be either SHARED or 
EXCLUSIVE|SHARED|
 |`--tenant`|The function’s tenant||
-|`--userConfig`|A user-supplied config value, set as a key/value pair. You can 
set multiple user config values.||
+|`--topics-pattern`|The topic pattern to consume from list of topics under a 
namespace that match the pattern||
+|`--user-config`|A user-supplied config value, set as a key/value pair. You 
can set multiple user config values.||
+|`--window-length-count`|The number of messages per window.||
+|`--window-length-duration-ms`|The time duration of the window in 
milliseconds.||
 
 
 ### `create`
@@ -340,24 +351,30 @@ Options
 |`--cpu`|The CPU to allocate to each function instance (in number of cores)||
 |`--ram`|The RAM to allocate to each function instance (in bytes)||
 |`--disk`|The disk space to allocate to each function instance (in bytes)||
-|`--brokerServiceUrl `|The URL of the Pulsar broker||
-|`--className`|The name of the function’s class||
-|`--customSerdeInputs`|A map of the input topic to SerDe name||
-|`--functionConfigFile`|The path of the YAML config file used to configure the 
function||
+|`--auto-ack`|Let the functions framework manage acking||
+|`--classname`|The name of the function’s class||
+|`--custom-serde-inputs`|A map of the input topic to SerDe name||
+|`--function-config-file`|The path of the YAML config file used to configure 
the function||
 |`--inputs`|The input topics for the function (as a comma-separated list if 
more than one topic is desired)||
-|`--logTopic`|The topic to which logs from this function are published||
+|`--log-topic`|The topic to which logs from this function are published||
 |`--jar`|A path to the JAR file for the function (if the function is written 
in Java)||
-|`--name`|The name of the function|The value specified by --className|
+|`--name`|The name of the function||
 |`--namespace`|The function’s namespace||
 |`--output`|The name of the topic to which the function publishes its output 
(if any)||
-|`--outputSerdeClassName`|The SerDe class used for the function’s output||
+|`--output-serde-classname`|The SerDe class used for the function’s output||
 |`--parallelism`|The function’s parallelism factor, i.e. the number of 
instances of the function to run|1|
-|`--processingGuarantees`|The processing guarantees applied to the function. 
Can be one of: ATLEAST_ONCE, ATMOST_ONCE, or EFFECTIVELY_ONCE|ATLEAST_ONCE|
+|`--processing-guarantees`|The processing guarantees applied to the function. 
Can be one of: ATLEAST_ONCE, ATMOST_ONCE, or EFFECTIVELY_ONCE|ATLEAST_ONCE|
 |`--py`|The path of the Python file containing the function’s processing logic 
(if the function is written in Python)||
-|`--stateStorageServiceUrl`|The service URL for the function’s state storage 
(if the function uses a storage system different from the Apache BookKeeper 
cluster used by Pulsar)||
-|`--subscriptionType`|The subscription type used by the function when 
consuming messages on the input topic(s). Can be either SHARED or 
EXCLUSIVE|SHARED|
+|`--schema-type`|Schema Type to be used for storing output messages||
+|`--skip-output`|Do we supress writing to the output topic||
+|`--sliding-interval-count`|Number of messages after which the window ends||
+|`--sliding-interval-duration-ms`|The time duration after which the window 
slides||
+|`--subscription-type`|The subscription type used by the function when 
consuming messages on the input topic(s). Can be either SHARED or 
EXCLUSIVE|SHARED|
 |`--tenant`|The function’s tenant||
-|`--userConfig`|A user-supplied config value, set as a key/value pair. You can 
set multiple user config values.||
+|`--topics-pattern`|The topic pattern to consume from list of topics under a 
namespace that match the pattern||
+|`--user-config`|A user-supplied config value, set as a key/value pair. You 
can set multiple user config values.||
+|`--window-length-count`|The number of messages per window.||
+|`--window-length-duration-ms`|The time duration of the window in 
milliseconds.||
 
 
 ### `delete`
@@ -388,22 +405,34 @@ $ pulsar-admin functions update options
 Options
 |Flag|Description|Default|
 |---|---|---|
-|`--className`|The name of the function’s class||
-|`--customSerdeInputs`|A map of the input topic to SerDe name||
-|`--functionConfigFile`|The path of the YAML config file used to configure the 
function||
+|`--cpu`|The CPU to allocate to each function instance (in number of cores)||
+|`--ram`|The RAM to allocate to each function instance (in bytes)||
+|`--disk`|The disk space to allocate to each function instance (in bytes)||
+|`--auto-ack`|Let the functions framework manage acking||
+|`--classname`|The name of the function’s class||
+|`--custom-serde-inputs`|A map of the input topic to SerDe name||
+|`--function-config-file`|The path of the YAML config file used to configure 
the function||
 |`--inputs`|The input topics for the function (as a comma-separated list if 
more than one topic is desired)||
-|`--logTopic`|The topic to which logs from this function are published||
+|`--log-topic`|The topic to which logs from this function are published||
 |`--jar`|A path to the JAR file for the function (if the function is written 
in Java)||
-|`--name`|The name of the function|The value specified by --className|
+|`--name`|The name of the function||
 |`--namespace`|The function’s namespace||
 |`--output`|The name of the topic to which the function publishes its output 
(if any)||
-|`--outputSerdeClassName`|The SerDe class used for the function’s output||
+|`--output-serde-classname`|The SerDe class used for the function’s output||
 |`--parallelism`|The function’s parallelism factor, i.e. the number of 
instances of the function to run|1|
-|`--processingGuarantees`|The processing guarantees applied to the function. 
Can be one of: ATLEAST_ONCE, ATMOST_ONCE, or EFFECTIVELY_ONCE|ATLEAST_ONCE|
+|`--processing-guarantees`|The processing guarantees applied to the function. 
Can be one of: ATLEAST_ONCE, ATMOST_ONCE, or EFFECTIVELY_ONCE|ATLEAST_ONCE|
 |`--py`|The path of the Python file containing the function’s processing logic 
(if the function is written in Python)||
-|`--subscriptionType`|The subscription type used by the function when 
consuming messages on the input topic(s). Can be either SHARED or 
EXCLUSIVE|SHARED|
+|`--schema-type`|Schema Type to be used for storing output messages||
+|`--skip-output`|Do we supress writing to the output topic||
+|`--sliding-interval-count`|Number of messages after which the window ends||
+|`--sliding-interval-duration-ms`|The time duration after which the window 
slides||
+|`--subscription-type`|The subscription type used by the function when 
consuming messages on the input topic(s). Can be either SHARED or 
EXCLUSIVE|SHARED|
 |`--tenant`|The function’s tenant||
-|`--userConfig`|A user-supplied config value, set as a key/value pair. You can 
set multiple user config values.||
+|`--topics-pattern`|The topic pattern to consume from list of topics under a 
namespace that match the pattern||
+|`--user-config`|A user-supplied config value, set as a key/value pair. You 
can set multiple user config values.||
+|`--window-length-count`|The number of messages per window.||
+|`--window-length-duration-ms`|The time duration of the window in 
milliseconds.||
+
 
 ### `get`
 Fetch information about an existing Pulsar Function
@@ -421,6 +450,40 @@ Options
 |`--tenant`|The tenant of the function||
 
 
+### `restart`
+Restarts either all instances or one particular instance of a function
+
+Usage
+```bash
+$ pulsar-admin functions restart options
+```
+
+Options
+|Flag|Description|Default|
+|---|---|---|
+|`--name`|The name of the function||
+|`--namespace`|The namespace of the function||
+|`--tenant`|The tenant of the function||
+|`--instance-id`|The function instanceId; restart all instances if instance-id 
is not provided||
+
+
+### `stop`
+Temporary stops function instance. (If worker restarts then it reassigns and 
starts functiona again)
+
+Usage
+```bash
+$ pulsar-admin functions stop options
+```
+
+Options
+|Flag|Description|Default|
+|---|---|---|
+|`--name`|The name of the function||
+|`--namespace`|The namespace of the function||
+|`--tenant`|The tenant of the function||
+|`--instance-id`|The function instanceId; stop all instances if instance-id is 
not provided||
+
+
 ### `getstatus`
 Get the status of an existing Pulsar Function
 
@@ -485,8 +548,8 @@ Options
 |`--name`|The name of the Pulsar Function to trigger||
 |`--namespace`|The namespace of the Pulsar Function to trigger||
 |`--tenant`|The tenant of the Pulsar Function to trigger||
-|`--triggerFile`|The path to the file containing the data with which the 
Pulsar Function is to be triggered||
-|`--triggerValue`|The value with which the Pulsar Function is to be triggered||
+|`--trigger-file`|The path to the file containing the data with which the 
Pulsar Function is to be triggered||
+|`--trigger-value`|The value with which the Pulsar Function is to be 
triggered||
 
 
 ## `namespaces`
@@ -914,8 +977,10 @@ $ pulsar-admin sink subcommand
 
 Subcommands
 * `create`
+* `update`
 * `delete`
 * `localrun`
+* `available-sinks`
 
 
 ### `create`
@@ -929,19 +994,52 @@ $ pulsar-admin sink create options
 Options
 |Flag|Description|Default|
 |----|---|---|
-|`--className`|The sink’s Java class name||
+|`--classname`|The sink’s Java class name||
 |`--cpu`|The CPU (in cores) that needs to be allocated per sink instance 
(applicable only to the Docker runtime)||
-|`--customSerdeInputs`|The map of input topics to SerDe class names (as a JSON 
string)||
+|`--custom-serde-inputs`|The map of input topics to SerDe class names (as a 
JSON string)||
+|`--custom-schema-inputs`|The map of input topics to Schema types or class 
names (as a JSON string)||
 |`--disk`|The disk (in bytes) that needs to be allocated per sink instance 
(applicable only to the Docker runtime)||
 |`--inputs`|The sink’s input topic(s) (multiple topics can be specified as a 
comma-separated list)||
-|`--jar`|Path to the Java jar file for the sink||
+|`--archive`|Path to the archive file for the sink||
 |`--name`|The sink’s name||
 |`--namespace`|The sink’s namespace||
 |`--parallelism`|“The sink’s parallelism factor (i.e. the number of sink 
instances to run).”||
-|`--processingGuarantees`|“The processing guarantees (aka delivery semantics) 
applied to the sink. Available values: ATLEAST_ONCE, ATMOST_ONCE, 
EFFECTIVELY_ONCE.”||
+|`--processing-guarantees`|“The processing guarantees (aka delivery semantics) 
applied to the sink. Available values: ATLEAST_ONCE, ATMOST_ONCE, 
EFFECTIVELY_ONCE.”||
 |`--ram`|The RAM (in bytes) that needs to be allocated per sink instance 
(applicable only to the Docker runtime)||
-|`--sinkConfig`|Sink config key/values||
-|`--sinkConfigFile`|The path to a YAML config file specifying the sink’s 
configuration||
+|`--sink-config`|Sink config key/values||
+|`--sink-config-file`|The path to a YAML config file specifying the sink’s 
configuration||
+|`--sink-type`|The built-in sinks's connector provider||
+|`--topics-pattern`|TopicsPattern to consume from list of topics under a 
namespace that match the pattern.||
+|`--tenant`|The sink’s tenant||
+
+
+### `update`
+Submit a Pulsar IO sink connector to run in a Pulsar cluster
+
+Usage
+```bash
+$ pulsar-admin sink update options
+```
+
+Options
+|Flag|Description|Default|
+|----|---|---|
+|`--classname`|The sink’s Java class name||
+|`--cpu`|The CPU (in cores) that needs to be allocated per sink instance 
(applicable only to the Docker runtime)||
+|`--custom-serde-inputs`|The map of input topics to SerDe class names (as a 
JSON string)||
+|`--custom-schema-inputs`|The map of input topics to Schema types or class 
names (as a JSON string)||
+|`--disk`|The disk (in bytes) that needs to be allocated per sink instance 
(applicable only to the Docker runtime)||
+|`--inputs`|The sink’s input topic(s) (multiple topics can be specified as a 
comma-separated list)||
+|`--archive`|Path to the archive file for the sink||
+|`--name`|The sink’s name||
+|`--namespace`|The sink’s namespace||
+|`--parallelism`|“The sink’s parallelism factor (i.e. the number of sink 
instances to run).”||
+|`--processing-guarantees`|“The processing guarantees (aka delivery semantics) 
applied to the sink. Available values: ATLEAST_ONCE, ATMOST_ONCE, 
EFFECTIVELY_ONCE.”||
+|`--ram`|The RAM (in bytes) that needs to be allocated per sink instance 
(applicable only to the Docker runtime)||
+|`--sink-config`|Sink config key/values||
+|`--sink-config-file`|The path to a YAML config file specifying the sink’s 
configuration||
+|`--sink-type`|The built-in sinks's connector provider||
+|`--topics-pattern`|TopicsPattern to consume from list of topics under a 
namespace that match the pattern.||
 |`--tenant`|The sink’s tenant||
 
 
@@ -972,23 +1070,34 @@ $ pulsar-admin sink localrun options
 Options
 |Flag|Description|Default|
 |----|---|---|
-|`--brokerServiceUrl`|The URL for the Pulsar broker||
-|`--className`|The sink’s Java class name||
+|`--broker-service-url`|The URL for the Pulsar broker||
+|`--classname`|The sink’s Java class name||
 |`--cpu`|The CPU (in cores) that needs to be allocated per sink instance 
(applicable only to the Docker runtime)||
-|`--customSerdeInputs`|The map of input topics to SerDe class names (as a JSON 
string)||
+|`--custom-serde-inputs`|The map of input topics to SerDe class names (as a 
JSON string)||
+|`--custom-schema-inputs`|The map of input topics to Schema types or class 
names (as a JSON string)||
 |`--disk`|The disk (in bytes) that needs to be allocated per sink instance 
(applicable only to the Docker runtime)||
 |`--inputs`|The sink’s input topic(s) (multiple topics can be specified as a 
comma-separated list)||
-|`--jar`|Path to the Java jar file for the sink||
+|`--archive`|Path to the archive file for the sink||
 |`--name`|The sink’s name||
 |`--namespace`|The sink’s namespace||
 |`--parallelism`|“The sink’s parallelism factor (i.e. the number of sink 
instances to run).”||
-|`--processingGuarantees`|“The processing guarantees (aka delivery semantics) 
applied to the sink. Available values: ATLEAST_ONCE, ATMOST_ONCE, 
EFFECTIVELY_ONCE.”||
+|`--processing-guarantees`|“The processing guarantees (aka delivery semantics) 
applied to the sink. Available values: ATLEAST_ONCE, ATMOST_ONCE, 
EFFECTIVELY_ONCE.”||
 |`--ram`|The RAM (in bytes) that needs to be allocated per sink instance 
(applicable only to the Docker runtime)||
-|`--sinkConfig`|Sink config key/values||
-|`--sinkConfigFile`|The path to a YAML config file specifying the sink’s 
configuration||
+|`--sink-config`|Sink config key/values||
+|`--sink-config-file`|The path to a YAML config file specifying the sink’s 
configuration||
+|`--sink-type`|The built-in sinks's connector provider||
+|`--topics-pattern`|TopicsPattern to consume from list of topics under a 
namespace that match the pattern.||
 |`--tenant`|The sink’s tenant||
 
 
+### `available-sinks`
+Get a list of all built-in sink connectors
+
+Usage
+```bash
+$ pulsar-admin sink available-sinks
+```
+
 
 ## `source`
 An interface for managing Pulsar IO sources (ingress data into Pulsar)
@@ -1000,8 +1109,10 @@ $ pulsar-admin source subcommand
 
 Subcommands
 * `create`
+* `update`
 * `delete`
 * `localrun`
+* `available-sources`
 
 
 ### `create`
@@ -1015,19 +1126,50 @@ $ pulsar-admin source create options
 Options
 |Flag|Description|Default|
 |----|---|---|
-|`--className`|The source’s Java class name||
+|`--classname`|The source’s Java class name||
 |`--cpu`|The CPU (in cores) that needs to be allocated per source instance 
(applicable only to the Docker runtime)||
-|`--deserializationClassName`|The SerDe classname for the source||
-|`--destinationTopicName`|The Pulsar topic to which data is sent||
+|`--deserialization-classname`|The SerDe classname for the source||
+|`--destination-topic-name`|The Pulsar topic to which data is sent||
 |`--disk`|The disk (in bytes) that needs to be allocated per source instance 
(applicable only to the Docker runtime)||
-|`--jar`|Path to the Java jar file for the source||
+|`--archive`|The path to the NAR archive for the Source||
 |`--name`|The source’s name||
 |`--namespace`|The source’s namespace||
 |`--parallelism`|The source’s parallelism factor (i.e. the number of source 
instances to run).||
-|`--processingGuarantees`|“The processing guarantees (aka delivery semantics) 
applied to the source. Available values: ATLEAST_ONCE, ATMOST_ONCE, 
EFFECTIVELY_ONCE.”||
+|`--processing-guarantees`|“The processing guarantees (aka delivery semantics) 
applied to the source. Available values: ATLEAST_ONCE, ATMOST_ONCE, 
EFFECTIVELY_ONCE.”||
 |`--ram`|The RAM (in bytes) that needs to be allocated per source instance 
(applicable only to the Docker runtime)||
-|`--sourceConfig`|Source config key/values||
-|`--sourceConfigFile`|The path to a YAML config file specifying the source’s 
configuration||
+|`--schema-type`|The schema type (either a builtin schema like 'avro', 'json', 
etc, or custom Schema class name to be used to encode messages emitted from the 
source||
+|`--source-type`|One of the built-in source's connector provider||
+|`--source-config`|Source config key/values||
+|`--source-config-file`|The path to a YAML config file specifying the source’s 
configuration||
+|`--tenant`|The source’s tenant||
+
+
+### `update`
+Update a already submitted Pulsar IO source connector
+
+Usage
+```bash
+$ pulsar-admin source update options
+```
+
+Options
+|Flag|Description|Default|
+|----|---|---|
+|`--classname`|The source’s Java class name||
+|`--cpu`|The CPU (in cores) that needs to be allocated per source instance 
(applicable only to the Docker runtime)||
+|`--deserialization-classname`|The SerDe classname for the source||
+|`--destination-topic-name`|The Pulsar topic to which data is sent||
+|`--disk`|The disk (in bytes) that needs to be allocated per source instance 
(applicable only to the Docker runtime)||
+|`--archive`|The path to the NAR archive for the Source||
+|`--name`|The source’s name||
+|`--namespace`|The source’s namespace||
+|`--parallelism`|The source’s parallelism factor (i.e. the number of source 
instances to run).||
+|`--processing-guarantees`|“The processing guarantees (aka delivery semantics) 
applied to the source. Available values: ATLEAST_ONCE, ATMOST_ONCE, 
EFFECTIVELY_ONCE.”||
+|`--ram`|The RAM (in bytes) that needs to be allocated per source instance 
(applicable only to the Docker runtime)||
+|`--schema-type`|The schema type (either a builtin schema like 'avro', 'json', 
etc, or custom Schema class name to be used to encode messages emitted from the 
source||
+|`--source-type`|One of the built-in source's connector provider||
+|`--source-config`|Source config key/values||
+|`--source-config-file`|The path to a YAML config file specifying the source’s 
configuration||
 |`--tenant`|The source’s tenant||
 
 
@@ -1058,22 +1200,32 @@ $ pulsar-admin source localrun options
 Options
 |Flag|Description|Default|
 |----|---|---|
-|`--className`|The source’s Java class name||
+|`--classname`|The source’s Java class name||
 |`--cpu`|The CPU (in cores) that needs to be allocated per source instance 
(applicable only to the Docker runtime)||
-|`--deserializationClassName`|The SerDe classname for the source||
-|`--destinationTopicName`|The Pulsar topic to which data is sent||
+|`--deserialization-classname`|The SerDe classname for the source||
+|`--destination-topic-name`|The Pulsar topic to which data is sent||
 |`--disk`|The disk (in bytes) that needs to be allocated per source instance 
(applicable only to the Docker runtime)||
-|`--jar`|Path to the Java jar file for the source||
+|`--archive`|The path to the NAR archive for the Source||
 |`--name`|The source’s name||
 |`--namespace`|The source’s namespace||
 |`--parallelism`|The source’s parallelism factor (i.e. the number of source 
instances to run).||
-|`--processingGuarantees`|“The processing guarantees (aka delivery semantics) 
applied to the source. Available values: ATLEAST_ONCE, ATMOST_ONCE, 
EFFECTIVELY_ONCE.”||
+|`--processing-guarantees`|“The processing guarantees (aka delivery semantics) 
applied to the source. Available values: ATLEAST_ONCE, ATMOST_ONCE, 
EFFECTIVELY_ONCE.”||
 |`--ram`|The RAM (in bytes) that needs to be allocated per source instance 
(applicable only to the Docker runtime)||
-|`--sourceConfig`|Source config key/values||
-|`--sourceConfigFile`|The path to a YAML config file specifying the source’s 
configuration||
+|`--schema-type`|The schema type (either a builtin schema like 'avro', 'json', 
etc, or custom Schema class name to be used to encode messages emitted from the 
source||
+|`--source-type`|One of the built-in source's connector provider||
+|`--source-config`|Source config key/values||
+|`--source-config-file`|The path to a YAML config file specifying the source’s 
configuration||
 |`--tenant`|The source’s tenant||
 
 
+### `available-sources`
+Get a list of all built-in source connectors
+
+Usage
+```bash
+$ pulsar-admin source available-sources
+```
+
 
 ## `topics`
 Operations for managing Pulsar topics (both persistent and non persistent)

Reply via email to