MCPcopy Create free account
hub / github.com/auth0/auth0-cli / createLogStreamsSumoLogicCmd

Function createLogStreamsSumoLogicCmd

internal/cli/log_streams_sumo.go:24–106  ·  view source on GitHub ↗
(cli *cli)

Source from the content-addressed store, hash-verified

22)
23
24func createLogStreamsSumoLogicCmd(cli *cli) *cobra.Command {
25 var inputs struct {
26 mame string
27 sumoLogicSource string
28 piiConfig string
29 filters string
30 }
31
32 cmd := &cobra.Command{
33 Use: "sumo",
34 Args: cobra.NoArgs,
35 Short: "Create a new Sumo Logic log stream",
36 Long: "Visualize logs and detect threats faster with security insights.\n\n" +
37 "To create interactively, use `auth0 logs streams create sumo` with no arguments.\n\n" +
38 "To create non-interactively, supply the log stream name and other information through the flags.",
39 Example: ` auth0 logs streams create sumo
40 auth0 logs streams create sumo --name <name>
41 auth0 logs streams create sumo --name <name> --source <source>
42 auth0 logs streams create sumo --name <name> --source <source> --filters '[{"type":"category","name":"auth.login.fail"},{"type":"category","name":"auth.signup.fail"}]'
43 auth0 logs streams create sumo --name <name> --source <source> --pii-config '{"log_fields": ["first_name", "last_name"], "method": "hash", "algorithm": "xxhash"}'
44 auth0 logs streams create sumo -n <name> -s <source>
45 auth0 logs streams create sumo -n "mylogstream" -s "demo.sumo.com" --json
46 auth0 logs streams create sumo -n "mylogstream" -s "demo.sumo.com" --json-compact`,
47 RunE: func(cmd *cobra.Command, args []string) error {
48 if err := logStreamName.Ask(cmd, &inputs.mame, nil); err != nil {
49 return err
50 }
51
52 if err := sumoLogicSource.Ask(cmd, &inputs.sumoLogicSource, nil); err != nil {
53 return err
54 }
55
56 var piiConfig *management.LogStreamPiiConfig
57 if err := logStreamPIIConfig.Ask(cmd, &inputs.piiConfig, auth0.String("{}")); err != nil {
58 return err
59 }
60
61 if inputs.piiConfig != "{}" {
62 if err := json.Unmarshal([]byte(inputs.piiConfig), &piiConfig); err != nil {
63 return fmt.Errorf("provider: %s credentials invalid JSON: %w", inputs.piiConfig, err)
64 }
65 }
66
67 var filters *[]map[string]string
68 if err := logStreamFilters.Ask(cmd, &filters, auth0.String("[]")); err != nil {
69 return err
70 }
71
72 if inputs.filters != "[]" {
73 if err := json.Unmarshal([]byte(inputs.filters), &filters); err != nil {
74 return fmt.Errorf("provider: %s filters invalid JSON: %w", inputs.filters, err)
75 }
76 }
77
78 newLogStream := &management.LogStream{
79 Name: &inputs.mame,
80 Type: auth0.String(string(logStreamTypeSumo)),
81 Sink: &management.LogStreamSinkSumo{

Callers 1

createLogStreamCmdFunction · 0.85

Calls 6

WaitingFunction · 0.92
ErrorfMethod · 0.80
LogStreamCreateMethod · 0.80
RegisterStringMethod · 0.80
CreateMethod · 0.65
AskMethod · 0.45

Tested by

no test coverage detected