package main import ( "context" "encoding/json" "log/slog" "github.com/aws/aws-sdk-go-v2/aws" "github.com/aws/aws-sdk-go-v2/config" "github.com/aws/aws-sdk-go-v2/service/eventbridge" "github.com/aws/aws-sdk-go-v2/service/eventbridge/types" ) func main() { ctx := context.Background() awsConf, err := config.LoadDefaultConfig(ctx) if err != nil { slog.Error(err.Error()) } client := eventbridge.NewFromConfig(awsConf) bs, err := json.Marshal(map[string]string{ "foo": "bar", }) if err != nil { slog.Error(err.Error()) } cmd := eventbridge.PutEventsInput{} cmd.Entries = append(cmd.Entries, types.PutEventsRequestEntry{ EventBusName: aws.String("test"), Source: aws.String("whatever"), DetailType: aws.String("event"), Detail: aws.String(string(bs)), }) _, err = client.PutEvents(ctx, &cmd) if err != nil { slog.Error(err.Error()) } }