Add message queue service factory (#1537)

This commit is contained in:
Ta-Ching Chen
2020-02-20 23:30:39 +08:00
committed by GitHub
parent e0dc7f2f81
commit cc14044b6b
12 changed files with 218 additions and 122 deletions
+5 -13
View File
@@ -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)
}
}