in internal/output/gcppubsub/gcppubsub.go [161:185]
func (o *Output) createSubscription() error {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
sub := o.client.Subscription(o.opts.GCPPubsubOptions.Subscription)
exists, err := sub.Exists(ctx)
if err != nil {
return fmt.Errorf("failed to check if sub exists: %w", err)
}
if !exists {
_, err := o.client.CreateSubscription(
ctx,
o.opts.GCPPubsubOptions.Subscription,
pubsub.SubscriptionConfig{
Topic: o.client.Topic(o.opts.GCPPubsubOptions.Topic),
},
)
if err != nil {
return fmt.Errorf("failed to create subscription: %w", err)
}
}
return nil
}