{"record":{"id":"4fb03857c3374a0b","repo":"crowdsecurity/crowdsec","slug":"missing-stream-or-group-name","errorCode":null,"errorMessage":"missing stream or group name","messagePattern":"missing stream or group name","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pkg/acquisition/modules/cloudwatch/config.go","lineNumber":291,"sourceCode":"\t\t\tstart := time.Now().UTC().Add(-duration)\n\t\t\ts.Config.StartTime = &start\n\t\t\tend := time.Now().UTC()\n\t\t\ts.Config.EndTime = &end\n\t\tdefault:\n\t\t\treturn fmt.Errorf(\"unexpected argument %s\", k)\n\t\t}\n\t}\n\n\ts.logger.Tracef(\"host=%s\", s.Config.GroupName)\n\ts.logger.Tracef(\"stream=%s\", *s.Config.StreamName)\n\ts.Config.GetLogEventsPagesLimit = &def_GetLogEventsPagesLimit\n\n\tif err := s.newClient(ctx); err != nil {\n\t\treturn err\n\t}\n\n\tif s.Config.StreamName == nil || s.Config.GroupName == \"\" {\n\t\treturn errors.New(\"missing stream or group name\")\n\t}\n\n\tif s.Config.StartTime == nil || s.Config.EndTime == nil {\n\t\treturn errors.New(\"start_date and end_date or backlog are mandatory in one-shot mode\")\n\t}\n\n\ts.Config.Mode = configuration.CAT_MODE\n\ts.streamIndexes = make(map[string]string)\n\ts.t = &tomb.Tomb{}\n\n\treturn nil\n}\n","sourceCodeStart":273,"sourceCodeEnd":304,"githubUrl":"https://github.com/crowdsecurity/crowdsec/blob/909b5157986a2b2c2163300fdaef5ed01289f7d2/pkg/acquisition/modules/cloudwatch/config.go#L273-L304","documentation":"Post-parse validation in ConfigureByDSN: after processing all DSN parameters, StreamName is nil or GroupName is empty. This fires when the DSN's path portion (group:stream) was malformed — the earlier frags check should have caught a missing colon, so reaching this guard usually means the config was left unset by an abnormal DSN shape.","triggerScenarios":"Thrown at pkg/acquisition/modules/cloudwatch/config.go:291 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Use the full DSN form: cloudwatch:///my/group/name:stream/name — group and stream separated by a colon","Ensure the stream name after the colon is not empty","For YAML config, set both group_name and stream_name"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"909b5157986a2b2c2163300fdaef5ed01289f7d2","analyzedAt":"2026-09-06T12:27:26.012Z","contentChangedAt":"2026-09-06T12:27:26.012Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}