|
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- package bucket
-
- import (
- "fmt"
-
- "github.com/jedib0t/go-pretty/v6/table"
- "github.com/spf13/cobra"
- "gitlink.org.cn/cloudream/jcs-pub/client/sdk/api/v1"
- "gitlink.org.cn/cloudream/jcs-pub/jcsctl/cmd"
- )
-
- func init() {
- var opt lsOpt
- cmd := cobra.Command{
- Use: "ls",
- Run: func(c *cobra.Command, args []string) {
- ctx := cmd.GetCmdCtx(c)
- ls(c, ctx, opt)
- },
- }
- cmd.Flags().BoolVarP(&opt.Long, "", "l", false, "listing in long format")
- BucketCmd.AddCommand(&cmd)
- }
-
- type lsOpt struct {
- Long bool
- }
-
- func ls(c *cobra.Command, ctx *cmd.CommandContext, opt lsOpt) {
- resp, err := ctx.Client.Bucket().ListAll(api.BucketListAll{})
- if err != nil {
- cmd.ErrorExitln(err.Error())
- }
-
- if opt.Long {
- fmt.Printf("total: %d\n", len(resp.Buckets))
- tb := table.NewWriter()
- tb.AppendHeader(table.Row{"Bucket ID", "Name", "Create Time"})
- for _, b := range resp.Buckets {
- tb.AppendRow(table.Row{b.BucketID, b.Name, b.CreateTime})
- }
- fmt.Println(tb.Render())
-
- } else {
- for _, b := range resp.Buckets {
- fmt.Println(b.Name)
- }
- }
- }
|