
* refactor: take clients out of internal * refactor: move stdio to pkg * Move internal/api to api * refactor: final changes for Kapacitor to access shared functionality * chore: regenerate mocks * fix: bad automated refactor * chore: extra formatting not caught by make fmt
70 lines
2.2 KiB
Go
70 lines
2.2 KiB
Go
package main
|
|
|
|
import (
|
|
"github.com/influxdata/influx-cli/v2/clients/delete"
|
|
"github.com/influxdata/influx-cli/v2/pkg/cli/middleware"
|
|
"github.com/urfave/cli/v2"
|
|
)
|
|
|
|
func newDeleteCmd() *cli.Command {
|
|
var params delete.Params
|
|
return &cli.Command{
|
|
Name: "delete",
|
|
Usage: "Delete points from InfluxDB",
|
|
Description: "Delete points from InfluxDB, by specify start, end time and a sql like predicate string",
|
|
Flags: append(
|
|
commonFlagsNoPrint(),
|
|
&cli.GenericFlag{
|
|
Name: "org-id",
|
|
Usage: "The ID of the organization that owns the bucket",
|
|
EnvVars: []string{"INFLUX_ORG_ID"},
|
|
Value: ¶ms.OrgID,
|
|
},
|
|
&cli.StringFlag{
|
|
Name: "org",
|
|
Usage: "The name of the organization that owns the bucket",
|
|
Aliases: []string{"o"},
|
|
EnvVars: []string{"INFLUX_ORG"},
|
|
Destination: ¶ms.OrgName,
|
|
},
|
|
&cli.GenericFlag{
|
|
Name: "bucket-id",
|
|
Usage: "The ID of the bucket to delete from",
|
|
EnvVars: []string{"INFLUX_BUCKET_ID"},
|
|
Value: ¶ms.BucketID,
|
|
},
|
|
&cli.StringFlag{
|
|
Name: "bucket",
|
|
Usage: "The name of the bucket to delete from",
|
|
EnvVars: []string{"INFLUX_BUCKET_NAME"},
|
|
Destination: ¶ms.BucketName,
|
|
},
|
|
// NOTE: cli has a Timestamp flag we could use to parse the strings immediately on input,
|
|
// but the help-text generation is broken for it.
|
|
&cli.StringFlag{
|
|
Name: "start",
|
|
Usage: "The start time in RFC3339Nano format (ex: '2009-01-02T23:00:00Z')",
|
|
Required: true,
|
|
Destination: ¶ms.Start,
|
|
},
|
|
&cli.StringFlag{
|
|
Name: "stop",
|
|
Usage: "The stop time in RFC3339Nano format (ex: '2009-01-02T23:00:00Z')",
|
|
Required: true,
|
|
Destination: ¶ms.Stop,
|
|
},
|
|
&cli.StringFlag{
|
|
Name: "predicate",
|
|
Usage: "sql like predicate string (ex: 'tag1=\"v1\" and (tag2=123)')",
|
|
Aliases: []string{"p"},
|
|
Destination: ¶ms.Predicate,
|
|
},
|
|
),
|
|
Before: middleware.WithBeforeFns(withCli(), withApi(true)),
|
|
Action: func(ctx *cli.Context) error {
|
|
client := delete.Client{CLI: getCLI(ctx), DeleteApi: getAPI(ctx).DeleteApi}
|
|
return client.Delete(ctx.Context, ¶ms)
|
|
},
|
|
}
|
|
}
|