@@ -3,53 +3,45 @@ package main
33import (
44 "github.com/deislabs/duffle/pkg/action"
55 "github.com/deislabs/duffle/pkg/claim"
6- "github.com/docker/app/types/parameters"
76 "github.com/docker/cli/cli"
87 "github.com/docker/cli/cli/command"
9- cliopts "github.com/docker/cli/opts"
108 "github.com/pkg/errors"
119 "github.com/spf13/cobra"
1210)
1311
14- var (
15- inspectParametersFile []string
16- inspectEnv []string
17- )
18-
1912// inspectCmd represents the inspect command
2013func inspectCmd (dockerCli command.Cli ) * cobra.Command {
14+ var opts parametersOptions
2115 cmd := & cobra.Command {
2216 Use : "inspect [<app-name>] [-s key=value...] [-f parameters-file...]" ,
2317 Short : "Shows metadata, parameters and a summary of the compose file for a given application" ,
2418 Args : cli .RequiresMaxArgs (1 ),
2519 RunE : func (cmd * cobra.Command , args []string ) error {
2620 muteDockerCli (dockerCli )
2721 appname := firstOrEmpty (args )
28- bundle , err := resolveBundle (dockerCli , "" , appname )
29- if err != nil {
30- return err
31- }
32- params , err := parameters .LoadFiles (inspectParametersFile )
22+
23+ c , err := claim .New ("inspect" )
3324 if err != nil {
3425 return err
3526 }
36- overrides , err := parameters . FromFlatten ( cliopts . ConvertKVStringsToMap ( inspectEnv ) )
27+ driverImpl , err := prepareDriver ( dockerCli )
3728 if err != nil {
3829 return err
3930 }
40- if params , err = parameters .Merge (params , overrides ); err != nil {
41- return err
42- }
43- c , err := claim .New ("inspect" )
31+ bundle , err := resolveBundle (dockerCli , "" , appname )
4432 if err != nil {
4533 return err
4634 }
47- driverImpl , err := prepareDriver (dockerCli )
35+ c .Bundle = bundle
36+
37+ parameters , err := mergeBundleParameters (c .Bundle ,
38+ withFileParameters (opts .parametersFiles ),
39+ withCommandLineParameters (opts .overrides ),
40+ )
4841 if err != nil {
4942 return err
5043 }
51- c .Bundle = bundle
52- c .Parameters = stringsKVToStringInterface (params .Flatten ())
44+ c .Parameters = parameters
5345
5446 a := & action.RunCustom {
5547 Action : "inspect" ,
@@ -59,7 +51,6 @@ func inspectCmd(dockerCli command.Cli) *cobra.Command {
5951 return errors .Wrap (err , "Inspect failed" )
6052 },
6153 }
62- cmd .Flags ().StringArrayVarP (& inspectParametersFile , "parameters-files" , "f" , []string {}, "Override with parameters from files" )
63- cmd .Flags ().StringArrayVarP (& inspectEnv , "set" , "s" , []string {}, "Override parameters values" )
54+ opts .addFlags (cmd .Flags ())
6455 return cmd
6556}
0 commit comments