github.com/leg100/ots@v0.0.7-0.20210919080622-034055ced4bd/cmd/ots/workspace_unlock.go (about) 1 package main 2 3 import ( 4 "fmt" 5 6 "github.com/spf13/cobra" 7 ) 8 9 func WorkspaceUnlockCommand(config ClientConfig) *cobra.Command { 10 var organization string 11 var workspace string 12 13 cmd := &cobra.Command{ 14 Use: "unlock [name]", 15 Short: "Unlock a workspace", 16 Args: cobra.ExactArgs(1), 17 RunE: func(cmd *cobra.Command, args []string) error { 18 workspace = args[0] 19 20 client, err := config.NewClient() 21 if err != nil { 22 return err 23 } 24 25 ws, err := client.Workspaces().Read(cmd.Context(), organization, workspace) 26 if err != nil { 27 return err 28 } 29 30 ws, err = client.Workspaces().Unlock(cmd.Context(), ws.ID) 31 if err != nil { 32 return err 33 } 34 35 fmt.Printf("Successfully locked workspace %s\n", ws.Name) 36 37 return nil 38 }, 39 } 40 41 cmd.Flags().StringVar(&organization, "organization", "", "Organization workspace belongs to") 42 cmd.MarkFlagRequired("organization") 43 44 return cmd 45 }