Migration to AGL gerrit (update go import)
[src/xds/xds-cli.git] / cmd-projects.go
index e244e41..fc4bc22 100644 (file)
@@ -1,10 +1,28 @@
+/*
+ * Copyright (C) 2017-2018 "IoT.bzh"
+ * Author Sebastien Douheret <sebastien@iot.bzh>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
 package main
 
 import (
        "fmt"
        "strings"
 
-       "github.com/iotbzh/xds-agent/lib/xaapiv1"
+       "gerrit.automotivelinux.org/gerrit/src/xds/xds-agent.git/lib/xaapiv1"
        "github.com/urfave/cli"
 )
 
@@ -45,8 +63,9 @@ func initCmdProjects(cmdDef *[]cli.Command) {
                                Action: projectsGet,
                                Flags: []cli.Flag{
                                        cli.StringFlag{
-                                               Name:  "id",
-                                               Usage: "project id",
+                                               Name:   "id",
+                                               Usage:  "project id",
+                                               EnvVar: "XDS_PROJECT_ID",
                                        },
                                },
                        },
@@ -69,8 +88,13 @@ func initCmdProjects(cmdDef *[]cli.Command) {
                                Action:  projectsRemove,
                                Flags: []cli.Flag{
                                        cli.StringFlag{
-                                               Name:  "id",
-                                               Usage: "project id",
+                                               Name:   "id",
+                                               Usage:  "project id",
+                                               EnvVar: "XDS_PROJECT_ID",
+                                       },
+                                       cli.BoolFlag{
+                                               Name:  "force, f",
+                                               Usage: "remove confirmation prompt before removal",
                                        },
                                },
                        },
@@ -81,8 +105,9 @@ func initCmdProjects(cmdDef *[]cli.Command) {
                                Action:  projectsSync,
                                Flags: []cli.Flag{
                                        cli.StringFlag{
-                                               Name:  "id",
-                                               Usage: "project id",
+                                               Name:   "id",
+                                               Usage:  "project id",
+                                               EnvVar: "XDS_PROJECT_ID",
                                        },
                                },
                        },
@@ -188,6 +213,12 @@ func projectsRemove(ctx *cli.Context) error {
                return cli.NewExitError("id parameter or option must be set", 1)
        }
 
+       if !ctx.Bool("force") {
+               if !Confirm("Do you permanently remove project id '" + id + "' [yes/No] ? ") {
+                       return nil
+               }
+       }
+
        if err := HTTPCli.Delete("/projects/"+id, &res); err != nil {
                return cli.NewExitError(err, 1)
        }