github.com/Jeffail/benthos/v3@v3.65.0/lib/input/nats_jetstream.go (about) 1 package input 2 3 import ( 4 "github.com/Jeffail/benthos/v3/internal/impl/nats/auth" 5 "github.com/Jeffail/benthos/v3/lib/util/tls" 6 "github.com/nats-io/nats.go" 7 ) 8 9 // NATSJetStreamConfig contains configuration fields for the NATS Jetstream 10 // input type. 11 type NATSJetStreamConfig struct { 12 URLs []string `json:"urls" yaml:"urls"` 13 Subject string `json:"subject" yaml:"subject"` 14 Queue string `json:"queue" yaml:"queue"` 15 Durable string `json:"durable" yaml:"durable"` 16 Deliver string `json:"deliver" yaml:"deliver"` 17 AckWait string `json:"ack_wait" yaml:"ack_wait"` 18 MaxAckPending int `json:"max_ack_pending" yaml:"max_ack_pending"` 19 TLS tls.Config `json:"tls" yaml:"tls"` 20 Auth auth.Config `json:"auth" yaml:"auth"` 21 } 22 23 // NewNATSJetStreamConfig creates a new NATSJetstreamConfig with default values. 24 func NewNATSJetStreamConfig() NATSJetStreamConfig { 25 return NATSJetStreamConfig{ 26 URLs: []string{nats.DefaultURL}, 27 Subject: "", 28 AckWait: "30s", 29 MaxAckPending: 1024, 30 Deliver: "all", 31 TLS: tls.NewConfig(), 32 Auth: auth.New(), 33 } 34 }