feat: port influx setup
from influxdb
(#35)
This commit is contained in:
@ -12,6 +12,7 @@ import (
|
|||||||
"github.com/influxdata/influx-cli/v2/internal"
|
"github.com/influxdata/influx-cli/v2/internal"
|
||||||
"github.com/influxdata/influx-cli/v2/internal/api"
|
"github.com/influxdata/influx-cli/v2/internal/api"
|
||||||
"github.com/influxdata/influx-cli/v2/internal/config"
|
"github.com/influxdata/influx-cli/v2/internal/config"
|
||||||
|
"github.com/influxdata/influx-cli/v2/internal/stdio"
|
||||||
"github.com/urfave/cli/v2"
|
"github.com/urfave/cli/v2"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -27,28 +28,48 @@ var (
|
|||||||
hostFlag = "host"
|
hostFlag = "host"
|
||||||
skipVerifyFlag = "skip-verify"
|
skipVerifyFlag = "skip-verify"
|
||||||
traceIdFlag = "trace-debug-id"
|
traceIdFlag = "trace-debug-id"
|
||||||
configPathFlag = "config-path"
|
configPathFlag = "configs-path"
|
||||||
configNameFlag = "active-config"
|
configNameFlag = "active-config"
|
||||||
httpDebugFlag = "http-debug"
|
httpDebugFlag = "http-debug"
|
||||||
|
printJsonFlag = "json"
|
||||||
|
hideHeadersFlag = "hide-headers"
|
||||||
)
|
)
|
||||||
|
|
||||||
// loadConfig reads CLI configs from disk, returning the config with the
|
// newCli builds a CLI core that reads from stdin, writes to stdout/stderr, manages a local config store,
|
||||||
// name specified over the CLI (or default if no name was given).
|
// and optionally tracks a trace ID specified over the CLI.
|
||||||
func loadConfig(ctx *cli.Context) (config.Config, error) {
|
func newCli(ctx *cli.Context) (*internal.CLI, error) {
|
||||||
configs := config.GetConfigsOrDefault(ctx.String(configPathFlag))
|
configPath := ctx.String(configPathFlag)
|
||||||
configName := ctx.String(configNameFlag)
|
var err error
|
||||||
if configName != "" {
|
if configPath == "" {
|
||||||
if err := configs.Switch(configName); err != nil {
|
configPath, err = config.DefaultPath()
|
||||||
return config.Config{}, err
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return configs.Active(), nil
|
configSvc := config.NewLocalConfigService(configPath)
|
||||||
|
var activeConfig config.Config
|
||||||
|
if ctx.IsSet(configNameFlag) {
|
||||||
|
if activeConfig, err = configSvc.SwitchActive(ctx.String(configNameFlag)); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
} else if activeConfig, err = configSvc.Active(); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
return &internal.CLI{
|
||||||
|
StdIO: stdio.TerminalStdio,
|
||||||
|
TraceId: ctx.String(traceIdFlag),
|
||||||
|
PrintAsJSON: ctx.Bool(printJsonFlag),
|
||||||
|
HideTableHeaders: ctx.Bool(hideHeadersFlag),
|
||||||
|
ActiveConfig: activeConfig,
|
||||||
|
ConfigService: configSvc,
|
||||||
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// newApiClient returns an API client configured to communicate with a remote InfluxDB instance over HTTP.
|
// newApiClient returns an API client configured to communicate with a remote InfluxDB instance over HTTP.
|
||||||
// Client parameters are pulled from the CLI context.
|
// Client parameters are pulled from the CLI context.
|
||||||
func newApiClient(ctx *cli.Context, injectToken bool) (*api.APIClient, error) {
|
func newApiClient(ctx *cli.Context, cli *internal.CLI, injectToken bool) (*api.APIClient, error) {
|
||||||
cfg, err := loadConfig(ctx)
|
cfg, err := cli.ConfigService.Active()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -80,17 +101,6 @@ func newApiClient(ctx *cli.Context, injectToken bool) (*api.APIClient, error) {
|
|||||||
return api.NewAPIClient(apiConfig), nil
|
return api.NewAPIClient(apiConfig), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// newCli builds a CLI core that reads from stdin, writes to stdout/stderr, and
|
|
||||||
// optionally tracks a trace ID specified over the CLI.
|
|
||||||
func newCli(ctx *cli.Context) *internal.CLI {
|
|
||||||
return &internal.CLI{
|
|
||||||
Stdin: ctx.App.Reader,
|
|
||||||
Stdout: ctx.App.Writer,
|
|
||||||
Stderr: ctx.App.ErrWriter,
|
|
||||||
TraceId: ctx.String(traceIdFlag),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
if len(date) == 0 {
|
if len(date) == 0 {
|
||||||
date = time.Now().UTC().Format(time.RFC3339)
|
date = time.Now().UTC().Format(time.RFC3339)
|
||||||
@ -104,13 +114,9 @@ func main() {
|
|||||||
// to be specified after _all_ command names were given.
|
// to be specified after _all_ command names were given.
|
||||||
//
|
//
|
||||||
// We replicate the pattern from the old CLI so existing scripts and docs stay valid.
|
// We replicate the pattern from the old CLI so existing scripts and docs stay valid.
|
||||||
commonFlags := []cli.Flag{
|
|
||||||
&cli.StringFlag{
|
// Some commands (i.e. `setup` use custom help-text for the token flag).
|
||||||
Name: tokenFlag,
|
commonFlagsNoToken := []cli.Flag{
|
||||||
Usage: "Authentication token",
|
|
||||||
Aliases: []string{"t"},
|
|
||||||
EnvVars: []string{"INFLUX_TOKEN"},
|
|
||||||
},
|
|
||||||
&cli.StringFlag{
|
&cli.StringFlag{
|
||||||
Name: hostFlag,
|
Name: hostFlag,
|
||||||
Usage: "HTTP address of InfluxDB",
|
Usage: "HTTP address of InfluxDB",
|
||||||
@ -120,7 +126,7 @@ func main() {
|
|||||||
Name: skipVerifyFlag,
|
Name: skipVerifyFlag,
|
||||||
Usage: "Skip TLS certificate chain and host name verification",
|
Usage: "Skip TLS certificate chain and host name verification",
|
||||||
},
|
},
|
||||||
&cli.StringFlag{
|
&cli.PathFlag{
|
||||||
Name: configPathFlag,
|
Name: configPathFlag,
|
||||||
Usage: "Path to the influx CLI configurations",
|
Usage: "Path to the influx CLI configurations",
|
||||||
EnvVars: []string{"INFLUX_CLI_CONFIGS_PATH"},
|
EnvVars: []string{"INFLUX_CLI_CONFIGS_PATH"},
|
||||||
@ -142,6 +148,14 @@ func main() {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Most commands use this form of the token flag.
|
||||||
|
//commonFlags := append(commonFlagsNoToken, &cli.StringFlag{
|
||||||
|
// Name: tokenFlag,
|
||||||
|
// Usage: "Authentication token",
|
||||||
|
// Aliases: []string{"t"},
|
||||||
|
// EnvVars: []string{"INFLUX_TOKEN"},
|
||||||
|
//})
|
||||||
|
|
||||||
app := cli.App{
|
app := cli.App{
|
||||||
Name: "influx",
|
Name: "influx",
|
||||||
Usage: "Influx Client",
|
Usage: "Influx Client",
|
||||||
@ -158,20 +172,104 @@ func main() {
|
|||||||
{
|
{
|
||||||
Name: "ping",
|
Name: "ping",
|
||||||
Usage: "Check the InfluxDB /health endpoint",
|
Usage: "Check the InfluxDB /health endpoint",
|
||||||
Flags: commonFlags,
|
Flags: commonFlagsNoToken,
|
||||||
Action: func(ctx *cli.Context) error {
|
Action: func(ctx *cli.Context) error {
|
||||||
client, err := newApiClient(ctx, false)
|
cli, err := newCli(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
return newCli(ctx).Ping(ctx.Context, client.HealthApi)
|
client, err := newApiClient(ctx, cli, false)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return cli.Ping(ctx.Context, client.HealthApi)
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Name: "setup",
|
||||||
|
Usage: "Setup instance with initial user, org, bucket",
|
||||||
|
Flags: append(
|
||||||
|
commonFlagsNoToken,
|
||||||
|
&cli.StringFlag{
|
||||||
|
Name: "username",
|
||||||
|
Usage: "Name of initial user to create",
|
||||||
|
Aliases: []string{"u"},
|
||||||
|
},
|
||||||
|
&cli.StringFlag{
|
||||||
|
Name: "password",
|
||||||
|
Usage: "Password to set on initial user",
|
||||||
|
Aliases: []string{"p"},
|
||||||
|
},
|
||||||
|
&cli.StringFlag{
|
||||||
|
Name: tokenFlag,
|
||||||
|
Usage: "Auth token to set on the initial user",
|
||||||
|
Aliases: []string{"t"},
|
||||||
|
EnvVars: []string{"INFLUX_TOKEN"},
|
||||||
|
DefaultText: "auto-generated",
|
||||||
|
},
|
||||||
|
&cli.StringFlag{
|
||||||
|
Name: "org",
|
||||||
|
Usage: "Name of initial organization to create",
|
||||||
|
Aliases: []string{"o"},
|
||||||
|
},
|
||||||
|
&cli.StringFlag{
|
||||||
|
Name: "bucket",
|
||||||
|
Usage: "Name of initial bucket to create",
|
||||||
|
Aliases: []string{"b"},
|
||||||
|
},
|
||||||
|
&cli.StringFlag{
|
||||||
|
Name: "retention",
|
||||||
|
Usage: "Duration initial bucket will retain data, or 0 for infinite",
|
||||||
|
Aliases: []string{"r"},
|
||||||
|
DefaultText: "infinite",
|
||||||
|
},
|
||||||
|
&cli.BoolFlag{
|
||||||
|
Name: "force",
|
||||||
|
Usage: "Skip confirmation prompt",
|
||||||
|
Aliases: []string{"f"},
|
||||||
|
},
|
||||||
|
&cli.StringFlag{
|
||||||
|
Name: "name",
|
||||||
|
Usage: "Name to set on CLI config generated for the InfluxDB instance, required if other configs exist",
|
||||||
|
Aliases: []string{"n"},
|
||||||
|
},
|
||||||
|
&cli.BoolFlag{
|
||||||
|
Name: printJsonFlag,
|
||||||
|
Usage: "Output data as JSON",
|
||||||
|
EnvVars: []string{"INFLUX_OUTPUT_JSON"},
|
||||||
|
},
|
||||||
|
&cli.BoolFlag{
|
||||||
|
Name: hideHeadersFlag,
|
||||||
|
Usage: "Hide the table headers in output data",
|
||||||
|
EnvVars: []string{"INFLUX_HIDE_HEADERS"},
|
||||||
|
},
|
||||||
|
),
|
||||||
|
Action: func(ctx *cli.Context) error {
|
||||||
|
cli, err := newCli(ctx)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
client, err := newApiClient(ctx, cli, false)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return cli.Setup(ctx.Context, client.SetupApi, &internal.SetupParams{
|
||||||
|
Username: ctx.String("username"),
|
||||||
|
Password: ctx.String("password"),
|
||||||
|
AuthToken: ctx.String(tokenFlag),
|
||||||
|
Org: ctx.String("org"),
|
||||||
|
Bucket: ctx.String("bucket"),
|
||||||
|
Retention: ctx.String("retention"),
|
||||||
|
Force: ctx.Bool("force"),
|
||||||
|
ConfigName: ctx.String("name"),
|
||||||
|
})
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := app.Run(os.Args); err != nil {
|
if err := app.Run(os.Args); err != nil {
|
||||||
_, _ = fmt.Fprintf(os.Stderr, "Error: %v", err)
|
_, _ = fmt.Fprintf(os.Stderr, "Error: %v\n", err)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
1
go.mod
1
go.mod
@ -3,6 +3,7 @@ module github.com/influxdata/influx-cli/v2
|
|||||||
go 1.16
|
go 1.16
|
||||||
|
|
||||||
require (
|
require (
|
||||||
|
github.com/AlecAivazis/survey/v2 v2.2.9
|
||||||
github.com/BurntSushi/toml v0.3.1
|
github.com/BurntSushi/toml v0.3.1
|
||||||
github.com/daixiang0/gci v0.2.8
|
github.com/daixiang0/gci v0.2.8
|
||||||
github.com/kr/pretty v0.1.0 // indirect
|
github.com/kr/pretty v0.1.0 // indirect
|
||||||
|
25
go.sum
25
go.sum
@ -1,17 +1,34 @@
|
|||||||
|
github.com/AlecAivazis/survey/v2 v2.2.9 h1:LWvJtUswz/W9/zVVXELrmlvdwWcKE60ZAw0FWV9vssk=
|
||||||
|
github.com/AlecAivazis/survey/v2 v2.2.9/go.mod h1:9DYvHgXtiXm6nCn+jXnOXLKbH+Yo9u8fAS/SduGdoPk=
|
||||||
github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=
|
github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=
|
||||||
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
||||||
|
github.com/Netflix/go-expect v0.0.0-20180615182759-c93bf25de8e8 h1:xzYJEypr/85nBpB11F9br+3HUrpgb+fcm5iADzXXYEw=
|
||||||
|
github.com/Netflix/go-expect v0.0.0-20180615182759-c93bf25de8e8/go.mod h1:oX5x61PbNXchhh0oikYAH+4Pcfw5LKv21+Jnpr6r6Pc=
|
||||||
github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d h1:U+s90UTSYgptZMwQh2aRr3LuazLJIa+Pg3Kc1ylSYVY=
|
github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d h1:U+s90UTSYgptZMwQh2aRr3LuazLJIa+Pg3Kc1ylSYVY=
|
||||||
github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
|
github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
|
||||||
github.com/daixiang0/gci v0.2.8 h1:1mrIGMBQsBu0P7j7m1M8Lb+ZeZxsZL+jyGX4YoMJJpg=
|
github.com/daixiang0/gci v0.2.8 h1:1mrIGMBQsBu0P7j7m1M8Lb+ZeZxsZL+jyGX4YoMJJpg=
|
||||||
github.com/daixiang0/gci v0.2.8/go.mod h1:+4dZ7TISfSmqfAGv59ePaHfNzgGtIkHAhhdKggP1JAc=
|
github.com/daixiang0/gci v0.2.8/go.mod h1:+4dZ7TISfSmqfAGv59ePaHfNzgGtIkHAhhdKggP1JAc=
|
||||||
github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
|
|
||||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
|
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||||
|
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
|
github.com/hinshun/vt10x v0.0.0-20180616224451-1954e6464174 h1:WlZsjVhE8Af9IcZDGgJGQpNflI3+MJSBhsgT5PCtzBQ=
|
||||||
|
github.com/hinshun/vt10x v0.0.0-20180616224451-1954e6464174/go.mod h1:DqJ97dSdRW1W22yXSB90986pcOyQ7r45iio1KN2ez1A=
|
||||||
|
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs=
|
||||||
|
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8=
|
||||||
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
|
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
|
||||||
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
|
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
|
||||||
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
|
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
|
||||||
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
||||||
|
github.com/kr/pty v1.1.4 h1:5Myjjh3JY/NaAi4IsUbHADytDyl1VE1Y9PXDlL+P/VQ=
|
||||||
|
github.com/kr/pty v1.1.4/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
||||||
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
|
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
|
||||||
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
||||||
|
github.com/mattn/go-colorable v0.1.2 h1:/bC9yWikZXAL9uJdulbSfyVNIR3n3trXl+v8+1sx8mU=
|
||||||
|
github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
|
||||||
|
github.com/mattn/go-isatty v0.0.8 h1:HLtExJ+uU2HOZ+wI0Tt5DtUDrx8yhUqDcp7fYERX4CE=
|
||||||
|
github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
|
||||||
|
github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b h1:j7+1HpAFS1zy5+Q4qx1fWh90gTKwiN4QCGoY9TWyyO4=
|
||||||
|
github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE=
|
||||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||||
github.com/russross/blackfriday/v2 v2.0.1 h1:lPqVAte+HuHNfhJ/0LC98ESWRz8afy9tM/0RK8m9o+Q=
|
github.com/russross/blackfriday/v2 v2.0.1 h1:lPqVAte+HuHNfhJ/0LC98ESWRz8afy9tM/0RK8m9o+Q=
|
||||||
@ -19,13 +36,16 @@ github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQD
|
|||||||
github.com/shurcooL/sanitized_anchor_name v1.0.0 h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo=
|
github.com/shurcooL/sanitized_anchor_name v1.0.0 h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo=
|
||||||
github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
|
github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
|
||||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||||
|
github.com/stretchr/testify v1.2.1/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
||||||
github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY=
|
github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY=
|
||||||
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||||
github.com/urfave/cli/v2 v2.3.0 h1:qph92Y649prgesehzOrQjdWyxFOp/QVM+6imKHad91M=
|
github.com/urfave/cli/v2 v2.3.0 h1:qph92Y649prgesehzOrQjdWyxFOp/QVM+6imKHad91M=
|
||||||
github.com/urfave/cli/v2 v2.3.0/go.mod h1:LJmUH05zAU44vOAcrfzZQKsZbVcdbOG8rtL3/XcUArI=
|
github.com/urfave/cli/v2 v2.3.0/go.mod h1:LJmUH05zAU44vOAcrfzZQKsZbVcdbOG8rtL3/XcUArI=
|
||||||
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
||||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||||
|
golang.org/x/crypto v0.0.0-20190530122614-20be4c3c3ed5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||||
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||||
|
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9 h1:psW17arqaxU48Z5kZ0CQnkZWQJsqcURM6tKiBApRjXI=
|
||||||
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||||
golang.org/x/mod v0.3.0 h1:RM4zey1++hCTbCVQfnWeKs9/IEsaBLA8vTkd0WVtmH4=
|
golang.org/x/mod v0.3.0 h1:RM4zey1++hCTbCVQfnWeKs9/IEsaBLA8vTkd0WVtmH4=
|
||||||
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||||
@ -35,11 +55,14 @@ golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwY
|
|||||||
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
|
golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
|
golang.org/x/sys v0.0.0-20190530182044-ad28b68e88f1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4 h1:myAQVi0cGEoqQVR5POX+8RR2mrocKqNN1hmeMqhX27k=
|
golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4 h1:myAQVi0cGEoqQVR5POX+8RR2mrocKqNN1hmeMqhX27k=
|
||||||
golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||||
|
golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k=
|
||||||
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||||
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||||
|
@ -34,6 +34,54 @@ paths:
|
|||||||
application/json:
|
application/json:
|
||||||
schema:
|
schema:
|
||||||
$ref: '#/components/schemas/Error'
|
$ref: '#/components/schemas/Error'
|
||||||
|
/setup:
|
||||||
|
get:
|
||||||
|
operationId: GetSetup
|
||||||
|
tags:
|
||||||
|
- Setup
|
||||||
|
summary: 'Check if database has default user, org, bucket'
|
||||||
|
description: 'Returns `true` if no default user, organization, or bucket has been created.'
|
||||||
|
parameters:
|
||||||
|
- $ref: '#/components/parameters/TraceSpan'
|
||||||
|
responses:
|
||||||
|
'200':
|
||||||
|
description: allowed true or false
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
allowed:
|
||||||
|
description: True means that the influxdb instance has NOT had initial setup; false means that the database has been setup.
|
||||||
|
type: boolean
|
||||||
|
post:
|
||||||
|
operationId: PostSetup
|
||||||
|
tags:
|
||||||
|
- Setup
|
||||||
|
summary: 'Set up initial user, org and bucket'
|
||||||
|
description: 'Post an onboarding request to set up initial user, org and bucket.'
|
||||||
|
parameters:
|
||||||
|
- $ref: '#/components/parameters/TraceSpan'
|
||||||
|
requestBody:
|
||||||
|
description: Source to create
|
||||||
|
required: true
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: '#/components/schemas/OnboardingRequest'
|
||||||
|
responses:
|
||||||
|
'201':
|
||||||
|
description: 'Created default user, bucket, org'
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: '#/components/schemas/OnboardingResponse'
|
||||||
|
default:
|
||||||
|
description: Unexpected error
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: '#/components/schemas/Error'
|
||||||
components:
|
components:
|
||||||
parameters:
|
parameters:
|
||||||
TraceSpan:
|
TraceSpan:
|
||||||
@ -110,3 +158,362 @@ components:
|
|||||||
enum:
|
enum:
|
||||||
- pass
|
- pass
|
||||||
- fail
|
- fail
|
||||||
|
OnboardingRequest:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
username:
|
||||||
|
type: string
|
||||||
|
password:
|
||||||
|
type: string
|
||||||
|
org:
|
||||||
|
type: string
|
||||||
|
bucket:
|
||||||
|
type: string
|
||||||
|
retentionPeriodSeconds:
|
||||||
|
type: integer
|
||||||
|
format: int64
|
||||||
|
retentionPeriodHrs:
|
||||||
|
type: integer
|
||||||
|
deprecated: true
|
||||||
|
description: |
|
||||||
|
Retention period *in nanoseconds* for the new bucket. This key's name has been misleading since OSS 2.0 GA, please transition to use `retentionPeriodSeconds`
|
||||||
|
token:
|
||||||
|
type: string
|
||||||
|
description: |
|
||||||
|
Authentication token to set on the initial user. If not specified, the server will generate a token.
|
||||||
|
required:
|
||||||
|
- username
|
||||||
|
- org
|
||||||
|
- bucket
|
||||||
|
OnboardingResponse:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
user:
|
||||||
|
$ref: '#/components/schemas/UserResponse'
|
||||||
|
org:
|
||||||
|
$ref: '#/components/schemas/Organization'
|
||||||
|
bucket:
|
||||||
|
$ref: '#/components/schemas/Bucket'
|
||||||
|
auth:
|
||||||
|
$ref: '#/components/schemas/Authorization'
|
||||||
|
UserResponse:
|
||||||
|
properties:
|
||||||
|
id:
|
||||||
|
readOnly: true
|
||||||
|
type: string
|
||||||
|
oauthID:
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
type: string
|
||||||
|
status:
|
||||||
|
description: If inactive the user is inactive.
|
||||||
|
default: active
|
||||||
|
type: string
|
||||||
|
enum:
|
||||||
|
- active
|
||||||
|
- inactive
|
||||||
|
links:
|
||||||
|
type: object
|
||||||
|
readOnly: true
|
||||||
|
example:
|
||||||
|
self: /api/v2/users/1
|
||||||
|
properties:
|
||||||
|
self:
|
||||||
|
type: string
|
||||||
|
format: uri
|
||||||
|
required:
|
||||||
|
- name
|
||||||
|
Link:
|
||||||
|
type: string
|
||||||
|
format: uri
|
||||||
|
readOnly: true
|
||||||
|
description: URI of resource.
|
||||||
|
Organization:
|
||||||
|
properties:
|
||||||
|
links:
|
||||||
|
type: object
|
||||||
|
readOnly: true
|
||||||
|
example:
|
||||||
|
self: /api/v2/orgs/1
|
||||||
|
members: /api/v2/orgs/1/members
|
||||||
|
owners: /api/v2/orgs/1/owners
|
||||||
|
labels: /api/v2/orgs/1/labels
|
||||||
|
secrets: /api/v2/orgs/1/secrets
|
||||||
|
buckets: /api/v2/buckets?org=myorg
|
||||||
|
tasks: /api/v2/tasks?org=myorg
|
||||||
|
dashboards: /api/v2/dashboards?org=myorg
|
||||||
|
properties:
|
||||||
|
self:
|
||||||
|
$ref: '#/components/schemas/Link'
|
||||||
|
members:
|
||||||
|
$ref: '#/components/schemas/Link'
|
||||||
|
owners:
|
||||||
|
$ref: '#/components/schemas/Link'
|
||||||
|
labels:
|
||||||
|
$ref: '#/components/schemas/Link'
|
||||||
|
secrets:
|
||||||
|
$ref: '#/components/schemas/Link'
|
||||||
|
buckets:
|
||||||
|
$ref: '#/components/schemas/Link'
|
||||||
|
tasks:
|
||||||
|
$ref: '#/components/schemas/Link'
|
||||||
|
dashboards:
|
||||||
|
$ref: '#/components/schemas/Link'
|
||||||
|
id:
|
||||||
|
readOnly: true
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
type: string
|
||||||
|
description:
|
||||||
|
type: string
|
||||||
|
createdAt:
|
||||||
|
type: string
|
||||||
|
format: date-time
|
||||||
|
readOnly: true
|
||||||
|
updatedAt:
|
||||||
|
type: string
|
||||||
|
format: date-time
|
||||||
|
readOnly: true
|
||||||
|
status:
|
||||||
|
description: If inactive the organization is inactive.
|
||||||
|
default: active
|
||||||
|
type: string
|
||||||
|
enum:
|
||||||
|
- active
|
||||||
|
- inactive
|
||||||
|
required:
|
||||||
|
- name
|
||||||
|
Bucket:
|
||||||
|
properties:
|
||||||
|
links:
|
||||||
|
type: object
|
||||||
|
readOnly: true
|
||||||
|
example:
|
||||||
|
labels: /api/v2/buckets/1/labels
|
||||||
|
members: /api/v2/buckets/1/members
|
||||||
|
org: /api/v2/orgs/2
|
||||||
|
owners: /api/v2/buckets/1/owners
|
||||||
|
self: /api/v2/buckets/1
|
||||||
|
write: /api/v2/write?org=2&bucket=1
|
||||||
|
properties:
|
||||||
|
labels:
|
||||||
|
description: URL to retrieve labels for this bucket
|
||||||
|
$ref: '#/components/schemas/Link'
|
||||||
|
members:
|
||||||
|
description: URL to retrieve members that can read this bucket
|
||||||
|
$ref: '#/components/schemas/Link'
|
||||||
|
org:
|
||||||
|
description: URL to retrieve parent organization for this bucket
|
||||||
|
$ref: '#/components/schemas/Link'
|
||||||
|
owners:
|
||||||
|
description: URL to retrieve owners that can read and write to this bucket.
|
||||||
|
$ref: '#/components/schemas/Link'
|
||||||
|
self:
|
||||||
|
description: URL for this bucket
|
||||||
|
$ref: '#/components/schemas/Link'
|
||||||
|
write:
|
||||||
|
description: URL to write line protocol for this bucket
|
||||||
|
$ref: '#/components/schemas/Link'
|
||||||
|
id:
|
||||||
|
readOnly: true
|
||||||
|
type: string
|
||||||
|
type:
|
||||||
|
readOnly: true
|
||||||
|
type: string
|
||||||
|
default: user
|
||||||
|
enum:
|
||||||
|
- user
|
||||||
|
- system
|
||||||
|
name:
|
||||||
|
type: string
|
||||||
|
description:
|
||||||
|
type: string
|
||||||
|
orgID:
|
||||||
|
type: string
|
||||||
|
rp:
|
||||||
|
type: string
|
||||||
|
createdAt:
|
||||||
|
type: string
|
||||||
|
format: date-time
|
||||||
|
readOnly: true
|
||||||
|
updatedAt:
|
||||||
|
type: string
|
||||||
|
format: date-time
|
||||||
|
readOnly: true
|
||||||
|
retentionRules:
|
||||||
|
$ref: '#/components/schemas/RetentionRules'
|
||||||
|
labels:
|
||||||
|
$ref: '#/components/schemas/Labels'
|
||||||
|
required:
|
||||||
|
- name
|
||||||
|
- retentionRules
|
||||||
|
RetentionRules:
|
||||||
|
type: array
|
||||||
|
description: Rules to expire or retain data. No rules means data never expires.
|
||||||
|
items:
|
||||||
|
$ref: '#/components/schemas/RetentionRule'
|
||||||
|
RetentionRule:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
type:
|
||||||
|
type: string
|
||||||
|
default: expire
|
||||||
|
enum:
|
||||||
|
- expire
|
||||||
|
everySeconds:
|
||||||
|
type: integer
|
||||||
|
format: int64
|
||||||
|
description: Duration in seconds for how long data will be kept in the database. 0 means infinite.
|
||||||
|
example: 86400
|
||||||
|
minimum: 0
|
||||||
|
shardGroupDurationSeconds:
|
||||||
|
type: integer
|
||||||
|
format: int64
|
||||||
|
description: Shard duration measured in seconds.
|
||||||
|
required:
|
||||||
|
- type
|
||||||
|
- everySeconds
|
||||||
|
Labels:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
$ref: '#/components/schemas/Label'
|
||||||
|
Label:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
id:
|
||||||
|
readOnly: true
|
||||||
|
type: string
|
||||||
|
orgID:
|
||||||
|
readOnly: true
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
type: string
|
||||||
|
properties:
|
||||||
|
type: object
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
description: Key/Value pairs associated with this label. Keys can be removed by sending an update with an empty value.
|
||||||
|
example:
|
||||||
|
color: ffb3b3
|
||||||
|
description: this is a description
|
||||||
|
Authorization:
|
||||||
|
required:
|
||||||
|
- orgID
|
||||||
|
- permissions
|
||||||
|
allOf:
|
||||||
|
- $ref: '#/components/schemas/AuthorizationUpdateRequest'
|
||||||
|
- type: object
|
||||||
|
properties:
|
||||||
|
createdAt:
|
||||||
|
type: string
|
||||||
|
format: date-time
|
||||||
|
readOnly: true
|
||||||
|
updatedAt:
|
||||||
|
type: string
|
||||||
|
format: date-time
|
||||||
|
readOnly: true
|
||||||
|
orgID:
|
||||||
|
type: string
|
||||||
|
description: ID of org that authorization is scoped to.
|
||||||
|
permissions:
|
||||||
|
type: array
|
||||||
|
minItems: 1
|
||||||
|
description: List of permissions for an auth. An auth must have at least one Permission.
|
||||||
|
items:
|
||||||
|
$ref: '#/components/schemas/Permission'
|
||||||
|
id:
|
||||||
|
readOnly: true
|
||||||
|
type: string
|
||||||
|
token:
|
||||||
|
readOnly: true
|
||||||
|
type: string
|
||||||
|
description: Passed via the Authorization Header and Token Authentication type.
|
||||||
|
userID:
|
||||||
|
readOnly: true
|
||||||
|
type: string
|
||||||
|
description: ID of user that created and owns the token.
|
||||||
|
user:
|
||||||
|
readOnly: true
|
||||||
|
type: string
|
||||||
|
description: Name of user that created and owns the token.
|
||||||
|
org:
|
||||||
|
readOnly: true
|
||||||
|
type: string
|
||||||
|
description: Name of the org token is scoped to.
|
||||||
|
links:
|
||||||
|
type: object
|
||||||
|
readOnly: true
|
||||||
|
example:
|
||||||
|
self: /api/v2/authorizations/1
|
||||||
|
user: /api/v2/users/12
|
||||||
|
properties:
|
||||||
|
self:
|
||||||
|
readOnly: true
|
||||||
|
$ref: '#/components/schemas/Link'
|
||||||
|
user:
|
||||||
|
readOnly: true
|
||||||
|
$ref: '#/components/schemas/Link'
|
||||||
|
AuthorizationUpdateRequest:
|
||||||
|
properties:
|
||||||
|
status:
|
||||||
|
description: If inactive the token is inactive and requests using the token will be rejected.
|
||||||
|
default: active
|
||||||
|
type: string
|
||||||
|
enum:
|
||||||
|
- active
|
||||||
|
- inactive
|
||||||
|
description:
|
||||||
|
type: string
|
||||||
|
description: A description of the token.
|
||||||
|
Permission:
|
||||||
|
required:
|
||||||
|
- action
|
||||||
|
- resource
|
||||||
|
properties:
|
||||||
|
action:
|
||||||
|
type: string
|
||||||
|
enum:
|
||||||
|
- read
|
||||||
|
- write
|
||||||
|
resource:
|
||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- type
|
||||||
|
properties:
|
||||||
|
type:
|
||||||
|
type: string
|
||||||
|
enum:
|
||||||
|
- authorizations
|
||||||
|
- buckets
|
||||||
|
- dashboards
|
||||||
|
- orgs
|
||||||
|
- sources
|
||||||
|
- tasks
|
||||||
|
- telegrafs
|
||||||
|
- users
|
||||||
|
- variables
|
||||||
|
- scrapers
|
||||||
|
- secrets
|
||||||
|
- labels
|
||||||
|
- views
|
||||||
|
- documents
|
||||||
|
- notificationRules
|
||||||
|
- notificationEndpoints
|
||||||
|
- checks
|
||||||
|
- dbrp
|
||||||
|
id:
|
||||||
|
type: string
|
||||||
|
nullable: true
|
||||||
|
description: If ID is set that is a permission for a specific resource. if it is not set it is a permission for all resources of that resource type.
|
||||||
|
name:
|
||||||
|
type: string
|
||||||
|
nullable: true
|
||||||
|
description: Optional name of the resource if the resource has a name field.
|
||||||
|
orgID:
|
||||||
|
type: string
|
||||||
|
nullable: true
|
||||||
|
description: If orgID is set that is a permission for all resources owned my that org. if it is not set it is a permission for all resources of that resource type.
|
||||||
|
org:
|
||||||
|
type: string
|
||||||
|
nullable: true
|
||||||
|
description: Optional name of the organization of the organization with orgID.
|
||||||
|
307
internal/api/api_setup.go
Normal file
307
internal/api/api_setup.go
Normal file
@ -0,0 +1,307 @@
|
|||||||
|
/*
|
||||||
|
* Subset of Influx API covered by Influx CLI
|
||||||
|
*
|
||||||
|
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||||
|
*
|
||||||
|
* API version: 2.0.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
|
||||||
|
|
||||||
|
package api
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bytes"
|
||||||
|
_context "context"
|
||||||
|
_ioutil "io/ioutil"
|
||||||
|
_nethttp "net/http"
|
||||||
|
_neturl "net/url"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Linger please
|
||||||
|
var (
|
||||||
|
_ _context.Context
|
||||||
|
)
|
||||||
|
|
||||||
|
type SetupApi interface {
|
||||||
|
|
||||||
|
/*
|
||||||
|
* GetSetup Check if database has default user, org, bucket
|
||||||
|
* Returns `true` if no default user, organization, or bucket has been created.
|
||||||
|
* @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
|
||||||
|
* @return ApiGetSetupRequest
|
||||||
|
*/
|
||||||
|
GetSetup(ctx _context.Context) ApiGetSetupRequest
|
||||||
|
|
||||||
|
/*
|
||||||
|
* GetSetupExecute executes the request
|
||||||
|
* @return InlineResponse200
|
||||||
|
*/
|
||||||
|
GetSetupExecute(r ApiGetSetupRequest) (InlineResponse200, *_nethttp.Response, error)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* PostSetup Set up initial user, org and bucket
|
||||||
|
* Post an onboarding request to set up initial user, org and bucket.
|
||||||
|
* @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
|
||||||
|
* @return ApiPostSetupRequest
|
||||||
|
*/
|
||||||
|
PostSetup(ctx _context.Context) ApiPostSetupRequest
|
||||||
|
|
||||||
|
/*
|
||||||
|
* PostSetupExecute executes the request
|
||||||
|
* @return OnboardingResponse
|
||||||
|
*/
|
||||||
|
PostSetupExecute(r ApiPostSetupRequest) (OnboardingResponse, *_nethttp.Response, error)
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetupApiService SetupApi service
|
||||||
|
type SetupApiService service
|
||||||
|
|
||||||
|
type ApiGetSetupRequest struct {
|
||||||
|
ctx _context.Context
|
||||||
|
ApiService SetupApi
|
||||||
|
zapTraceSpan *string
|
||||||
|
}
|
||||||
|
|
||||||
|
func (r ApiGetSetupRequest) ZapTraceSpan(zapTraceSpan string) ApiGetSetupRequest {
|
||||||
|
r.zapTraceSpan = &zapTraceSpan
|
||||||
|
return r
|
||||||
|
}
|
||||||
|
|
||||||
|
func (r ApiGetSetupRequest) GetZapTraceSpan() *string {
|
||||||
|
return r.zapTraceSpan
|
||||||
|
}
|
||||||
|
|
||||||
|
func (r ApiGetSetupRequest) Execute() (InlineResponse200, *_nethttp.Response, error) {
|
||||||
|
return r.ApiService.GetSetupExecute(r)
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* GetSetup Check if database has default user, org, bucket
|
||||||
|
* Returns `true` if no default user, organization, or bucket has been created.
|
||||||
|
* @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
|
||||||
|
* @return ApiGetSetupRequest
|
||||||
|
*/
|
||||||
|
func (a *SetupApiService) GetSetup(ctx _context.Context) ApiGetSetupRequest {
|
||||||
|
return ApiGetSetupRequest{
|
||||||
|
ApiService: a,
|
||||||
|
ctx: ctx,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Execute executes the request
|
||||||
|
* @return InlineResponse200
|
||||||
|
*/
|
||||||
|
func (a *SetupApiService) GetSetupExecute(r ApiGetSetupRequest) (InlineResponse200, *_nethttp.Response, error) {
|
||||||
|
var (
|
||||||
|
localVarHTTPMethod = _nethttp.MethodGet
|
||||||
|
localVarPostBody interface{}
|
||||||
|
localVarFormFileName string
|
||||||
|
localVarFileName string
|
||||||
|
localVarFileBytes []byte
|
||||||
|
localVarReturnValue InlineResponse200
|
||||||
|
)
|
||||||
|
|
||||||
|
localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "SetupApiService.GetSetup")
|
||||||
|
if err != nil {
|
||||||
|
return localVarReturnValue, nil, GenericOpenAPIError{error: err.Error()}
|
||||||
|
}
|
||||||
|
|
||||||
|
localVarPath := localBasePath + "/setup"
|
||||||
|
|
||||||
|
localVarHeaderParams := make(map[string]string)
|
||||||
|
localVarQueryParams := _neturl.Values{}
|
||||||
|
localVarFormParams := _neturl.Values{}
|
||||||
|
|
||||||
|
// to determine the Content-Type header
|
||||||
|
localVarHTTPContentTypes := []string{}
|
||||||
|
|
||||||
|
// set Content-Type header
|
||||||
|
localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
|
||||||
|
if localVarHTTPContentType != "" {
|
||||||
|
localVarHeaderParams["Content-Type"] = localVarHTTPContentType
|
||||||
|
}
|
||||||
|
|
||||||
|
// to determine the Accept header
|
||||||
|
localVarHTTPHeaderAccepts := []string{"application/json"}
|
||||||
|
|
||||||
|
// set Accept header
|
||||||
|
localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
|
||||||
|
if localVarHTTPHeaderAccept != "" {
|
||||||
|
localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
|
||||||
|
}
|
||||||
|
if r.zapTraceSpan != nil {
|
||||||
|
localVarHeaderParams["Zap-Trace-Span"] = parameterToString(*r.zapTraceSpan, "")
|
||||||
|
}
|
||||||
|
req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
|
||||||
|
if err != nil {
|
||||||
|
return localVarReturnValue, nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
localVarHTTPResponse, err := a.client.callAPI(req)
|
||||||
|
if err != nil || localVarHTTPResponse == nil {
|
||||||
|
return localVarReturnValue, localVarHTTPResponse, err
|
||||||
|
}
|
||||||
|
|
||||||
|
localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
|
||||||
|
localVarHTTPResponse.Body.Close()
|
||||||
|
localVarHTTPResponse.Body = _ioutil.NopCloser(bytes.NewBuffer(localVarBody))
|
||||||
|
if err != nil {
|
||||||
|
return localVarReturnValue, localVarHTTPResponse, err
|
||||||
|
}
|
||||||
|
|
||||||
|
if localVarHTTPResponse.StatusCode >= 300 {
|
||||||
|
newErr := GenericOpenAPIError{
|
||||||
|
body: localVarBody,
|
||||||
|
error: localVarHTTPResponse.Status,
|
||||||
|
}
|
||||||
|
return localVarReturnValue, localVarHTTPResponse, newErr
|
||||||
|
}
|
||||||
|
|
||||||
|
err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
|
||||||
|
if err != nil {
|
||||||
|
newErr := GenericOpenAPIError{
|
||||||
|
body: localVarBody,
|
||||||
|
error: err.Error(),
|
||||||
|
}
|
||||||
|
return localVarReturnValue, localVarHTTPResponse, newErr
|
||||||
|
}
|
||||||
|
|
||||||
|
return localVarReturnValue, localVarHTTPResponse, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
type ApiPostSetupRequest struct {
|
||||||
|
ctx _context.Context
|
||||||
|
ApiService SetupApi
|
||||||
|
onboardingRequest *OnboardingRequest
|
||||||
|
zapTraceSpan *string
|
||||||
|
}
|
||||||
|
|
||||||
|
func (r ApiPostSetupRequest) OnboardingRequest(onboardingRequest OnboardingRequest) ApiPostSetupRequest {
|
||||||
|
r.onboardingRequest = &onboardingRequest
|
||||||
|
return r
|
||||||
|
}
|
||||||
|
|
||||||
|
func (r ApiPostSetupRequest) GetOnboardingRequest() *OnboardingRequest {
|
||||||
|
return r.onboardingRequest
|
||||||
|
}
|
||||||
|
func (r ApiPostSetupRequest) ZapTraceSpan(zapTraceSpan string) ApiPostSetupRequest {
|
||||||
|
r.zapTraceSpan = &zapTraceSpan
|
||||||
|
return r
|
||||||
|
}
|
||||||
|
|
||||||
|
func (r ApiPostSetupRequest) GetZapTraceSpan() *string {
|
||||||
|
return r.zapTraceSpan
|
||||||
|
}
|
||||||
|
|
||||||
|
func (r ApiPostSetupRequest) Execute() (OnboardingResponse, *_nethttp.Response, error) {
|
||||||
|
return r.ApiService.PostSetupExecute(r)
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* PostSetup Set up initial user, org and bucket
|
||||||
|
* Post an onboarding request to set up initial user, org and bucket.
|
||||||
|
* @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
|
||||||
|
* @return ApiPostSetupRequest
|
||||||
|
*/
|
||||||
|
func (a *SetupApiService) PostSetup(ctx _context.Context) ApiPostSetupRequest {
|
||||||
|
return ApiPostSetupRequest{
|
||||||
|
ApiService: a,
|
||||||
|
ctx: ctx,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Execute executes the request
|
||||||
|
* @return OnboardingResponse
|
||||||
|
*/
|
||||||
|
func (a *SetupApiService) PostSetupExecute(r ApiPostSetupRequest) (OnboardingResponse, *_nethttp.Response, error) {
|
||||||
|
var (
|
||||||
|
localVarHTTPMethod = _nethttp.MethodPost
|
||||||
|
localVarPostBody interface{}
|
||||||
|
localVarFormFileName string
|
||||||
|
localVarFileName string
|
||||||
|
localVarFileBytes []byte
|
||||||
|
localVarReturnValue OnboardingResponse
|
||||||
|
)
|
||||||
|
|
||||||
|
localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "SetupApiService.PostSetup")
|
||||||
|
if err != nil {
|
||||||
|
return localVarReturnValue, nil, GenericOpenAPIError{error: err.Error()}
|
||||||
|
}
|
||||||
|
|
||||||
|
localVarPath := localBasePath + "/setup"
|
||||||
|
|
||||||
|
localVarHeaderParams := make(map[string]string)
|
||||||
|
localVarQueryParams := _neturl.Values{}
|
||||||
|
localVarFormParams := _neturl.Values{}
|
||||||
|
if r.onboardingRequest == nil {
|
||||||
|
return localVarReturnValue, nil, reportError("onboardingRequest is required and must be specified")
|
||||||
|
}
|
||||||
|
|
||||||
|
// to determine the Content-Type header
|
||||||
|
localVarHTTPContentTypes := []string{"application/json"}
|
||||||
|
|
||||||
|
// set Content-Type header
|
||||||
|
localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
|
||||||
|
if localVarHTTPContentType != "" {
|
||||||
|
localVarHeaderParams["Content-Type"] = localVarHTTPContentType
|
||||||
|
}
|
||||||
|
|
||||||
|
// to determine the Accept header
|
||||||
|
localVarHTTPHeaderAccepts := []string{"application/json"}
|
||||||
|
|
||||||
|
// set Accept header
|
||||||
|
localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
|
||||||
|
if localVarHTTPHeaderAccept != "" {
|
||||||
|
localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
|
||||||
|
}
|
||||||
|
if r.zapTraceSpan != nil {
|
||||||
|
localVarHeaderParams["Zap-Trace-Span"] = parameterToString(*r.zapTraceSpan, "")
|
||||||
|
}
|
||||||
|
// body params
|
||||||
|
localVarPostBody = r.onboardingRequest
|
||||||
|
req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
|
||||||
|
if err != nil {
|
||||||
|
return localVarReturnValue, nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
localVarHTTPResponse, err := a.client.callAPI(req)
|
||||||
|
if err != nil || localVarHTTPResponse == nil {
|
||||||
|
return localVarReturnValue, localVarHTTPResponse, err
|
||||||
|
}
|
||||||
|
|
||||||
|
localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
|
||||||
|
localVarHTTPResponse.Body.Close()
|
||||||
|
localVarHTTPResponse.Body = _ioutil.NopCloser(bytes.NewBuffer(localVarBody))
|
||||||
|
if err != nil {
|
||||||
|
return localVarReturnValue, localVarHTTPResponse, err
|
||||||
|
}
|
||||||
|
|
||||||
|
if localVarHTTPResponse.StatusCode >= 300 {
|
||||||
|
newErr := GenericOpenAPIError{
|
||||||
|
body: localVarBody,
|
||||||
|
error: localVarHTTPResponse.Status,
|
||||||
|
}
|
||||||
|
var v Error
|
||||||
|
err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
|
||||||
|
if err != nil {
|
||||||
|
newErr.error = err.Error()
|
||||||
|
return localVarReturnValue, localVarHTTPResponse, newErr
|
||||||
|
}
|
||||||
|
newErr.model = v
|
||||||
|
return localVarReturnValue, localVarHTTPResponse, newErr
|
||||||
|
}
|
||||||
|
|
||||||
|
err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
|
||||||
|
if err != nil {
|
||||||
|
newErr := GenericOpenAPIError{
|
||||||
|
body: localVarBody,
|
||||||
|
error: err.Error(),
|
||||||
|
}
|
||||||
|
return localVarReturnValue, localVarHTTPResponse, newErr
|
||||||
|
}
|
||||||
|
|
||||||
|
return localVarReturnValue, localVarHTTPResponse, nil
|
||||||
|
}
|
@ -47,6 +47,8 @@ type APIClient struct {
|
|||||||
// API Services
|
// API Services
|
||||||
|
|
||||||
HealthApi HealthApi
|
HealthApi HealthApi
|
||||||
|
|
||||||
|
SetupApi SetupApi
|
||||||
}
|
}
|
||||||
|
|
||||||
type service struct {
|
type service struct {
|
||||||
@ -66,6 +68,7 @@ func NewAPIClient(cfg *Configuration) *APIClient {
|
|||||||
|
|
||||||
// API Services
|
// API Services
|
||||||
c.HealthApi = (*HealthApiService)(&c.common)
|
c.HealthApi = (*HealthApiService)(&c.common)
|
||||||
|
c.SetupApi = (*SetupApiService)(&c.common)
|
||||||
|
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
508
internal/api/model_authorization.go
Normal file
508
internal/api/model_authorization.go
Normal file
@ -0,0 +1,508 @@
|
|||||||
|
/*
|
||||||
|
* Subset of Influx API covered by Influx CLI
|
||||||
|
*
|
||||||
|
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||||
|
*
|
||||||
|
* API version: 2.0.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
|
||||||
|
|
||||||
|
package api
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Authorization struct for Authorization
|
||||||
|
type Authorization struct {
|
||||||
|
// If inactive the token is inactive and requests using the token will be rejected.
|
||||||
|
Status *string `json:"status,omitempty"`
|
||||||
|
// A description of the token.
|
||||||
|
Description *string `json:"description,omitempty"`
|
||||||
|
CreatedAt *time.Time `json:"createdAt,omitempty"`
|
||||||
|
UpdatedAt *time.Time `json:"updatedAt,omitempty"`
|
||||||
|
// ID of org that authorization is scoped to.
|
||||||
|
OrgID string `json:"orgID"`
|
||||||
|
// List of permissions for an auth. An auth must have at least one Permission.
|
||||||
|
Permissions []Permission `json:"permissions"`
|
||||||
|
Id *string `json:"id,omitempty"`
|
||||||
|
// Passed via the Authorization Header and Token Authentication type.
|
||||||
|
Token *string `json:"token,omitempty"`
|
||||||
|
// ID of user that created and owns the token.
|
||||||
|
UserID *string `json:"userID,omitempty"`
|
||||||
|
// Name of user that created and owns the token.
|
||||||
|
User *string `json:"user,omitempty"`
|
||||||
|
// Name of the org token is scoped to.
|
||||||
|
Org *string `json:"org,omitempty"`
|
||||||
|
Links *AuthorizationAllOfLinks `json:"links,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewAuthorization instantiates a new Authorization object
|
||||||
|
// This constructor will assign default values to properties that have it defined,
|
||||||
|
// and makes sure properties required by API are set, but the set of arguments
|
||||||
|
// will change when the set of required properties is changed
|
||||||
|
func NewAuthorization(orgID string, permissions []Permission) *Authorization {
|
||||||
|
this := Authorization{}
|
||||||
|
var status string = "active"
|
||||||
|
this.Status = &status
|
||||||
|
this.OrgID = orgID
|
||||||
|
this.Permissions = permissions
|
||||||
|
return &this
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewAuthorizationWithDefaults instantiates a new Authorization object
|
||||||
|
// This constructor will only assign default values to properties that have it defined,
|
||||||
|
// but it doesn't guarantee that properties required by API are set
|
||||||
|
func NewAuthorizationWithDefaults() *Authorization {
|
||||||
|
this := Authorization{}
|
||||||
|
var status string = "active"
|
||||||
|
this.Status = &status
|
||||||
|
return &this
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetStatus returns the Status field value if set, zero value otherwise.
|
||||||
|
func (o *Authorization) GetStatus() string {
|
||||||
|
if o == nil || o.Status == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.Status
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetStatusOk returns a tuple with the Status field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *Authorization) GetStatusOk() (*string, bool) {
|
||||||
|
if o == nil || o.Status == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.Status, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasStatus returns a boolean if a field has been set.
|
||||||
|
func (o *Authorization) HasStatus() bool {
|
||||||
|
if o != nil && o.Status != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetStatus gets a reference to the given string and assigns it to the Status field.
|
||||||
|
func (o *Authorization) SetStatus(v string) {
|
||||||
|
o.Status = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetDescription returns the Description field value if set, zero value otherwise.
|
||||||
|
func (o *Authorization) GetDescription() string {
|
||||||
|
if o == nil || o.Description == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.Description
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetDescriptionOk returns a tuple with the Description field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *Authorization) GetDescriptionOk() (*string, bool) {
|
||||||
|
if o == nil || o.Description == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.Description, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasDescription returns a boolean if a field has been set.
|
||||||
|
func (o *Authorization) HasDescription() bool {
|
||||||
|
if o != nil && o.Description != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetDescription gets a reference to the given string and assigns it to the Description field.
|
||||||
|
func (o *Authorization) SetDescription(v string) {
|
||||||
|
o.Description = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetCreatedAt returns the CreatedAt field value if set, zero value otherwise.
|
||||||
|
func (o *Authorization) GetCreatedAt() time.Time {
|
||||||
|
if o == nil || o.CreatedAt == nil {
|
||||||
|
var ret time.Time
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.CreatedAt
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetCreatedAtOk returns a tuple with the CreatedAt field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *Authorization) GetCreatedAtOk() (*time.Time, bool) {
|
||||||
|
if o == nil || o.CreatedAt == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.CreatedAt, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasCreatedAt returns a boolean if a field has been set.
|
||||||
|
func (o *Authorization) HasCreatedAt() bool {
|
||||||
|
if o != nil && o.CreatedAt != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetCreatedAt gets a reference to the given time.Time and assigns it to the CreatedAt field.
|
||||||
|
func (o *Authorization) SetCreatedAt(v time.Time) {
|
||||||
|
o.CreatedAt = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetUpdatedAt returns the UpdatedAt field value if set, zero value otherwise.
|
||||||
|
func (o *Authorization) GetUpdatedAt() time.Time {
|
||||||
|
if o == nil || o.UpdatedAt == nil {
|
||||||
|
var ret time.Time
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.UpdatedAt
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetUpdatedAtOk returns a tuple with the UpdatedAt field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *Authorization) GetUpdatedAtOk() (*time.Time, bool) {
|
||||||
|
if o == nil || o.UpdatedAt == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.UpdatedAt, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasUpdatedAt returns a boolean if a field has been set.
|
||||||
|
func (o *Authorization) HasUpdatedAt() bool {
|
||||||
|
if o != nil && o.UpdatedAt != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetUpdatedAt gets a reference to the given time.Time and assigns it to the UpdatedAt field.
|
||||||
|
func (o *Authorization) SetUpdatedAt(v time.Time) {
|
||||||
|
o.UpdatedAt = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetOrgID returns the OrgID field value
|
||||||
|
func (o *Authorization) GetOrgID() string {
|
||||||
|
if o == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
|
||||||
|
return o.OrgID
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetOrgIDOk returns a tuple with the OrgID field value
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *Authorization) GetOrgIDOk() (*string, bool) {
|
||||||
|
if o == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return &o.OrgID, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetOrgID sets field value
|
||||||
|
func (o *Authorization) SetOrgID(v string) {
|
||||||
|
o.OrgID = v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetPermissions returns the Permissions field value
|
||||||
|
func (o *Authorization) GetPermissions() []Permission {
|
||||||
|
if o == nil {
|
||||||
|
var ret []Permission
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
|
||||||
|
return o.Permissions
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetPermissionsOk returns a tuple with the Permissions field value
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *Authorization) GetPermissionsOk() (*[]Permission, bool) {
|
||||||
|
if o == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return &o.Permissions, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetPermissions sets field value
|
||||||
|
func (o *Authorization) SetPermissions(v []Permission) {
|
||||||
|
o.Permissions = v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetId returns the Id field value if set, zero value otherwise.
|
||||||
|
func (o *Authorization) GetId() string {
|
||||||
|
if o == nil || o.Id == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.Id
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetIdOk returns a tuple with the Id field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *Authorization) GetIdOk() (*string, bool) {
|
||||||
|
if o == nil || o.Id == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.Id, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasId returns a boolean if a field has been set.
|
||||||
|
func (o *Authorization) HasId() bool {
|
||||||
|
if o != nil && o.Id != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetId gets a reference to the given string and assigns it to the Id field.
|
||||||
|
func (o *Authorization) SetId(v string) {
|
||||||
|
o.Id = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetToken returns the Token field value if set, zero value otherwise.
|
||||||
|
func (o *Authorization) GetToken() string {
|
||||||
|
if o == nil || o.Token == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.Token
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetTokenOk returns a tuple with the Token field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *Authorization) GetTokenOk() (*string, bool) {
|
||||||
|
if o == nil || o.Token == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.Token, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasToken returns a boolean if a field has been set.
|
||||||
|
func (o *Authorization) HasToken() bool {
|
||||||
|
if o != nil && o.Token != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetToken gets a reference to the given string and assigns it to the Token field.
|
||||||
|
func (o *Authorization) SetToken(v string) {
|
||||||
|
o.Token = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetUserID returns the UserID field value if set, zero value otherwise.
|
||||||
|
func (o *Authorization) GetUserID() string {
|
||||||
|
if o == nil || o.UserID == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.UserID
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetUserIDOk returns a tuple with the UserID field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *Authorization) GetUserIDOk() (*string, bool) {
|
||||||
|
if o == nil || o.UserID == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.UserID, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasUserID returns a boolean if a field has been set.
|
||||||
|
func (o *Authorization) HasUserID() bool {
|
||||||
|
if o != nil && o.UserID != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetUserID gets a reference to the given string and assigns it to the UserID field.
|
||||||
|
func (o *Authorization) SetUserID(v string) {
|
||||||
|
o.UserID = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetUser returns the User field value if set, zero value otherwise.
|
||||||
|
func (o *Authorization) GetUser() string {
|
||||||
|
if o == nil || o.User == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.User
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetUserOk returns a tuple with the User field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *Authorization) GetUserOk() (*string, bool) {
|
||||||
|
if o == nil || o.User == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.User, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasUser returns a boolean if a field has been set.
|
||||||
|
func (o *Authorization) HasUser() bool {
|
||||||
|
if o != nil && o.User != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetUser gets a reference to the given string and assigns it to the User field.
|
||||||
|
func (o *Authorization) SetUser(v string) {
|
||||||
|
o.User = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetOrg returns the Org field value if set, zero value otherwise.
|
||||||
|
func (o *Authorization) GetOrg() string {
|
||||||
|
if o == nil || o.Org == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.Org
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetOrgOk returns a tuple with the Org field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *Authorization) GetOrgOk() (*string, bool) {
|
||||||
|
if o == nil || o.Org == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.Org, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasOrg returns a boolean if a field has been set.
|
||||||
|
func (o *Authorization) HasOrg() bool {
|
||||||
|
if o != nil && o.Org != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetOrg gets a reference to the given string and assigns it to the Org field.
|
||||||
|
func (o *Authorization) SetOrg(v string) {
|
||||||
|
o.Org = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetLinks returns the Links field value if set, zero value otherwise.
|
||||||
|
func (o *Authorization) GetLinks() AuthorizationAllOfLinks {
|
||||||
|
if o == nil || o.Links == nil {
|
||||||
|
var ret AuthorizationAllOfLinks
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.Links
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetLinksOk returns a tuple with the Links field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *Authorization) GetLinksOk() (*AuthorizationAllOfLinks, bool) {
|
||||||
|
if o == nil || o.Links == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.Links, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasLinks returns a boolean if a field has been set.
|
||||||
|
func (o *Authorization) HasLinks() bool {
|
||||||
|
if o != nil && o.Links != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetLinks gets a reference to the given AuthorizationAllOfLinks and assigns it to the Links field.
|
||||||
|
func (o *Authorization) SetLinks(v AuthorizationAllOfLinks) {
|
||||||
|
o.Links = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o Authorization) MarshalJSON() ([]byte, error) {
|
||||||
|
toSerialize := map[string]interface{}{}
|
||||||
|
if o.Status != nil {
|
||||||
|
toSerialize["status"] = o.Status
|
||||||
|
}
|
||||||
|
if o.Description != nil {
|
||||||
|
toSerialize["description"] = o.Description
|
||||||
|
}
|
||||||
|
if o.CreatedAt != nil {
|
||||||
|
toSerialize["createdAt"] = o.CreatedAt
|
||||||
|
}
|
||||||
|
if o.UpdatedAt != nil {
|
||||||
|
toSerialize["updatedAt"] = o.UpdatedAt
|
||||||
|
}
|
||||||
|
if true {
|
||||||
|
toSerialize["orgID"] = o.OrgID
|
||||||
|
}
|
||||||
|
if true {
|
||||||
|
toSerialize["permissions"] = o.Permissions
|
||||||
|
}
|
||||||
|
if o.Id != nil {
|
||||||
|
toSerialize["id"] = o.Id
|
||||||
|
}
|
||||||
|
if o.Token != nil {
|
||||||
|
toSerialize["token"] = o.Token
|
||||||
|
}
|
||||||
|
if o.UserID != nil {
|
||||||
|
toSerialize["userID"] = o.UserID
|
||||||
|
}
|
||||||
|
if o.User != nil {
|
||||||
|
toSerialize["user"] = o.User
|
||||||
|
}
|
||||||
|
if o.Org != nil {
|
||||||
|
toSerialize["org"] = o.Org
|
||||||
|
}
|
||||||
|
if o.Links != nil {
|
||||||
|
toSerialize["links"] = o.Links
|
||||||
|
}
|
||||||
|
return json.Marshal(toSerialize)
|
||||||
|
}
|
||||||
|
|
||||||
|
type NullableAuthorization struct {
|
||||||
|
value *Authorization
|
||||||
|
isSet bool
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v NullableAuthorization) Get() *Authorization {
|
||||||
|
return v.value
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *NullableAuthorization) Set(val *Authorization) {
|
||||||
|
v.value = val
|
||||||
|
v.isSet = true
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v NullableAuthorization) IsSet() bool {
|
||||||
|
return v.isSet
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *NullableAuthorization) Unset() {
|
||||||
|
v.value = nil
|
||||||
|
v.isSet = false
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewNullableAuthorization(val *Authorization) *NullableAuthorization {
|
||||||
|
return &NullableAuthorization{value: val, isSet: true}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v NullableAuthorization) MarshalJSON() ([]byte, error) {
|
||||||
|
return json.Marshal(v.value)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *NullableAuthorization) UnmarshalJSON(src []byte) error {
|
||||||
|
v.isSet = true
|
||||||
|
return json.Unmarshal(src, &v.value)
|
||||||
|
}
|
444
internal/api/model_authorization_all_of.go
Normal file
444
internal/api/model_authorization_all_of.go
Normal file
@ -0,0 +1,444 @@
|
|||||||
|
/*
|
||||||
|
* Subset of Influx API covered by Influx CLI
|
||||||
|
*
|
||||||
|
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||||
|
*
|
||||||
|
* API version: 2.0.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
|
||||||
|
|
||||||
|
package api
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
// AuthorizationAllOf struct for AuthorizationAllOf
|
||||||
|
type AuthorizationAllOf struct {
|
||||||
|
CreatedAt *time.Time `json:"createdAt,omitempty"`
|
||||||
|
UpdatedAt *time.Time `json:"updatedAt,omitempty"`
|
||||||
|
// ID of org that authorization is scoped to.
|
||||||
|
OrgID *string `json:"orgID,omitempty"`
|
||||||
|
// List of permissions for an auth. An auth must have at least one Permission.
|
||||||
|
Permissions *[]Permission `json:"permissions,omitempty"`
|
||||||
|
Id *string `json:"id,omitempty"`
|
||||||
|
// Passed via the Authorization Header and Token Authentication type.
|
||||||
|
Token *string `json:"token,omitempty"`
|
||||||
|
// ID of user that created and owns the token.
|
||||||
|
UserID *string `json:"userID,omitempty"`
|
||||||
|
// Name of user that created and owns the token.
|
||||||
|
User *string `json:"user,omitempty"`
|
||||||
|
// Name of the org token is scoped to.
|
||||||
|
Org *string `json:"org,omitempty"`
|
||||||
|
Links *AuthorizationAllOfLinks `json:"links,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewAuthorizationAllOf instantiates a new AuthorizationAllOf object
|
||||||
|
// This constructor will assign default values to properties that have it defined,
|
||||||
|
// and makes sure properties required by API are set, but the set of arguments
|
||||||
|
// will change when the set of required properties is changed
|
||||||
|
func NewAuthorizationAllOf() *AuthorizationAllOf {
|
||||||
|
this := AuthorizationAllOf{}
|
||||||
|
return &this
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewAuthorizationAllOfWithDefaults instantiates a new AuthorizationAllOf object
|
||||||
|
// This constructor will only assign default values to properties that have it defined,
|
||||||
|
// but it doesn't guarantee that properties required by API are set
|
||||||
|
func NewAuthorizationAllOfWithDefaults() *AuthorizationAllOf {
|
||||||
|
this := AuthorizationAllOf{}
|
||||||
|
return &this
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetCreatedAt returns the CreatedAt field value if set, zero value otherwise.
|
||||||
|
func (o *AuthorizationAllOf) GetCreatedAt() time.Time {
|
||||||
|
if o == nil || o.CreatedAt == nil {
|
||||||
|
var ret time.Time
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.CreatedAt
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetCreatedAtOk returns a tuple with the CreatedAt field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *AuthorizationAllOf) GetCreatedAtOk() (*time.Time, bool) {
|
||||||
|
if o == nil || o.CreatedAt == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.CreatedAt, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasCreatedAt returns a boolean if a field has been set.
|
||||||
|
func (o *AuthorizationAllOf) HasCreatedAt() bool {
|
||||||
|
if o != nil && o.CreatedAt != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetCreatedAt gets a reference to the given time.Time and assigns it to the CreatedAt field.
|
||||||
|
func (o *AuthorizationAllOf) SetCreatedAt(v time.Time) {
|
||||||
|
o.CreatedAt = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetUpdatedAt returns the UpdatedAt field value if set, zero value otherwise.
|
||||||
|
func (o *AuthorizationAllOf) GetUpdatedAt() time.Time {
|
||||||
|
if o == nil || o.UpdatedAt == nil {
|
||||||
|
var ret time.Time
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.UpdatedAt
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetUpdatedAtOk returns a tuple with the UpdatedAt field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *AuthorizationAllOf) GetUpdatedAtOk() (*time.Time, bool) {
|
||||||
|
if o == nil || o.UpdatedAt == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.UpdatedAt, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasUpdatedAt returns a boolean if a field has been set.
|
||||||
|
func (o *AuthorizationAllOf) HasUpdatedAt() bool {
|
||||||
|
if o != nil && o.UpdatedAt != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetUpdatedAt gets a reference to the given time.Time and assigns it to the UpdatedAt field.
|
||||||
|
func (o *AuthorizationAllOf) SetUpdatedAt(v time.Time) {
|
||||||
|
o.UpdatedAt = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetOrgID returns the OrgID field value if set, zero value otherwise.
|
||||||
|
func (o *AuthorizationAllOf) GetOrgID() string {
|
||||||
|
if o == nil || o.OrgID == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.OrgID
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetOrgIDOk returns a tuple with the OrgID field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *AuthorizationAllOf) GetOrgIDOk() (*string, bool) {
|
||||||
|
if o == nil || o.OrgID == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.OrgID, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasOrgID returns a boolean if a field has been set.
|
||||||
|
func (o *AuthorizationAllOf) HasOrgID() bool {
|
||||||
|
if o != nil && o.OrgID != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetOrgID gets a reference to the given string and assigns it to the OrgID field.
|
||||||
|
func (o *AuthorizationAllOf) SetOrgID(v string) {
|
||||||
|
o.OrgID = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetPermissions returns the Permissions field value if set, zero value otherwise.
|
||||||
|
func (o *AuthorizationAllOf) GetPermissions() []Permission {
|
||||||
|
if o == nil || o.Permissions == nil {
|
||||||
|
var ret []Permission
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.Permissions
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetPermissionsOk returns a tuple with the Permissions field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *AuthorizationAllOf) GetPermissionsOk() (*[]Permission, bool) {
|
||||||
|
if o == nil || o.Permissions == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.Permissions, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasPermissions returns a boolean if a field has been set.
|
||||||
|
func (o *AuthorizationAllOf) HasPermissions() bool {
|
||||||
|
if o != nil && o.Permissions != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetPermissions gets a reference to the given []Permission and assigns it to the Permissions field.
|
||||||
|
func (o *AuthorizationAllOf) SetPermissions(v []Permission) {
|
||||||
|
o.Permissions = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetId returns the Id field value if set, zero value otherwise.
|
||||||
|
func (o *AuthorizationAllOf) GetId() string {
|
||||||
|
if o == nil || o.Id == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.Id
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetIdOk returns a tuple with the Id field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *AuthorizationAllOf) GetIdOk() (*string, bool) {
|
||||||
|
if o == nil || o.Id == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.Id, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasId returns a boolean if a field has been set.
|
||||||
|
func (o *AuthorizationAllOf) HasId() bool {
|
||||||
|
if o != nil && o.Id != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetId gets a reference to the given string and assigns it to the Id field.
|
||||||
|
func (o *AuthorizationAllOf) SetId(v string) {
|
||||||
|
o.Id = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetToken returns the Token field value if set, zero value otherwise.
|
||||||
|
func (o *AuthorizationAllOf) GetToken() string {
|
||||||
|
if o == nil || o.Token == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.Token
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetTokenOk returns a tuple with the Token field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *AuthorizationAllOf) GetTokenOk() (*string, bool) {
|
||||||
|
if o == nil || o.Token == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.Token, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasToken returns a boolean if a field has been set.
|
||||||
|
func (o *AuthorizationAllOf) HasToken() bool {
|
||||||
|
if o != nil && o.Token != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetToken gets a reference to the given string and assigns it to the Token field.
|
||||||
|
func (o *AuthorizationAllOf) SetToken(v string) {
|
||||||
|
o.Token = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetUserID returns the UserID field value if set, zero value otherwise.
|
||||||
|
func (o *AuthorizationAllOf) GetUserID() string {
|
||||||
|
if o == nil || o.UserID == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.UserID
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetUserIDOk returns a tuple with the UserID field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *AuthorizationAllOf) GetUserIDOk() (*string, bool) {
|
||||||
|
if o == nil || o.UserID == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.UserID, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasUserID returns a boolean if a field has been set.
|
||||||
|
func (o *AuthorizationAllOf) HasUserID() bool {
|
||||||
|
if o != nil && o.UserID != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetUserID gets a reference to the given string and assigns it to the UserID field.
|
||||||
|
func (o *AuthorizationAllOf) SetUserID(v string) {
|
||||||
|
o.UserID = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetUser returns the User field value if set, zero value otherwise.
|
||||||
|
func (o *AuthorizationAllOf) GetUser() string {
|
||||||
|
if o == nil || o.User == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.User
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetUserOk returns a tuple with the User field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *AuthorizationAllOf) GetUserOk() (*string, bool) {
|
||||||
|
if o == nil || o.User == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.User, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasUser returns a boolean if a field has been set.
|
||||||
|
func (o *AuthorizationAllOf) HasUser() bool {
|
||||||
|
if o != nil && o.User != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetUser gets a reference to the given string and assigns it to the User field.
|
||||||
|
func (o *AuthorizationAllOf) SetUser(v string) {
|
||||||
|
o.User = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetOrg returns the Org field value if set, zero value otherwise.
|
||||||
|
func (o *AuthorizationAllOf) GetOrg() string {
|
||||||
|
if o == nil || o.Org == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.Org
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetOrgOk returns a tuple with the Org field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *AuthorizationAllOf) GetOrgOk() (*string, bool) {
|
||||||
|
if o == nil || o.Org == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.Org, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasOrg returns a boolean if a field has been set.
|
||||||
|
func (o *AuthorizationAllOf) HasOrg() bool {
|
||||||
|
if o != nil && o.Org != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetOrg gets a reference to the given string and assigns it to the Org field.
|
||||||
|
func (o *AuthorizationAllOf) SetOrg(v string) {
|
||||||
|
o.Org = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetLinks returns the Links field value if set, zero value otherwise.
|
||||||
|
func (o *AuthorizationAllOf) GetLinks() AuthorizationAllOfLinks {
|
||||||
|
if o == nil || o.Links == nil {
|
||||||
|
var ret AuthorizationAllOfLinks
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.Links
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetLinksOk returns a tuple with the Links field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *AuthorizationAllOf) GetLinksOk() (*AuthorizationAllOfLinks, bool) {
|
||||||
|
if o == nil || o.Links == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.Links, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasLinks returns a boolean if a field has been set.
|
||||||
|
func (o *AuthorizationAllOf) HasLinks() bool {
|
||||||
|
if o != nil && o.Links != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetLinks gets a reference to the given AuthorizationAllOfLinks and assigns it to the Links field.
|
||||||
|
func (o *AuthorizationAllOf) SetLinks(v AuthorizationAllOfLinks) {
|
||||||
|
o.Links = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o AuthorizationAllOf) MarshalJSON() ([]byte, error) {
|
||||||
|
toSerialize := map[string]interface{}{}
|
||||||
|
if o.CreatedAt != nil {
|
||||||
|
toSerialize["createdAt"] = o.CreatedAt
|
||||||
|
}
|
||||||
|
if o.UpdatedAt != nil {
|
||||||
|
toSerialize["updatedAt"] = o.UpdatedAt
|
||||||
|
}
|
||||||
|
if o.OrgID != nil {
|
||||||
|
toSerialize["orgID"] = o.OrgID
|
||||||
|
}
|
||||||
|
if o.Permissions != nil {
|
||||||
|
toSerialize["permissions"] = o.Permissions
|
||||||
|
}
|
||||||
|
if o.Id != nil {
|
||||||
|
toSerialize["id"] = o.Id
|
||||||
|
}
|
||||||
|
if o.Token != nil {
|
||||||
|
toSerialize["token"] = o.Token
|
||||||
|
}
|
||||||
|
if o.UserID != nil {
|
||||||
|
toSerialize["userID"] = o.UserID
|
||||||
|
}
|
||||||
|
if o.User != nil {
|
||||||
|
toSerialize["user"] = o.User
|
||||||
|
}
|
||||||
|
if o.Org != nil {
|
||||||
|
toSerialize["org"] = o.Org
|
||||||
|
}
|
||||||
|
if o.Links != nil {
|
||||||
|
toSerialize["links"] = o.Links
|
||||||
|
}
|
||||||
|
return json.Marshal(toSerialize)
|
||||||
|
}
|
||||||
|
|
||||||
|
type NullableAuthorizationAllOf struct {
|
||||||
|
value *AuthorizationAllOf
|
||||||
|
isSet bool
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v NullableAuthorizationAllOf) Get() *AuthorizationAllOf {
|
||||||
|
return v.value
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *NullableAuthorizationAllOf) Set(val *AuthorizationAllOf) {
|
||||||
|
v.value = val
|
||||||
|
v.isSet = true
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v NullableAuthorizationAllOf) IsSet() bool {
|
||||||
|
return v.isSet
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *NullableAuthorizationAllOf) Unset() {
|
||||||
|
v.value = nil
|
||||||
|
v.isSet = false
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewNullableAuthorizationAllOf(val *AuthorizationAllOf) *NullableAuthorizationAllOf {
|
||||||
|
return &NullableAuthorizationAllOf{value: val, isSet: true}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v NullableAuthorizationAllOf) MarshalJSON() ([]byte, error) {
|
||||||
|
return json.Marshal(v.value)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *NullableAuthorizationAllOf) UnmarshalJSON(src []byte) error {
|
||||||
|
v.isSet = true
|
||||||
|
return json.Unmarshal(src, &v.value)
|
||||||
|
}
|
151
internal/api/model_authorization_all_of_links.go
Normal file
151
internal/api/model_authorization_all_of_links.go
Normal file
@ -0,0 +1,151 @@
|
|||||||
|
/*
|
||||||
|
* Subset of Influx API covered by Influx CLI
|
||||||
|
*
|
||||||
|
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||||
|
*
|
||||||
|
* API version: 2.0.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
|
||||||
|
|
||||||
|
package api
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
)
|
||||||
|
|
||||||
|
// AuthorizationAllOfLinks struct for AuthorizationAllOfLinks
|
||||||
|
type AuthorizationAllOfLinks struct {
|
||||||
|
// URI of resource.
|
||||||
|
Self *string `json:"self,omitempty"`
|
||||||
|
// URI of resource.
|
||||||
|
User *string `json:"user,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewAuthorizationAllOfLinks instantiates a new AuthorizationAllOfLinks object
|
||||||
|
// This constructor will assign default values to properties that have it defined,
|
||||||
|
// and makes sure properties required by API are set, but the set of arguments
|
||||||
|
// will change when the set of required properties is changed
|
||||||
|
func NewAuthorizationAllOfLinks() *AuthorizationAllOfLinks {
|
||||||
|
this := AuthorizationAllOfLinks{}
|
||||||
|
return &this
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewAuthorizationAllOfLinksWithDefaults instantiates a new AuthorizationAllOfLinks object
|
||||||
|
// This constructor will only assign default values to properties that have it defined,
|
||||||
|
// but it doesn't guarantee that properties required by API are set
|
||||||
|
func NewAuthorizationAllOfLinksWithDefaults() *AuthorizationAllOfLinks {
|
||||||
|
this := AuthorizationAllOfLinks{}
|
||||||
|
return &this
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetSelf returns the Self field value if set, zero value otherwise.
|
||||||
|
func (o *AuthorizationAllOfLinks) GetSelf() string {
|
||||||
|
if o == nil || o.Self == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.Self
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetSelfOk returns a tuple with the Self field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *AuthorizationAllOfLinks) GetSelfOk() (*string, bool) {
|
||||||
|
if o == nil || o.Self == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.Self, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasSelf returns a boolean if a field has been set.
|
||||||
|
func (o *AuthorizationAllOfLinks) HasSelf() bool {
|
||||||
|
if o != nil && o.Self != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetSelf gets a reference to the given string and assigns it to the Self field.
|
||||||
|
func (o *AuthorizationAllOfLinks) SetSelf(v string) {
|
||||||
|
o.Self = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetUser returns the User field value if set, zero value otherwise.
|
||||||
|
func (o *AuthorizationAllOfLinks) GetUser() string {
|
||||||
|
if o == nil || o.User == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.User
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetUserOk returns a tuple with the User field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *AuthorizationAllOfLinks) GetUserOk() (*string, bool) {
|
||||||
|
if o == nil || o.User == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.User, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasUser returns a boolean if a field has been set.
|
||||||
|
func (o *AuthorizationAllOfLinks) HasUser() bool {
|
||||||
|
if o != nil && o.User != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetUser gets a reference to the given string and assigns it to the User field.
|
||||||
|
func (o *AuthorizationAllOfLinks) SetUser(v string) {
|
||||||
|
o.User = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o AuthorizationAllOfLinks) MarshalJSON() ([]byte, error) {
|
||||||
|
toSerialize := map[string]interface{}{}
|
||||||
|
if o.Self != nil {
|
||||||
|
toSerialize["self"] = o.Self
|
||||||
|
}
|
||||||
|
if o.User != nil {
|
||||||
|
toSerialize["user"] = o.User
|
||||||
|
}
|
||||||
|
return json.Marshal(toSerialize)
|
||||||
|
}
|
||||||
|
|
||||||
|
type NullableAuthorizationAllOfLinks struct {
|
||||||
|
value *AuthorizationAllOfLinks
|
||||||
|
isSet bool
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v NullableAuthorizationAllOfLinks) Get() *AuthorizationAllOfLinks {
|
||||||
|
return v.value
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *NullableAuthorizationAllOfLinks) Set(val *AuthorizationAllOfLinks) {
|
||||||
|
v.value = val
|
||||||
|
v.isSet = true
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v NullableAuthorizationAllOfLinks) IsSet() bool {
|
||||||
|
return v.isSet
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *NullableAuthorizationAllOfLinks) Unset() {
|
||||||
|
v.value = nil
|
||||||
|
v.isSet = false
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewNullableAuthorizationAllOfLinks(val *AuthorizationAllOfLinks) *NullableAuthorizationAllOfLinks {
|
||||||
|
return &NullableAuthorizationAllOfLinks{value: val, isSet: true}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v NullableAuthorizationAllOfLinks) MarshalJSON() ([]byte, error) {
|
||||||
|
return json.Marshal(v.value)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *NullableAuthorizationAllOfLinks) UnmarshalJSON(src []byte) error {
|
||||||
|
v.isSet = true
|
||||||
|
return json.Unmarshal(src, &v.value)
|
||||||
|
}
|
155
internal/api/model_authorization_update_request.go
Normal file
155
internal/api/model_authorization_update_request.go
Normal file
@ -0,0 +1,155 @@
|
|||||||
|
/*
|
||||||
|
* Subset of Influx API covered by Influx CLI
|
||||||
|
*
|
||||||
|
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||||
|
*
|
||||||
|
* API version: 2.0.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
|
||||||
|
|
||||||
|
package api
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
)
|
||||||
|
|
||||||
|
// AuthorizationUpdateRequest struct for AuthorizationUpdateRequest
|
||||||
|
type AuthorizationUpdateRequest struct {
|
||||||
|
// If inactive the token is inactive and requests using the token will be rejected.
|
||||||
|
Status *string `json:"status,omitempty"`
|
||||||
|
// A description of the token.
|
||||||
|
Description *string `json:"description,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewAuthorizationUpdateRequest instantiates a new AuthorizationUpdateRequest object
|
||||||
|
// This constructor will assign default values to properties that have it defined,
|
||||||
|
// and makes sure properties required by API are set, but the set of arguments
|
||||||
|
// will change when the set of required properties is changed
|
||||||
|
func NewAuthorizationUpdateRequest() *AuthorizationUpdateRequest {
|
||||||
|
this := AuthorizationUpdateRequest{}
|
||||||
|
var status string = "active"
|
||||||
|
this.Status = &status
|
||||||
|
return &this
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewAuthorizationUpdateRequestWithDefaults instantiates a new AuthorizationUpdateRequest object
|
||||||
|
// This constructor will only assign default values to properties that have it defined,
|
||||||
|
// but it doesn't guarantee that properties required by API are set
|
||||||
|
func NewAuthorizationUpdateRequestWithDefaults() *AuthorizationUpdateRequest {
|
||||||
|
this := AuthorizationUpdateRequest{}
|
||||||
|
var status string = "active"
|
||||||
|
this.Status = &status
|
||||||
|
return &this
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetStatus returns the Status field value if set, zero value otherwise.
|
||||||
|
func (o *AuthorizationUpdateRequest) GetStatus() string {
|
||||||
|
if o == nil || o.Status == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.Status
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetStatusOk returns a tuple with the Status field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *AuthorizationUpdateRequest) GetStatusOk() (*string, bool) {
|
||||||
|
if o == nil || o.Status == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.Status, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasStatus returns a boolean if a field has been set.
|
||||||
|
func (o *AuthorizationUpdateRequest) HasStatus() bool {
|
||||||
|
if o != nil && o.Status != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetStatus gets a reference to the given string and assigns it to the Status field.
|
||||||
|
func (o *AuthorizationUpdateRequest) SetStatus(v string) {
|
||||||
|
o.Status = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetDescription returns the Description field value if set, zero value otherwise.
|
||||||
|
func (o *AuthorizationUpdateRequest) GetDescription() string {
|
||||||
|
if o == nil || o.Description == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.Description
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetDescriptionOk returns a tuple with the Description field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *AuthorizationUpdateRequest) GetDescriptionOk() (*string, bool) {
|
||||||
|
if o == nil || o.Description == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.Description, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasDescription returns a boolean if a field has been set.
|
||||||
|
func (o *AuthorizationUpdateRequest) HasDescription() bool {
|
||||||
|
if o != nil && o.Description != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetDescription gets a reference to the given string and assigns it to the Description field.
|
||||||
|
func (o *AuthorizationUpdateRequest) SetDescription(v string) {
|
||||||
|
o.Description = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o AuthorizationUpdateRequest) MarshalJSON() ([]byte, error) {
|
||||||
|
toSerialize := map[string]interface{}{}
|
||||||
|
if o.Status != nil {
|
||||||
|
toSerialize["status"] = o.Status
|
||||||
|
}
|
||||||
|
if o.Description != nil {
|
||||||
|
toSerialize["description"] = o.Description
|
||||||
|
}
|
||||||
|
return json.Marshal(toSerialize)
|
||||||
|
}
|
||||||
|
|
||||||
|
type NullableAuthorizationUpdateRequest struct {
|
||||||
|
value *AuthorizationUpdateRequest
|
||||||
|
isSet bool
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v NullableAuthorizationUpdateRequest) Get() *AuthorizationUpdateRequest {
|
||||||
|
return v.value
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *NullableAuthorizationUpdateRequest) Set(val *AuthorizationUpdateRequest) {
|
||||||
|
v.value = val
|
||||||
|
v.isSet = true
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v NullableAuthorizationUpdateRequest) IsSet() bool {
|
||||||
|
return v.isSet
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *NullableAuthorizationUpdateRequest) Unset() {
|
||||||
|
v.value = nil
|
||||||
|
v.isSet = false
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewNullableAuthorizationUpdateRequest(val *AuthorizationUpdateRequest) *NullableAuthorizationUpdateRequest {
|
||||||
|
return &NullableAuthorizationUpdateRequest{value: val, isSet: true}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v NullableAuthorizationUpdateRequest) MarshalJSON() ([]byte, error) {
|
||||||
|
return json.Marshal(v.value)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *NullableAuthorizationUpdateRequest) UnmarshalJSON(src []byte) error {
|
||||||
|
v.isSet = true
|
||||||
|
return json.Unmarshal(src, &v.value)
|
||||||
|
}
|
465
internal/api/model_bucket.go
Normal file
465
internal/api/model_bucket.go
Normal file
@ -0,0 +1,465 @@
|
|||||||
|
/*
|
||||||
|
* Subset of Influx API covered by Influx CLI
|
||||||
|
*
|
||||||
|
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||||
|
*
|
||||||
|
* API version: 2.0.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
|
||||||
|
|
||||||
|
package api
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Bucket struct for Bucket
|
||||||
|
type Bucket struct {
|
||||||
|
Links *BucketLinks `json:"links,omitempty"`
|
||||||
|
Id *string `json:"id,omitempty"`
|
||||||
|
Type *string `json:"type,omitempty"`
|
||||||
|
Name string `json:"name"`
|
||||||
|
Description *string `json:"description,omitempty"`
|
||||||
|
OrgID *string `json:"orgID,omitempty"`
|
||||||
|
Rp *string `json:"rp,omitempty"`
|
||||||
|
CreatedAt *time.Time `json:"createdAt,omitempty"`
|
||||||
|
UpdatedAt *time.Time `json:"updatedAt,omitempty"`
|
||||||
|
// Rules to expire or retain data. No rules means data never expires.
|
||||||
|
RetentionRules []RetentionRule `json:"retentionRules"`
|
||||||
|
Labels *[]Label `json:"labels,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewBucket instantiates a new Bucket object
|
||||||
|
// This constructor will assign default values to properties that have it defined,
|
||||||
|
// and makes sure properties required by API are set, but the set of arguments
|
||||||
|
// will change when the set of required properties is changed
|
||||||
|
func NewBucket(name string, retentionRules []RetentionRule) *Bucket {
|
||||||
|
this := Bucket{}
|
||||||
|
var type_ string = "user"
|
||||||
|
this.Type = &type_
|
||||||
|
this.Name = name
|
||||||
|
this.RetentionRules = retentionRules
|
||||||
|
return &this
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewBucketWithDefaults instantiates a new Bucket object
|
||||||
|
// This constructor will only assign default values to properties that have it defined,
|
||||||
|
// but it doesn't guarantee that properties required by API are set
|
||||||
|
func NewBucketWithDefaults() *Bucket {
|
||||||
|
this := Bucket{}
|
||||||
|
var type_ string = "user"
|
||||||
|
this.Type = &type_
|
||||||
|
return &this
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetLinks returns the Links field value if set, zero value otherwise.
|
||||||
|
func (o *Bucket) GetLinks() BucketLinks {
|
||||||
|
if o == nil || o.Links == nil {
|
||||||
|
var ret BucketLinks
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.Links
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetLinksOk returns a tuple with the Links field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *Bucket) GetLinksOk() (*BucketLinks, bool) {
|
||||||
|
if o == nil || o.Links == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.Links, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasLinks returns a boolean if a field has been set.
|
||||||
|
func (o *Bucket) HasLinks() bool {
|
||||||
|
if o != nil && o.Links != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetLinks gets a reference to the given BucketLinks and assigns it to the Links field.
|
||||||
|
func (o *Bucket) SetLinks(v BucketLinks) {
|
||||||
|
o.Links = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetId returns the Id field value if set, zero value otherwise.
|
||||||
|
func (o *Bucket) GetId() string {
|
||||||
|
if o == nil || o.Id == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.Id
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetIdOk returns a tuple with the Id field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *Bucket) GetIdOk() (*string, bool) {
|
||||||
|
if o == nil || o.Id == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.Id, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasId returns a boolean if a field has been set.
|
||||||
|
func (o *Bucket) HasId() bool {
|
||||||
|
if o != nil && o.Id != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetId gets a reference to the given string and assigns it to the Id field.
|
||||||
|
func (o *Bucket) SetId(v string) {
|
||||||
|
o.Id = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetType returns the Type field value if set, zero value otherwise.
|
||||||
|
func (o *Bucket) GetType() string {
|
||||||
|
if o == nil || o.Type == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.Type
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetTypeOk returns a tuple with the Type field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *Bucket) GetTypeOk() (*string, bool) {
|
||||||
|
if o == nil || o.Type == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.Type, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasType returns a boolean if a field has been set.
|
||||||
|
func (o *Bucket) HasType() bool {
|
||||||
|
if o != nil && o.Type != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetType gets a reference to the given string and assigns it to the Type field.
|
||||||
|
func (o *Bucket) SetType(v string) {
|
||||||
|
o.Type = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetName returns the Name field value
|
||||||
|
func (o *Bucket) GetName() string {
|
||||||
|
if o == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
|
||||||
|
return o.Name
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetNameOk returns a tuple with the Name field value
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *Bucket) GetNameOk() (*string, bool) {
|
||||||
|
if o == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return &o.Name, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetName sets field value
|
||||||
|
func (o *Bucket) SetName(v string) {
|
||||||
|
o.Name = v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetDescription returns the Description field value if set, zero value otherwise.
|
||||||
|
func (o *Bucket) GetDescription() string {
|
||||||
|
if o == nil || o.Description == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.Description
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetDescriptionOk returns a tuple with the Description field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *Bucket) GetDescriptionOk() (*string, bool) {
|
||||||
|
if o == nil || o.Description == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.Description, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasDescription returns a boolean if a field has been set.
|
||||||
|
func (o *Bucket) HasDescription() bool {
|
||||||
|
if o != nil && o.Description != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetDescription gets a reference to the given string and assigns it to the Description field.
|
||||||
|
func (o *Bucket) SetDescription(v string) {
|
||||||
|
o.Description = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetOrgID returns the OrgID field value if set, zero value otherwise.
|
||||||
|
func (o *Bucket) GetOrgID() string {
|
||||||
|
if o == nil || o.OrgID == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.OrgID
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetOrgIDOk returns a tuple with the OrgID field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *Bucket) GetOrgIDOk() (*string, bool) {
|
||||||
|
if o == nil || o.OrgID == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.OrgID, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasOrgID returns a boolean if a field has been set.
|
||||||
|
func (o *Bucket) HasOrgID() bool {
|
||||||
|
if o != nil && o.OrgID != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetOrgID gets a reference to the given string and assigns it to the OrgID field.
|
||||||
|
func (o *Bucket) SetOrgID(v string) {
|
||||||
|
o.OrgID = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetRp returns the Rp field value if set, zero value otherwise.
|
||||||
|
func (o *Bucket) GetRp() string {
|
||||||
|
if o == nil || o.Rp == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.Rp
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetRpOk returns a tuple with the Rp field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *Bucket) GetRpOk() (*string, bool) {
|
||||||
|
if o == nil || o.Rp == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.Rp, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasRp returns a boolean if a field has been set.
|
||||||
|
func (o *Bucket) HasRp() bool {
|
||||||
|
if o != nil && o.Rp != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetRp gets a reference to the given string and assigns it to the Rp field.
|
||||||
|
func (o *Bucket) SetRp(v string) {
|
||||||
|
o.Rp = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetCreatedAt returns the CreatedAt field value if set, zero value otherwise.
|
||||||
|
func (o *Bucket) GetCreatedAt() time.Time {
|
||||||
|
if o == nil || o.CreatedAt == nil {
|
||||||
|
var ret time.Time
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.CreatedAt
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetCreatedAtOk returns a tuple with the CreatedAt field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *Bucket) GetCreatedAtOk() (*time.Time, bool) {
|
||||||
|
if o == nil || o.CreatedAt == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.CreatedAt, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasCreatedAt returns a boolean if a field has been set.
|
||||||
|
func (o *Bucket) HasCreatedAt() bool {
|
||||||
|
if o != nil && o.CreatedAt != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetCreatedAt gets a reference to the given time.Time and assigns it to the CreatedAt field.
|
||||||
|
func (o *Bucket) SetCreatedAt(v time.Time) {
|
||||||
|
o.CreatedAt = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetUpdatedAt returns the UpdatedAt field value if set, zero value otherwise.
|
||||||
|
func (o *Bucket) GetUpdatedAt() time.Time {
|
||||||
|
if o == nil || o.UpdatedAt == nil {
|
||||||
|
var ret time.Time
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.UpdatedAt
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetUpdatedAtOk returns a tuple with the UpdatedAt field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *Bucket) GetUpdatedAtOk() (*time.Time, bool) {
|
||||||
|
if o == nil || o.UpdatedAt == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.UpdatedAt, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasUpdatedAt returns a boolean if a field has been set.
|
||||||
|
func (o *Bucket) HasUpdatedAt() bool {
|
||||||
|
if o != nil && o.UpdatedAt != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetUpdatedAt gets a reference to the given time.Time and assigns it to the UpdatedAt field.
|
||||||
|
func (o *Bucket) SetUpdatedAt(v time.Time) {
|
||||||
|
o.UpdatedAt = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetRetentionRules returns the RetentionRules field value
|
||||||
|
func (o *Bucket) GetRetentionRules() []RetentionRule {
|
||||||
|
if o == nil {
|
||||||
|
var ret []RetentionRule
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
|
||||||
|
return o.RetentionRules
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetRetentionRulesOk returns a tuple with the RetentionRules field value
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *Bucket) GetRetentionRulesOk() (*[]RetentionRule, bool) {
|
||||||
|
if o == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return &o.RetentionRules, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetRetentionRules sets field value
|
||||||
|
func (o *Bucket) SetRetentionRules(v []RetentionRule) {
|
||||||
|
o.RetentionRules = v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetLabels returns the Labels field value if set, zero value otherwise.
|
||||||
|
func (o *Bucket) GetLabels() []Label {
|
||||||
|
if o == nil || o.Labels == nil {
|
||||||
|
var ret []Label
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.Labels
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetLabelsOk returns a tuple with the Labels field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *Bucket) GetLabelsOk() (*[]Label, bool) {
|
||||||
|
if o == nil || o.Labels == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.Labels, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasLabels returns a boolean if a field has been set.
|
||||||
|
func (o *Bucket) HasLabels() bool {
|
||||||
|
if o != nil && o.Labels != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetLabels gets a reference to the given []Label and assigns it to the Labels field.
|
||||||
|
func (o *Bucket) SetLabels(v []Label) {
|
||||||
|
o.Labels = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o Bucket) MarshalJSON() ([]byte, error) {
|
||||||
|
toSerialize := map[string]interface{}{}
|
||||||
|
if o.Links != nil {
|
||||||
|
toSerialize["links"] = o.Links
|
||||||
|
}
|
||||||
|
if o.Id != nil {
|
||||||
|
toSerialize["id"] = o.Id
|
||||||
|
}
|
||||||
|
if o.Type != nil {
|
||||||
|
toSerialize["type"] = o.Type
|
||||||
|
}
|
||||||
|
if true {
|
||||||
|
toSerialize["name"] = o.Name
|
||||||
|
}
|
||||||
|
if o.Description != nil {
|
||||||
|
toSerialize["description"] = o.Description
|
||||||
|
}
|
||||||
|
if o.OrgID != nil {
|
||||||
|
toSerialize["orgID"] = o.OrgID
|
||||||
|
}
|
||||||
|
if o.Rp != nil {
|
||||||
|
toSerialize["rp"] = o.Rp
|
||||||
|
}
|
||||||
|
if o.CreatedAt != nil {
|
||||||
|
toSerialize["createdAt"] = o.CreatedAt
|
||||||
|
}
|
||||||
|
if o.UpdatedAt != nil {
|
||||||
|
toSerialize["updatedAt"] = o.UpdatedAt
|
||||||
|
}
|
||||||
|
if true {
|
||||||
|
toSerialize["retentionRules"] = o.RetentionRules
|
||||||
|
}
|
||||||
|
if o.Labels != nil {
|
||||||
|
toSerialize["labels"] = o.Labels
|
||||||
|
}
|
||||||
|
return json.Marshal(toSerialize)
|
||||||
|
}
|
||||||
|
|
||||||
|
type NullableBucket struct {
|
||||||
|
value *Bucket
|
||||||
|
isSet bool
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v NullableBucket) Get() *Bucket {
|
||||||
|
return v.value
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *NullableBucket) Set(val *Bucket) {
|
||||||
|
v.value = val
|
||||||
|
v.isSet = true
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v NullableBucket) IsSet() bool {
|
||||||
|
return v.isSet
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *NullableBucket) Unset() {
|
||||||
|
v.value = nil
|
||||||
|
v.isSet = false
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewNullableBucket(val *Bucket) *NullableBucket {
|
||||||
|
return &NullableBucket{value: val, isSet: true}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v NullableBucket) MarshalJSON() ([]byte, error) {
|
||||||
|
return json.Marshal(v.value)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *NullableBucket) UnmarshalJSON(src []byte) error {
|
||||||
|
v.isSet = true
|
||||||
|
return json.Unmarshal(src, &v.value)
|
||||||
|
}
|
299
internal/api/model_bucket_links.go
Normal file
299
internal/api/model_bucket_links.go
Normal file
@ -0,0 +1,299 @@
|
|||||||
|
/*
|
||||||
|
* Subset of Influx API covered by Influx CLI
|
||||||
|
*
|
||||||
|
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||||
|
*
|
||||||
|
* API version: 2.0.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
|
||||||
|
|
||||||
|
package api
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
)
|
||||||
|
|
||||||
|
// BucketLinks struct for BucketLinks
|
||||||
|
type BucketLinks struct {
|
||||||
|
// URI of resource.
|
||||||
|
Labels *string `json:"labels,omitempty"`
|
||||||
|
// URI of resource.
|
||||||
|
Members *string `json:"members,omitempty"`
|
||||||
|
// URI of resource.
|
||||||
|
Org *string `json:"org,omitempty"`
|
||||||
|
// URI of resource.
|
||||||
|
Owners *string `json:"owners,omitempty"`
|
||||||
|
// URI of resource.
|
||||||
|
Self *string `json:"self,omitempty"`
|
||||||
|
// URI of resource.
|
||||||
|
Write *string `json:"write,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewBucketLinks instantiates a new BucketLinks object
|
||||||
|
// This constructor will assign default values to properties that have it defined,
|
||||||
|
// and makes sure properties required by API are set, but the set of arguments
|
||||||
|
// will change when the set of required properties is changed
|
||||||
|
func NewBucketLinks() *BucketLinks {
|
||||||
|
this := BucketLinks{}
|
||||||
|
return &this
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewBucketLinksWithDefaults instantiates a new BucketLinks object
|
||||||
|
// This constructor will only assign default values to properties that have it defined,
|
||||||
|
// but it doesn't guarantee that properties required by API are set
|
||||||
|
func NewBucketLinksWithDefaults() *BucketLinks {
|
||||||
|
this := BucketLinks{}
|
||||||
|
return &this
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetLabels returns the Labels field value if set, zero value otherwise.
|
||||||
|
func (o *BucketLinks) GetLabels() string {
|
||||||
|
if o == nil || o.Labels == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.Labels
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetLabelsOk returns a tuple with the Labels field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *BucketLinks) GetLabelsOk() (*string, bool) {
|
||||||
|
if o == nil || o.Labels == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.Labels, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasLabels returns a boolean if a field has been set.
|
||||||
|
func (o *BucketLinks) HasLabels() bool {
|
||||||
|
if o != nil && o.Labels != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetLabels gets a reference to the given string and assigns it to the Labels field.
|
||||||
|
func (o *BucketLinks) SetLabels(v string) {
|
||||||
|
o.Labels = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetMembers returns the Members field value if set, zero value otherwise.
|
||||||
|
func (o *BucketLinks) GetMembers() string {
|
||||||
|
if o == nil || o.Members == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.Members
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetMembersOk returns a tuple with the Members field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *BucketLinks) GetMembersOk() (*string, bool) {
|
||||||
|
if o == nil || o.Members == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.Members, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasMembers returns a boolean if a field has been set.
|
||||||
|
func (o *BucketLinks) HasMembers() bool {
|
||||||
|
if o != nil && o.Members != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetMembers gets a reference to the given string and assigns it to the Members field.
|
||||||
|
func (o *BucketLinks) SetMembers(v string) {
|
||||||
|
o.Members = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetOrg returns the Org field value if set, zero value otherwise.
|
||||||
|
func (o *BucketLinks) GetOrg() string {
|
||||||
|
if o == nil || o.Org == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.Org
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetOrgOk returns a tuple with the Org field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *BucketLinks) GetOrgOk() (*string, bool) {
|
||||||
|
if o == nil || o.Org == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.Org, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasOrg returns a boolean if a field has been set.
|
||||||
|
func (o *BucketLinks) HasOrg() bool {
|
||||||
|
if o != nil && o.Org != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetOrg gets a reference to the given string and assigns it to the Org field.
|
||||||
|
func (o *BucketLinks) SetOrg(v string) {
|
||||||
|
o.Org = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetOwners returns the Owners field value if set, zero value otherwise.
|
||||||
|
func (o *BucketLinks) GetOwners() string {
|
||||||
|
if o == nil || o.Owners == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.Owners
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetOwnersOk returns a tuple with the Owners field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *BucketLinks) GetOwnersOk() (*string, bool) {
|
||||||
|
if o == nil || o.Owners == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.Owners, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasOwners returns a boolean if a field has been set.
|
||||||
|
func (o *BucketLinks) HasOwners() bool {
|
||||||
|
if o != nil && o.Owners != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetOwners gets a reference to the given string and assigns it to the Owners field.
|
||||||
|
func (o *BucketLinks) SetOwners(v string) {
|
||||||
|
o.Owners = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetSelf returns the Self field value if set, zero value otherwise.
|
||||||
|
func (o *BucketLinks) GetSelf() string {
|
||||||
|
if o == nil || o.Self == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.Self
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetSelfOk returns a tuple with the Self field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *BucketLinks) GetSelfOk() (*string, bool) {
|
||||||
|
if o == nil || o.Self == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.Self, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasSelf returns a boolean if a field has been set.
|
||||||
|
func (o *BucketLinks) HasSelf() bool {
|
||||||
|
if o != nil && o.Self != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetSelf gets a reference to the given string and assigns it to the Self field.
|
||||||
|
func (o *BucketLinks) SetSelf(v string) {
|
||||||
|
o.Self = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetWrite returns the Write field value if set, zero value otherwise.
|
||||||
|
func (o *BucketLinks) GetWrite() string {
|
||||||
|
if o == nil || o.Write == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.Write
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetWriteOk returns a tuple with the Write field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *BucketLinks) GetWriteOk() (*string, bool) {
|
||||||
|
if o == nil || o.Write == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.Write, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasWrite returns a boolean if a field has been set.
|
||||||
|
func (o *BucketLinks) HasWrite() bool {
|
||||||
|
if o != nil && o.Write != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetWrite gets a reference to the given string and assigns it to the Write field.
|
||||||
|
func (o *BucketLinks) SetWrite(v string) {
|
||||||
|
o.Write = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o BucketLinks) MarshalJSON() ([]byte, error) {
|
||||||
|
toSerialize := map[string]interface{}{}
|
||||||
|
if o.Labels != nil {
|
||||||
|
toSerialize["labels"] = o.Labels
|
||||||
|
}
|
||||||
|
if o.Members != nil {
|
||||||
|
toSerialize["members"] = o.Members
|
||||||
|
}
|
||||||
|
if o.Org != nil {
|
||||||
|
toSerialize["org"] = o.Org
|
||||||
|
}
|
||||||
|
if o.Owners != nil {
|
||||||
|
toSerialize["owners"] = o.Owners
|
||||||
|
}
|
||||||
|
if o.Self != nil {
|
||||||
|
toSerialize["self"] = o.Self
|
||||||
|
}
|
||||||
|
if o.Write != nil {
|
||||||
|
toSerialize["write"] = o.Write
|
||||||
|
}
|
||||||
|
return json.Marshal(toSerialize)
|
||||||
|
}
|
||||||
|
|
||||||
|
type NullableBucketLinks struct {
|
||||||
|
value *BucketLinks
|
||||||
|
isSet bool
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v NullableBucketLinks) Get() *BucketLinks {
|
||||||
|
return v.value
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *NullableBucketLinks) Set(val *BucketLinks) {
|
||||||
|
v.value = val
|
||||||
|
v.isSet = true
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v NullableBucketLinks) IsSet() bool {
|
||||||
|
return v.isSet
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *NullableBucketLinks) Unset() {
|
||||||
|
v.value = nil
|
||||||
|
v.isSet = false
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewNullableBucketLinks(val *BucketLinks) *NullableBucketLinks {
|
||||||
|
return &NullableBucketLinks{value: val, isSet: true}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v NullableBucketLinks) MarshalJSON() ([]byte, error) {
|
||||||
|
return json.Marshal(v.value)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *NullableBucketLinks) UnmarshalJSON(src []byte) error {
|
||||||
|
v.isSet = true
|
||||||
|
return json.Unmarshal(src, &v.value)
|
||||||
|
}
|
114
internal/api/model_inline_response_200.go
Normal file
114
internal/api/model_inline_response_200.go
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
/*
|
||||||
|
* Subset of Influx API covered by Influx CLI
|
||||||
|
*
|
||||||
|
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||||
|
*
|
||||||
|
* API version: 2.0.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
|
||||||
|
|
||||||
|
package api
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
)
|
||||||
|
|
||||||
|
// InlineResponse200 struct for InlineResponse200
|
||||||
|
type InlineResponse200 struct {
|
||||||
|
// True means that the influxdb instance has NOT had initial setup; false means that the database has been setup.
|
||||||
|
Allowed *bool `json:"allowed,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewInlineResponse200 instantiates a new InlineResponse200 object
|
||||||
|
// This constructor will assign default values to properties that have it defined,
|
||||||
|
// and makes sure properties required by API are set, but the set of arguments
|
||||||
|
// will change when the set of required properties is changed
|
||||||
|
func NewInlineResponse200() *InlineResponse200 {
|
||||||
|
this := InlineResponse200{}
|
||||||
|
return &this
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewInlineResponse200WithDefaults instantiates a new InlineResponse200 object
|
||||||
|
// This constructor will only assign default values to properties that have it defined,
|
||||||
|
// but it doesn't guarantee that properties required by API are set
|
||||||
|
func NewInlineResponse200WithDefaults() *InlineResponse200 {
|
||||||
|
this := InlineResponse200{}
|
||||||
|
return &this
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetAllowed returns the Allowed field value if set, zero value otherwise.
|
||||||
|
func (o *InlineResponse200) GetAllowed() bool {
|
||||||
|
if o == nil || o.Allowed == nil {
|
||||||
|
var ret bool
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.Allowed
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetAllowedOk returns a tuple with the Allowed field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *InlineResponse200) GetAllowedOk() (*bool, bool) {
|
||||||
|
if o == nil || o.Allowed == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.Allowed, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasAllowed returns a boolean if a field has been set.
|
||||||
|
func (o *InlineResponse200) HasAllowed() bool {
|
||||||
|
if o != nil && o.Allowed != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetAllowed gets a reference to the given bool and assigns it to the Allowed field.
|
||||||
|
func (o *InlineResponse200) SetAllowed(v bool) {
|
||||||
|
o.Allowed = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o InlineResponse200) MarshalJSON() ([]byte, error) {
|
||||||
|
toSerialize := map[string]interface{}{}
|
||||||
|
if o.Allowed != nil {
|
||||||
|
toSerialize["allowed"] = o.Allowed
|
||||||
|
}
|
||||||
|
return json.Marshal(toSerialize)
|
||||||
|
}
|
||||||
|
|
||||||
|
type NullableInlineResponse200 struct {
|
||||||
|
value *InlineResponse200
|
||||||
|
isSet bool
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v NullableInlineResponse200) Get() *InlineResponse200 {
|
||||||
|
return v.value
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *NullableInlineResponse200) Set(val *InlineResponse200) {
|
||||||
|
v.value = val
|
||||||
|
v.isSet = true
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v NullableInlineResponse200) IsSet() bool {
|
||||||
|
return v.isSet
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *NullableInlineResponse200) Unset() {
|
||||||
|
v.value = nil
|
||||||
|
v.isSet = false
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewNullableInlineResponse200(val *InlineResponse200) *NullableInlineResponse200 {
|
||||||
|
return &NullableInlineResponse200{value: val, isSet: true}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v NullableInlineResponse200) MarshalJSON() ([]byte, error) {
|
||||||
|
return json.Marshal(v.value)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *NullableInlineResponse200) UnmarshalJSON(src []byte) error {
|
||||||
|
v.isSet = true
|
||||||
|
return json.Unmarshal(src, &v.value)
|
||||||
|
}
|
222
internal/api/model_label.go
Normal file
222
internal/api/model_label.go
Normal file
@ -0,0 +1,222 @@
|
|||||||
|
/*
|
||||||
|
* Subset of Influx API covered by Influx CLI
|
||||||
|
*
|
||||||
|
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||||
|
*
|
||||||
|
* API version: 2.0.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
|
||||||
|
|
||||||
|
package api
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Label struct for Label
|
||||||
|
type Label struct {
|
||||||
|
Id *string `json:"id,omitempty"`
|
||||||
|
OrgID *string `json:"orgID,omitempty"`
|
||||||
|
Name *string `json:"name,omitempty"`
|
||||||
|
// Key/Value pairs associated with this label. Keys can be removed by sending an update with an empty value.
|
||||||
|
Properties *map[string]string `json:"properties,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewLabel instantiates a new Label object
|
||||||
|
// This constructor will assign default values to properties that have it defined,
|
||||||
|
// and makes sure properties required by API are set, but the set of arguments
|
||||||
|
// will change when the set of required properties is changed
|
||||||
|
func NewLabel() *Label {
|
||||||
|
this := Label{}
|
||||||
|
return &this
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewLabelWithDefaults instantiates a new Label object
|
||||||
|
// This constructor will only assign default values to properties that have it defined,
|
||||||
|
// but it doesn't guarantee that properties required by API are set
|
||||||
|
func NewLabelWithDefaults() *Label {
|
||||||
|
this := Label{}
|
||||||
|
return &this
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetId returns the Id field value if set, zero value otherwise.
|
||||||
|
func (o *Label) GetId() string {
|
||||||
|
if o == nil || o.Id == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.Id
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetIdOk returns a tuple with the Id field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *Label) GetIdOk() (*string, bool) {
|
||||||
|
if o == nil || o.Id == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.Id, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasId returns a boolean if a field has been set.
|
||||||
|
func (o *Label) HasId() bool {
|
||||||
|
if o != nil && o.Id != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetId gets a reference to the given string and assigns it to the Id field.
|
||||||
|
func (o *Label) SetId(v string) {
|
||||||
|
o.Id = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetOrgID returns the OrgID field value if set, zero value otherwise.
|
||||||
|
func (o *Label) GetOrgID() string {
|
||||||
|
if o == nil || o.OrgID == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.OrgID
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetOrgIDOk returns a tuple with the OrgID field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *Label) GetOrgIDOk() (*string, bool) {
|
||||||
|
if o == nil || o.OrgID == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.OrgID, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasOrgID returns a boolean if a field has been set.
|
||||||
|
func (o *Label) HasOrgID() bool {
|
||||||
|
if o != nil && o.OrgID != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetOrgID gets a reference to the given string and assigns it to the OrgID field.
|
||||||
|
func (o *Label) SetOrgID(v string) {
|
||||||
|
o.OrgID = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetName returns the Name field value if set, zero value otherwise.
|
||||||
|
func (o *Label) GetName() string {
|
||||||
|
if o == nil || o.Name == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.Name
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetNameOk returns a tuple with the Name field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *Label) GetNameOk() (*string, bool) {
|
||||||
|
if o == nil || o.Name == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.Name, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasName returns a boolean if a field has been set.
|
||||||
|
func (o *Label) HasName() bool {
|
||||||
|
if o != nil && o.Name != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetName gets a reference to the given string and assigns it to the Name field.
|
||||||
|
func (o *Label) SetName(v string) {
|
||||||
|
o.Name = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetProperties returns the Properties field value if set, zero value otherwise.
|
||||||
|
func (o *Label) GetProperties() map[string]string {
|
||||||
|
if o == nil || o.Properties == nil {
|
||||||
|
var ret map[string]string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.Properties
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetPropertiesOk returns a tuple with the Properties field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *Label) GetPropertiesOk() (*map[string]string, bool) {
|
||||||
|
if o == nil || o.Properties == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.Properties, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasProperties returns a boolean if a field has been set.
|
||||||
|
func (o *Label) HasProperties() bool {
|
||||||
|
if o != nil && o.Properties != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetProperties gets a reference to the given map[string]string and assigns it to the Properties field.
|
||||||
|
func (o *Label) SetProperties(v map[string]string) {
|
||||||
|
o.Properties = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o Label) MarshalJSON() ([]byte, error) {
|
||||||
|
toSerialize := map[string]interface{}{}
|
||||||
|
if o.Id != nil {
|
||||||
|
toSerialize["id"] = o.Id
|
||||||
|
}
|
||||||
|
if o.OrgID != nil {
|
||||||
|
toSerialize["orgID"] = o.OrgID
|
||||||
|
}
|
||||||
|
if o.Name != nil {
|
||||||
|
toSerialize["name"] = o.Name
|
||||||
|
}
|
||||||
|
if o.Properties != nil {
|
||||||
|
toSerialize["properties"] = o.Properties
|
||||||
|
}
|
||||||
|
return json.Marshal(toSerialize)
|
||||||
|
}
|
||||||
|
|
||||||
|
type NullableLabel struct {
|
||||||
|
value *Label
|
||||||
|
isSet bool
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v NullableLabel) Get() *Label {
|
||||||
|
return v.value
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *NullableLabel) Set(val *Label) {
|
||||||
|
v.value = val
|
||||||
|
v.isSet = true
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v NullableLabel) IsSet() bool {
|
||||||
|
return v.isSet
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *NullableLabel) Unset() {
|
||||||
|
v.value = nil
|
||||||
|
v.isSet = false
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewNullableLabel(val *Label) *NullableLabel {
|
||||||
|
return &NullableLabel{value: val, isSet: true}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v NullableLabel) MarshalJSON() ([]byte, error) {
|
||||||
|
return json.Marshal(v.value)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *NullableLabel) UnmarshalJSON(src []byte) error {
|
||||||
|
v.isSet = true
|
||||||
|
return json.Unmarshal(src, &v.value)
|
||||||
|
}
|
310
internal/api/model_onboarding_request.go
Normal file
310
internal/api/model_onboarding_request.go
Normal file
@ -0,0 +1,310 @@
|
|||||||
|
/*
|
||||||
|
* Subset of Influx API covered by Influx CLI
|
||||||
|
*
|
||||||
|
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||||
|
*
|
||||||
|
* API version: 2.0.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
|
||||||
|
|
||||||
|
package api
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
)
|
||||||
|
|
||||||
|
// OnboardingRequest struct for OnboardingRequest
|
||||||
|
type OnboardingRequest struct {
|
||||||
|
Username string `json:"username"`
|
||||||
|
Password *string `json:"password,omitempty"`
|
||||||
|
Org string `json:"org"`
|
||||||
|
Bucket string `json:"bucket"`
|
||||||
|
RetentionPeriodSeconds *int64 `json:"retentionPeriodSeconds,omitempty"`
|
||||||
|
// Retention period *in nanoseconds* for the new bucket. This key's name has been misleading since OSS 2.0 GA, please transition to use `retentionPeriodSeconds`
|
||||||
|
RetentionPeriodHrs *int32 `json:"retentionPeriodHrs,omitempty"`
|
||||||
|
// Authentication token to set on the initial user. If not specified, the server will generate a token.
|
||||||
|
Token *string `json:"token,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewOnboardingRequest instantiates a new OnboardingRequest object
|
||||||
|
// This constructor will assign default values to properties that have it defined,
|
||||||
|
// and makes sure properties required by API are set, but the set of arguments
|
||||||
|
// will change when the set of required properties is changed
|
||||||
|
func NewOnboardingRequest(username string, org string, bucket string) *OnboardingRequest {
|
||||||
|
this := OnboardingRequest{}
|
||||||
|
this.Username = username
|
||||||
|
this.Org = org
|
||||||
|
this.Bucket = bucket
|
||||||
|
return &this
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewOnboardingRequestWithDefaults instantiates a new OnboardingRequest object
|
||||||
|
// This constructor will only assign default values to properties that have it defined,
|
||||||
|
// but it doesn't guarantee that properties required by API are set
|
||||||
|
func NewOnboardingRequestWithDefaults() *OnboardingRequest {
|
||||||
|
this := OnboardingRequest{}
|
||||||
|
return &this
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetUsername returns the Username field value
|
||||||
|
func (o *OnboardingRequest) GetUsername() string {
|
||||||
|
if o == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
|
||||||
|
return o.Username
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetUsernameOk returns a tuple with the Username field value
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *OnboardingRequest) GetUsernameOk() (*string, bool) {
|
||||||
|
if o == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return &o.Username, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetUsername sets field value
|
||||||
|
func (o *OnboardingRequest) SetUsername(v string) {
|
||||||
|
o.Username = v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetPassword returns the Password field value if set, zero value otherwise.
|
||||||
|
func (o *OnboardingRequest) GetPassword() string {
|
||||||
|
if o == nil || o.Password == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.Password
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetPasswordOk returns a tuple with the Password field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *OnboardingRequest) GetPasswordOk() (*string, bool) {
|
||||||
|
if o == nil || o.Password == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.Password, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasPassword returns a boolean if a field has been set.
|
||||||
|
func (o *OnboardingRequest) HasPassword() bool {
|
||||||
|
if o != nil && o.Password != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetPassword gets a reference to the given string and assigns it to the Password field.
|
||||||
|
func (o *OnboardingRequest) SetPassword(v string) {
|
||||||
|
o.Password = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetOrg returns the Org field value
|
||||||
|
func (o *OnboardingRequest) GetOrg() string {
|
||||||
|
if o == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
|
||||||
|
return o.Org
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetOrgOk returns a tuple with the Org field value
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *OnboardingRequest) GetOrgOk() (*string, bool) {
|
||||||
|
if o == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return &o.Org, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetOrg sets field value
|
||||||
|
func (o *OnboardingRequest) SetOrg(v string) {
|
||||||
|
o.Org = v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetBucket returns the Bucket field value
|
||||||
|
func (o *OnboardingRequest) GetBucket() string {
|
||||||
|
if o == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
|
||||||
|
return o.Bucket
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetBucketOk returns a tuple with the Bucket field value
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *OnboardingRequest) GetBucketOk() (*string, bool) {
|
||||||
|
if o == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return &o.Bucket, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetBucket sets field value
|
||||||
|
func (o *OnboardingRequest) SetBucket(v string) {
|
||||||
|
o.Bucket = v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetRetentionPeriodSeconds returns the RetentionPeriodSeconds field value if set, zero value otherwise.
|
||||||
|
func (o *OnboardingRequest) GetRetentionPeriodSeconds() int64 {
|
||||||
|
if o == nil || o.RetentionPeriodSeconds == nil {
|
||||||
|
var ret int64
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.RetentionPeriodSeconds
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetRetentionPeriodSecondsOk returns a tuple with the RetentionPeriodSeconds field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *OnboardingRequest) GetRetentionPeriodSecondsOk() (*int64, bool) {
|
||||||
|
if o == nil || o.RetentionPeriodSeconds == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.RetentionPeriodSeconds, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasRetentionPeriodSeconds returns a boolean if a field has been set.
|
||||||
|
func (o *OnboardingRequest) HasRetentionPeriodSeconds() bool {
|
||||||
|
if o != nil && o.RetentionPeriodSeconds != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetRetentionPeriodSeconds gets a reference to the given int64 and assigns it to the RetentionPeriodSeconds field.
|
||||||
|
func (o *OnboardingRequest) SetRetentionPeriodSeconds(v int64) {
|
||||||
|
o.RetentionPeriodSeconds = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetRetentionPeriodHrs returns the RetentionPeriodHrs field value if set, zero value otherwise.
|
||||||
|
func (o *OnboardingRequest) GetRetentionPeriodHrs() int32 {
|
||||||
|
if o == nil || o.RetentionPeriodHrs == nil {
|
||||||
|
var ret int32
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.RetentionPeriodHrs
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetRetentionPeriodHrsOk returns a tuple with the RetentionPeriodHrs field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *OnboardingRequest) GetRetentionPeriodHrsOk() (*int32, bool) {
|
||||||
|
if o == nil || o.RetentionPeriodHrs == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.RetentionPeriodHrs, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasRetentionPeriodHrs returns a boolean if a field has been set.
|
||||||
|
func (o *OnboardingRequest) HasRetentionPeriodHrs() bool {
|
||||||
|
if o != nil && o.RetentionPeriodHrs != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetRetentionPeriodHrs gets a reference to the given int32 and assigns it to the RetentionPeriodHrs field.
|
||||||
|
func (o *OnboardingRequest) SetRetentionPeriodHrs(v int32) {
|
||||||
|
o.RetentionPeriodHrs = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetToken returns the Token field value if set, zero value otherwise.
|
||||||
|
func (o *OnboardingRequest) GetToken() string {
|
||||||
|
if o == nil || o.Token == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.Token
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetTokenOk returns a tuple with the Token field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *OnboardingRequest) GetTokenOk() (*string, bool) {
|
||||||
|
if o == nil || o.Token == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.Token, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasToken returns a boolean if a field has been set.
|
||||||
|
func (o *OnboardingRequest) HasToken() bool {
|
||||||
|
if o != nil && o.Token != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetToken gets a reference to the given string and assigns it to the Token field.
|
||||||
|
func (o *OnboardingRequest) SetToken(v string) {
|
||||||
|
o.Token = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o OnboardingRequest) MarshalJSON() ([]byte, error) {
|
||||||
|
toSerialize := map[string]interface{}{}
|
||||||
|
if true {
|
||||||
|
toSerialize["username"] = o.Username
|
||||||
|
}
|
||||||
|
if o.Password != nil {
|
||||||
|
toSerialize["password"] = o.Password
|
||||||
|
}
|
||||||
|
if true {
|
||||||
|
toSerialize["org"] = o.Org
|
||||||
|
}
|
||||||
|
if true {
|
||||||
|
toSerialize["bucket"] = o.Bucket
|
||||||
|
}
|
||||||
|
if o.RetentionPeriodSeconds != nil {
|
||||||
|
toSerialize["retentionPeriodSeconds"] = o.RetentionPeriodSeconds
|
||||||
|
}
|
||||||
|
if o.RetentionPeriodHrs != nil {
|
||||||
|
toSerialize["retentionPeriodHrs"] = o.RetentionPeriodHrs
|
||||||
|
}
|
||||||
|
if o.Token != nil {
|
||||||
|
toSerialize["token"] = o.Token
|
||||||
|
}
|
||||||
|
return json.Marshal(toSerialize)
|
||||||
|
}
|
||||||
|
|
||||||
|
type NullableOnboardingRequest struct {
|
||||||
|
value *OnboardingRequest
|
||||||
|
isSet bool
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v NullableOnboardingRequest) Get() *OnboardingRequest {
|
||||||
|
return v.value
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *NullableOnboardingRequest) Set(val *OnboardingRequest) {
|
||||||
|
v.value = val
|
||||||
|
v.isSet = true
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v NullableOnboardingRequest) IsSet() bool {
|
||||||
|
return v.isSet
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *NullableOnboardingRequest) Unset() {
|
||||||
|
v.value = nil
|
||||||
|
v.isSet = false
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewNullableOnboardingRequest(val *OnboardingRequest) *NullableOnboardingRequest {
|
||||||
|
return &NullableOnboardingRequest{value: val, isSet: true}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v NullableOnboardingRequest) MarshalJSON() ([]byte, error) {
|
||||||
|
return json.Marshal(v.value)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *NullableOnboardingRequest) UnmarshalJSON(src []byte) error {
|
||||||
|
v.isSet = true
|
||||||
|
return json.Unmarshal(src, &v.value)
|
||||||
|
}
|
221
internal/api/model_onboarding_response.go
Normal file
221
internal/api/model_onboarding_response.go
Normal file
@ -0,0 +1,221 @@
|
|||||||
|
/*
|
||||||
|
* Subset of Influx API covered by Influx CLI
|
||||||
|
*
|
||||||
|
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||||
|
*
|
||||||
|
* API version: 2.0.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
|
||||||
|
|
||||||
|
package api
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
)
|
||||||
|
|
||||||
|
// OnboardingResponse struct for OnboardingResponse
|
||||||
|
type OnboardingResponse struct {
|
||||||
|
User *UserResponse `json:"user,omitempty"`
|
||||||
|
Org *Organization `json:"org,omitempty"`
|
||||||
|
Bucket *Bucket `json:"bucket,omitempty"`
|
||||||
|
Auth *Authorization `json:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewOnboardingResponse instantiates a new OnboardingResponse object
|
||||||
|
// This constructor will assign default values to properties that have it defined,
|
||||||
|
// and makes sure properties required by API are set, but the set of arguments
|
||||||
|
// will change when the set of required properties is changed
|
||||||
|
func NewOnboardingResponse() *OnboardingResponse {
|
||||||
|
this := OnboardingResponse{}
|
||||||
|
return &this
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewOnboardingResponseWithDefaults instantiates a new OnboardingResponse object
|
||||||
|
// This constructor will only assign default values to properties that have it defined,
|
||||||
|
// but it doesn't guarantee that properties required by API are set
|
||||||
|
func NewOnboardingResponseWithDefaults() *OnboardingResponse {
|
||||||
|
this := OnboardingResponse{}
|
||||||
|
return &this
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetUser returns the User field value if set, zero value otherwise.
|
||||||
|
func (o *OnboardingResponse) GetUser() UserResponse {
|
||||||
|
if o == nil || o.User == nil {
|
||||||
|
var ret UserResponse
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.User
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetUserOk returns a tuple with the User field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *OnboardingResponse) GetUserOk() (*UserResponse, bool) {
|
||||||
|
if o == nil || o.User == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.User, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasUser returns a boolean if a field has been set.
|
||||||
|
func (o *OnboardingResponse) HasUser() bool {
|
||||||
|
if o != nil && o.User != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetUser gets a reference to the given UserResponse and assigns it to the User field.
|
||||||
|
func (o *OnboardingResponse) SetUser(v UserResponse) {
|
||||||
|
o.User = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetOrg returns the Org field value if set, zero value otherwise.
|
||||||
|
func (o *OnboardingResponse) GetOrg() Organization {
|
||||||
|
if o == nil || o.Org == nil {
|
||||||
|
var ret Organization
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.Org
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetOrgOk returns a tuple with the Org field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *OnboardingResponse) GetOrgOk() (*Organization, bool) {
|
||||||
|
if o == nil || o.Org == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.Org, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasOrg returns a boolean if a field has been set.
|
||||||
|
func (o *OnboardingResponse) HasOrg() bool {
|
||||||
|
if o != nil && o.Org != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetOrg gets a reference to the given Organization and assigns it to the Org field.
|
||||||
|
func (o *OnboardingResponse) SetOrg(v Organization) {
|
||||||
|
o.Org = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetBucket returns the Bucket field value if set, zero value otherwise.
|
||||||
|
func (o *OnboardingResponse) GetBucket() Bucket {
|
||||||
|
if o == nil || o.Bucket == nil {
|
||||||
|
var ret Bucket
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.Bucket
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetBucketOk returns a tuple with the Bucket field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *OnboardingResponse) GetBucketOk() (*Bucket, bool) {
|
||||||
|
if o == nil || o.Bucket == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.Bucket, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasBucket returns a boolean if a field has been set.
|
||||||
|
func (o *OnboardingResponse) HasBucket() bool {
|
||||||
|
if o != nil && o.Bucket != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetBucket gets a reference to the given Bucket and assigns it to the Bucket field.
|
||||||
|
func (o *OnboardingResponse) SetBucket(v Bucket) {
|
||||||
|
o.Bucket = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetAuth returns the Auth field value if set, zero value otherwise.
|
||||||
|
func (o *OnboardingResponse) GetAuth() Authorization {
|
||||||
|
if o == nil || o.Auth == nil {
|
||||||
|
var ret Authorization
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.Auth
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetAuthOk returns a tuple with the Auth field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *OnboardingResponse) GetAuthOk() (*Authorization, bool) {
|
||||||
|
if o == nil || o.Auth == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.Auth, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasAuth returns a boolean if a field has been set.
|
||||||
|
func (o *OnboardingResponse) HasAuth() bool {
|
||||||
|
if o != nil && o.Auth != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetAuth gets a reference to the given Authorization and assigns it to the Auth field.
|
||||||
|
func (o *OnboardingResponse) SetAuth(v Authorization) {
|
||||||
|
o.Auth = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o OnboardingResponse) MarshalJSON() ([]byte, error) {
|
||||||
|
toSerialize := map[string]interface{}{}
|
||||||
|
if o.User != nil {
|
||||||
|
toSerialize["user"] = o.User
|
||||||
|
}
|
||||||
|
if o.Org != nil {
|
||||||
|
toSerialize["org"] = o.Org
|
||||||
|
}
|
||||||
|
if o.Bucket != nil {
|
||||||
|
toSerialize["bucket"] = o.Bucket
|
||||||
|
}
|
||||||
|
if o.Auth != nil {
|
||||||
|
toSerialize["auth"] = o.Auth
|
||||||
|
}
|
||||||
|
return json.Marshal(toSerialize)
|
||||||
|
}
|
||||||
|
|
||||||
|
type NullableOnboardingResponse struct {
|
||||||
|
value *OnboardingResponse
|
||||||
|
isSet bool
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v NullableOnboardingResponse) Get() *OnboardingResponse {
|
||||||
|
return v.value
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *NullableOnboardingResponse) Set(val *OnboardingResponse) {
|
||||||
|
v.value = val
|
||||||
|
v.isSet = true
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v NullableOnboardingResponse) IsSet() bool {
|
||||||
|
return v.isSet
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *NullableOnboardingResponse) Unset() {
|
||||||
|
v.value = nil
|
||||||
|
v.isSet = false
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewNullableOnboardingResponse(val *OnboardingResponse) *NullableOnboardingResponse {
|
||||||
|
return &NullableOnboardingResponse{value: val, isSet: true}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v NullableOnboardingResponse) MarshalJSON() ([]byte, error) {
|
||||||
|
return json.Marshal(v.value)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *NullableOnboardingResponse) UnmarshalJSON(src []byte) error {
|
||||||
|
v.isSet = true
|
||||||
|
return json.Unmarshal(src, &v.value)
|
||||||
|
}
|
328
internal/api/model_organization.go
Normal file
328
internal/api/model_organization.go
Normal file
@ -0,0 +1,328 @@
|
|||||||
|
/*
|
||||||
|
* Subset of Influx API covered by Influx CLI
|
||||||
|
*
|
||||||
|
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||||
|
*
|
||||||
|
* API version: 2.0.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
|
||||||
|
|
||||||
|
package api
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Organization struct for Organization
|
||||||
|
type Organization struct {
|
||||||
|
Links *OrganizationLinks `json:"links,omitempty"`
|
||||||
|
Id *string `json:"id,omitempty"`
|
||||||
|
Name string `json:"name"`
|
||||||
|
Description *string `json:"description,omitempty"`
|
||||||
|
CreatedAt *time.Time `json:"createdAt,omitempty"`
|
||||||
|
UpdatedAt *time.Time `json:"updatedAt,omitempty"`
|
||||||
|
// If inactive the organization is inactive.
|
||||||
|
Status *string `json:"status,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewOrganization instantiates a new Organization object
|
||||||
|
// This constructor will assign default values to properties that have it defined,
|
||||||
|
// and makes sure properties required by API are set, but the set of arguments
|
||||||
|
// will change when the set of required properties is changed
|
||||||
|
func NewOrganization(name string) *Organization {
|
||||||
|
this := Organization{}
|
||||||
|
this.Name = name
|
||||||
|
var status string = "active"
|
||||||
|
this.Status = &status
|
||||||
|
return &this
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewOrganizationWithDefaults instantiates a new Organization object
|
||||||
|
// This constructor will only assign default values to properties that have it defined,
|
||||||
|
// but it doesn't guarantee that properties required by API are set
|
||||||
|
func NewOrganizationWithDefaults() *Organization {
|
||||||
|
this := Organization{}
|
||||||
|
var status string = "active"
|
||||||
|
this.Status = &status
|
||||||
|
return &this
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetLinks returns the Links field value if set, zero value otherwise.
|
||||||
|
func (o *Organization) GetLinks() OrganizationLinks {
|
||||||
|
if o == nil || o.Links == nil {
|
||||||
|
var ret OrganizationLinks
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.Links
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetLinksOk returns a tuple with the Links field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *Organization) GetLinksOk() (*OrganizationLinks, bool) {
|
||||||
|
if o == nil || o.Links == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.Links, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasLinks returns a boolean if a field has been set.
|
||||||
|
func (o *Organization) HasLinks() bool {
|
||||||
|
if o != nil && o.Links != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetLinks gets a reference to the given OrganizationLinks and assigns it to the Links field.
|
||||||
|
func (o *Organization) SetLinks(v OrganizationLinks) {
|
||||||
|
o.Links = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetId returns the Id field value if set, zero value otherwise.
|
||||||
|
func (o *Organization) GetId() string {
|
||||||
|
if o == nil || o.Id == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.Id
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetIdOk returns a tuple with the Id field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *Organization) GetIdOk() (*string, bool) {
|
||||||
|
if o == nil || o.Id == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.Id, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasId returns a boolean if a field has been set.
|
||||||
|
func (o *Organization) HasId() bool {
|
||||||
|
if o != nil && o.Id != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetId gets a reference to the given string and assigns it to the Id field.
|
||||||
|
func (o *Organization) SetId(v string) {
|
||||||
|
o.Id = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetName returns the Name field value
|
||||||
|
func (o *Organization) GetName() string {
|
||||||
|
if o == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
|
||||||
|
return o.Name
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetNameOk returns a tuple with the Name field value
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *Organization) GetNameOk() (*string, bool) {
|
||||||
|
if o == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return &o.Name, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetName sets field value
|
||||||
|
func (o *Organization) SetName(v string) {
|
||||||
|
o.Name = v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetDescription returns the Description field value if set, zero value otherwise.
|
||||||
|
func (o *Organization) GetDescription() string {
|
||||||
|
if o == nil || o.Description == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.Description
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetDescriptionOk returns a tuple with the Description field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *Organization) GetDescriptionOk() (*string, bool) {
|
||||||
|
if o == nil || o.Description == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.Description, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasDescription returns a boolean if a field has been set.
|
||||||
|
func (o *Organization) HasDescription() bool {
|
||||||
|
if o != nil && o.Description != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetDescription gets a reference to the given string and assigns it to the Description field.
|
||||||
|
func (o *Organization) SetDescription(v string) {
|
||||||
|
o.Description = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetCreatedAt returns the CreatedAt field value if set, zero value otherwise.
|
||||||
|
func (o *Organization) GetCreatedAt() time.Time {
|
||||||
|
if o == nil || o.CreatedAt == nil {
|
||||||
|
var ret time.Time
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.CreatedAt
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetCreatedAtOk returns a tuple with the CreatedAt field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *Organization) GetCreatedAtOk() (*time.Time, bool) {
|
||||||
|
if o == nil || o.CreatedAt == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.CreatedAt, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasCreatedAt returns a boolean if a field has been set.
|
||||||
|
func (o *Organization) HasCreatedAt() bool {
|
||||||
|
if o != nil && o.CreatedAt != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetCreatedAt gets a reference to the given time.Time and assigns it to the CreatedAt field.
|
||||||
|
func (o *Organization) SetCreatedAt(v time.Time) {
|
||||||
|
o.CreatedAt = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetUpdatedAt returns the UpdatedAt field value if set, zero value otherwise.
|
||||||
|
func (o *Organization) GetUpdatedAt() time.Time {
|
||||||
|
if o == nil || o.UpdatedAt == nil {
|
||||||
|
var ret time.Time
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.UpdatedAt
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetUpdatedAtOk returns a tuple with the UpdatedAt field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *Organization) GetUpdatedAtOk() (*time.Time, bool) {
|
||||||
|
if o == nil || o.UpdatedAt == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.UpdatedAt, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasUpdatedAt returns a boolean if a field has been set.
|
||||||
|
func (o *Organization) HasUpdatedAt() bool {
|
||||||
|
if o != nil && o.UpdatedAt != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetUpdatedAt gets a reference to the given time.Time and assigns it to the UpdatedAt field.
|
||||||
|
func (o *Organization) SetUpdatedAt(v time.Time) {
|
||||||
|
o.UpdatedAt = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetStatus returns the Status field value if set, zero value otherwise.
|
||||||
|
func (o *Organization) GetStatus() string {
|
||||||
|
if o == nil || o.Status == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.Status
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetStatusOk returns a tuple with the Status field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *Organization) GetStatusOk() (*string, bool) {
|
||||||
|
if o == nil || o.Status == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.Status, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasStatus returns a boolean if a field has been set.
|
||||||
|
func (o *Organization) HasStatus() bool {
|
||||||
|
if o != nil && o.Status != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetStatus gets a reference to the given string and assigns it to the Status field.
|
||||||
|
func (o *Organization) SetStatus(v string) {
|
||||||
|
o.Status = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o Organization) MarshalJSON() ([]byte, error) {
|
||||||
|
toSerialize := map[string]interface{}{}
|
||||||
|
if o.Links != nil {
|
||||||
|
toSerialize["links"] = o.Links
|
||||||
|
}
|
||||||
|
if o.Id != nil {
|
||||||
|
toSerialize["id"] = o.Id
|
||||||
|
}
|
||||||
|
if true {
|
||||||
|
toSerialize["name"] = o.Name
|
||||||
|
}
|
||||||
|
if o.Description != nil {
|
||||||
|
toSerialize["description"] = o.Description
|
||||||
|
}
|
||||||
|
if o.CreatedAt != nil {
|
||||||
|
toSerialize["createdAt"] = o.CreatedAt
|
||||||
|
}
|
||||||
|
if o.UpdatedAt != nil {
|
||||||
|
toSerialize["updatedAt"] = o.UpdatedAt
|
||||||
|
}
|
||||||
|
if o.Status != nil {
|
||||||
|
toSerialize["status"] = o.Status
|
||||||
|
}
|
||||||
|
return json.Marshal(toSerialize)
|
||||||
|
}
|
||||||
|
|
||||||
|
type NullableOrganization struct {
|
||||||
|
value *Organization
|
||||||
|
isSet bool
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v NullableOrganization) Get() *Organization {
|
||||||
|
return v.value
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *NullableOrganization) Set(val *Organization) {
|
||||||
|
v.value = val
|
||||||
|
v.isSet = true
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v NullableOrganization) IsSet() bool {
|
||||||
|
return v.isSet
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *NullableOrganization) Unset() {
|
||||||
|
v.value = nil
|
||||||
|
v.isSet = false
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewNullableOrganization(val *Organization) *NullableOrganization {
|
||||||
|
return &NullableOrganization{value: val, isSet: true}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v NullableOrganization) MarshalJSON() ([]byte, error) {
|
||||||
|
return json.Marshal(v.value)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *NullableOrganization) UnmarshalJSON(src []byte) error {
|
||||||
|
v.isSet = true
|
||||||
|
return json.Unmarshal(src, &v.value)
|
||||||
|
}
|
373
internal/api/model_organization_links.go
Normal file
373
internal/api/model_organization_links.go
Normal file
@ -0,0 +1,373 @@
|
|||||||
|
/*
|
||||||
|
* Subset of Influx API covered by Influx CLI
|
||||||
|
*
|
||||||
|
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||||
|
*
|
||||||
|
* API version: 2.0.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
|
||||||
|
|
||||||
|
package api
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
)
|
||||||
|
|
||||||
|
// OrganizationLinks struct for OrganizationLinks
|
||||||
|
type OrganizationLinks struct {
|
||||||
|
// URI of resource.
|
||||||
|
Self *string `json:"self,omitempty"`
|
||||||
|
// URI of resource.
|
||||||
|
Members *string `json:"members,omitempty"`
|
||||||
|
// URI of resource.
|
||||||
|
Owners *string `json:"owners,omitempty"`
|
||||||
|
// URI of resource.
|
||||||
|
Labels *string `json:"labels,omitempty"`
|
||||||
|
// URI of resource.
|
||||||
|
Secrets *string `json:"secrets,omitempty"`
|
||||||
|
// URI of resource.
|
||||||
|
Buckets *string `json:"buckets,omitempty"`
|
||||||
|
// URI of resource.
|
||||||
|
Tasks *string `json:"tasks,omitempty"`
|
||||||
|
// URI of resource.
|
||||||
|
Dashboards *string `json:"dashboards,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewOrganizationLinks instantiates a new OrganizationLinks object
|
||||||
|
// This constructor will assign default values to properties that have it defined,
|
||||||
|
// and makes sure properties required by API are set, but the set of arguments
|
||||||
|
// will change when the set of required properties is changed
|
||||||
|
func NewOrganizationLinks() *OrganizationLinks {
|
||||||
|
this := OrganizationLinks{}
|
||||||
|
return &this
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewOrganizationLinksWithDefaults instantiates a new OrganizationLinks object
|
||||||
|
// This constructor will only assign default values to properties that have it defined,
|
||||||
|
// but it doesn't guarantee that properties required by API are set
|
||||||
|
func NewOrganizationLinksWithDefaults() *OrganizationLinks {
|
||||||
|
this := OrganizationLinks{}
|
||||||
|
return &this
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetSelf returns the Self field value if set, zero value otherwise.
|
||||||
|
func (o *OrganizationLinks) GetSelf() string {
|
||||||
|
if o == nil || o.Self == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.Self
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetSelfOk returns a tuple with the Self field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *OrganizationLinks) GetSelfOk() (*string, bool) {
|
||||||
|
if o == nil || o.Self == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.Self, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasSelf returns a boolean if a field has been set.
|
||||||
|
func (o *OrganizationLinks) HasSelf() bool {
|
||||||
|
if o != nil && o.Self != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetSelf gets a reference to the given string and assigns it to the Self field.
|
||||||
|
func (o *OrganizationLinks) SetSelf(v string) {
|
||||||
|
o.Self = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetMembers returns the Members field value if set, zero value otherwise.
|
||||||
|
func (o *OrganizationLinks) GetMembers() string {
|
||||||
|
if o == nil || o.Members == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.Members
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetMembersOk returns a tuple with the Members field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *OrganizationLinks) GetMembersOk() (*string, bool) {
|
||||||
|
if o == nil || o.Members == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.Members, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasMembers returns a boolean if a field has been set.
|
||||||
|
func (o *OrganizationLinks) HasMembers() bool {
|
||||||
|
if o != nil && o.Members != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetMembers gets a reference to the given string and assigns it to the Members field.
|
||||||
|
func (o *OrganizationLinks) SetMembers(v string) {
|
||||||
|
o.Members = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetOwners returns the Owners field value if set, zero value otherwise.
|
||||||
|
func (o *OrganizationLinks) GetOwners() string {
|
||||||
|
if o == nil || o.Owners == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.Owners
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetOwnersOk returns a tuple with the Owners field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *OrganizationLinks) GetOwnersOk() (*string, bool) {
|
||||||
|
if o == nil || o.Owners == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.Owners, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasOwners returns a boolean if a field has been set.
|
||||||
|
func (o *OrganizationLinks) HasOwners() bool {
|
||||||
|
if o != nil && o.Owners != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetOwners gets a reference to the given string and assigns it to the Owners field.
|
||||||
|
func (o *OrganizationLinks) SetOwners(v string) {
|
||||||
|
o.Owners = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetLabels returns the Labels field value if set, zero value otherwise.
|
||||||
|
func (o *OrganizationLinks) GetLabels() string {
|
||||||
|
if o == nil || o.Labels == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.Labels
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetLabelsOk returns a tuple with the Labels field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *OrganizationLinks) GetLabelsOk() (*string, bool) {
|
||||||
|
if o == nil || o.Labels == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.Labels, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasLabels returns a boolean if a field has been set.
|
||||||
|
func (o *OrganizationLinks) HasLabels() bool {
|
||||||
|
if o != nil && o.Labels != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetLabels gets a reference to the given string and assigns it to the Labels field.
|
||||||
|
func (o *OrganizationLinks) SetLabels(v string) {
|
||||||
|
o.Labels = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetSecrets returns the Secrets field value if set, zero value otherwise.
|
||||||
|
func (o *OrganizationLinks) GetSecrets() string {
|
||||||
|
if o == nil || o.Secrets == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.Secrets
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetSecretsOk returns a tuple with the Secrets field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *OrganizationLinks) GetSecretsOk() (*string, bool) {
|
||||||
|
if o == nil || o.Secrets == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.Secrets, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasSecrets returns a boolean if a field has been set.
|
||||||
|
func (o *OrganizationLinks) HasSecrets() bool {
|
||||||
|
if o != nil && o.Secrets != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetSecrets gets a reference to the given string and assigns it to the Secrets field.
|
||||||
|
func (o *OrganizationLinks) SetSecrets(v string) {
|
||||||
|
o.Secrets = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetBuckets returns the Buckets field value if set, zero value otherwise.
|
||||||
|
func (o *OrganizationLinks) GetBuckets() string {
|
||||||
|
if o == nil || o.Buckets == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.Buckets
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetBucketsOk returns a tuple with the Buckets field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *OrganizationLinks) GetBucketsOk() (*string, bool) {
|
||||||
|
if o == nil || o.Buckets == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.Buckets, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasBuckets returns a boolean if a field has been set.
|
||||||
|
func (o *OrganizationLinks) HasBuckets() bool {
|
||||||
|
if o != nil && o.Buckets != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetBuckets gets a reference to the given string and assigns it to the Buckets field.
|
||||||
|
func (o *OrganizationLinks) SetBuckets(v string) {
|
||||||
|
o.Buckets = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetTasks returns the Tasks field value if set, zero value otherwise.
|
||||||
|
func (o *OrganizationLinks) GetTasks() string {
|
||||||
|
if o == nil || o.Tasks == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.Tasks
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetTasksOk returns a tuple with the Tasks field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *OrganizationLinks) GetTasksOk() (*string, bool) {
|
||||||
|
if o == nil || o.Tasks == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.Tasks, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasTasks returns a boolean if a field has been set.
|
||||||
|
func (o *OrganizationLinks) HasTasks() bool {
|
||||||
|
if o != nil && o.Tasks != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetTasks gets a reference to the given string and assigns it to the Tasks field.
|
||||||
|
func (o *OrganizationLinks) SetTasks(v string) {
|
||||||
|
o.Tasks = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetDashboards returns the Dashboards field value if set, zero value otherwise.
|
||||||
|
func (o *OrganizationLinks) GetDashboards() string {
|
||||||
|
if o == nil || o.Dashboards == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.Dashboards
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetDashboardsOk returns a tuple with the Dashboards field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *OrganizationLinks) GetDashboardsOk() (*string, bool) {
|
||||||
|
if o == nil || o.Dashboards == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.Dashboards, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasDashboards returns a boolean if a field has been set.
|
||||||
|
func (o *OrganizationLinks) HasDashboards() bool {
|
||||||
|
if o != nil && o.Dashboards != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetDashboards gets a reference to the given string and assigns it to the Dashboards field.
|
||||||
|
func (o *OrganizationLinks) SetDashboards(v string) {
|
||||||
|
o.Dashboards = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o OrganizationLinks) MarshalJSON() ([]byte, error) {
|
||||||
|
toSerialize := map[string]interface{}{}
|
||||||
|
if o.Self != nil {
|
||||||
|
toSerialize["self"] = o.Self
|
||||||
|
}
|
||||||
|
if o.Members != nil {
|
||||||
|
toSerialize["members"] = o.Members
|
||||||
|
}
|
||||||
|
if o.Owners != nil {
|
||||||
|
toSerialize["owners"] = o.Owners
|
||||||
|
}
|
||||||
|
if o.Labels != nil {
|
||||||
|
toSerialize["labels"] = o.Labels
|
||||||
|
}
|
||||||
|
if o.Secrets != nil {
|
||||||
|
toSerialize["secrets"] = o.Secrets
|
||||||
|
}
|
||||||
|
if o.Buckets != nil {
|
||||||
|
toSerialize["buckets"] = o.Buckets
|
||||||
|
}
|
||||||
|
if o.Tasks != nil {
|
||||||
|
toSerialize["tasks"] = o.Tasks
|
||||||
|
}
|
||||||
|
if o.Dashboards != nil {
|
||||||
|
toSerialize["dashboards"] = o.Dashboards
|
||||||
|
}
|
||||||
|
return json.Marshal(toSerialize)
|
||||||
|
}
|
||||||
|
|
||||||
|
type NullableOrganizationLinks struct {
|
||||||
|
value *OrganizationLinks
|
||||||
|
isSet bool
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v NullableOrganizationLinks) Get() *OrganizationLinks {
|
||||||
|
return v.value
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *NullableOrganizationLinks) Set(val *OrganizationLinks) {
|
||||||
|
v.value = val
|
||||||
|
v.isSet = true
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v NullableOrganizationLinks) IsSet() bool {
|
||||||
|
return v.isSet
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *NullableOrganizationLinks) Unset() {
|
||||||
|
v.value = nil
|
||||||
|
v.isSet = false
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewNullableOrganizationLinks(val *OrganizationLinks) *NullableOrganizationLinks {
|
||||||
|
return &NullableOrganizationLinks{value: val, isSet: true}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v NullableOrganizationLinks) MarshalJSON() ([]byte, error) {
|
||||||
|
return json.Marshal(v.value)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *NullableOrganizationLinks) UnmarshalJSON(src []byte) error {
|
||||||
|
v.isSet = true
|
||||||
|
return json.Unmarshal(src, &v.value)
|
||||||
|
}
|
135
internal/api/model_permission.go
Normal file
135
internal/api/model_permission.go
Normal file
@ -0,0 +1,135 @@
|
|||||||
|
/*
|
||||||
|
* Subset of Influx API covered by Influx CLI
|
||||||
|
*
|
||||||
|
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||||
|
*
|
||||||
|
* API version: 2.0.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
|
||||||
|
|
||||||
|
package api
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Permission struct for Permission
|
||||||
|
type Permission struct {
|
||||||
|
Action string `json:"action"`
|
||||||
|
Resource PermissionResource `json:"resource"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewPermission instantiates a new Permission object
|
||||||
|
// This constructor will assign default values to properties that have it defined,
|
||||||
|
// and makes sure properties required by API are set, but the set of arguments
|
||||||
|
// will change when the set of required properties is changed
|
||||||
|
func NewPermission(action string, resource PermissionResource) *Permission {
|
||||||
|
this := Permission{}
|
||||||
|
this.Action = action
|
||||||
|
this.Resource = resource
|
||||||
|
return &this
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewPermissionWithDefaults instantiates a new Permission object
|
||||||
|
// This constructor will only assign default values to properties that have it defined,
|
||||||
|
// but it doesn't guarantee that properties required by API are set
|
||||||
|
func NewPermissionWithDefaults() *Permission {
|
||||||
|
this := Permission{}
|
||||||
|
return &this
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetAction returns the Action field value
|
||||||
|
func (o *Permission) GetAction() string {
|
||||||
|
if o == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
|
||||||
|
return o.Action
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetActionOk returns a tuple with the Action field value
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *Permission) GetActionOk() (*string, bool) {
|
||||||
|
if o == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return &o.Action, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetAction sets field value
|
||||||
|
func (o *Permission) SetAction(v string) {
|
||||||
|
o.Action = v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetResource returns the Resource field value
|
||||||
|
func (o *Permission) GetResource() PermissionResource {
|
||||||
|
if o == nil {
|
||||||
|
var ret PermissionResource
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
|
||||||
|
return o.Resource
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetResourceOk returns a tuple with the Resource field value
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *Permission) GetResourceOk() (*PermissionResource, bool) {
|
||||||
|
if o == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return &o.Resource, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetResource sets field value
|
||||||
|
func (o *Permission) SetResource(v PermissionResource) {
|
||||||
|
o.Resource = v
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o Permission) MarshalJSON() ([]byte, error) {
|
||||||
|
toSerialize := map[string]interface{}{}
|
||||||
|
if true {
|
||||||
|
toSerialize["action"] = o.Action
|
||||||
|
}
|
||||||
|
if true {
|
||||||
|
toSerialize["resource"] = o.Resource
|
||||||
|
}
|
||||||
|
return json.Marshal(toSerialize)
|
||||||
|
}
|
||||||
|
|
||||||
|
type NullablePermission struct {
|
||||||
|
value *Permission
|
||||||
|
isSet bool
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v NullablePermission) Get() *Permission {
|
||||||
|
return v.value
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *NullablePermission) Set(val *Permission) {
|
||||||
|
v.value = val
|
||||||
|
v.isSet = true
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v NullablePermission) IsSet() bool {
|
||||||
|
return v.isSet
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *NullablePermission) Unset() {
|
||||||
|
v.value = nil
|
||||||
|
v.isSet = false
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewNullablePermission(val *Permission) *NullablePermission {
|
||||||
|
return &NullablePermission{value: val, isSet: true}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v NullablePermission) MarshalJSON() ([]byte, error) {
|
||||||
|
return json.Marshal(v.value)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *NullablePermission) UnmarshalJSON(src []byte) error {
|
||||||
|
v.isSet = true
|
||||||
|
return json.Unmarshal(src, &v.value)
|
||||||
|
}
|
298
internal/api/model_permission_resource.go
Normal file
298
internal/api/model_permission_resource.go
Normal file
@ -0,0 +1,298 @@
|
|||||||
|
/*
|
||||||
|
* Subset of Influx API covered by Influx CLI
|
||||||
|
*
|
||||||
|
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||||
|
*
|
||||||
|
* API version: 2.0.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
|
||||||
|
|
||||||
|
package api
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
)
|
||||||
|
|
||||||
|
// PermissionResource struct for PermissionResource
|
||||||
|
type PermissionResource struct {
|
||||||
|
Type string `json:"type"`
|
||||||
|
// If ID is set that is a permission for a specific resource. if it is not set it is a permission for all resources of that resource type.
|
||||||
|
Id NullableString `json:"id,omitempty"`
|
||||||
|
// Optional name of the resource if the resource has a name field.
|
||||||
|
Name NullableString `json:"name,omitempty"`
|
||||||
|
// If orgID is set that is a permission for all resources owned my that org. if it is not set it is a permission for all resources of that resource type.
|
||||||
|
OrgID NullableString `json:"orgID,omitempty"`
|
||||||
|
// Optional name of the organization of the organization with orgID.
|
||||||
|
Org NullableString `json:"org,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewPermissionResource instantiates a new PermissionResource object
|
||||||
|
// This constructor will assign default values to properties that have it defined,
|
||||||
|
// and makes sure properties required by API are set, but the set of arguments
|
||||||
|
// will change when the set of required properties is changed
|
||||||
|
func NewPermissionResource(type_ string) *PermissionResource {
|
||||||
|
this := PermissionResource{}
|
||||||
|
this.Type = type_
|
||||||
|
return &this
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewPermissionResourceWithDefaults instantiates a new PermissionResource object
|
||||||
|
// This constructor will only assign default values to properties that have it defined,
|
||||||
|
// but it doesn't guarantee that properties required by API are set
|
||||||
|
func NewPermissionResourceWithDefaults() *PermissionResource {
|
||||||
|
this := PermissionResource{}
|
||||||
|
return &this
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetType returns the Type field value
|
||||||
|
func (o *PermissionResource) GetType() string {
|
||||||
|
if o == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
|
||||||
|
return o.Type
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetTypeOk returns a tuple with the Type field value
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *PermissionResource) GetTypeOk() (*string, bool) {
|
||||||
|
if o == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return &o.Type, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetType sets field value
|
||||||
|
func (o *PermissionResource) SetType(v string) {
|
||||||
|
o.Type = v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetId returns the Id field value if set, zero value otherwise (both if not set or set to explicit null).
|
||||||
|
func (o *PermissionResource) GetId() string {
|
||||||
|
if o == nil || o.Id.Get() == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.Id.Get()
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetIdOk returns a tuple with the Id field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
// NOTE: If the value is an explicit nil, `nil, true` will be returned
|
||||||
|
func (o *PermissionResource) GetIdOk() (*string, bool) {
|
||||||
|
if o == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.Id.Get(), o.Id.IsSet()
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasId returns a boolean if a field has been set.
|
||||||
|
func (o *PermissionResource) HasId() bool {
|
||||||
|
if o != nil && o.Id.IsSet() {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetId gets a reference to the given NullableString and assigns it to the Id field.
|
||||||
|
func (o *PermissionResource) SetId(v string) {
|
||||||
|
o.Id.Set(&v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetIdNil sets the value for Id to be an explicit nil
|
||||||
|
func (o *PermissionResource) SetIdNil() {
|
||||||
|
o.Id.Set(nil)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnsetId ensures that no value is present for Id, not even an explicit nil
|
||||||
|
func (o *PermissionResource) UnsetId() {
|
||||||
|
o.Id.Unset()
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetName returns the Name field value if set, zero value otherwise (both if not set or set to explicit null).
|
||||||
|
func (o *PermissionResource) GetName() string {
|
||||||
|
if o == nil || o.Name.Get() == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.Name.Get()
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetNameOk returns a tuple with the Name field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
// NOTE: If the value is an explicit nil, `nil, true` will be returned
|
||||||
|
func (o *PermissionResource) GetNameOk() (*string, bool) {
|
||||||
|
if o == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.Name.Get(), o.Name.IsSet()
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasName returns a boolean if a field has been set.
|
||||||
|
func (o *PermissionResource) HasName() bool {
|
||||||
|
if o != nil && o.Name.IsSet() {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetName gets a reference to the given NullableString and assigns it to the Name field.
|
||||||
|
func (o *PermissionResource) SetName(v string) {
|
||||||
|
o.Name.Set(&v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetNameNil sets the value for Name to be an explicit nil
|
||||||
|
func (o *PermissionResource) SetNameNil() {
|
||||||
|
o.Name.Set(nil)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnsetName ensures that no value is present for Name, not even an explicit nil
|
||||||
|
func (o *PermissionResource) UnsetName() {
|
||||||
|
o.Name.Unset()
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetOrgID returns the OrgID field value if set, zero value otherwise (both if not set or set to explicit null).
|
||||||
|
func (o *PermissionResource) GetOrgID() string {
|
||||||
|
if o == nil || o.OrgID.Get() == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.OrgID.Get()
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetOrgIDOk returns a tuple with the OrgID field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
// NOTE: If the value is an explicit nil, `nil, true` will be returned
|
||||||
|
func (o *PermissionResource) GetOrgIDOk() (*string, bool) {
|
||||||
|
if o == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.OrgID.Get(), o.OrgID.IsSet()
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasOrgID returns a boolean if a field has been set.
|
||||||
|
func (o *PermissionResource) HasOrgID() bool {
|
||||||
|
if o != nil && o.OrgID.IsSet() {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetOrgID gets a reference to the given NullableString and assigns it to the OrgID field.
|
||||||
|
func (o *PermissionResource) SetOrgID(v string) {
|
||||||
|
o.OrgID.Set(&v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetOrgIDNil sets the value for OrgID to be an explicit nil
|
||||||
|
func (o *PermissionResource) SetOrgIDNil() {
|
||||||
|
o.OrgID.Set(nil)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnsetOrgID ensures that no value is present for OrgID, not even an explicit nil
|
||||||
|
func (o *PermissionResource) UnsetOrgID() {
|
||||||
|
o.OrgID.Unset()
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetOrg returns the Org field value if set, zero value otherwise (both if not set or set to explicit null).
|
||||||
|
func (o *PermissionResource) GetOrg() string {
|
||||||
|
if o == nil || o.Org.Get() == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.Org.Get()
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetOrgOk returns a tuple with the Org field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
// NOTE: If the value is an explicit nil, `nil, true` will be returned
|
||||||
|
func (o *PermissionResource) GetOrgOk() (*string, bool) {
|
||||||
|
if o == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.Org.Get(), o.Org.IsSet()
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasOrg returns a boolean if a field has been set.
|
||||||
|
func (o *PermissionResource) HasOrg() bool {
|
||||||
|
if o != nil && o.Org.IsSet() {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetOrg gets a reference to the given NullableString and assigns it to the Org field.
|
||||||
|
func (o *PermissionResource) SetOrg(v string) {
|
||||||
|
o.Org.Set(&v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetOrgNil sets the value for Org to be an explicit nil
|
||||||
|
func (o *PermissionResource) SetOrgNil() {
|
||||||
|
o.Org.Set(nil)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnsetOrg ensures that no value is present for Org, not even an explicit nil
|
||||||
|
func (o *PermissionResource) UnsetOrg() {
|
||||||
|
o.Org.Unset()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o PermissionResource) MarshalJSON() ([]byte, error) {
|
||||||
|
toSerialize := map[string]interface{}{}
|
||||||
|
if true {
|
||||||
|
toSerialize["type"] = o.Type
|
||||||
|
}
|
||||||
|
if o.Id.IsSet() {
|
||||||
|
toSerialize["id"] = o.Id.Get()
|
||||||
|
}
|
||||||
|
if o.Name.IsSet() {
|
||||||
|
toSerialize["name"] = o.Name.Get()
|
||||||
|
}
|
||||||
|
if o.OrgID.IsSet() {
|
||||||
|
toSerialize["orgID"] = o.OrgID.Get()
|
||||||
|
}
|
||||||
|
if o.Org.IsSet() {
|
||||||
|
toSerialize["org"] = o.Org.Get()
|
||||||
|
}
|
||||||
|
return json.Marshal(toSerialize)
|
||||||
|
}
|
||||||
|
|
||||||
|
type NullablePermissionResource struct {
|
||||||
|
value *PermissionResource
|
||||||
|
isSet bool
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v NullablePermissionResource) Get() *PermissionResource {
|
||||||
|
return v.value
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *NullablePermissionResource) Set(val *PermissionResource) {
|
||||||
|
v.value = val
|
||||||
|
v.isSet = true
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v NullablePermissionResource) IsSet() bool {
|
||||||
|
return v.isSet
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *NullablePermissionResource) Unset() {
|
||||||
|
v.value = nil
|
||||||
|
v.isSet = false
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewNullablePermissionResource(val *PermissionResource) *NullablePermissionResource {
|
||||||
|
return &NullablePermissionResource{value: val, isSet: true}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v NullablePermissionResource) MarshalJSON() ([]byte, error) {
|
||||||
|
return json.Marshal(v.value)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *NullablePermissionResource) UnmarshalJSON(src []byte) error {
|
||||||
|
v.isSet = true
|
||||||
|
return json.Unmarshal(src, &v.value)
|
||||||
|
}
|
175
internal/api/model_retention_rule.go
Normal file
175
internal/api/model_retention_rule.go
Normal file
@ -0,0 +1,175 @@
|
|||||||
|
/*
|
||||||
|
* Subset of Influx API covered by Influx CLI
|
||||||
|
*
|
||||||
|
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||||
|
*
|
||||||
|
* API version: 2.0.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
|
||||||
|
|
||||||
|
package api
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
)
|
||||||
|
|
||||||
|
// RetentionRule struct for RetentionRule
|
||||||
|
type RetentionRule struct {
|
||||||
|
Type string `json:"type"`
|
||||||
|
// Duration in seconds for how long data will be kept in the database. 0 means infinite.
|
||||||
|
EverySeconds int64 `json:"everySeconds"`
|
||||||
|
// Shard duration measured in seconds.
|
||||||
|
ShardGroupDurationSeconds *int64 `json:"shardGroupDurationSeconds,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewRetentionRule instantiates a new RetentionRule object
|
||||||
|
// This constructor will assign default values to properties that have it defined,
|
||||||
|
// and makes sure properties required by API are set, but the set of arguments
|
||||||
|
// will change when the set of required properties is changed
|
||||||
|
func NewRetentionRule(type_ string, everySeconds int64) *RetentionRule {
|
||||||
|
this := RetentionRule{}
|
||||||
|
this.Type = type_
|
||||||
|
this.EverySeconds = everySeconds
|
||||||
|
return &this
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewRetentionRuleWithDefaults instantiates a new RetentionRule object
|
||||||
|
// This constructor will only assign default values to properties that have it defined,
|
||||||
|
// but it doesn't guarantee that properties required by API are set
|
||||||
|
func NewRetentionRuleWithDefaults() *RetentionRule {
|
||||||
|
this := RetentionRule{}
|
||||||
|
var type_ string = "expire"
|
||||||
|
this.Type = type_
|
||||||
|
return &this
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetType returns the Type field value
|
||||||
|
func (o *RetentionRule) GetType() string {
|
||||||
|
if o == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
|
||||||
|
return o.Type
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetTypeOk returns a tuple with the Type field value
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *RetentionRule) GetTypeOk() (*string, bool) {
|
||||||
|
if o == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return &o.Type, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetType sets field value
|
||||||
|
func (o *RetentionRule) SetType(v string) {
|
||||||
|
o.Type = v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetEverySeconds returns the EverySeconds field value
|
||||||
|
func (o *RetentionRule) GetEverySeconds() int64 {
|
||||||
|
if o == nil {
|
||||||
|
var ret int64
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
|
||||||
|
return o.EverySeconds
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetEverySecondsOk returns a tuple with the EverySeconds field value
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *RetentionRule) GetEverySecondsOk() (*int64, bool) {
|
||||||
|
if o == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return &o.EverySeconds, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetEverySeconds sets field value
|
||||||
|
func (o *RetentionRule) SetEverySeconds(v int64) {
|
||||||
|
o.EverySeconds = v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetShardGroupDurationSeconds returns the ShardGroupDurationSeconds field value if set, zero value otherwise.
|
||||||
|
func (o *RetentionRule) GetShardGroupDurationSeconds() int64 {
|
||||||
|
if o == nil || o.ShardGroupDurationSeconds == nil {
|
||||||
|
var ret int64
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.ShardGroupDurationSeconds
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetShardGroupDurationSecondsOk returns a tuple with the ShardGroupDurationSeconds field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *RetentionRule) GetShardGroupDurationSecondsOk() (*int64, bool) {
|
||||||
|
if o == nil || o.ShardGroupDurationSeconds == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.ShardGroupDurationSeconds, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasShardGroupDurationSeconds returns a boolean if a field has been set.
|
||||||
|
func (o *RetentionRule) HasShardGroupDurationSeconds() bool {
|
||||||
|
if o != nil && o.ShardGroupDurationSeconds != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetShardGroupDurationSeconds gets a reference to the given int64 and assigns it to the ShardGroupDurationSeconds field.
|
||||||
|
func (o *RetentionRule) SetShardGroupDurationSeconds(v int64) {
|
||||||
|
o.ShardGroupDurationSeconds = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o RetentionRule) MarshalJSON() ([]byte, error) {
|
||||||
|
toSerialize := map[string]interface{}{}
|
||||||
|
if true {
|
||||||
|
toSerialize["type"] = o.Type
|
||||||
|
}
|
||||||
|
if true {
|
||||||
|
toSerialize["everySeconds"] = o.EverySeconds
|
||||||
|
}
|
||||||
|
if o.ShardGroupDurationSeconds != nil {
|
||||||
|
toSerialize["shardGroupDurationSeconds"] = o.ShardGroupDurationSeconds
|
||||||
|
}
|
||||||
|
return json.Marshal(toSerialize)
|
||||||
|
}
|
||||||
|
|
||||||
|
type NullableRetentionRule struct {
|
||||||
|
value *RetentionRule
|
||||||
|
isSet bool
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v NullableRetentionRule) Get() *RetentionRule {
|
||||||
|
return v.value
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *NullableRetentionRule) Set(val *RetentionRule) {
|
||||||
|
v.value = val
|
||||||
|
v.isSet = true
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v NullableRetentionRule) IsSet() bool {
|
||||||
|
return v.isSet
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *NullableRetentionRule) Unset() {
|
||||||
|
v.value = nil
|
||||||
|
v.isSet = false
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewNullableRetentionRule(val *RetentionRule) *NullableRetentionRule {
|
||||||
|
return &NullableRetentionRule{value: val, isSet: true}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v NullableRetentionRule) MarshalJSON() ([]byte, error) {
|
||||||
|
return json.Marshal(v.value)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *NullableRetentionRule) UnmarshalJSON(src []byte) error {
|
||||||
|
v.isSet = true
|
||||||
|
return json.Unmarshal(src, &v.value)
|
||||||
|
}
|
255
internal/api/model_user_response.go
Normal file
255
internal/api/model_user_response.go
Normal file
@ -0,0 +1,255 @@
|
|||||||
|
/*
|
||||||
|
* Subset of Influx API covered by Influx CLI
|
||||||
|
*
|
||||||
|
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||||
|
*
|
||||||
|
* API version: 2.0.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
|
||||||
|
|
||||||
|
package api
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
)
|
||||||
|
|
||||||
|
// UserResponse struct for UserResponse
|
||||||
|
type UserResponse struct {
|
||||||
|
Id *string `json:"id,omitempty"`
|
||||||
|
OauthID *string `json:"oauthID,omitempty"`
|
||||||
|
Name string `json:"name"`
|
||||||
|
// If inactive the user is inactive.
|
||||||
|
Status *string `json:"status,omitempty"`
|
||||||
|
Links *UserResponseLinks `json:"links,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewUserResponse instantiates a new UserResponse object
|
||||||
|
// This constructor will assign default values to properties that have it defined,
|
||||||
|
// and makes sure properties required by API are set, but the set of arguments
|
||||||
|
// will change when the set of required properties is changed
|
||||||
|
func NewUserResponse(name string) *UserResponse {
|
||||||
|
this := UserResponse{}
|
||||||
|
this.Name = name
|
||||||
|
var status string = "active"
|
||||||
|
this.Status = &status
|
||||||
|
return &this
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewUserResponseWithDefaults instantiates a new UserResponse object
|
||||||
|
// This constructor will only assign default values to properties that have it defined,
|
||||||
|
// but it doesn't guarantee that properties required by API are set
|
||||||
|
func NewUserResponseWithDefaults() *UserResponse {
|
||||||
|
this := UserResponse{}
|
||||||
|
var status string = "active"
|
||||||
|
this.Status = &status
|
||||||
|
return &this
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetId returns the Id field value if set, zero value otherwise.
|
||||||
|
func (o *UserResponse) GetId() string {
|
||||||
|
if o == nil || o.Id == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.Id
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetIdOk returns a tuple with the Id field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *UserResponse) GetIdOk() (*string, bool) {
|
||||||
|
if o == nil || o.Id == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.Id, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasId returns a boolean if a field has been set.
|
||||||
|
func (o *UserResponse) HasId() bool {
|
||||||
|
if o != nil && o.Id != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetId gets a reference to the given string and assigns it to the Id field.
|
||||||
|
func (o *UserResponse) SetId(v string) {
|
||||||
|
o.Id = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetOauthID returns the OauthID field value if set, zero value otherwise.
|
||||||
|
func (o *UserResponse) GetOauthID() string {
|
||||||
|
if o == nil || o.OauthID == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.OauthID
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetOauthIDOk returns a tuple with the OauthID field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *UserResponse) GetOauthIDOk() (*string, bool) {
|
||||||
|
if o == nil || o.OauthID == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.OauthID, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasOauthID returns a boolean if a field has been set.
|
||||||
|
func (o *UserResponse) HasOauthID() bool {
|
||||||
|
if o != nil && o.OauthID != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetOauthID gets a reference to the given string and assigns it to the OauthID field.
|
||||||
|
func (o *UserResponse) SetOauthID(v string) {
|
||||||
|
o.OauthID = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetName returns the Name field value
|
||||||
|
func (o *UserResponse) GetName() string {
|
||||||
|
if o == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
|
||||||
|
return o.Name
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetNameOk returns a tuple with the Name field value
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *UserResponse) GetNameOk() (*string, bool) {
|
||||||
|
if o == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return &o.Name, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetName sets field value
|
||||||
|
func (o *UserResponse) SetName(v string) {
|
||||||
|
o.Name = v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetStatus returns the Status field value if set, zero value otherwise.
|
||||||
|
func (o *UserResponse) GetStatus() string {
|
||||||
|
if o == nil || o.Status == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.Status
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetStatusOk returns a tuple with the Status field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *UserResponse) GetStatusOk() (*string, bool) {
|
||||||
|
if o == nil || o.Status == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.Status, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasStatus returns a boolean if a field has been set.
|
||||||
|
func (o *UserResponse) HasStatus() bool {
|
||||||
|
if o != nil && o.Status != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetStatus gets a reference to the given string and assigns it to the Status field.
|
||||||
|
func (o *UserResponse) SetStatus(v string) {
|
||||||
|
o.Status = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetLinks returns the Links field value if set, zero value otherwise.
|
||||||
|
func (o *UserResponse) GetLinks() UserResponseLinks {
|
||||||
|
if o == nil || o.Links == nil {
|
||||||
|
var ret UserResponseLinks
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.Links
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetLinksOk returns a tuple with the Links field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *UserResponse) GetLinksOk() (*UserResponseLinks, bool) {
|
||||||
|
if o == nil || o.Links == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.Links, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasLinks returns a boolean if a field has been set.
|
||||||
|
func (o *UserResponse) HasLinks() bool {
|
||||||
|
if o != nil && o.Links != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetLinks gets a reference to the given UserResponseLinks and assigns it to the Links field.
|
||||||
|
func (o *UserResponse) SetLinks(v UserResponseLinks) {
|
||||||
|
o.Links = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o UserResponse) MarshalJSON() ([]byte, error) {
|
||||||
|
toSerialize := map[string]interface{}{}
|
||||||
|
if o.Id != nil {
|
||||||
|
toSerialize["id"] = o.Id
|
||||||
|
}
|
||||||
|
if o.OauthID != nil {
|
||||||
|
toSerialize["oauthID"] = o.OauthID
|
||||||
|
}
|
||||||
|
if true {
|
||||||
|
toSerialize["name"] = o.Name
|
||||||
|
}
|
||||||
|
if o.Status != nil {
|
||||||
|
toSerialize["status"] = o.Status
|
||||||
|
}
|
||||||
|
if o.Links != nil {
|
||||||
|
toSerialize["links"] = o.Links
|
||||||
|
}
|
||||||
|
return json.Marshal(toSerialize)
|
||||||
|
}
|
||||||
|
|
||||||
|
type NullableUserResponse struct {
|
||||||
|
value *UserResponse
|
||||||
|
isSet bool
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v NullableUserResponse) Get() *UserResponse {
|
||||||
|
return v.value
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *NullableUserResponse) Set(val *UserResponse) {
|
||||||
|
v.value = val
|
||||||
|
v.isSet = true
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v NullableUserResponse) IsSet() bool {
|
||||||
|
return v.isSet
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *NullableUserResponse) Unset() {
|
||||||
|
v.value = nil
|
||||||
|
v.isSet = false
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewNullableUserResponse(val *UserResponse) *NullableUserResponse {
|
||||||
|
return &NullableUserResponse{value: val, isSet: true}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v NullableUserResponse) MarshalJSON() ([]byte, error) {
|
||||||
|
return json.Marshal(v.value)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *NullableUserResponse) UnmarshalJSON(src []byte) error {
|
||||||
|
v.isSet = true
|
||||||
|
return json.Unmarshal(src, &v.value)
|
||||||
|
}
|
113
internal/api/model_user_response_links.go
Normal file
113
internal/api/model_user_response_links.go
Normal file
@ -0,0 +1,113 @@
|
|||||||
|
/*
|
||||||
|
* Subset of Influx API covered by Influx CLI
|
||||||
|
*
|
||||||
|
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||||
|
*
|
||||||
|
* API version: 2.0.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
|
||||||
|
|
||||||
|
package api
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
)
|
||||||
|
|
||||||
|
// UserResponseLinks struct for UserResponseLinks
|
||||||
|
type UserResponseLinks struct {
|
||||||
|
Self *string `json:"self,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewUserResponseLinks instantiates a new UserResponseLinks object
|
||||||
|
// This constructor will assign default values to properties that have it defined,
|
||||||
|
// and makes sure properties required by API are set, but the set of arguments
|
||||||
|
// will change when the set of required properties is changed
|
||||||
|
func NewUserResponseLinks() *UserResponseLinks {
|
||||||
|
this := UserResponseLinks{}
|
||||||
|
return &this
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewUserResponseLinksWithDefaults instantiates a new UserResponseLinks object
|
||||||
|
// This constructor will only assign default values to properties that have it defined,
|
||||||
|
// but it doesn't guarantee that properties required by API are set
|
||||||
|
func NewUserResponseLinksWithDefaults() *UserResponseLinks {
|
||||||
|
this := UserResponseLinks{}
|
||||||
|
return &this
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetSelf returns the Self field value if set, zero value otherwise.
|
||||||
|
func (o *UserResponseLinks) GetSelf() string {
|
||||||
|
if o == nil || o.Self == nil {
|
||||||
|
var ret string
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return *o.Self
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetSelfOk returns a tuple with the Self field value if set, nil otherwise
|
||||||
|
// and a boolean to check if the value has been set.
|
||||||
|
func (o *UserResponseLinks) GetSelfOk() (*string, bool) {
|
||||||
|
if o == nil || o.Self == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return o.Self, true
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasSelf returns a boolean if a field has been set.
|
||||||
|
func (o *UserResponseLinks) HasSelf() bool {
|
||||||
|
if o != nil && o.Self != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetSelf gets a reference to the given string and assigns it to the Self field.
|
||||||
|
func (o *UserResponseLinks) SetSelf(v string) {
|
||||||
|
o.Self = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o UserResponseLinks) MarshalJSON() ([]byte, error) {
|
||||||
|
toSerialize := map[string]interface{}{}
|
||||||
|
if o.Self != nil {
|
||||||
|
toSerialize["self"] = o.Self
|
||||||
|
}
|
||||||
|
return json.Marshal(toSerialize)
|
||||||
|
}
|
||||||
|
|
||||||
|
type NullableUserResponseLinks struct {
|
||||||
|
value *UserResponseLinks
|
||||||
|
isSet bool
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v NullableUserResponseLinks) Get() *UserResponseLinks {
|
||||||
|
return v.value
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *NullableUserResponseLinks) Set(val *UserResponseLinks) {
|
||||||
|
v.value = val
|
||||||
|
v.isSet = true
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v NullableUserResponseLinks) IsSet() bool {
|
||||||
|
return v.isSet
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *NullableUserResponseLinks) Unset() {
|
||||||
|
v.value = nil
|
||||||
|
v.isSet = false
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewNullableUserResponseLinks(val *UserResponseLinks) *NullableUserResponseLinks {
|
||||||
|
return &NullableUserResponseLinks{value: val, isSet: true}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v NullableUserResponseLinks) MarshalJSON() ([]byte, error) {
|
||||||
|
return json.Marshal(v.value)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *NullableUserResponseLinks) UnmarshalJSON(src []byte) error {
|
||||||
|
v.isSet = true
|
||||||
|
return json.Unmarshal(src, &v.value)
|
||||||
|
}
|
@ -1,13 +1,41 @@
|
|||||||
package internal
|
package internal
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"io"
|
"encoding/json"
|
||||||
|
|
||||||
|
"github.com/influxdata/influx-cli/v2/internal/config"
|
||||||
|
"github.com/influxdata/influx-cli/v2/internal/stdio"
|
||||||
|
"github.com/influxdata/influx-cli/v2/internal/tabwriter"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// CLI is a container for common functionality used to execute commands.
|
||||||
type CLI struct {
|
type CLI struct {
|
||||||
Stdin io.Reader
|
StdIO stdio.StdIO
|
||||||
Stdout io.Writer
|
|
||||||
Stderr io.Writer
|
|
||||||
|
|
||||||
TraceId string
|
TraceId string
|
||||||
|
HideTableHeaders bool
|
||||||
|
PrintAsJSON bool
|
||||||
|
|
||||||
|
ActiveConfig config.Config
|
||||||
|
ConfigService config.Service
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *CLI) PrintJSON(v interface{}) error {
|
||||||
|
enc := json.NewEncoder(c.StdIO)
|
||||||
|
enc.SetIndent("", "\t")
|
||||||
|
return enc.Encode(v)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *CLI) PrintTable(headers []string, rows ...map[string]interface{}) error {
|
||||||
|
w := tabwriter.NewTabWriter(c.StdIO, c.HideTableHeaders)
|
||||||
|
defer w.Flush()
|
||||||
|
if err := w.WriteHeaders(headers...); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
for _, r := range rows {
|
||||||
|
if err := w.Write(r); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
}
|
}
|
||||||
|
@ -54,55 +54,15 @@ type Service interface {
|
|||||||
DeleteConfig(name string) (Config, error)
|
DeleteConfig(name string) (Config, error)
|
||||||
UpdateConfig(Config) (Config, error)
|
UpdateConfig(Config) (Config, error)
|
||||||
SwitchActive(name string) (Config, error)
|
SwitchActive(name string) (Config, error)
|
||||||
|
Active() (Config, error)
|
||||||
ListConfigs() (Configs, error)
|
ListConfigs() (Configs, error)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Configs is map of configs indexed by name.
|
// Configs is map of configs indexed by name.
|
||||||
type Configs map[string]Config
|
type Configs map[string]Config
|
||||||
|
|
||||||
func GetConfigsOrDefault(path string) Configs {
|
|
||||||
r, err := os.Open(path)
|
|
||||||
if err != nil {
|
|
||||||
return Configs{
|
|
||||||
DefaultConfig.Name: DefaultConfig,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
defer r.Close()
|
|
||||||
|
|
||||||
cfgs, err := NewLocalConfigService(path).ListConfigs()
|
|
||||||
if err != nil {
|
|
||||||
return Configs{
|
|
||||||
DefaultConfig.Name: DefaultConfig,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return cfgs
|
|
||||||
}
|
|
||||||
|
|
||||||
var badNames = map[string]bool{
|
|
||||||
"-": false,
|
|
||||||
"list": false,
|
|
||||||
"update": false,
|
|
||||||
"set": false,
|
|
||||||
"delete": false,
|
|
||||||
"switch": false,
|
|
||||||
"create": false,
|
|
||||||
}
|
|
||||||
|
|
||||||
func blockBadName(cfgs Configs) error {
|
|
||||||
for n := range cfgs {
|
|
||||||
if _, ok := badNames[n]; ok {
|
|
||||||
return &api.Error{
|
|
||||||
Code: api.ERRORCODE_INVALID,
|
|
||||||
Message: fmt.Sprintf("%q is not a valid config name", n),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Switch to another config.
|
// Switch to another config.
|
||||||
func (cfgs Configs) Switch(name string) error {
|
func (cfgs Configs) switchActive(name string) error {
|
||||||
if _, ok := cfgs[name]; !ok {
|
if _, ok := cfgs[name]; !ok {
|
||||||
return &api.Error{
|
return &api.Error{
|
||||||
Code: api.ERRORCODE_NOT_FOUND,
|
Code: api.ERRORCODE_NOT_FOUND,
|
||||||
@ -117,7 +77,7 @@ func (cfgs Configs) Switch(name string) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (cfgs Configs) Active() Config {
|
func (cfgs Configs) active() Config {
|
||||||
for _, cfg := range cfgs {
|
for _, cfg := range cfgs {
|
||||||
if cfg.Active {
|
if cfg.Active {
|
||||||
return cfg
|
return cfg
|
||||||
|
@ -51,7 +51,7 @@ func (svc localConfigsSVC) CreateConfig(cfg Config) (Config, error) {
|
|||||||
}
|
}
|
||||||
cfgs[cfg.Name] = cfg
|
cfgs[cfg.Name] = cfg
|
||||||
if cfg.Active {
|
if cfg.Active {
|
||||||
if err := cfgs.Switch(cfg.Name); err != nil {
|
if err := cfgs.switchActive(cfg.Name); err != nil {
|
||||||
return Config{}, err
|
return Config{}, err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -86,6 +86,14 @@ func (svc localConfigsSVC) DeleteConfig(name string) (Config, error) {
|
|||||||
return p, svc.writeConfigs(cfgs)
|
return p, svc.writeConfigs(cfgs)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (svc localConfigsSVC) Active() (Config, error) {
|
||||||
|
cfgs, err := svc.ListConfigs()
|
||||||
|
if err != nil {
|
||||||
|
return Config{}, err
|
||||||
|
}
|
||||||
|
return cfgs.active(), nil
|
||||||
|
}
|
||||||
|
|
||||||
// SwitchActive will active the config by name, if name is "-", active the previous one.
|
// SwitchActive will active the config by name, if name is "-", active the previous one.
|
||||||
func (svc localConfigsSVC) SwitchActive(name string) (Config, error) {
|
func (svc localConfigsSVC) SwitchActive(name string) (Config, error) {
|
||||||
var up Config
|
var up Config
|
||||||
@ -127,7 +135,7 @@ func (svc localConfigsSVC) UpdateConfig(up Config) (Config, error) {
|
|||||||
|
|
||||||
cfgs[up.Name] = p0
|
cfgs[up.Name] = p0
|
||||||
if up.Active {
|
if up.Active {
|
||||||
if err := cfgs.Switch(up.Name); err != nil {
|
if err := cfgs.switchActive(up.Name); err != nil {
|
||||||
return Config{}, err
|
return Config{}, err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -192,6 +200,28 @@ func (s baseRW) writeConfigs(cfgs Configs) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var badNames = map[string]bool{
|
||||||
|
"-": false,
|
||||||
|
"list": false,
|
||||||
|
"update": false,
|
||||||
|
"set": false,
|
||||||
|
"delete": false,
|
||||||
|
"switch": false,
|
||||||
|
"create": false,
|
||||||
|
}
|
||||||
|
|
||||||
|
func blockBadName(cfgs Configs) error {
|
||||||
|
for n := range cfgs {
|
||||||
|
if _, ok := badNames[n]; ok {
|
||||||
|
return &api.Error{
|
||||||
|
Code: api.ERRORCODE_INVALID,
|
||||||
|
Message: fmt.Sprintf("%q is not a valid config name", n),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
func (s baseRW) parseActiveConfig(currentOrPrevious bool) (Config, error) {
|
func (s baseRW) parseActiveConfig(currentOrPrevious bool) (Config, error) {
|
||||||
previousText := ""
|
previousText := ""
|
||||||
if !currentOrPrevious {
|
if !currentOrPrevious {
|
||||||
|
150
internal/duration/parser.go
Normal file
150
internal/duration/parser.go
Normal file
@ -0,0 +1,150 @@
|
|||||||
|
package duration
|
||||||
|
|
||||||
|
import (
|
||||||
|
"errors"
|
||||||
|
"fmt"
|
||||||
|
"strconv"
|
||||||
|
"time"
|
||||||
|
"unicode"
|
||||||
|
"unicode/utf8"
|
||||||
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
Day = 24 * time.Hour
|
||||||
|
Week = 7 * Day
|
||||||
|
)
|
||||||
|
|
||||||
|
type durations []duration
|
||||||
|
|
||||||
|
type duration struct {
|
||||||
|
magnitude int64
|
||||||
|
unit string
|
||||||
|
}
|
||||||
|
|
||||||
|
var (
|
||||||
|
ErrInvalidUnit = errors.New("duration must be week(w), day(d), hour(h), min(m), sec(s), millisec(ms), microsec(us), or nanosec(ns)")
|
||||||
|
ErrInvalidRune = errors.New("invalid rune in declaration")
|
||||||
|
)
|
||||||
|
|
||||||
|
// RawDurationToTimeDuration extends the builtin duration-parser to support days(d) and weeks(w) as parseable units.
|
||||||
|
// The core implementation is copied from InfluxDB OSS's task engine, which itself copied the logic from an
|
||||||
|
// internal module in Flux.
|
||||||
|
func RawDurationToTimeDuration(raw string) (time.Duration, error) {
|
||||||
|
if raw == "" {
|
||||||
|
return 0, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
if dur, err := time.ParseDuration(raw); err == nil {
|
||||||
|
return dur, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
parsed, err := parseSignedDuration(raw)
|
||||||
|
if err != nil {
|
||||||
|
return 0, err
|
||||||
|
}
|
||||||
|
|
||||||
|
var dur time.Duration
|
||||||
|
for _, d := range parsed {
|
||||||
|
if d.magnitude < 0 {
|
||||||
|
return 0, errors.New("must be greater than 0")
|
||||||
|
}
|
||||||
|
mag := time.Duration(d.magnitude)
|
||||||
|
switch d.unit {
|
||||||
|
case "w":
|
||||||
|
dur += mag * Week
|
||||||
|
case "d":
|
||||||
|
dur += mag * Day
|
||||||
|
case "h":
|
||||||
|
dur += mag * time.Hour
|
||||||
|
case "m":
|
||||||
|
dur += mag * time.Minute
|
||||||
|
case "s":
|
||||||
|
dur += mag * time.Second
|
||||||
|
case "ms":
|
||||||
|
dur += mag * time.Millisecond
|
||||||
|
case "us":
|
||||||
|
dur += mag * time.Microsecond
|
||||||
|
case "ns":
|
||||||
|
dur += mag * time.Nanosecond
|
||||||
|
default:
|
||||||
|
return 0, ErrInvalidUnit
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return dur, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func parseSignedDuration(text string) (durations, error) {
|
||||||
|
if r, s := utf8.DecodeRuneInString(text); r == '-' {
|
||||||
|
d, err := parseDuration(text[s:])
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
for i := range d {
|
||||||
|
d[i].magnitude = -d[i].magnitude
|
||||||
|
}
|
||||||
|
return d, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
d, err := parseDuration(text)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return d, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// parseDuration will convert a string into components of the duration.
|
||||||
|
func parseDuration(lit string) (durations, error) {
|
||||||
|
var values durations
|
||||||
|
for len(lit) > 0 {
|
||||||
|
n := 0
|
||||||
|
for n < len(lit) {
|
||||||
|
ch, size := utf8.DecodeRuneInString(lit[n:])
|
||||||
|
if size == 0 {
|
||||||
|
return nil, ErrInvalidRune
|
||||||
|
}
|
||||||
|
|
||||||
|
if !unicode.IsDigit(ch) {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
n += size
|
||||||
|
}
|
||||||
|
|
||||||
|
if n == 0 {
|
||||||
|
return nil, fmt.Errorf("invalid duration %s", lit)
|
||||||
|
}
|
||||||
|
|
||||||
|
magnitude, err := strconv.ParseInt(lit[:n], 10, 64)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
lit = lit[n:]
|
||||||
|
|
||||||
|
n = 0
|
||||||
|
for n < len(lit) {
|
||||||
|
ch, size := utf8.DecodeRuneInString(lit[n:])
|
||||||
|
if size == 0 {
|
||||||
|
return nil, ErrInvalidRune
|
||||||
|
}
|
||||||
|
|
||||||
|
if !unicode.IsLetter(ch) {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
n += size
|
||||||
|
}
|
||||||
|
|
||||||
|
if n == 0 {
|
||||||
|
return nil, fmt.Errorf("duration is missing a unit: %s", lit)
|
||||||
|
}
|
||||||
|
|
||||||
|
unit := lit[:n]
|
||||||
|
if unit == "µs" {
|
||||||
|
unit = "us"
|
||||||
|
}
|
||||||
|
values = append(values, duration{
|
||||||
|
magnitude: magnitude,
|
||||||
|
unit: unit,
|
||||||
|
})
|
||||||
|
lit = lit[n:]
|
||||||
|
}
|
||||||
|
return values, nil
|
||||||
|
}
|
91
internal/duration/parser_test.go
Normal file
91
internal/duration/parser_test.go
Normal file
@ -0,0 +1,91 @@
|
|||||||
|
package duration_test
|
||||||
|
|
||||||
|
import (
|
||||||
|
"testing"
|
||||||
|
"time"
|
||||||
|
|
||||||
|
"github.com/influxdata/influx-cli/v2/internal/duration"
|
||||||
|
"github.com/stretchr/testify/require"
|
||||||
|
)
|
||||||
|
|
||||||
|
func Test_RawDurationToTimeDuration(t *testing.T) {
|
||||||
|
testCases := []struct {
|
||||||
|
name string
|
||||||
|
input string
|
||||||
|
expected time.Duration
|
||||||
|
expectErr bool
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
name: "nanos",
|
||||||
|
input: "10ns",
|
||||||
|
expected: 10,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "micros",
|
||||||
|
input: "12345us",
|
||||||
|
expected: 12345 * time.Microsecond,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "millis",
|
||||||
|
input: "9876ms",
|
||||||
|
expected: 9876 * time.Millisecond,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "seconds",
|
||||||
|
input: "300s",
|
||||||
|
expected: 300 * time.Second,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "minutes",
|
||||||
|
input: "654m",
|
||||||
|
expected: 654 * time.Minute,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "hours",
|
||||||
|
input: "127h",
|
||||||
|
expected: 127 * time.Hour,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "days",
|
||||||
|
input: "29d",
|
||||||
|
expected: 29 * duration.Day,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "weeks",
|
||||||
|
input: "396w",
|
||||||
|
expected: 396 * duration.Week,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "weeks+hours+seconds+micros",
|
||||||
|
input: "1w2h3s4us",
|
||||||
|
expected: duration.Week + 2*time.Hour + 3*time.Second + 4*time.Microsecond,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "days+minutes+millis+nanos",
|
||||||
|
input: "9d8m7ms6ns",
|
||||||
|
expected: 9*duration.Day + 8*time.Minute + 7*time.Millisecond + 6,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "negative",
|
||||||
|
input: "-1d",
|
||||||
|
expectErr: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "missing unit",
|
||||||
|
input: "123",
|
||||||
|
expectErr: true,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, tc := range testCases {
|
||||||
|
t.Run(tc.name, func(t *testing.T) {
|
||||||
|
parsed, err := duration.RawDurationToTimeDuration(tc.input)
|
||||||
|
if tc.expectErr {
|
||||||
|
require.Error(t, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
require.NoError(t, err)
|
||||||
|
require.Equal(t, tc.expected, parsed)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
55
internal/mock/stdio.go
Normal file
55
internal/mock/stdio.go
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
package mock
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bytes"
|
||||||
|
"errors"
|
||||||
|
)
|
||||||
|
|
||||||
|
type Stdio struct {
|
||||||
|
answers map[string]string
|
||||||
|
confirm bool
|
||||||
|
out bytes.Buffer
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewMockStdio(promptAnswers map[string]string, confirm bool) *Stdio {
|
||||||
|
return &Stdio{answers: promptAnswers, confirm: confirm, out: bytes.Buffer{}}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *Stdio) Write(p []byte) (int, error) {
|
||||||
|
return m.out.Write(p)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *Stdio) Banner(string) error {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *Stdio) Error(string) error {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *Stdio) GetStringInput(prompt, defaultValue string) (string, error) {
|
||||||
|
v, ok := m.answers[prompt]
|
||||||
|
if !ok {
|
||||||
|
return defaultValue, nil
|
||||||
|
}
|
||||||
|
return v, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *Stdio) GetPassword(prompt string, minLen int) (string, error) {
|
||||||
|
v, ok := m.answers[prompt]
|
||||||
|
if !ok {
|
||||||
|
return "", errors.New("no password given")
|
||||||
|
}
|
||||||
|
if len(v) < minLen {
|
||||||
|
return "", errors.New("password too short")
|
||||||
|
}
|
||||||
|
return v, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *Stdio) GetConfirm(string) bool {
|
||||||
|
return m.confirm
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *Stdio) Stdout() string {
|
||||||
|
return m.out.String()
|
||||||
|
}
|
@ -28,6 +28,6 @@ func (c *CLI) Ping(ctx context.Context, client api.HealthApi) error {
|
|||||||
return fmt.Errorf("health check failed: %s", message)
|
return fmt.Errorf("health check failed: %s", message)
|
||||||
}
|
}
|
||||||
|
|
||||||
c.Stdout.Write([]byte("OK\n"))
|
_, err = c.StdIO.Write([]byte("OK\n"))
|
||||||
return nil
|
return err
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package internal_test
|
package internal_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"context"
|
"context"
|
||||||
"errors"
|
"errors"
|
||||||
"net/http"
|
"net/http"
|
||||||
@ -9,45 +8,46 @@ import (
|
|||||||
|
|
||||||
"github.com/influxdata/influx-cli/v2/internal"
|
"github.com/influxdata/influx-cli/v2/internal"
|
||||||
"github.com/influxdata/influx-cli/v2/internal/api"
|
"github.com/influxdata/influx-cli/v2/internal/api"
|
||||||
|
"github.com/influxdata/influx-cli/v2/internal/mock"
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
)
|
)
|
||||||
|
|
||||||
type testClient struct {
|
type pingTestClient struct {
|
||||||
GetHealthExecuteFn func(api.ApiGetHealthRequest) (api.HealthCheck, *http.Response, error)
|
GetHealthExecuteFn func(api.ApiGetHealthRequest) (api.HealthCheck, *http.Response, error)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (tc *testClient) GetHealth(context.Context) api.ApiGetHealthRequest {
|
func (tc *pingTestClient) GetHealth(context.Context) api.ApiGetHealthRequest {
|
||||||
return api.ApiGetHealthRequest{
|
return api.ApiGetHealthRequest{
|
||||||
ApiService: tc,
|
ApiService: tc,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (tc *testClient) GetHealthExecute(req api.ApiGetHealthRequest) (api.HealthCheck, *http.Response, error) {
|
func (tc *pingTestClient) GetHealthExecute(req api.ApiGetHealthRequest) (api.HealthCheck, *http.Response, error) {
|
||||||
return tc.GetHealthExecuteFn(req)
|
return tc.GetHealthExecuteFn(req)
|
||||||
}
|
}
|
||||||
|
|
||||||
func Test_PingSuccess(t *testing.T) {
|
func Test_PingSuccess(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
client := &testClient{
|
client := &pingTestClient{
|
||||||
GetHealthExecuteFn: func(req api.ApiGetHealthRequest) (api.HealthCheck, *http.Response, error) {
|
GetHealthExecuteFn: func(req api.ApiGetHealthRequest) (api.HealthCheck, *http.Response, error) {
|
||||||
require.Nil(t, req.GetZapTraceSpan())
|
require.Nil(t, req.GetZapTraceSpan())
|
||||||
return api.HealthCheck{Status: api.HEALTHCHECKSTATUS_PASS}, nil, nil
|
return api.HealthCheck{Status: api.HEALTHCHECKSTATUS_PASS}, nil, nil
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
out := &bytes.Buffer{}
|
stdio := mock.NewMockStdio(nil, true)
|
||||||
cli := &internal.CLI{Stdout: out}
|
cli := &internal.CLI{StdIO: stdio}
|
||||||
|
|
||||||
require.NoError(t, cli.Ping(context.Background(), client))
|
require.NoError(t, cli.Ping(context.Background(), client))
|
||||||
require.Equal(t, "OK\n", out.String())
|
require.Equal(t, "OK\n", stdio.Stdout())
|
||||||
}
|
}
|
||||||
|
|
||||||
func Test_PingSuccessWithTracing(t *testing.T) {
|
func Test_PingSuccessWithTracing(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
traceId := "trace-id"
|
traceId := "trace-id"
|
||||||
client := &testClient{
|
client := &pingTestClient{
|
||||||
GetHealthExecuteFn: func(req api.ApiGetHealthRequest) (api.HealthCheck, *http.Response, error) {
|
GetHealthExecuteFn: func(req api.ApiGetHealthRequest) (api.HealthCheck, *http.Response, error) {
|
||||||
require.NotNil(t, req.GetZapTraceSpan())
|
require.NotNil(t, req.GetZapTraceSpan())
|
||||||
require.Equal(t, traceId, *req.GetZapTraceSpan())
|
require.Equal(t, traceId, *req.GetZapTraceSpan())
|
||||||
@ -55,66 +55,57 @@ func Test_PingSuccessWithTracing(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
out := &bytes.Buffer{}
|
stdio := mock.NewMockStdio(nil, true)
|
||||||
cli := &internal.CLI{Stdout: out, TraceId: traceId}
|
cli := &internal.CLI{TraceId: traceId, StdIO: stdio}
|
||||||
|
|
||||||
require.NoError(t, cli.Ping(context.Background(), client))
|
require.NoError(t, cli.Ping(context.Background(), client))
|
||||||
require.Equal(t, "OK\n", out.String())
|
require.Equal(t, "OK\n", stdio.Stdout())
|
||||||
}
|
}
|
||||||
|
|
||||||
func Test_PingFailedRequest(t *testing.T) {
|
func Test_PingFailedRequest(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
e := "the internet is down"
|
e := "the internet is down"
|
||||||
client := &testClient{
|
client := &pingTestClient{
|
||||||
GetHealthExecuteFn: func(api.ApiGetHealthRequest) (api.HealthCheck, *http.Response, error) {
|
GetHealthExecuteFn: func(api.ApiGetHealthRequest) (api.HealthCheck, *http.Response, error) {
|
||||||
return api.HealthCheck{}, nil, errors.New(e)
|
return api.HealthCheck{}, nil, errors.New(e)
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
out := &bytes.Buffer{}
|
cli := &internal.CLI{}
|
||||||
cli := &internal.CLI{Stdout: out}
|
|
||||||
|
|
||||||
err := cli.Ping(context.Background(), client)
|
err := cli.Ping(context.Background(), client)
|
||||||
require.Error(t, err)
|
require.Error(t, err)
|
||||||
require.Contains(t, err.Error(), e)
|
require.Contains(t, err.Error(), e)
|
||||||
require.Empty(t, out.String())
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func Test_PingFailedStatus(t *testing.T) {
|
func Test_PingFailedStatus(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
e := "I broke"
|
e := "I broke"
|
||||||
client := &testClient{
|
client := &pingTestClient{
|
||||||
GetHealthExecuteFn: func(api.ApiGetHealthRequest) (api.HealthCheck, *http.Response, error) {
|
GetHealthExecuteFn: func(api.ApiGetHealthRequest) (api.HealthCheck, *http.Response, error) {
|
||||||
return api.HealthCheck{Status: api.HEALTHCHECKSTATUS_FAIL, Message: &e}, nil, nil
|
return api.HealthCheck{Status: api.HEALTHCHECKSTATUS_FAIL, Message: &e}, nil, nil
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
out := &bytes.Buffer{}
|
cli := &internal.CLI{}
|
||||||
cli := &internal.CLI{Stdout: out}
|
|
||||||
|
|
||||||
err := cli.Ping(context.Background(), client)
|
err := cli.Ping(context.Background(), client)
|
||||||
require.Error(t, err)
|
require.Error(t, err)
|
||||||
require.Contains(t, err.Error(), e)
|
require.Contains(t, err.Error(), e)
|
||||||
require.Empty(t, out.String())
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func Test_PingFailedStatusNoMessage(t *testing.T) {
|
func Test_PingFailedStatusNoMessage(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
name := "foo"
|
name := "foo"
|
||||||
client := &testClient{
|
client := &pingTestClient{
|
||||||
GetHealthExecuteFn: func(api.ApiGetHealthRequest) (api.HealthCheck, *http.Response, error) {
|
GetHealthExecuteFn: func(api.ApiGetHealthRequest) (api.HealthCheck, *http.Response, error) {
|
||||||
return api.HealthCheck{Status: api.HEALTHCHECKSTATUS_FAIL, Name: name}, nil, nil
|
return api.HealthCheck{Status: api.HEALTHCHECKSTATUS_FAIL, Name: name}, nil, nil
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
out := &bytes.Buffer{}
|
cli := &internal.CLI{}
|
||||||
cli := &internal.CLI{Stdout: out}
|
|
||||||
|
|
||||||
err := cli.Ping(context.Background(), client)
|
err := cli.Ping(context.Background(), client)
|
||||||
require.Error(t, err)
|
require.Error(t, err)
|
||||||
require.Contains(t, err.Error(), name)
|
require.Contains(t, err.Error(), name)
|
||||||
require.Empty(t, out.String())
|
|
||||||
}
|
}
|
||||||
|
242
internal/setup.go
Normal file
242
internal/setup.go
Normal file
@ -0,0 +1,242 @@
|
|||||||
|
package internal
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"errors"
|
||||||
|
"fmt"
|
||||||
|
"math"
|
||||||
|
"strconv"
|
||||||
|
"time"
|
||||||
|
|
||||||
|
"github.com/influxdata/influx-cli/v2/internal/api"
|
||||||
|
"github.com/influxdata/influx-cli/v2/internal/config"
|
||||||
|
"github.com/influxdata/influx-cli/v2/internal/duration"
|
||||||
|
)
|
||||||
|
|
||||||
|
type SetupParams struct {
|
||||||
|
Username string
|
||||||
|
Password string
|
||||||
|
AuthToken string
|
||||||
|
Org string
|
||||||
|
Bucket string
|
||||||
|
Retention string
|
||||||
|
Force bool
|
||||||
|
ConfigName string
|
||||||
|
}
|
||||||
|
|
||||||
|
var (
|
||||||
|
ErrPasswordIsTooShort = errors.New("password is too short")
|
||||||
|
ErrAlreadySetUp = errors.New("instance has already been set up")
|
||||||
|
ErrConfigNameRequired = errors.New("config name is required if you already have existing configs")
|
||||||
|
ErrSetupCanceled = errors.New("setup was canceled")
|
||||||
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
InfiniteRetention = 0
|
||||||
|
MinPasswordLen = 8
|
||||||
|
)
|
||||||
|
|
||||||
|
func (c *CLI) Setup(ctx context.Context, client api.SetupApi, params *SetupParams) error {
|
||||||
|
// Ensure we'll be able to write onboarding results to local config.
|
||||||
|
// Do this first so we catch any problems before modifying state on the server side.
|
||||||
|
if err := c.validateNoNameCollision(params.ConfigName); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check if setup is even allowed.
|
||||||
|
checkReq := client.GetSetup(ctx)
|
||||||
|
if c.TraceId != "" {
|
||||||
|
checkReq = checkReq.ZapTraceSpan(c.TraceId)
|
||||||
|
}
|
||||||
|
checkResp, _, err := client.GetSetupExecute(checkReq)
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("failed to check if already set up: %w", err)
|
||||||
|
}
|
||||||
|
if checkResp.Allowed == nil || !*checkResp.Allowed {
|
||||||
|
return ErrAlreadySetUp
|
||||||
|
}
|
||||||
|
|
||||||
|
// Initialize the server.
|
||||||
|
setupBody, err := c.onboardingRequest(params)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
setupReq := client.PostSetup(ctx).OnboardingRequest(setupBody)
|
||||||
|
if c.TraceId != "" {
|
||||||
|
setupReq = setupReq.ZapTraceSpan(c.TraceId)
|
||||||
|
}
|
||||||
|
resp, _, err := client.PostSetupExecute(setupReq)
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("failed to setup instance: %w", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
cfg := config.Config{
|
||||||
|
Name: config.DefaultConfig.Name,
|
||||||
|
Host: c.ActiveConfig.Host,
|
||||||
|
Token: *resp.Auth.Token,
|
||||||
|
Org: resp.Org.Name,
|
||||||
|
}
|
||||||
|
if params.ConfigName != "" {
|
||||||
|
cfg.Name = params.ConfigName
|
||||||
|
}
|
||||||
|
|
||||||
|
if _, err := c.ConfigService.CreateConfig(cfg); err != nil {
|
||||||
|
return fmt.Errorf("setup succeeded, but failed to write new config to local path: %w", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if c.PrintAsJSON {
|
||||||
|
return c.PrintJSON(map[string]interface{}{
|
||||||
|
"user": resp.User.Name,
|
||||||
|
"organization": resp.Org.Name,
|
||||||
|
"bucket": resp.Bucket.Name,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
return c.PrintTable([]string{"User", "Organization", "Bucket"}, map[string]interface{}{
|
||||||
|
"User": resp.User.Name,
|
||||||
|
"Organization": resp.Org.Name,
|
||||||
|
"Bucket": resp.Bucket.Name,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// validateNoNameCollision checks that we will be able to write onboarding results to local config:
|
||||||
|
// - If a custom name was given, check that it doesn't collide with existing config
|
||||||
|
// - If no custom name was given, check that we don't already have configs
|
||||||
|
func (c *CLI) validateNoNameCollision(configName string) error {
|
||||||
|
existingConfigs, err := c.ConfigService.ListConfigs()
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("error checking existing configs: %w", err)
|
||||||
|
}
|
||||||
|
if len(existingConfigs) == 0 {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// If there are existing configs then require that a name be
|
||||||
|
// specified in order to distinguish this new config from what's
|
||||||
|
// there already.
|
||||||
|
if configName == "" {
|
||||||
|
return ErrConfigNameRequired
|
||||||
|
}
|
||||||
|
if _, ok := existingConfigs[configName]; ok {
|
||||||
|
return fmt.Errorf("config name %q already exists", configName)
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// onboardingRequest constructs a request body for the onboarding API.
|
||||||
|
// Unless the 'force' parameter is set, the user will be prompted to enter any missing information
|
||||||
|
// and to confirm the final request parameters.
|
||||||
|
func (c *CLI) onboardingRequest(params *SetupParams) (req api.OnboardingRequest, err error) {
|
||||||
|
if (params.Force || params.Password != "") && len(params.Password) < MinPasswordLen {
|
||||||
|
return req, ErrPasswordIsTooShort
|
||||||
|
}
|
||||||
|
|
||||||
|
// Populate the request with CLI args.
|
||||||
|
req.Username = params.Username
|
||||||
|
req.Org = params.Org
|
||||||
|
req.Bucket = params.Bucket
|
||||||
|
if params.Password != "" {
|
||||||
|
req.Password = ¶ms.Password
|
||||||
|
}
|
||||||
|
if params.AuthToken != "" {
|
||||||
|
req.Token = ¶ms.AuthToken
|
||||||
|
}
|
||||||
|
rpSecs := int64(InfiniteRetention)
|
||||||
|
if params.Retention != "" {
|
||||||
|
dur, err := duration.RawDurationToTimeDuration(params.Retention)
|
||||||
|
if err != nil {
|
||||||
|
return req, fmt.Errorf("failed to parse %q: %w", params.Retention, err)
|
||||||
|
}
|
||||||
|
secs, nanos := math.Modf(dur.Seconds())
|
||||||
|
if nanos > 0 {
|
||||||
|
return req, fmt.Errorf("retention policy %q is too precise, must be divisible by 1s", params.Retention)
|
||||||
|
}
|
||||||
|
rpSecs = int64(secs)
|
||||||
|
}
|
||||||
|
req.RetentionPeriodSeconds = &rpSecs
|
||||||
|
|
||||||
|
if params.Force {
|
||||||
|
return req, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Ask the user for any missing information.
|
||||||
|
if err := c.StdIO.Banner("Welcome to InfluxDB 2.0!"); err != nil {
|
||||||
|
return req, err
|
||||||
|
}
|
||||||
|
if params.Username == "" {
|
||||||
|
req.Username, err = c.StdIO.GetStringInput("Please type your primary username", "")
|
||||||
|
if err != nil {
|
||||||
|
return req, err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if params.Password == "" {
|
||||||
|
for {
|
||||||
|
pass1, err := c.StdIO.GetPassword("Please type your password", MinPasswordLen)
|
||||||
|
if err != nil {
|
||||||
|
return req, err
|
||||||
|
}
|
||||||
|
// Don't bother with the length check the 2nd time, since we check equality to pass1.
|
||||||
|
pass2, err := c.StdIO.GetPassword("Please type your password again", 0)
|
||||||
|
if err != nil {
|
||||||
|
return req, err
|
||||||
|
}
|
||||||
|
if pass1 == pass2 {
|
||||||
|
req.Password = &pass1
|
||||||
|
break
|
||||||
|
}
|
||||||
|
if err := c.StdIO.Error("Passwords do not match"); err != nil {
|
||||||
|
return req, err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if params.Org == "" {
|
||||||
|
req.Org, err = c.StdIO.GetStringInput("Please type your primary organization name", "")
|
||||||
|
if err != nil {
|
||||||
|
return req, err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if params.Bucket == "" {
|
||||||
|
req.Bucket, err = c.StdIO.GetStringInput("Please type your primary bucket name", "")
|
||||||
|
if err != nil {
|
||||||
|
return req, err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if params.Retention == "" {
|
||||||
|
infiniteStr := strconv.Itoa(InfiniteRetention)
|
||||||
|
for {
|
||||||
|
rpStr, err := c.StdIO.GetStringInput("Please type your retention period in hours, or 0 for infinite", infiniteStr)
|
||||||
|
if err != nil {
|
||||||
|
return req, err
|
||||||
|
}
|
||||||
|
rp, err := strconv.Atoi(rpStr)
|
||||||
|
if err != nil {
|
||||||
|
return req, err
|
||||||
|
}
|
||||||
|
if rp >= 0 {
|
||||||
|
rpSeconds := int64((time.Duration(rp) * time.Hour).Seconds())
|
||||||
|
req.RetentionPeriodSeconds = &rpSeconds
|
||||||
|
break
|
||||||
|
} else if err := c.StdIO.Error("Retention period cannot be negative"); err != nil {
|
||||||
|
return req, err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if confirmed := c.StdIO.GetConfirm(func() string {
|
||||||
|
rp := "infinite"
|
||||||
|
if req.RetentionPeriodSeconds != nil && *req.RetentionPeriodSeconds > 0 {
|
||||||
|
rp = (time.Duration(*req.RetentionPeriodSeconds) * time.Second).String()
|
||||||
|
}
|
||||||
|
return fmt.Sprintf(`Setup with these parameters?
|
||||||
|
Username: %s
|
||||||
|
Organization: %s
|
||||||
|
Bucket: %s
|
||||||
|
Retention Period: %s
|
||||||
|
`, req.Username, req.Org, req.Bucket, rp)
|
||||||
|
}()); !confirmed {
|
||||||
|
return api.OnboardingRequest{}, ErrSetupCanceled
|
||||||
|
}
|
||||||
|
|
||||||
|
return req, nil
|
||||||
|
}
|
392
internal/setup_test.go
Normal file
392
internal/setup_test.go
Normal file
@ -0,0 +1,392 @@
|
|||||||
|
package internal_test
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"errors"
|
||||||
|
"fmt"
|
||||||
|
"net/http"
|
||||||
|
"strconv"
|
||||||
|
"strings"
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"github.com/influxdata/influx-cli/v2/internal"
|
||||||
|
"github.com/influxdata/influx-cli/v2/internal/api"
|
||||||
|
"github.com/influxdata/influx-cli/v2/internal/config"
|
||||||
|
"github.com/influxdata/influx-cli/v2/internal/duration"
|
||||||
|
"github.com/influxdata/influx-cli/v2/internal/mock"
|
||||||
|
"github.com/stretchr/testify/require"
|
||||||
|
)
|
||||||
|
|
||||||
|
type setupTestConfigSvc struct {
|
||||||
|
CreateConfigFn func(config.Config) (config.Config, error)
|
||||||
|
DeleteConfigFn func(string) (config.Config, error)
|
||||||
|
UpdateConfigFn func(config.Config) (config.Config, error)
|
||||||
|
SwitchActiveFn func(string) (config.Config, error)
|
||||||
|
ActiveFn func() (config.Config, error)
|
||||||
|
ListConfigsFn func() (config.Configs, error)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (ts *setupTestConfigSvc) CreateConfig(cfg config.Config) (config.Config, error) {
|
||||||
|
return ts.CreateConfigFn(cfg)
|
||||||
|
}
|
||||||
|
func (ts *setupTestConfigSvc) DeleteConfig(name string) (config.Config, error) {
|
||||||
|
return ts.DeleteConfigFn(name)
|
||||||
|
}
|
||||||
|
func (ts *setupTestConfigSvc) UpdateConfig(cfg config.Config) (config.Config, error) {
|
||||||
|
return ts.UpdateConfigFn(cfg)
|
||||||
|
}
|
||||||
|
func (ts *setupTestConfigSvc) SwitchActive(name string) (config.Config, error) {
|
||||||
|
return ts.SwitchActiveFn(name)
|
||||||
|
}
|
||||||
|
func (ts *setupTestConfigSvc) Active() (config.Config, error) {
|
||||||
|
return ts.ActiveFn()
|
||||||
|
}
|
||||||
|
func (ts *setupTestConfigSvc) ListConfigs() (config.Configs, error) {
|
||||||
|
return ts.ListConfigsFn()
|
||||||
|
}
|
||||||
|
|
||||||
|
type setupTestClient struct {
|
||||||
|
GetSetupExecuteFn func(api.ApiGetSetupRequest) (api.InlineResponse200, *http.Response, error)
|
||||||
|
PostSetupExecuteFn func(api.ApiPostSetupRequest) (api.OnboardingResponse, *http.Response, error)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (tc *setupTestClient) GetSetup(context.Context) api.ApiGetSetupRequest {
|
||||||
|
return api.ApiGetSetupRequest{
|
||||||
|
ApiService: tc,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func (tc *setupTestClient) GetSetupExecute(req api.ApiGetSetupRequest) (api.InlineResponse200, *http.Response, error) {
|
||||||
|
return tc.GetSetupExecuteFn(req)
|
||||||
|
}
|
||||||
|
func (tc *setupTestClient) PostSetup(context.Context) api.ApiPostSetupRequest {
|
||||||
|
return api.ApiPostSetupRequest{
|
||||||
|
ApiService: tc,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func (tc *setupTestClient) PostSetupExecute(req api.ApiPostSetupRequest) (api.OnboardingResponse, *http.Response, error) {
|
||||||
|
return tc.PostSetupExecuteFn(req)
|
||||||
|
}
|
||||||
|
|
||||||
|
func Test_SetupConfigNameCollision(t *testing.T) {
|
||||||
|
t.Parallel()
|
||||||
|
|
||||||
|
cfg := "foo"
|
||||||
|
configSvc := &setupTestConfigSvc{
|
||||||
|
ListConfigsFn: func() (config.Configs, error) {
|
||||||
|
return map[string]config.Config{cfg: {}}, nil
|
||||||
|
},
|
||||||
|
}
|
||||||
|
cli := &internal.CLI{ConfigService: configSvc}
|
||||||
|
|
||||||
|
err := cli.Setup(context.Background(), &setupTestClient{}, &internal.SetupParams{ConfigName: cfg})
|
||||||
|
require.Error(t, err)
|
||||||
|
require.Contains(t, err.Error(), cfg)
|
||||||
|
require.Contains(t, err.Error(), "already exists")
|
||||||
|
}
|
||||||
|
|
||||||
|
func Test_SetupConfigNameRequired(t *testing.T) {
|
||||||
|
t.Parallel()
|
||||||
|
|
||||||
|
configSvc := &setupTestConfigSvc{
|
||||||
|
ListConfigsFn: func() (config.Configs, error) {
|
||||||
|
return map[string]config.Config{"foo": {}}, nil
|
||||||
|
},
|
||||||
|
}
|
||||||
|
cli := &internal.CLI{ConfigService: configSvc}
|
||||||
|
|
||||||
|
err := cli.Setup(context.Background(), &setupTestClient{}, &internal.SetupParams{})
|
||||||
|
require.Error(t, err)
|
||||||
|
require.Equal(t, internal.ErrConfigNameRequired, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
func Test_SetupAlreadySetup(t *testing.T) {
|
||||||
|
t.Parallel()
|
||||||
|
|
||||||
|
client := &setupTestClient{
|
||||||
|
GetSetupExecuteFn: func(api.ApiGetSetupRequest) (api.InlineResponse200, *http.Response, error) {
|
||||||
|
return api.InlineResponse200{Allowed: api.PtrBool(false)}, nil, nil
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
configSvc := &setupTestConfigSvc{
|
||||||
|
ListConfigsFn: func() (config.Configs, error) {
|
||||||
|
return nil, nil
|
||||||
|
},
|
||||||
|
}
|
||||||
|
cli := &internal.CLI{ConfigService: configSvc}
|
||||||
|
|
||||||
|
err := cli.Setup(context.Background(), client, &internal.SetupParams{})
|
||||||
|
require.Error(t, err)
|
||||||
|
require.Equal(t, internal.ErrAlreadySetUp, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
func Test_SetupCheckFailed(t *testing.T) {
|
||||||
|
t.Parallel()
|
||||||
|
|
||||||
|
e := "oh no"
|
||||||
|
client := &setupTestClient{
|
||||||
|
GetSetupExecuteFn: func(api.ApiGetSetupRequest) (api.InlineResponse200, *http.Response, error) {
|
||||||
|
return api.InlineResponse200{}, nil, errors.New(e)
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
configSvc := &setupTestConfigSvc{
|
||||||
|
ListConfigsFn: func() (config.Configs, error) {
|
||||||
|
return nil, nil
|
||||||
|
},
|
||||||
|
}
|
||||||
|
cli := &internal.CLI{ConfigService: configSvc}
|
||||||
|
|
||||||
|
err := cli.Setup(context.Background(), client, &internal.SetupParams{})
|
||||||
|
require.Error(t, err)
|
||||||
|
require.Contains(t, err.Error(), e)
|
||||||
|
}
|
||||||
|
|
||||||
|
func Test_SetupSuccessNoninteractive(t *testing.T) {
|
||||||
|
t.Parallel()
|
||||||
|
|
||||||
|
retentionSecs := int64(duration.Week.Seconds())
|
||||||
|
params := internal.SetupParams{
|
||||||
|
Username: "user",
|
||||||
|
Password: "mysecretpassword",
|
||||||
|
AuthToken: "mytoken",
|
||||||
|
Org: "org",
|
||||||
|
Bucket: "bucket",
|
||||||
|
Retention: fmt.Sprintf("%ds", retentionSecs),
|
||||||
|
Force: true,
|
||||||
|
ConfigName: "my-config",
|
||||||
|
}
|
||||||
|
resp := api.OnboardingResponse{
|
||||||
|
Auth: &api.Authorization{Token: ¶ms.AuthToken},
|
||||||
|
Org: &api.Organization{Name: params.Org},
|
||||||
|
User: &api.UserResponse{Name: params.Username},
|
||||||
|
Bucket: &api.Bucket{Name: params.Bucket},
|
||||||
|
}
|
||||||
|
client := &setupTestClient{
|
||||||
|
GetSetupExecuteFn: func(api.ApiGetSetupRequest) (api.InlineResponse200, *http.Response, error) {
|
||||||
|
return api.InlineResponse200{Allowed: api.PtrBool(true)}, nil, nil
|
||||||
|
},
|
||||||
|
PostSetupExecuteFn: func(req api.ApiPostSetupRequest) (api.OnboardingResponse, *http.Response, error) {
|
||||||
|
body := req.GetOnboardingRequest()
|
||||||
|
require.Equal(t, params.Username, body.Username)
|
||||||
|
require.Equal(t, params.Password, *body.Password)
|
||||||
|
require.Equal(t, params.AuthToken, *body.Token)
|
||||||
|
require.Equal(t, params.Org, body.Org)
|
||||||
|
require.Equal(t, params.Bucket, body.Bucket)
|
||||||
|
require.Equal(t, retentionSecs, *body.RetentionPeriodSeconds)
|
||||||
|
return resp, nil, nil
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
host := "fake-host"
|
||||||
|
configSvc := &setupTestConfigSvc{
|
||||||
|
ListConfigsFn: func() (config.Configs, error) {
|
||||||
|
return nil, nil
|
||||||
|
},
|
||||||
|
CreateConfigFn: func(cfg config.Config) (config.Config, error) {
|
||||||
|
require.Equal(t, params.ConfigName, cfg.Name)
|
||||||
|
require.Equal(t, params.AuthToken, cfg.Token)
|
||||||
|
require.Equal(t, host, cfg.Host)
|
||||||
|
require.Equal(t, params.Org, cfg.Org)
|
||||||
|
return cfg, nil
|
||||||
|
},
|
||||||
|
}
|
||||||
|
stdio := mock.NewMockStdio(nil, true)
|
||||||
|
cli := &internal.CLI{ConfigService: configSvc, ActiveConfig: config.Config{Host: host}, StdIO: stdio}
|
||||||
|
require.NoError(t, cli.Setup(context.Background(), client, ¶ms))
|
||||||
|
|
||||||
|
outLines := strings.Split(strings.TrimSpace(stdio.Stdout()), "\n")
|
||||||
|
require.Len(t, outLines, 2)
|
||||||
|
header, data := outLines[0], outLines[1]
|
||||||
|
require.Regexp(t, "User\\s+Organization\\s+Bucket", header)
|
||||||
|
require.Regexp(t, fmt.Sprintf("%s\\s+%s\\s+%s", params.Username, params.Org, params.Bucket), data)
|
||||||
|
}
|
||||||
|
|
||||||
|
func Test_SetupSuccessNoninteractiveWithTracing(t *testing.T) {
|
||||||
|
t.Parallel()
|
||||||
|
|
||||||
|
traceId := "trace-id"
|
||||||
|
retentionSecs := int64(duration.Week.Seconds())
|
||||||
|
params := internal.SetupParams{
|
||||||
|
Username: "user",
|
||||||
|
Password: "mysecretpassword",
|
||||||
|
AuthToken: "mytoken",
|
||||||
|
Org: "org",
|
||||||
|
Bucket: "bucket",
|
||||||
|
Retention: fmt.Sprintf("%ds", retentionSecs),
|
||||||
|
Force: true,
|
||||||
|
ConfigName: "my-config",
|
||||||
|
}
|
||||||
|
resp := api.OnboardingResponse{
|
||||||
|
Auth: &api.Authorization{Token: ¶ms.AuthToken},
|
||||||
|
Org: &api.Organization{Name: params.Org},
|
||||||
|
User: &api.UserResponse{Name: params.Username},
|
||||||
|
Bucket: &api.Bucket{Name: params.Bucket},
|
||||||
|
}
|
||||||
|
client := &setupTestClient{
|
||||||
|
GetSetupExecuteFn: func(req api.ApiGetSetupRequest) (api.InlineResponse200, *http.Response, error) {
|
||||||
|
require.Equal(t, traceId, *req.GetZapTraceSpan())
|
||||||
|
return api.InlineResponse200{Allowed: api.PtrBool(true)}, nil, nil
|
||||||
|
},
|
||||||
|
PostSetupExecuteFn: func(req api.ApiPostSetupRequest) (api.OnboardingResponse, *http.Response, error) {
|
||||||
|
require.Equal(t, traceId, *req.GetZapTraceSpan())
|
||||||
|
body := req.GetOnboardingRequest()
|
||||||
|
require.Equal(t, params.Username, body.Username)
|
||||||
|
require.Equal(t, params.Password, *body.Password)
|
||||||
|
require.Equal(t, params.AuthToken, *body.Token)
|
||||||
|
require.Equal(t, params.Org, body.Org)
|
||||||
|
require.Equal(t, params.Bucket, body.Bucket)
|
||||||
|
require.Equal(t, retentionSecs, *body.RetentionPeriodSeconds)
|
||||||
|
return resp, nil, nil
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
host := "fake-host"
|
||||||
|
configSvc := &setupTestConfigSvc{
|
||||||
|
ListConfigsFn: func() (config.Configs, error) {
|
||||||
|
return nil, nil
|
||||||
|
},
|
||||||
|
CreateConfigFn: func(cfg config.Config) (config.Config, error) {
|
||||||
|
require.Equal(t, params.ConfigName, cfg.Name)
|
||||||
|
require.Equal(t, params.AuthToken, cfg.Token)
|
||||||
|
require.Equal(t, host, cfg.Host)
|
||||||
|
require.Equal(t, params.Org, cfg.Org)
|
||||||
|
return cfg, nil
|
||||||
|
},
|
||||||
|
}
|
||||||
|
stdio := mock.NewMockStdio(nil, true)
|
||||||
|
cli := &internal.CLI{ConfigService: configSvc, ActiveConfig: config.Config{Host: host}, StdIO: stdio, TraceId: traceId}
|
||||||
|
require.NoError(t, cli.Setup(context.Background(), client, ¶ms))
|
||||||
|
|
||||||
|
outLines := strings.Split(strings.TrimSpace(stdio.Stdout()), "\n")
|
||||||
|
require.Len(t, outLines, 2)
|
||||||
|
header, data := outLines[0], outLines[1]
|
||||||
|
require.Regexp(t, "User\\s+Organization\\s+Bucket", header)
|
||||||
|
require.Regexp(t, fmt.Sprintf("%s\\s+%s\\s+%s", params.Username, params.Org, params.Bucket), data)
|
||||||
|
}
|
||||||
|
|
||||||
|
func Test_SetupSuccessInteractive(t *testing.T) {
|
||||||
|
t.Parallel()
|
||||||
|
|
||||||
|
retentionSecs := int64(duration.Week.Seconds())
|
||||||
|
retentionHrs := int(duration.Week.Hours())
|
||||||
|
username := "user"
|
||||||
|
password := "mysecretpassword"
|
||||||
|
token := "mytoken"
|
||||||
|
org := "org"
|
||||||
|
bucket := "bucket"
|
||||||
|
|
||||||
|
resp := api.OnboardingResponse{
|
||||||
|
Auth: &api.Authorization{Token: &token},
|
||||||
|
Org: &api.Organization{Name: org},
|
||||||
|
User: &api.UserResponse{Name: username},
|
||||||
|
Bucket: &api.Bucket{Name: bucket},
|
||||||
|
}
|
||||||
|
client := &setupTestClient{
|
||||||
|
GetSetupExecuteFn: func(api.ApiGetSetupRequest) (api.InlineResponse200, *http.Response, error) {
|
||||||
|
return api.InlineResponse200{Allowed: api.PtrBool(true)}, nil, nil
|
||||||
|
},
|
||||||
|
PostSetupExecuteFn: func(req api.ApiPostSetupRequest) (api.OnboardingResponse, *http.Response, error) {
|
||||||
|
body := req.GetOnboardingRequest()
|
||||||
|
require.Equal(t, username, body.Username)
|
||||||
|
require.Equal(t, password, *body.Password)
|
||||||
|
require.Nil(t, body.Token)
|
||||||
|
require.Equal(t, org, body.Org)
|
||||||
|
require.Equal(t, bucket, body.Bucket)
|
||||||
|
require.Equal(t, retentionSecs, *body.RetentionPeriodSeconds)
|
||||||
|
return resp, nil, nil
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
host := "fake-host"
|
||||||
|
configSvc := &setupTestConfigSvc{
|
||||||
|
ListConfigsFn: func() (config.Configs, error) {
|
||||||
|
return nil, nil
|
||||||
|
},
|
||||||
|
CreateConfigFn: func(cfg config.Config) (config.Config, error) {
|
||||||
|
require.Equal(t, config.DefaultConfig.Name, cfg.Name)
|
||||||
|
require.Equal(t, token, cfg.Token)
|
||||||
|
require.Equal(t, host, cfg.Host)
|
||||||
|
require.Equal(t, org, cfg.Org)
|
||||||
|
return cfg, nil
|
||||||
|
},
|
||||||
|
}
|
||||||
|
stdio := mock.NewMockStdio(map[string]string{
|
||||||
|
"Please type your primary username": username,
|
||||||
|
"Please type your password": password,
|
||||||
|
"Please type your password again": password,
|
||||||
|
"Please type your primary organization name": org,
|
||||||
|
"Please type your primary bucket name": bucket,
|
||||||
|
"Please type your retention period in hours, or 0 for infinite": strconv.Itoa(retentionHrs),
|
||||||
|
}, true)
|
||||||
|
cli := &internal.CLI{ConfigService: configSvc, ActiveConfig: config.Config{Host: host}, StdIO: stdio}
|
||||||
|
require.NoError(t, cli.Setup(context.Background(), client, &internal.SetupParams{}))
|
||||||
|
|
||||||
|
outLines := strings.Split(strings.TrimSpace(stdio.Stdout()), "\n")
|
||||||
|
require.Len(t, outLines, 2)
|
||||||
|
header, data := outLines[0], outLines[1]
|
||||||
|
require.Regexp(t, "User\\s+Organization\\s+Bucket", header)
|
||||||
|
require.Regexp(t, fmt.Sprintf("%s\\s+%s\\s+%s", username, org, bucket), data)
|
||||||
|
}
|
||||||
|
|
||||||
|
func Test_SetupPasswordParamToShort(t *testing.T) {
|
||||||
|
t.Parallel()
|
||||||
|
|
||||||
|
retentionSecs := int64(duration.Week.Seconds())
|
||||||
|
params := internal.SetupParams{
|
||||||
|
Username: "user",
|
||||||
|
Password: "2short",
|
||||||
|
AuthToken: "mytoken",
|
||||||
|
Org: "org",
|
||||||
|
Bucket: "bucket",
|
||||||
|
Retention: fmt.Sprintf("%ds", retentionSecs),
|
||||||
|
Force: false,
|
||||||
|
}
|
||||||
|
client := &setupTestClient{
|
||||||
|
GetSetupExecuteFn: func(api.ApiGetSetupRequest) (api.InlineResponse200, *http.Response, error) {
|
||||||
|
return api.InlineResponse200{Allowed: api.PtrBool(true)}, nil, nil
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
host := "fake-host"
|
||||||
|
configSvc := &setupTestConfigSvc{
|
||||||
|
ListConfigsFn: func() (config.Configs, error) {
|
||||||
|
return nil, nil
|
||||||
|
},
|
||||||
|
}
|
||||||
|
stdio := mock.NewMockStdio(nil, false)
|
||||||
|
cli := &internal.CLI{ConfigService: configSvc, ActiveConfig: config.Config{Host: host}, StdIO: stdio}
|
||||||
|
err := cli.Setup(context.Background(), client, ¶ms)
|
||||||
|
require.Equal(t, internal.ErrPasswordIsTooShort, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
func Test_SetupCancelAtConfirmation(t *testing.T) {
|
||||||
|
t.Parallel()
|
||||||
|
|
||||||
|
retentionSecs := int64(duration.Week.Seconds())
|
||||||
|
params := internal.SetupParams{
|
||||||
|
Username: "user",
|
||||||
|
Password: "mysecretpassword",
|
||||||
|
AuthToken: "mytoken",
|
||||||
|
Org: "org",
|
||||||
|
Bucket: "bucket",
|
||||||
|
Retention: fmt.Sprintf("%ds", retentionSecs),
|
||||||
|
Force: false,
|
||||||
|
}
|
||||||
|
client := &setupTestClient{
|
||||||
|
GetSetupExecuteFn: func(api.ApiGetSetupRequest) (api.InlineResponse200, *http.Response, error) {
|
||||||
|
return api.InlineResponse200{Allowed: api.PtrBool(true)}, nil, nil
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
host := "fake-host"
|
||||||
|
configSvc := &setupTestConfigSvc{
|
||||||
|
ListConfigsFn: func() (config.Configs, error) {
|
||||||
|
return nil, nil
|
||||||
|
},
|
||||||
|
}
|
||||||
|
stdio := mock.NewMockStdio(nil, false)
|
||||||
|
cli := &internal.CLI{ConfigService: configSvc, ActiveConfig: config.Config{Host: host}, StdIO: stdio}
|
||||||
|
err := cli.Setup(context.Background(), client, ¶ms)
|
||||||
|
require.Equal(t, internal.ErrSetupCanceled, err)
|
||||||
|
}
|
86
internal/stdio/console.go
Normal file
86
internal/stdio/console.go
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
package stdio
|
||||||
|
|
||||||
|
import (
|
||||||
|
"errors"
|
||||||
|
"io"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"github.com/AlecAivazis/survey/v2"
|
||||||
|
"github.com/AlecAivazis/survey/v2/terminal"
|
||||||
|
)
|
||||||
|
|
||||||
|
// terminalStdio interacts with the user via an interactive terminal.
|
||||||
|
type terminalStdio struct {
|
||||||
|
Stdin terminal.FileReader
|
||||||
|
Stdout terminal.FileWriter
|
||||||
|
Stderr io.Writer
|
||||||
|
}
|
||||||
|
|
||||||
|
// TerminalStdio interacts with users over stdin/stdout/stderr.
|
||||||
|
var TerminalStdio StdIO = &terminalStdio{
|
||||||
|
Stdin: os.Stdin,
|
||||||
|
Stdout: os.Stdout,
|
||||||
|
Stderr: os.Stderr,
|
||||||
|
}
|
||||||
|
|
||||||
|
// Write prints some bytes to stdout.
|
||||||
|
func (t *terminalStdio) Write(p []byte) (int, error) {
|
||||||
|
return t.Stdout.Write(p)
|
||||||
|
}
|
||||||
|
|
||||||
|
type bannerTemplateData struct {
|
||||||
|
Message string
|
||||||
|
}
|
||||||
|
|
||||||
|
var bannerTemplate = `{{color "cyan+hb"}}> {{ .Message }}{{color "reset"}}
|
||||||
|
`
|
||||||
|
|
||||||
|
// Banner displays informational text to the user.
|
||||||
|
func (t *terminalStdio) Banner(message string) error {
|
||||||
|
r := survey.Renderer{}
|
||||||
|
r.WithStdio(terminal.Stdio{In: t.Stdin, Out: t.Stdout, Err: t.Stderr})
|
||||||
|
return r.Render(bannerTemplate, &bannerTemplateData{Message: message})
|
||||||
|
}
|
||||||
|
|
||||||
|
// Error displays an error message to the user.
|
||||||
|
func (t *terminalStdio) Error(message string) error {
|
||||||
|
r := survey.Renderer{}
|
||||||
|
r.WithStdio(terminal.Stdio{In: t.Stdin, Out: t.Stdout, Err: t.Stderr})
|
||||||
|
cfg := survey.PromptConfig{Icons: survey.IconSet{Error: survey.Icon{Text: "X", Format: "red"}}}
|
||||||
|
return r.Error(&cfg, errors.New(message))
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetStringInput prompts the user for arbitrary input.
|
||||||
|
func (t *terminalStdio) GetStringInput(prompt, defaultValue string) (input string, err error) {
|
||||||
|
question := survey.Input{
|
||||||
|
Message: prompt,
|
||||||
|
Default: defaultValue,
|
||||||
|
}
|
||||||
|
err = survey.AskOne(&question, &input,
|
||||||
|
survey.WithStdio(t.Stdin, t.Stdout, t.Stderr),
|
||||||
|
survey.WithValidator(survey.Required))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetPassword prompts the user for a password.
|
||||||
|
func (t *terminalStdio) GetPassword(prompt string, minLen int) (password string, err error) {
|
||||||
|
question := survey.Password{Message: prompt}
|
||||||
|
opts := []survey.AskOpt{survey.WithStdio(t.Stdin, t.Stdout, t.Stderr)}
|
||||||
|
if minLen > 0 {
|
||||||
|
opts = append(opts, survey.WithValidator(survey.MinLength(minLen)))
|
||||||
|
}
|
||||||
|
err = survey.AskOne(&question, &password, opts...)
|
||||||
|
question.NewCursor().HorizontalAbsolute(0)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetConfirm asks the user for a y/n answer to a prompt.
|
||||||
|
func (t *terminalStdio) GetConfirm(prompt string) (answer bool) {
|
||||||
|
question := survey.Confirm{
|
||||||
|
Message: prompt,
|
||||||
|
}
|
||||||
|
if err := survey.AskOne(&question, &answer, survey.WithStdio(t.Stdin, t.Stdout, t.Stderr)); err != nil {
|
||||||
|
answer = false
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
12
internal/stdio/stdio.go
Normal file
12
internal/stdio/stdio.go
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
package stdio
|
||||||
|
|
||||||
|
import "io"
|
||||||
|
|
||||||
|
type StdIO interface {
|
||||||
|
io.Writer
|
||||||
|
Banner(message string) error
|
||||||
|
Error(message string) error
|
||||||
|
GetStringInput(prompt, defaultValue string) (string, error)
|
||||||
|
GetPassword(prompt string, minLen int) (string, error)
|
||||||
|
GetConfirm(prompt string) bool
|
||||||
|
}
|
68
internal/tabwriter/tabwriter.go
Normal file
68
internal/tabwriter/tabwriter.go
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
package tabwriter
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"io"
|
||||||
|
"strings"
|
||||||
|
"text/tabwriter"
|
||||||
|
)
|
||||||
|
|
||||||
|
// TabWriter wraps tab writer headers logic.
|
||||||
|
type TabWriter struct {
|
||||||
|
writer *tabwriter.Writer
|
||||||
|
headers []string
|
||||||
|
hideHeaders bool
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewTabWriter creates a new tab writer.
|
||||||
|
func NewTabWriter(w io.Writer, hideHeaders bool) *TabWriter {
|
||||||
|
return &TabWriter{
|
||||||
|
writer: tabwriter.NewWriter(w, 0, 8, 1, '\t', 0),
|
||||||
|
hideHeaders: hideHeaders,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// WriteHeaders will Write headers.
|
||||||
|
func (w *TabWriter) WriteHeaders(h ...string) error {
|
||||||
|
w.headers = h
|
||||||
|
if !w.hideHeaders {
|
||||||
|
if _, err := fmt.Fprintln(w.writer, strings.Join(h, "\t")); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Write will Write the map into embed tab writer.
|
||||||
|
func (w *TabWriter) Write(m map[string]interface{}) error {
|
||||||
|
body := make([]interface{}, len(w.headers))
|
||||||
|
types := make([]string, len(w.headers))
|
||||||
|
for i, h := range w.headers {
|
||||||
|
v := m[h]
|
||||||
|
body[i] = v
|
||||||
|
types[i] = formatStringType(v)
|
||||||
|
}
|
||||||
|
formatString := strings.Join(types, "\t")
|
||||||
|
if _, err := fmt.Fprintf(w.writer, formatString+"\n", body...); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Flush should be called after the last call to Write to ensure
|
||||||
|
// that any data buffered in the Writer is written to output. Any
|
||||||
|
// incomplete escape sequence at the end is considered
|
||||||
|
// complete for formatting purposes.
|
||||||
|
func (w *TabWriter) Flush() error {
|
||||||
|
return w.writer.Flush()
|
||||||
|
}
|
||||||
|
|
||||||
|
func formatStringType(v interface{}) string {
|
||||||
|
switch v.(type) {
|
||||||
|
case int:
|
||||||
|
return "%d"
|
||||||
|
case string:
|
||||||
|
return "%s"
|
||||||
|
}
|
||||||
|
return "%v"
|
||||||
|
}
|
38
internal/tabwriter/tabwriter_test.go
Normal file
38
internal/tabwriter/tabwriter_test.go
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
package tabwriter_test
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bytes"
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"github.com/influxdata/influx-cli/v2/internal/tabwriter"
|
||||||
|
"github.com/stretchr/testify/require"
|
||||||
|
)
|
||||||
|
|
||||||
|
func Test_WriteHeaders(t *testing.T) {
|
||||||
|
out := bytes.Buffer{}
|
||||||
|
w := tabwriter.NewTabWriter(&out, false)
|
||||||
|
require.NoError(t, w.WriteHeaders("foo", "bar", "baz"))
|
||||||
|
require.NoError(t, w.Flush())
|
||||||
|
require.Equal(t, "foo\tbar\tbaz\n", out.String())
|
||||||
|
}
|
||||||
|
|
||||||
|
func Test_WriteHeadersDisabled(t *testing.T) {
|
||||||
|
out := bytes.Buffer{}
|
||||||
|
w := tabwriter.NewTabWriter(&out, true)
|
||||||
|
require.NoError(t, w.WriteHeaders("foo", "bar", "baz"))
|
||||||
|
require.NoError(t, w.Flush())
|
||||||
|
require.Empty(t, out.String())
|
||||||
|
}
|
||||||
|
|
||||||
|
func Test_Write(t *testing.T) {
|
||||||
|
out := bytes.Buffer{}
|
||||||
|
w := tabwriter.NewTabWriter(&out, true)
|
||||||
|
require.NoError(t, w.WriteHeaders("foo", "bar", "baz"))
|
||||||
|
require.NoError(t, w.Write(map[string]interface{}{
|
||||||
|
"bar": 123,
|
||||||
|
"foo": "a string!",
|
||||||
|
"baz": false,
|
||||||
|
}))
|
||||||
|
require.NoError(t, w.Flush())
|
||||||
|
require.Equal(t, "a string!\t123\tfalse\n", out.String())
|
||||||
|
}
|
Reference in New Issue
Block a user