Merge pull request #2493 from dmcgowan/sync-lease-removal

Add sync option to lease removal
This commit is contained in:
Phil Estes
2018-07-31 11:31:55 -04:00
committed by GitHub
10 changed files with 196 additions and 60 deletions

View File

@@ -163,6 +163,12 @@ var deleteCommand = cli.Command{
Usage: "delete a lease",
ArgsUsage: "[flags] <lease id> ...",
Description: "delete a lease",
Flags: []cli.Flag{
cli.BoolFlag{
Name: "sync",
Usage: "Synchronously remove leases and all unreferenced resources",
},
},
Action: func(context *cli.Context) error {
var lids = context.Args()
if len(lids) == 0 {
@@ -175,11 +181,17 @@ var deleteCommand = cli.Command{
defer cancel()
ls := client.LeasesService()
for _, lid := range lids {
sync := context.Bool("sync")
for i, lid := range lids {
var opts []leases.DeleteOpt
if sync && i == len(lids)-1 {
opts = append(opts, leases.SynchronousDelete)
}
lease := leases.Lease{
ID: lid,
}
if err := ls.Delete(ctx, lease); err != nil {
if err := ls.Delete(ctx, lease, opts...); err != nil {
return err
}
fmt.Println(lid)