Add message queue service factory (#1537)
This commit is contained in:
@@ -30,6 +30,7 @@ import (
|
||||
"github.com/fission/fission/pkg/fission-cli/console"
|
||||
flagkey "github.com/fission/fission/pkg/fission-cli/flag/key"
|
||||
"github.com/fission/fission/pkg/fission-cli/util"
|
||||
"github.com/fission/fission/pkg/mqtrigger/validator"
|
||||
)
|
||||
|
||||
type CreateSubCommand struct {
|
||||
@@ -58,18 +59,9 @@ func (opts *CreateSubCommand) complete(input cli.Input) error {
|
||||
fnName := input.String(flagkey.MqtFnName)
|
||||
fnNamespace := input.String(flagkey.NamespaceFunction)
|
||||
|
||||
var mqType fv1.MessageQueueType
|
||||
switch input.String(flagkey.MqtMQType) {
|
||||
case "":
|
||||
mqType = fv1.MessageQueueTypeNats
|
||||
case fv1.MessageQueueTypeNats:
|
||||
mqType = fv1.MessageQueueTypeNats
|
||||
case fv1.MessageQueueTypeASQ:
|
||||
mqType = fv1.MessageQueueTypeASQ
|
||||
case fv1.MessageQueueTypeKafka:
|
||||
mqType = fv1.MessageQueueTypeKafka
|
||||
default:
|
||||
return errors.New("Unknown message queue type, currently only \"nats-streaming, azure-storage-queue, kafka \" is supported")
|
||||
mqType := (fv1.MessageQueueType)(input.String(flagkey.MqtMQType))
|
||||
if !validator.IsValidMessageQueue((string)(mqType)) {
|
||||
return errors.New("Unsupported message queue type")
|
||||
}
|
||||
|
||||
topic := input.String(flagkey.MqtTopic)
|
||||
@@ -172,7 +164,7 @@ func (opts *CreateSubCommand) run(input cli.Input) error {
|
||||
|
||||
func checkMQTopicAvailability(mqType fv1.MessageQueueType, topics ...string) error {
|
||||
for _, t := range topics {
|
||||
if len(t) > 0 && !fv1.IsTopicValid(mqType, t) {
|
||||
if len(t) > 0 && !validator.IsValidTopic((string)(mqType), t) {
|
||||
return errors.Errorf("invalid topic for %s: %s", mqType, t)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -127,7 +127,7 @@ var (
|
||||
|
||||
MqtName = Flag{Type: String, Name: flagkey.MqtName, Usage: "Message queue trigger name"}
|
||||
MqtFnName = Flag{Type: String, Name: flagkey.MqtFnName, Usage: "Function name"}
|
||||
MqtMQType = Flag{Type: String, Name: flagkey.MqtMQType, Usage: "Message queue type, e.g. nats-streaming, azure-storage-queue", DefaultValue: "nats-streaming"}
|
||||
MqtMQType = Flag{Type: String, Name: flagkey.MqtMQType, Usage: "Message queue type, e.g. nats-streaming, azure-storage-queue, kafka", DefaultValue: "nats-streaming"}
|
||||
MqtTopic = Flag{Type: String, Name: flagkey.MqtTopic, Usage: "Message queue Topic the trigger listens on"}
|
||||
MqtRespTopic = Flag{Type: String, Name: flagkey.MqtRespTopic, Usage: "Topic that the function response is sent on (response discarded if unspecified)"}
|
||||
MqtErrorTopic = Flag{Type: String, Name: flagkey.MqtErrorTopic, Usage: "Topic that the function error messages are sent to (errors discarded if unspecified"}
|
||||
|
||||
Reference in New Issue
Block a user