You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by rx...@apache.org on 2019/08/14 13:14:35 UTC
[pulsar] branch master updated: [site2] Fix swagger of SourceBase
and SinkBase display problem (#4939)
This is an automated email from the ASF dual-hosted git repository.
rxl pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar.git
The following commit(s) were added to refs/heads/master by this push:
new 05a3cd8 [site2] Fix swagger of SourceBase and SinkBase display problem (#4939)
05a3cd8 is described below
commit 05a3cd8b81639348045f2ef5aca2e3e3a58ff5b0
Author: 冉小龙 <ra...@gmail.com>
AuthorDate: Wed Aug 14 21:14:28 2019 +0800
[site2] Fix swagger of SourceBase and SinkBase display problem (#4939)
* [site2] Fix swagger of SourceBase and SinkBase display problem
Signed-off-by: xiaolong.ran <ra...@gmail.com>
* fix comments
Signed-off-by: xiaolong.ran <ra...@gmail.com>
---
.../apache/pulsar/broker/admin/impl/SinksBase.java | 239 ++++++++++-----------
.../pulsar/broker/admin/impl/SourcesBase.java | 195 +++++++++--------
2 files changed, 216 insertions(+), 218 deletions(-)
diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/SinksBase.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/SinksBase.java
index e21d861..ab2cb3d 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/SinksBase.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/SinksBase.java
@@ -61,7 +61,7 @@ public class SinksBase extends AdminResource implements Supplier<WorkerService>
@POST
@ApiOperation(value = "Creates a new Pulsar Sink in cluster mode")
@ApiResponses(value = {
- @ApiResponse(code = 400, message = "Invalid request (sink already exists, etc.)"),
+ @ApiResponse(code = 400, message = "Invalid request (The Pulsar Sink already exists, etc.)"),
@ApiResponse(code = 200, message = "Pulsar Sink successfully created"),
@ApiResponse(code = 500, message = "Internal server error (failed to authorize, failed to get tenant data, failed to process package, etc.)"),
@ApiResponse(code = 401, message = "Client is not authorized to perform operation"),
@@ -69,60 +69,60 @@ public class SinksBase extends AdminResource implements Supplier<WorkerService>
})
@Path("/{tenant}/{namespace}/{sinkName}")
@Consumes(MediaType.MULTIPART_FORM_DATA)
- public void registerSink(@ApiParam(value = "The sink's tenant")
+ public void registerSink(@ApiParam(value = "The tenant of a Pulsar Sink")
final @PathParam("tenant") String tenant,
- @ApiParam(value = "The sink's namespace")
+ @ApiParam(value = "The namespace of a Pulsar Sink")
final @PathParam("namespace") String namespace,
- @ApiParam(value = "The sink's name")
+ @ApiParam(value = "The name of a Pulsar Sink")
final @PathParam("sinkName") String sinkName,
final @FormDataParam("data") InputStream uploadedInputStream,
final @FormDataParam("data") FormDataContentDisposition fileDetail,
final @FormDataParam("url") String sinkPkgUrl,
@ApiParam(
value =
- "A JSON value presenting a sink config playload. All available configuration options are: \n" +
- "classname \n" +
- " The sink's class name if archive is file-url-path (file://) \n" +
- "sourceSubscriptionName \n" +
+ "A JSON value presenting config payload of a Pulsar Sink. All available configuration options are: \n" +
+ "- **classname** \n" +
+ " The class name of a Pulsar Sink if archive is file-url-path (file://) \n" +
+ "- **sourceSubscriptionName** \n" +
" Pulsar source subscription name if user wants a specific \n" +
" subscription-name for input-topic consumer \n" +
- "inputs \n" +
- " The sink's input topic or topics (specified as a JSON array) \n" +
- "topicsPattern \n" +
+ "- **inputs** \n" +
+ " The input topic or topics of a Pulsar Sink (specified as a JSON array) \n" +
+ "- **topicsPattern** \n" +
" 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)" +
- "topicToSerdeClassName \n" +
+ "- **topicToSerdeClassName** \n" +
" The map of input topics to SerDe class names (specified as a JSON object) \n" +
- "topicToSchemaType \n" +
+ "- **topicToSchemaType** \n" +
" The map of input topics to Schema types or class names (specified as a JSON object) \n" +
- "inputSpecs \n" +
+ "- **inputSpecs** \n" +
" The map of input topics to its consumer configuration, each configuration has schema of " +
" {\"schemaType\": \"type-x\", \"serdeClassName\": \"name-x\", \"isRegexPattern\": true, \"receiverQueueSize\": 5} \n" +
- "configs \n" +
+ "- **configs** \n" +
" The map of configs (specified as a JSON object) \n" +
- "secrets \n" +
+ "- **secrets** \n" +
" a map of secretName(aka how the secret is going to be \n" +
" accessed in the function via context) to an object that \n" +
" encapsulates how the secret is fetched by the underlying \n" +
" secrets provider. The type of an value here can be found by the \n" +
" SecretProviderConfigurator.getSecretObjectType() method. (specified as a JSON object) \n" +
- "parallelism \n" +
- " The sink's parallelism factor (i.e. the number of sink instances to run \n" +
- "processingGuarantees \n" +
- " The processing guarantees (aka delivery semantics) applied to the sink. Possible Values: \"ATLEAST_ONCE\", \"ATMOST_ONCE\", \"EFFECTIVELY_ONCE\" \n" +
- "retainOrdering \n" +
- " Boolean denotes whether sink consumes and sinks messages in order \n" +
- "resources \n" +
- " {\"cpu\": 1, \"ram\": 2, \"disk\": 3} The CPU (in cores), RAM (in bytes) and disk (in bytes) that needs to be allocated per sink instance (applicable only to Docker runtime) \n" +
- "autoAck \n" +
+ "- **parallelism** \n" +
+ " The parallelism factor of a Pulsar Sink (i.e. the number of a Pulsar Sink instances to run \n" +
+ "- **processingGuarantees** \n" +
+ " The processing guarantees (aka delivery semantics) applied to the Pulsar Sink. Possible Values: \"ATLEAST_ONCE\", \"ATMOST_ONCE\", \"EFFECTIVELY_ONCE\" \n" +
+ "- **retainOrdering** \n" +
+ " Boolean denotes whether the Pulsar Sink consumes and processes messages in order \n" +
+ "- **resources** \n" +
+ " {\"cpu\": 1, \"ram\": 2, \"disk\": 3} The CPU (in cores), RAM (in bytes) and disk (in bytes) that needs to be allocated per Pulsar Sink instance (applicable only to Docker runtime) \n" +
+ "- **autoAck** \n" +
" Boolean denotes whether or not the framework will automatically acknowledge messages \n" +
- "timeoutMs \n" +
+ "- **timeoutMs** \n" +
" Long denotes the message timeout in milliseconds \n" +
- "cleanupSubscription \n" +
+ "- **cleanupSubscription** \n" +
" Boolean denotes whether the subscriptions the functions created/used should be deleted when the functions is deleted \n" +
- "runtimeFlags \n" +
+ "- **runtimeFlags** \n" +
" Any flags that you want to pass to the runtime as a single string \n",
examples = @Example(
value = @ExampleProperty(
@@ -144,70 +144,69 @@ public class SinksBase extends AdminResource implements Supplier<WorkerService>
@PUT
@ApiOperation(value = "Updates a Pulsar Sink currently running in cluster mode")
@ApiResponses(value = {
- @ApiResponse(code = 400, message = "Invalid request (sink doesn't exist, update contains no change, etc.)"),
+ @ApiResponse(code = 400, message = "Invalid request (The Pulsar Sink doesn't exist, update contains no change, etc.)"),
@ApiResponse(code = 200, message = "Pulsar Sink successfully updated"),
@ApiResponse(code = 401, message = "Client is not authorized to perform operation"),
- @ApiResponse(code = 404, message = "The sink does not exist"),
+ @ApiResponse(code = 404, message = "The Pulsar Sink doesn't exist"),
@ApiResponse(code = 500, message = "Internal server error (failed to authorize, failed to process package, etc.)"),
@ApiResponse(code = 503, message = "Function worker service is now initializing. Please try again later.")
})
@Path("/{tenant}/{namespace}/{sinkName}")
@Consumes(MediaType.MULTIPART_FORM_DATA)
- public void updateSink(@ApiParam(value = "The sink's tenant")
+ public void updateSink(@ApiParam(value = "The tenant of a Pulsar Sink")
final @PathParam("tenant") String tenant,
- @ApiParam(value = "The sink's namespace")
+ @ApiParam(value = "The namespace of a Pulsar Sink")
final @PathParam("namespace") String namespace,
- @ApiParam(value = "The sink's name")
+ @ApiParam(value = "The name of a Pulsar Sink")
final @PathParam("sinkName") String sinkName,
final @FormDataParam("data") InputStream uploadedInputStream,
final @FormDataParam("data") FormDataContentDisposition fileDetail,
- @ApiParam(value = "URL of sink's archive")
final @FormDataParam("url") String sinkPkgUrl,
@ApiParam(
value =
- "A JSON value presenting a sink config playload. All available configuration options are: \n" +
- "classname \n" +
- " The sink's class name if archive is file-url-path (file://) \n" +
- "sourceSubscriptionName \n" +
+ "A JSON value presenting config payload of a Pulsar Sink. All available configuration options are: \n" +
+ "- **classname** \n" +
+ " The class name of a Pulsar Sink if archive is file-url-path (file://) \n" +
+ "- **sourceSubscriptionName** \n" +
" Pulsar source subscription name if user wants a specific \n" +
" subscription-name for input-topic consumer \n" +
- "inputs \n" +
- " The sink's input topic or topics (specified as a JSON array) \n" +
- "topicsPattern \n" +
+ "- **inputs** \n" +
+ " The input topic or topics of a Pulsar Sink (specified as a JSON array) \n" +
+ "- **topicsPattern** \n" +
" 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)" +
- "topicToSerdeClassName \n" +
+ "- **topicToSerdeClassName** \n" +
" The map of input topics to SerDe class names (specified as a JSON object) \n" +
- "topicToSchemaType \n" +
+ "- **topicToSchemaType** \n" +
" The map of input topics to Schema types or class names (specified as a JSON object) \n" +
- "inputSpecs \n" +
+ "- **inputSpecs** \n" +
" The map of input topics to its consumer configuration, each configuration has schema of " +
" {\"schemaType\": \"type-x\", \"serdeClassName\": \"name-x\", \"isRegexPattern\": true, \"receiverQueueSize\": 5} \n" +
- "configs \n" +
+ "- **configs** \n" +
" The map of configs (specified as a JSON object) \n" +
- "secrets \n" +
+ "- **secrets** \n" +
" a map of secretName(aka how the secret is going to be \n" +
" accessed in the function via context) to an object that \n" +
" encapsulates how the secret is fetched by the underlying \n" +
" secrets provider. The type of an value here can be found by the \n" +
" SecretProviderConfigurator.getSecretObjectType() method. (specified as a JSON object) \n" +
- "parallelism \n" +
- " The sink's parallelism factor (i.e. the number of sink instances to run \n" +
- "processingGuarantees \n" +
- " The processing guarantees (aka delivery semantics) applied to the sink. Possible Values: \"ATLEAST_ONCE\", \"ATMOST_ONCE\", \"EFFECTIVELY_ONCE\" \n" +
- "retainOrdering \n" +
- " Boolean denotes whether sink consumes and sinks messages in order \n" +
- "resources \n" +
- " {\"cpu\": 1, \"ram\": 2, \"disk\": 3} The CPU (in cores), RAM (in bytes) and disk (in bytes) that needs to be allocated per sink instance (applicable only to Docker runtime) \n" +
- "autoAck \n" +
+ "- **parallelism** \n" +
+ " The parallelism factor of a Pulsar Sink (i.e. the number of a Pulsar Sink instances to run \n" +
+ "- **processingGuarantees** \n" +
+ " The processing guarantees (aka delivery semantics) applied to the Pulsar Sink. Possible Values: \"ATLEAST_ONCE\", \"ATMOST_ONCE\", \"EFFECTIVELY_ONCE\" \n" +
+ "- **retainOrdering** \n" +
+ " Boolean denotes whether the Pulsar Sink consumes and processes messages in order \n" +
+ "- **resources** \n" +
+ " {\"cpu\": 1, \"ram\": 2, \"disk\": 3} The CPU (in cores), RAM (in bytes) and disk (in bytes) that needs to be allocated per Pulsar Sink instance (applicable only to Docker runtime) \n" +
+ "- **autoAck** \n" +
" Boolean denotes whether or not the framework will automatically acknowledge messages \n" +
- "timeoutMs \n" +
+ "- **timeoutMs** \n" +
" Long denotes the message timeout in milliseconds \n" +
- "cleanupSubscription \n" +
+ "- **cleanupSubscription** \n" +
" Boolean denotes whether the subscriptions the functions created/used should be deleted when the functions is deleted \n" +
- "runtimeFlags \n" +
+ "- **runtimeFlags** \n" +
" Any flags that you want to pass to the runtime as a single string \n",
examples = @Example(
value = @ExampleProperty(
@@ -222,7 +221,7 @@ public class SinksBase extends AdminResource implements Supplier<WorkerService>
)
)
final @FormDataParam("sinkConfig") SinkConfig sinkConfig,
- @ApiParam(value = "Update options for sink")
+ @ApiParam(value = "Update options for the Pulsar Sink")
final @FormDataParam("updateOptions") UpdateOptions updateOptions) {
sink.updateSink(tenant, namespace, sinkName, uploadedInputStream, fileDetail,
sinkPkgUrl, sinkConfig, clientAppId(), clientAuthData(), updateOptions);
@@ -234,19 +233,19 @@ public class SinksBase extends AdminResource implements Supplier<WorkerService>
@ApiOperation(value = "Deletes a Pulsar Sink currently running in cluster mode")
@ApiResponses(value = {
@ApiResponse(code = 400, message = "Invalid deregister request"),
- @ApiResponse(code = 404, message = "The sink does not exist"),
- @ApiResponse(code = 200, message = "The sink was successfully deleted"),
+ @ApiResponse(code = 404, message = "The Pulsar Sink does not exist"),
+ @ApiResponse(code = 200, message = "The Pulsar Sink was successfully deleted"),
@ApiResponse(code = 401, message = "Client is not authorized to perform operation"),
@ApiResponse(code = 500, message = "Internal server error (failed to authorize, failed to deregister, etc.)"),
- @ApiResponse(code = 408, message = "Got InterruptedException while deregistering the sink"),
+ @ApiResponse(code = 408, message = "Got InterruptedException while deregistering the Pulsar Sink"),
@ApiResponse(code = 503, message = "Function worker service is now initializing. Please try again later.")
})
@Path("/{tenant}/{namespace}/{sinkName}")
- public void deregisterSink(@ApiParam(value = "The sink's tenant")
+ public void deregisterSink(@ApiParam(value = "The tenant of a Pulsar Sink")
final @PathParam("tenant") String tenant,
- @ApiParam(value = "The sink's namespace")
+ @ApiParam(value = "The namespace of a Pulsar Sink")
final @PathParam("namespace") String namespace,
- @ApiParam(value = "The sink's name")
+ @ApiParam(value = "The name of a Pulsar Sink")
final @PathParam("sinkName") String sinkName) {
sink.deregisterFunction(tenant, namespace, sinkName, clientAppId(), clientAuthData());
}
@@ -258,15 +257,15 @@ public class SinksBase extends AdminResource implements Supplier<WorkerService>
)
@ApiResponses(value = {
@ApiResponse(code = 400, message = "Invalid request"),
- @ApiResponse(code = 404, message = "The sink does not exist"),
+ @ApiResponse(code = 404, message = "The Pulsar Sink does not exist"),
@ApiResponse(code = 503, message = "Function worker service is now initializing. Please try again later.")
})
@Path("/{tenant}/{namespace}/{sinkName}")
- public SinkConfig getSinkInfo(@ApiParam(value = "The sink's tenant")
+ public SinkConfig getSinkInfo(@ApiParam(value = "The tenant of a Pulsar Sink")
final @PathParam("tenant") String tenant,
- @ApiParam(value = "The sink's namespace")
+ @ApiParam(value = "The namespace of a Pulsar Sink")
final @PathParam("namespace") String namespace,
- @ApiParam(value = "The sink's name")
+ @ApiParam(value = "The name of a Pulsar Sink")
final @PathParam("sinkName") String sinkName) throws IOException {
return sink.getSinkInfo(tenant, namespace, sinkName);
}
@@ -277,21 +276,21 @@ public class SinksBase extends AdminResource implements Supplier<WorkerService>
response = SinkStatus.SinkInstanceStatus.SinkInstanceStatusData.class
)
@ApiResponses(value = {
- @ApiResponse(code = 400, message = "The sink instance does not exist"),
- @ApiResponse(code = 404, message = "The sink does not exist"),
+ @ApiResponse(code = 400, message = "The Pulsar Sink instance does not exist"),
+ @ApiResponse(code = 404, message = "The Pulsar Sink does not exist"),
@ApiResponse(code = 500, message = "Internal Server Error (got exception while getting status, etc.)"),
@ApiResponse(code = 503, message = "Function worker service is now initializing. Please try again later.")
})
@Produces(MediaType.APPLICATION_JSON)
@Path("/{tenant}/{namespace}/{sinkName}/{instanceId}/status")
public SinkStatus.SinkInstanceStatus.SinkInstanceStatusData getSinkInstanceStatus(
- @ApiParam(value = "The sink's tenant")
+ @ApiParam(value = "The tenant of a Pulsar Sink")
final @PathParam("tenant") String tenant,
- @ApiParam(value = "The sink's namespace")
+ @ApiParam(value = "The namespace of a Pulsar Sink")
final @PathParam("namespace") String namespace,
- @ApiParam(value = "The sink's name")
+ @ApiParam(value = "The name of a Pulsar Sink")
final @PathParam("sinkName") String sinkName,
- @ApiParam(value = "The sink instanceId")
+ @ApiParam(value = "The instanceId of a Pulsar Sink")
final @PathParam("instanceId") String instanceId) throws IOException {
return sink.getSinkInstanceStatus(
tenant, namespace, sinkName, instanceId, uri.getRequestUri(), clientAppId(), clientAuthData());
@@ -305,16 +304,16 @@ public class SinksBase extends AdminResource implements Supplier<WorkerService>
@ApiResponses(value = {
@ApiResponse(code = 400, message = "Invalid get status request"),
@ApiResponse(code = 401, message = "The client is not authorized to perform this operation"),
- @ApiResponse(code = 404, message = "The sink does not exist"),
+ @ApiResponse(code = 404, message = "The Pulsar Sink does not exist"),
@ApiResponse(code = 503, message = "Function worker service is now initializing. Please try again later."),
})
@Produces(MediaType.APPLICATION_JSON)
@Path("/{tenant}/{namespace}/{sinkName}/status")
- public SinkStatus getSinkStatus(@ApiParam(value = "The sink's tenant")
+ public SinkStatus getSinkStatus(@ApiParam(value = "The tenant of a Pulsar Sink")
final @PathParam("tenant") String tenant,
- @ApiParam(value = "The sink's namespace")
+ @ApiParam(value = "The namespace of a Pulsar Sink")
final @PathParam("namespace") String namespace,
- @ApiParam(value = "The sink's name")
+ @ApiParam(value = "The name of a Pulsar Sink")
final @PathParam("sinkName") String sinkName) throws IOException {
return sink.getSinkStatus(tenant, namespace, sinkName, uri.getRequestUri(), clientAppId(), clientAuthData());
}
@@ -332,135 +331,135 @@ public class SinksBase extends AdminResource implements Supplier<WorkerService>
@ApiResponse(code = 503, message = "Function worker service is now initializing. Please try again later.")
})
@Path("/{tenant}/{namespace}")
- public List<String> listSinks(@ApiParam(value = "The sink's tenant")
+ public List<String> listSinks(@ApiParam(value = "The tenant of a Pulsar Sink")
final @PathParam("tenant") String tenant,
- @ApiParam(value = "The sink's namespace")
+ @ApiParam(value = "The namespace of a Pulsar Sink")
final @PathParam("namespace") String namespace) {
return sink.listFunctions(tenant, namespace, clientAppId(), clientAuthData());
}
@POST
- @ApiOperation(value = "Restart sink instance", response = Void.class)
+ @ApiOperation(value = "Restart an instance of a Pulsar Sink", response = Void.class)
@ApiResponses(value = {
@ApiResponse(code = 400, message = "Invalid restart request"),
@ApiResponse(code = 401, message = "The client is not authorized to perform this operation"),
- @ApiResponse(code = 404, message = "The sink does not exist"),
- @ApiResponse(code = 500, message = "Internal server error (failed to restart the sink instance, failed to authorize, etc.)"),
+ @ApiResponse(code = 404, message = "The Pulsar Sink does not exist"),
+ @ApiResponse(code = 500, message = "Internal server error (failed to restart the instance of a Pulsar Sink, failed to authorize, etc.)"),
@ApiResponse(code = 503, message = "Function worker service is now initializing. Please try again later.")
})
@Path("/{tenant}/{namespace}/{sinkName}/{instanceId}/restart")
@Consumes(MediaType.APPLICATION_JSON)
- public void restartSink(@ApiParam(value = "The sink's tenant")
+ public void restartSink(@ApiParam(value = "The tenant of a Pulsar Sink")
final @PathParam("tenant") String tenant,
- @ApiParam(value = "The sink's namespace")
+ @ApiParam(value = "The namespace of a Pulsar Sink")
final @PathParam("namespace") String namespace,
- @ApiParam(value = "The sink's name")
+ @ApiParam(value = "The name of a Pulsar Sink")
final @PathParam("sinkName") String sinkName,
- @ApiParam(value = "The sink instanceId")
+ @ApiParam(value = "The instanceId of a Pulsar Sink")
final @PathParam("instanceId") String instanceId) {
sink.restartFunctionInstance(tenant, namespace, sinkName, instanceId, uri.getRequestUri(), clientAppId(), clientAuthData());
}
@POST
- @ApiOperation(value = "Restart all sink instances", response = Void.class)
+ @ApiOperation(value = "Restart all instances of a Pulsar Sink", response = Void.class)
@ApiResponses(value = {
@ApiResponse(code = 400, message = "Invalid restart request"),
@ApiResponse(code = 401, message = "The client is not authorized to perform this operation"),
- @ApiResponse(code = 404, message = "The sink does not exist"),
- @ApiResponse(code = 500, message = "Internal server error (failed to restart the sink, failed to authorize, etc.)"),
+ @ApiResponse(code = 404, message = "The Pulsar Sink does not exist"),
+ @ApiResponse(code = 500, message = "Internal server error (failed to restart the Pulsar Sink, failed to authorize, etc.)"),
@ApiResponse(code = 503, message = "Function worker service is now initializing. Please try again later.")
})
@Path("/{tenant}/{namespace}/{sinkName}/restart")
@Consumes(MediaType.APPLICATION_JSON)
- public void restartSink(@ApiParam(value = "The sink's tenant")
+ public void restartSink(@ApiParam(value = "The tenant of a Pulsar Sink")
final @PathParam("tenant") String tenant,
- @ApiParam(value = "The sink's namespace")
+ @ApiParam(value = "The namespace of a Pulsar Sink")
final @PathParam("namespace") String namespace,
- @ApiParam(value = "The sink's name")
+ @ApiParam(value = "The name of a Pulsar Sink")
final @PathParam("sinkName") String sinkName) {
sink.restartFunctionInstances(tenant, namespace, sinkName, clientAppId(), clientAuthData());
}
@POST
- @ApiOperation(value = "Stop sink instance", response = Void.class)
+ @ApiOperation(value = "Stop an instance of a Pulsar Sink", response = Void.class)
@ApiResponses(value = {
@ApiResponse(code = 400, message = "Invalid stop request"),
- @ApiResponse(code = 404, message = "The sink instance does not exist"),
- @ApiResponse(code = 500, message = "Internal server error (failed to stop the sink, failed to authorize, etc.)"),
+ @ApiResponse(code = 404, message = "The Pulsar Sink instance does not exist"),
+ @ApiResponse(code = 500, message = "Internal server error (failed to stop the Pulsar Sink, failed to authorize, etc.)"),
@ApiResponse(code = 401, message = "The client is not authorized to perform this operation"),
@ApiResponse(code = 503, message = "Function worker service is now initializing. Please try again later.")
})
@Path("/{tenant}/{namespace}/{sinkName}/{instanceId}/stop")
@Consumes(MediaType.APPLICATION_JSON)
- public void stopSink(@ApiParam(value = "The sink's tenant")
+ public void stopSink(@ApiParam(value = "The tenant of a Pulsar Sink")
final @PathParam("tenant") String tenant,
- @ApiParam(value = "The sink's namespace")
+ @ApiParam(value = "The namespace of a Pulsar Sink")
final @PathParam("namespace") String namespace,
- @ApiParam(value = "The sink's name")
+ @ApiParam(value = "The name of a Pulsar Sink")
final @PathParam("sinkName") String sinkName,
- @ApiParam(value = "The sink instanceId")
+ @ApiParam(value = "The instanceId of a Pulsar Sink")
final @PathParam("instanceId") String instanceId) {
sink.stopFunctionInstance(tenant, namespace, sinkName, instanceId, uri.getRequestUri(), clientAppId(), clientAuthData());
}
@POST
- @ApiOperation(value = "Stop all sink instances", response = Void.class)
+ @ApiOperation(value = "Stop all instances of a Pulsar Sink", response = Void.class)
@ApiResponses(value = {
@ApiResponse(code = 400, message = "Invalid stop request"),
- @ApiResponse(code = 404, message = "The sink does not exist"),
- @ApiResponse(code = 500, message = "Internal server error (failed to stop the sink, failed to authorize, etc.)"),
+ @ApiResponse(code = 404, message = "The Pulsar Sink does not exist"),
+ @ApiResponse(code = 500, message = "Internal server error (failed to stop the Pulsar Sink, failed to authorize, etc.)"),
@ApiResponse(code = 401, message = "The client is not authorized to perform this operation"),
@ApiResponse(code = 503, message = "Function worker service is now initializing. Please try again later.")
})
@Path("/{tenant}/{namespace}/{sinkName}/stop")
@Consumes(MediaType.APPLICATION_JSON)
- public void stopSink(@ApiParam(value = "The sink's tenant")
+ public void stopSink(@ApiParam(value = "The tenant of a Pulsar Sink")
final @PathParam("tenant") String tenant,
- @ApiParam(value = "The sink's namespace")
+ @ApiParam(value = "The namespace of a Pulsar Sink")
final @PathParam("namespace") String namespace,
- @ApiParam(value = "The sink's name")
+ @ApiParam(value = "The name of a Pulsar Sink")
final @PathParam("sinkName") String sinkName) {
sink.stopFunctionInstances(tenant, namespace, sinkName, clientAppId(), clientAuthData());
}
@POST
- @ApiOperation(value = "Start sink instance", response = Void.class)
+ @ApiOperation(value = "Start an instance of a Pulsar Sink", response = Void.class)
@ApiResponses(value = {
@ApiResponse(code = 400, message = "Invalid start request"),
- @ApiResponse(code = 404, message = "The sink does not exist"),
- @ApiResponse(code = 500, message = "Internal server error (failed to start the sink, failed to authorize, etc.)"),
+ @ApiResponse(code = 404, message = "The Pulsar Sink does not exist"),
+ @ApiResponse(code = 500, message = "Internal server error (failed to start the Pulsar Sink, failed to authorize, etc.)"),
@ApiResponse(code = 401, message = "The client is not authorized to perform this operation"),
@ApiResponse(code = 503, message = "Function worker service is now initializing. Please try again later.")
})
@Path("/{tenant}/{namespace}/{sinkName}/{instanceId}/start")
@Consumes(MediaType.APPLICATION_JSON)
- public void startSink(@ApiParam(value = "The sink's tenant")
+ public void startSink(@ApiParam(value = "The tenant of a Pulsar Sink")
final @PathParam("tenant") String tenant,
- @ApiParam(value = "The sink's namespace")
+ @ApiParam(value = "The namespace of a Pulsar Sink")
final @PathParam("namespace") String namespace,
- @ApiParam(value = "The sink's name")
+ @ApiParam(value = "The name of a Pulsar Sink")
final @PathParam("sinkName") String sinkName,
- @ApiParam(value = "The sink instanceId")
+ @ApiParam(value = "The instanceId of a Pulsar Sink")
final @PathParam("instanceId") String instanceId) {
sink.startFunctionInstance(tenant, namespace, sinkName, instanceId, uri.getRequestUri(), clientAppId(), clientAuthData());
}
@POST
- @ApiOperation(value = "Start all sink instances", response = Void.class)
+ @ApiOperation(value = "Start all instances of a Pulsar Sink", response = Void.class)
@ApiResponses(value = {
@ApiResponse(code = 400, message = "Invalid start request"),
- @ApiResponse(code = 404, message = "The sink does not exist"),
- @ApiResponse(code = 500, message = "Internal server error (failed to start the sink, failed to authorize, etc.)"),
+ @ApiResponse(code = 404, message = "The Pulsar Sink does not exist"),
+ @ApiResponse(code = 500, message = "Internal server error (failed to start the Pulsar Sink, failed to authorize, etc.)"),
@ApiResponse(code = 401, message = "The client is not authorized to perform this operation"),
@ApiResponse(code = 503, message = "Function worker service is now initializing. Please try again later.")
})
@Path("/{tenant}/{namespace}/{sinkName}/start")
@Consumes(MediaType.APPLICATION_JSON)
- public void startSink(@ApiParam(value = "The sink's tenant")
+ public void startSink(@ApiParam(value = "The tenant of a Pulsar Sink")
final @PathParam("tenant") String tenant,
- @ApiParam(value = "The sink's namespace")
+ @ApiParam(value = "The namespace of a Pulsar Sink")
final @PathParam("namespace") String namespace,
- @ApiParam(value = "The sink's name")
+ @ApiParam(value = "The name of a Pulsar Sink")
final @PathParam("sinkName") String sinkName) {
sink.startFunctionInstances(tenant, namespace, sinkName, clientAppId(), clientAuthData());
}
diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/SourcesBase.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/SourcesBase.java
index 8dc20c9..ecf9143 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/SourcesBase.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/SourcesBase.java
@@ -71,44 +71,44 @@ public class SourcesBase extends AdminResource implements Supplier<WorkerService
@Path("/{tenant}/{namespace}/{sourceName}")
@Consumes(MediaType.MULTIPART_FORM_DATA)
public void registerSource(
- @ApiParam(value = "The name of tenant")
+ @ApiParam(value = "The tenant of a Pulsar Source")
final @PathParam("tenant") String tenant,
- @ApiParam(value = "The name of namespace")
+ @ApiParam(value = "The namespace of a Pulsar Source")
final @PathParam("namespace") String namespace,
- @ApiParam(value = "The name of source")
+ @ApiParam(value = "The name of a Pulsar Source")
final @PathParam("sourceName") String sourceName,
final @FormDataParam("data") InputStream uploadedInputStream,
final @FormDataParam("data") FormDataContentDisposition fileDetail,
final @FormDataParam("url") String sourcePkgUrl,
@ApiParam(
- value = "A JSON value presenting source configuration payload. An example of the expected functions can be found here. \n" +
- "classname \n" +
- " The source's class name if archive is file-url-path (file://). \n" +
- "topicName \n" +
+ value = "A JSON value presenting configuration payload of a Pulsar Source. An example of the expected functions can be found here. \n" +
+ "- **classname** \n" +
+ " The class name of a Pulsar Source if archive is file-url-path (file://). \n" +
+ "- **topicName** \n" +
" The Pulsar topic to which data is sent. \n" +
- "serdeClassName \n" +
- " The SerDe classname for the source. \n" +
- "schemaType \n" +
+ "- **serdeClassName** \n" +
+ " The SerDe classname for the Pulsar Source. \n" +
+ "- **schemaType** \n" +
" 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 \n" +
- "configs \n" +
+ " custom Schema class name to be used to encode messages emitted from the Pulsar Source \n" +
+ "- **configs** \n" +
" Source config key/values \n" +
- "secrets \n" +
+ "- **secrets** \n" +
" This is a map of secretName(that is how the secret is going to be accessed in the function via context) to an object that" +
" encapsulates how the secret is fetched by the underlying secrets provider. The type of an value here can be found by the" +
" SecretProviderConfigurator.getSecretObjectType() method. \n" +
- "parallelism \n" +
- " The source's parallelism factor (i.e. the number of source instances to run). \n" +
- "processingGuarantees \n" +
- " The processing guarantees (aka delivery semantics) applied to the source " +
+ "- **parallelism** \n" +
+ " The parallelism factor of a Pulsar Source (i.e. the number of a Pulsar Source instances to run). \n" +
+ "- **processingGuarantees** \n" +
+ " The processing guarantees (aka delivery semantics) applied to the Pulsar Source. " +
" Possible Values: [ATLEAST_ONCE, ATMOST_ONCE, EFFECTIVELY_ONCE] \n" +
- "resources \n" +
- " The size of the system resources allowed by the source runtime. The resources include: cpu, ram, disk. \n" +
- "archive \n" +
- " The path to the NAR archive for the Source. It also supports url-path " +
+ "- **resources** \n" +
+ " The size of the system resources allowed by the Pulsar Source runtime. The resources include: cpu, ram, disk. \n" +
+ "- **archive** \n" +
+ " The path to the NAR archive for the Pulsar Source. It also supports url-path " +
" [http/https/file (file protocol assumes that file already exists on worker host)] " +
" from which worker can download the package. \n" +
- "runtimeFlags \n" +
+ "- **runtimeFlags** \n" +
" Any flags that you want to pass to the runtime. \n",
examples = @Example(
value = @ExampleProperty(
@@ -138,52 +138,51 @@ public class SourcesBase extends AdminResource implements Supplier<WorkerService
@ApiResponse(code = 400, message = "Invalid request (Function already exists or Tenant, Namespace or Name is not provided, etc.)"),
@ApiResponse(code = 401, message = "Client is not authorize to perform operation"),
@ApiResponse(code = 200, message = "Pulsar Function successfully updated"),
- @ApiResponse(code = 404, message = "Not Found(The source doesn't exist)"),
+ @ApiResponse(code = 404, message = "Not Found(The Pulsar Source doesn't exist)"),
@ApiResponse(code = 500, message = "Internal Server Error"),
@ApiResponse(code = 503, message = "Function worker service is now initializing. Please try again later.")
})
@Path("/{tenant}/{namespace}/{sourceName}")
@Consumes(MediaType.MULTIPART_FORM_DATA)
public void updateSource(
- @ApiParam(value = "The name of tenant")
+ @ApiParam(value = "The tenant of a Pulsar Source")
final @PathParam("tenant") String tenant,
- @ApiParam(value = "The name of namespace")
+ @ApiParam(value = "The namespace of a Pulsar Source")
final @PathParam("namespace") String namespace,
- @ApiParam(value = "The name of source")
+ @ApiParam(value = "The name of a Pulsar Source")
final @PathParam("sourceName") String sourceName,
final @FormDataParam("data") InputStream uploadedInputStream,
final @FormDataParam("data") FormDataContentDisposition fileDetail,
- @ApiParam(value = "URL of sources' archive")
final @FormDataParam("url") String sourcePkgUrl,
@ApiParam(
- value = "A JSON value presenting source configuration payload. An example of the expected functions can be found here. \n" +
- "classname \n" +
- " The source's class name if archive is file-url-path (file://). \n" +
- "topicName \n" +
+ value = "A JSON value presenting configuration payload of a Pulsar Source. An example of the expected functions can be found here. \n" +
+ "- **classname** \n" +
+ " The class name of a Pulsar Source if archive is file-url-path (file://). \n" +
+ "- **topicName** \n" +
" The Pulsar topic to which data is sent. \n" +
- "serdeClassName \n" +
- " The SerDe classname for the source. \n" +
- "schemaType \n" +
+ "- **serdeClassName** \n" +
+ " The SerDe classname for the Pulsar Source. \n" +
+ "- **schemaType** \n" +
" 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 \n" +
- "configs \n" +
- " Source config key/values \n" +
- "secrets \n" +
+ " custom Schema class name to be used to encode messages emitted from the Pulsar Source \n" +
+ "- **configs** \n" +
+ " Pulsar Source config key/values \n" +
+ "- **secrets** \n" +
" This is a map of secretName(that is how the secret is going to be accessed in the function via context) to an object that" +
" encapsulates how the secret is fetched by the underlying secrets provider. The type of an value here can be found by the" +
" SecretProviderConfigurator.getSecretObjectType() method. \n" +
- "parallelism \n" +
- " The source's parallelism factor (i.e. the number of source instances to run). \n" +
- "processingGuarantees \n" +
- " The processing guarantees (aka delivery semantics) applied to the source " +
+ "- **parallelism** \n" +
+ " The parallelism factor of a Pulsar Source (i.e. the number of a Pulsar Source instances to run). \n" +
+ "- **processingGuarantees** \n" +
+ " The processing guarantees (aka delivery semantics) applied to the Pulsar Source. " +
" Possible Values: [ATLEAST_ONCE, ATMOST_ONCE, EFFECTIVELY_ONCE] \n" +
- "resources \n" +
- " The size of the system resources allowed by the source runtime. The resources include: cpu, ram, disk. \n" +
- "archive \n" +
- " The path to the NAR archive for the Source. It also supports url-path " +
+ "- **resources** \n" +
+ " The size of the system resources allowed by the Pulsar Source runtime. The resources include: cpu, ram, disk. \n" +
+ "- **archive** \n" +
+ " The path to the NAR archive for the Pulsar Source. It also supports url-path " +
" [http/https/file (file protocol assumes that file already exists on worker host)] " +
" from which worker can download the package. \n" +
- "runtimeFlags \n" +
+ "- **runtimeFlags** \n" +
" Any flags that you want to pass to the runtime. \n",
examples = @Example(
value = @ExampleProperty(
@@ -202,7 +201,7 @@ public class SourcesBase extends AdminResource implements Supplier<WorkerService
)
)
final @FormDataParam("sourceConfig") SourceConfig sourceConfig,
- @ApiParam(value = "Update options for source")
+ @ApiParam(value = "Update options for Pulsar Source")
final @FormDataParam("updateOptions") UpdateOptions updateOptions) {
source.updateSource(tenant, namespace, sourceName, uploadedInputStream, fileDetail,
sourcePkgUrl, sourceConfig, clientAppId(), clientAuthData(), updateOptions);
@@ -214,7 +213,7 @@ public class SourcesBase extends AdminResource implements Supplier<WorkerService
@ApiResponses(value = {
@ApiResponse(code = 400, message = "Invalid request"),
@ApiResponse(code = 401, message = "Client is not authorize to perform operation"),
- @ApiResponse(code = 404, message = "Not Found(The source doesn't exist)"),
+ @ApiResponse(code = 404, message = "Not Found(The Pulsar Source doesn't exist)"),
@ApiResponse(code = 408, message = "Request timeout"),
@ApiResponse(code = 200, message = "The function was successfully deleted"),
@ApiResponse(code = 500, message = "Internal Server Error"),
@@ -222,11 +221,11 @@ public class SourcesBase extends AdminResource implements Supplier<WorkerService
})
@Path("/{tenant}/{namespace}/{sourceName}")
public void deregisterSource(
- @ApiParam(value = "The name of tenant")
+ @ApiParam(value = "The tenant of a Pulsar Source")
final @PathParam("tenant") String tenant,
- @ApiParam(value = "The name of namespace")
+ @ApiParam(value = "The namespace of a Pulsar Source")
final @PathParam("namespace") String namespace,
- @ApiParam(value = "The name of name")
+ @ApiParam(value = "The name of a Pulsar Source")
final @PathParam("sourceName") String sourceName) {
source.deregisterFunction(tenant, namespace, sourceName, clientAppId(), clientAuthData());
}
@@ -238,16 +237,16 @@ public class SourcesBase extends AdminResource implements Supplier<WorkerService
)
@ApiResponses(value = {
@ApiResponse(code = 400, message = "Invalid request"),
- @ApiResponse(code = 404, message = "Not Found(The source doesn't exist)"),
+ @ApiResponse(code = 404, message = "Not Found(The Pulsar Source doesn't exist)"),
@ApiResponse(code = 503, message = "Function worker service is now initializing. Please try again later.")
})
@Path("/{tenant}/{namespace}/{sourceName}")
public SourceConfig getSourceInfo(
- @ApiParam(value = "The name of tenant")
+ @ApiParam(value = "The tenant of a Pulsar Source")
final @PathParam("tenant") String tenant,
- @ApiParam(value = "The name of namespace")
+ @ApiParam(value = "The namespace of a Pulsar Source")
final @PathParam("namespace") String namespace,
- @ApiParam(value = "The name of name")
+ @ApiParam(value = "The name of a Pulsar Source")
final @PathParam("sourceName") String sourceName) throws IOException {
return source.getSourceInfo(tenant, namespace, sourceName);
}
@@ -264,13 +263,13 @@ public class SourcesBase extends AdminResource implements Supplier<WorkerService
@Produces(MediaType.APPLICATION_JSON)
@Path("/{tenant}/{namespace}/{sourceName}/{instanceId}/status")
public SourceStatus.SourceInstanceStatus.SourceInstanceStatusData getSourceInstanceStatus(
- @ApiParam(value = "The name of tenant")
+ @ApiParam(value = "The tenant of a Pulsar Source")
final @PathParam("tenant") String tenant,
- @ApiParam(value = "The name of namespace")
+ @ApiParam(value = "The namespace of a Pulsar Source")
final @PathParam("namespace") String namespace,
- @ApiParam(value = "The name of name")
+ @ApiParam(value = "The name of a Pulsar Source")
final @PathParam("sourceName") String sourceName,
- @ApiParam(value = "The source instanceId (if instance-id is not provided, the stats of all instances is returned).")
+ @ApiParam(value = "The instanceId of a Pulsar Source (if instance-id is not provided, the stats of all instances is returned).")
final @PathParam("instanceId") String instanceId) throws IOException {
return source.getSourceInstanceStatus(
tenant, namespace, sourceName, instanceId, uri.getRequestUri(), clientAppId(), clientAuthData());
@@ -288,11 +287,11 @@ public class SourcesBase extends AdminResource implements Supplier<WorkerService
@Produces(MediaType.APPLICATION_JSON)
@Path("/{tenant}/{namespace}/{sourceName}/status")
public SourceStatus getSourceStatus(
- @ApiParam(value = "The name of tenant")
+ @ApiParam(value = "The tenant of a Pulsar Source")
final @PathParam("tenant") String tenant,
- @ApiParam(value = "The name of namespace")
+ @ApiParam(value = "The namespace of a Pulsar Source")
final @PathParam("namespace") String namespace,
- @ApiParam(value = "The name of name")
+ @ApiParam(value = "The name of a Pulsar Source")
final @PathParam("sourceName") String sourceName) throws IOException {
return source.getSourceStatus(tenant, namespace, sourceName, uri.getRequestUri(), clientAppId(), clientAuthData());
}
@@ -312,141 +311,141 @@ public class SourcesBase extends AdminResource implements Supplier<WorkerService
@Consumes(MediaType.APPLICATION_JSON)
@Path("/{tenant}/{namespace}")
public List<String> listSources(
- @ApiParam(value = "The name of tenant")
+ @ApiParam(value = "The tenant of a Pulsar Source")
final @PathParam("tenant") String tenant,
- @ApiParam(value = "The name of namespace")
+ @ApiParam(value = "The namespace of a Pulsar Source")
final @PathParam("namespace") String namespace) {
return source.listFunctions(tenant, namespace, clientAppId(), clientAuthData());
}
@POST
- @ApiOperation(value = "Restart source instance", response = Void.class)
+ @ApiOperation(value = "Restart an instance of a Pulsar Source", response = Void.class)
@ApiResponses(value = {
@ApiResponse(code = 400, message = "Invalid request"),
@ApiResponse(code = 401, message = "Client is not authorize to perform operation"),
- @ApiResponse(code = 404, message = "Not Found(The source doesn't exist)"),
+ @ApiResponse(code = 404, message = "Not Found(The Pulsar Source doesn't exist)"),
@ApiResponse(code = 500, message = "Internal server error"),
@ApiResponse(code = 503, message = "Function worker service is now initializing. Please try again later.")
})
@Path("/{tenant}/{namespace}/{sourceName}/{instanceId}/restart")
@Consumes(MediaType.APPLICATION_JSON)
public void restartSource(
- @ApiParam(value = "The name of tenant")
+ @ApiParam(value = "The tenant of a Pulsar Source")
final @PathParam("tenant") String tenant,
- @ApiParam(value = "The name of namespace")
+ @ApiParam(value = "The namespace of a Pulsar Source")
final @PathParam("namespace") String namespace,
- @ApiParam(value = "The name of name")
+ @ApiParam(value = "The name of a Pulsar Source")
final @PathParam("sourceName") String sourceName,
- @ApiParam(value = "The source instanceId (if instance-id is not provided, the stats of all instances is returned).")
+ @ApiParam(value = "The instanceId of a Pulsar Source (if instance-id is not provided, the stats of all instances is returned).")
final @PathParam("instanceId") String instanceId) {
source.restartFunctionInstance(tenant, namespace, sourceName, instanceId, uri.getRequestUri(), clientAppId(), clientAuthData());
}
@POST
- @ApiOperation(value = "Restart all source instances", response = Void.class)
+ @ApiOperation(value = "Restart all instances of a Pulsar Source", response = Void.class)
@ApiResponses(value = {
@ApiResponse(code = 400, message = "Invalid request"),
@ApiResponse(code = 401, message = "Client is not authorize to perform operation"),
- @ApiResponse(code = 404, message = "Not Found(The source doesn't exist)"),
+ @ApiResponse(code = 404, message = "Not Found(The Pulsar Source doesn't exist)"),
@ApiResponse(code = 500, message = "Internal server error"),
@ApiResponse(code = 503, message = "Function worker service is now initializing. Please try again later.")
})
@Path("/{tenant}/{namespace}/{sourceName}/restart")
@Consumes(MediaType.APPLICATION_JSON)
public void restartSource(
- @ApiParam(value = "The name of tenant")
+ @ApiParam(value = "The tenant of a Pulsar Source")
final @PathParam("tenant") String tenant,
- @ApiParam(value = "The name of namespace")
+ @ApiParam(value = "The namespace of a Pulsar Source")
final @PathParam("namespace") String namespace,
- @ApiParam(value = "The name of name")
+ @ApiParam(value = "The name of a Pulsar Source")
final @PathParam("sourceName") String sourceName) {
source.restartFunctionInstances(tenant, namespace, sourceName, clientAppId(), clientAuthData());
}
@POST
- @ApiOperation(value = "Stop source instance", response = Void.class)
+ @ApiOperation(value = "Stop instance of a Pulsar Source", response = Void.class)
@ApiResponses(value = {
@ApiResponse(code = 400, message = "Invalid request"),
@ApiResponse(code = 401, message = "Client is not authorize to perform operation"),
- @ApiResponse(code = 404, message = "Not Found(The source doesn't exist)"),
+ @ApiResponse(code = 404, message = "Not Found(The Pulsar Source doesn't exist)"),
@ApiResponse(code = 500, message = "Internal server error"),
@ApiResponse(code = 503, message = "Function worker service is now initializing. Please try again later.")
})
@Path("/{tenant}/{namespace}/{sourceName}/{instanceId}/stop")
@Consumes(MediaType.APPLICATION_JSON)
public void stopSource(
- @ApiParam(value = "The name of tenant")
+ @ApiParam(value = "The tenant of a Pulsar Source")
final @PathParam("tenant") String tenant,
- @ApiParam(value = "The name of namespace")
+ @ApiParam(value = "The namespace of a Pulsar Source")
final @PathParam("namespace") String namespace,
- @ApiParam(value = "The name of name")
+ @ApiParam(value = "The name of a Pulsar Source")
final @PathParam("sourceName") String sourceName,
- @ApiParam(value = "The source instanceId (if instance-id is not provided, the stats of all instances is returned).")
+ @ApiParam(value = "The instanceId of a Pulsar Source (if instance-id is not provided, the stats of all instances is returned).")
final @PathParam("instanceId") String instanceId) {
source.stopFunctionInstance(tenant, namespace, sourceName, instanceId, uri.getRequestUri(), clientAppId(), clientAuthData());
}
@POST
- @ApiOperation(value = "Stop all source instances", response = Void.class)
+ @ApiOperation(value = "Stop all instances of a Pulsar Source", response = Void.class)
@ApiResponses(value = {
@ApiResponse(code = 400, message = "Invalid request"),
@ApiResponse(code = 401, message = "Client is not authorize to perform operation"),
- @ApiResponse(code = 404, message = "Not Found(The source doesn't exist)"),
+ @ApiResponse(code = 404, message = "Not Found(The Pulsar Source doesn't exist)"),
@ApiResponse(code = 500, message = "Internal server error"),
@ApiResponse(code = 503, message = "Function worker service is now initializing. Please try again later.")
})
@Path("/{tenant}/{namespace}/{sourceName}/stop")
@Consumes(MediaType.APPLICATION_JSON)
public void stopSource(
- @ApiParam(value = "The name of tenant")
+ @ApiParam(value = "The tenant of a Pulsar Source")
final @PathParam("tenant") String tenant,
- @ApiParam(value = "The name of namespace")
+ @ApiParam(value = "The namespace of a Pulsar Source")
final @PathParam("namespace") String namespace,
- @ApiParam(value = "The name of name")
+ @ApiParam(value = "The name of a Pulsar Source")
final @PathParam("sourceName") String sourceName) {
source.stopFunctionInstances(tenant, namespace, sourceName, clientAppId(), clientAuthData());
}
@POST
- @ApiOperation(value = "Start source instance", response = Void.class)
+ @ApiOperation(value = "Start an instance of a Pulsar Source", response = Void.class)
@ApiResponses(value = {
@ApiResponse(code = 400, message = "Invalid request"),
@ApiResponse(code = 401, message = "Client is not authorize to perform operation"),
- @ApiResponse(code = 404, message = "Not Found(The source doesn't exist)"),
+ @ApiResponse(code = 404, message = "Not Found(The Pulsar Source doesn't exist)"),
@ApiResponse(code = 500, message = "Internal server error"),
@ApiResponse(code = 503, message = "Function worker service is now initializing. Please try again later.")
})
@Path("/{tenant}/{namespace}/{sourceName}/{instanceId}/start")
@Consumes(MediaType.APPLICATION_JSON)
public void startSource(
- @ApiParam(value = "The name of tenant")
+ @ApiParam(value = "The tenant of a Pulsar Source")
final @PathParam("tenant") String tenant,
- @ApiParam(value = "The name of namespace")
+ @ApiParam(value = "The namespace of a Pulsar Source")
final @PathParam("namespace") String namespace,
- @ApiParam(value = "The name of name")
+ @ApiParam(value = "The name of a Pulsar Source")
final @PathParam("sourceName") String sourceName,
- @ApiParam(value = "The source instanceId (if instance-id is not provided, the stats of all instances is returned).")
+ @ApiParam(value = "The instanceId of a Pulsar Source (if instance-id is not provided, the stats of all instances is returned).")
final @PathParam("instanceId") String instanceId) {
source.startFunctionInstance(tenant, namespace, sourceName, instanceId, uri.getRequestUri(), clientAppId(), clientAuthData());
}
@POST
- @ApiOperation(value = "Start all source instances", response = Void.class)
+ @ApiOperation(value = "Start all instances of a Pulsar Source", response = Void.class)
@ApiResponses(value = {
@ApiResponse(code = 400, message = "Invalid request"),
@ApiResponse(code = 401, message = "Client is not authorize to perform operation"),
- @ApiResponse(code = 404, message = "Not Found(The source doesn't exist)"),
+ @ApiResponse(code = 404, message = "Not Found(The Pulsar Source doesn't exist)"),
@ApiResponse(code = 500, message = "Internal server error"),
@ApiResponse(code = 503, message = "Function worker service is now initializing. Please try again later.")
})
@Path("/{tenant}/{namespace}/{sourceName}/start")
@Consumes(MediaType.APPLICATION_JSON)
public void startSource(
- @ApiParam(value = "The name of tenant")
+ @ApiParam(value = "The tenant of a Pulsar Source")
final @PathParam("tenant") String tenant,
- @ApiParam(value = "The name of namespace")
+ @ApiParam(value = "The namespace of a Pulsar Source")
final @PathParam("namespace") String namespace,
- @ApiParam(value = "The name of name")
+ @ApiParam(value = "The name of a Pulsar Source")
final @PathParam("sourceName") String sourceName) {
source.startFunctionInstances(tenant, namespace, sourceName, clientAppId(), clientAuthData());
}