Browse code

remove -f on secret create and unify usage with other commands

Signed-off-by: Victor Vieux <vieux@docker.com>
(cherry picked from commit db6652ca71c60c1ff3ac274968876c88eb7146ad)
Signed-off-by: Victor Vieux <vieux@docker.com>

Victor Vieux authored on 2017/01/07 05:06:02
Showing 3 changed files
... ...
@@ -27,17 +27,17 @@ func newSecretCreateCommand(dockerCli *command.DockerCli) *cobra.Command {
27 27
 	}
28 28
 
29 29
 	cmd := &cobra.Command{
30
-		Use:   "create [OPTIONS] SECRET",
30
+		Use:   "create [OPTIONS] SECRET file|-",
31 31
 		Short: "Create a secret from a file or STDIN as content",
32
-		Args:  cli.ExactArgs(1),
32
+		Args:  cli.ExactArgs(2),
33 33
 		RunE: func(cmd *cobra.Command, args []string) error {
34 34
 			createOpts.name = args[0]
35
+			createOpts.file = args[1]
35 36
 			return runSecretCreate(dockerCli, createOpts)
36 37
 		},
37 38
 	}
38 39
 	flags := cmd.Flags()
39 40
 	flags.VarP(&createOpts.labels, "label", "l", "Secret labels")
40
-	flags.StringVarP(&createOpts.file, "file", "f", "", "Read from a file or STDIN ('-')")
41 41
 
42 42
 	return cmd
43 43
 }
... ...
@@ -46,10 +46,6 @@ func runSecretCreate(dockerCli *command.DockerCli, options createOptions) error
46 46
 	client := dockerCli.Client()
47 47
 	ctx := context.Background()
48 48
 
49
-	if options.file == "" {
50
-		return fmt.Errorf("Please specify either a file name or STDIN ('-') with --file")
51
-	}
52
-
53 49
 	var in io.Reader = dockerCli.In()
54 50
 	if options.file != "-" {
55 51
 		file, err := system.OpenSequential(options.file)
... ...
@@ -16,12 +16,11 @@ keywords: ["secret, create"]
16 16
 # secret create
17 17
 
18 18
 ```Markdown
19
-Usage:	docker secret create [OPTIONS] SECRET
19
+Usage:	docker secret create [OPTIONS] SECRET file|-
20 20
 
21 21
 Create a secret from a file or STDIN as content
22 22
 
23 23
 Options:
24
-  -f, --file string   Read from a file or STDIN ('-')
25 24
       --help          Print usage
26 25
   -l, --label list    Secret labels (default [])
27 26
 ```
... ...
@@ -34,7 +33,7 @@ command on a manager node.
34 34
 ### Create a secret
35 35
 
36 36
 ```bash
37
-$ echo <secret> | docker secret create -f - my_secret
37
+$ echo <secret> | docker secret create my_secret -
38 38
 mhv17xfe3gh6xc4rij5orpfds
39 39
 
40 40
 $ docker secret ls
... ...
@@ -45,7 +44,7 @@ mhv17xfe3gh6xc4rij5orpfds   my_secret               2016-10-27 23:25:43.90918108
45 45
 ### Create a secret with a file
46 46
 
47 47
 ```bash
48
-$ docker secret create -f secret.json my_secret
48
+$ docker secret create my_secret ./secret.json
49 49
 mhv17xfe3gh6xc4rij5orpfds
50 50
 
51 51
 $ docker secret ls
... ...
@@ -56,7 +55,7 @@ mhv17xfe3gh6xc4rij5orpfds   my_secret               2016-10-27 23:25:43.90918108
56 56
 ### Create a secret with labels
57 57
 
58 58
 ```bash
59
-$ docker secret create -f secret.json --label env=dev --label rev=20161102 my_secret
59
+$ docker secret create --label env=dev --label rev=20161102 my_secret ./secret.json
60 60
 jtn7g6aukl5ky7nr9gvwafoxh
61 61
 
62 62
 $ docker secret inspect my_secret
... ...
@@ -121,20 +121,11 @@ func (s *DockerSwarmSuite) TestSecretCreateWithFile(c *check.C) {
121 121
 	c.Assert(err, checker.IsNil, check.Commentf("failed to write to temporary file"))
122 122
 
123 123
 	testName := "test_secret"
124
-	out, err := d.Cmd("secret", "create", "--file", testFile.Name(), testName)
124
+	out, err := d.Cmd("secret", "create", testName, testFile.Name())
125 125
 	c.Assert(err, checker.IsNil)
126 126
 	c.Assert(strings.TrimSpace(out), checker.Not(checker.Equals), "", check.Commentf(out))
127 127
 
128 128
 	id := strings.TrimSpace(out)
129 129
 	secret := d.getSecret(c, id)
130 130
 	c.Assert(secret.Spec.Name, checker.Equals, testName)
131
-
132
-	testName = "test_secret_2"
133
-	out, err = d.Cmd("secret", "create", testName, "-f", testFile.Name())
134
-	c.Assert(err, checker.IsNil)
135
-	c.Assert(strings.TrimSpace(out), checker.Not(checker.Equals), "", check.Commentf(out))
136
-
137
-	id = strings.TrimSpace(out)
138
-	secret = d.getSecret(c, id)
139
-	c.Assert(secret.Spec.Name, checker.Equals, testName)
140 131
 }