1
+ package io.streammachine.api.cli.commands
2
+
3
+ import com.github.ajalt.clikt.core.CliktCommand
4
+ import com.github.ajalt.clikt.core.subcommands
5
+ import com.github.ajalt.clikt.parameters.arguments.argument
6
+ import com.github.kittinunf.fuel.httpDelete
7
+ import com.github.kittinunf.fuel.httpGet
8
+ import com.github.kittinunf.fuel.httpPost
9
+ import io.streammachine.api.cli.common.printResponse
10
+
11
+ class KafkaExportersUsers : CliktCommand (
12
+ name = " kafka-exporters-users" ,
13
+ help = " View users on kafka-exporters and their details."
14
+ ) {
15
+ init {
16
+ subcommands(
17
+ kafkaExportersUsersList(),
18
+ KafkaExportersUsersGetOne (),
19
+ KafkaExportersUsersCreate (),
20
+ KafkaExportersUsersDelete ()
21
+ )
22
+ }
23
+
24
+ override fun run () = Unit
25
+ }
26
+
27
+ open class kafkaExportersUsersList : CliktCommand (
28
+ name = " list" ,
29
+ help = " Get all users on a certain Kafka exporter"
30
+ ) {
31
+ internal val streamName by argument(" stream-name" , help = " Name of the stream that is being exporter" )
32
+
33
+ override fun run () {
34
+ " /v1/kafka-exporters-users/$streamName " .httpGet().printResponse()
35
+ }
36
+ }
37
+ open class KafkaExportersUsersGetOne : CliktCommand (
38
+ name = " get" ,
39
+ help = " Get a specific user on a Kafka exporter by stream name"
40
+ ) {
41
+ internal val streamName by argument(" stream-name" , help = " Name of the stream that is being exported" )
42
+ internal val clientId by argument(" client-id" , help = " The client id that identifies the Kafka Consumer" )
43
+
44
+ override fun run () {
45
+ " /v1/kafka-exporters-users/$streamName /$clientId " .httpGet().printResponse()
46
+ }
47
+ }
48
+
49
+ open class KafkaExportersUsersDelete : CliktCommand (
50
+ name = " delete" ,
51
+ help = " Delete a specific exporter by name for a stream"
52
+ ) {
53
+ internal val streamName by argument(" stream-name" , help = " Name of the stream that is being exported" )
54
+ internal val clientId by argument(" client-id" , help = " The client id that identifies the Kafka Consumer" )
55
+ override fun run () {
56
+ " /v1/kafka-exporters-users/$streamName /$clientId " .httpDelete().printResponse()
57
+ }
58
+ }
59
+
60
+ open class KafkaExportersUsersCreate : CliktCommand (
61
+ name = " create" ,
62
+ help = " Create a new user on an existing Kafka exporter"
63
+ ) {
64
+ internal val streamName by argument(" stream-name" , help = " Name of the stream that is being exported" )
65
+ override fun run () {
66
+ " /v1/kafka-exporters-users/$streamName " .httpPost().printResponse()
67
+ }
68
+ }
0 commit comments