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

Function createLogStreamsDatadogCmd

internal/cli/log_streams_datadog.go:35–124  ·  view source on GitHub ↗
(cli *cli)

Source from the content-addressed store, hash-verified

33)
34
35func createLogStreamsDatadogCmd(cli *cli) *cobra.Command {
36 var inputs struct {
37 name string
38 datadogAPIKey string
39 datadogRegion string
40 piiConfig string
41 filters string
42 }
43
44 cmd := &cobra.Command{
45 Use: "datadog",
46 Args: cobra.NoArgs,
47 Short: "Create a new Datadog log stream",
48 Long: "Build interactive dashboards and get alerted on critical issues.\n\n" +
49 "To create interactively, use `auth0 logs streams create datadog` with no arguments.\n\n" +
50 "To create non-interactively, supply the log stream name and other information through the flags.",
51 Example: ` auth0 logs streams create datadog
52 auth0 logs streams create datadog --name <name>
53 auth0 logs streams create datadog --name <name> --region <region>
54 auth0 logs streams create datadog --name <name> --region <region> --api-key <api-key> --filters '[{"type":"category","name":"auth.login.fail"},{"type":"category","name":"auth.signup.fail"}]'
55 auth0 logs streams create datadog --name <name> --region <region> --api-key <api-key> --pii-config '{"log_fields": ["first_name", "last_name"], "method": "hash", "algorithm": "xxhash"}'
56 auth0 logs streams create datadog -n <name> -r <region> -k <api-key>
57 auth0 logs streams create datadog -n mylogstream -r eu -k 121233123455 --json
58 auth0 logs streams create datadog -n mylogstream -r eu -k 121233123455 --json-compact`,
59 RunE: func(cmd *cobra.Command, args []string) error {
60 if err := logStreamName.Ask(cmd, &inputs.name, nil); err != nil {
61 return err
62 }
63
64 if err := datadogRegion.Select(cmd, &inputs.datadogRegion, datadogRegionOptions, nil); err != nil {
65 return err
66 }
67
68 if err := datadogAPIKey.AskPassword(cmd, &inputs.datadogAPIKey); err != nil {
69 return err
70 }
71
72 var piiConfig *management.LogStreamPiiConfig
73 if err := logStreamPIIConfig.Ask(cmd, &inputs.piiConfig, auth0.String("{}")); err != nil {
74 return err
75 }
76
77 if inputs.piiConfig != "{}" {
78 if err := json.Unmarshal([]byte(inputs.piiConfig), &piiConfig); err != nil {
79 return fmt.Errorf("provider: %s credentials invalid JSON: %w", inputs.piiConfig, err)
80 }
81 }
82
83 var filters *[]map[string]string
84 if err := logStreamFilters.Ask(cmd, &filters, auth0.String("[]")); err != nil {
85 return err
86 }
87
88 if inputs.filters != "[]" {
89 if err := json.Unmarshal([]byte(inputs.filters), &filters); err != nil {
90 return fmt.Errorf("provider: %s filters invalid JSON: %w", inputs.filters, err)
91 }
92 }

Callers 1

createLogStreamCmdFunction · 0.85

Calls 8

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

Tested by

no test coverage detected