Export pull as a public function

It will be helpful to expose the pull implementation which supports
pulling private images for other CLI commands that rely on helper images.

Signed-off-by: Daniel Hiltgen <daniel.hiltgen@docker.com>
This commit is contained in:
Daniel Hiltgen 2018-04-27 12:11:42 -07:00
parent 99bd7ed693
commit 812f113685
1 changed files with 6 additions and 4 deletions

View File

@ -13,7 +13,8 @@ import (
"golang.org/x/net/context" "golang.org/x/net/context"
) )
type pullOptions struct { // PullOptions defines what and how to pull
type PullOptions struct {
remote string remote string
all bool all bool
platform string platform string
@ -22,7 +23,7 @@ type pullOptions struct {
// NewPullCommand creates a new `docker pull` command // NewPullCommand creates a new `docker pull` command
func NewPullCommand(dockerCli command.Cli) *cobra.Command { func NewPullCommand(dockerCli command.Cli) *cobra.Command {
var opts pullOptions var opts PullOptions
cmd := &cobra.Command{ cmd := &cobra.Command{
Use: "pull [OPTIONS] NAME[:TAG|@DIGEST]", Use: "pull [OPTIONS] NAME[:TAG|@DIGEST]",
@ -30,7 +31,7 @@ func NewPullCommand(dockerCli command.Cli) *cobra.Command {
Args: cli.ExactArgs(1), Args: cli.ExactArgs(1),
RunE: func(cmd *cobra.Command, args []string) error { RunE: func(cmd *cobra.Command, args []string) error {
opts.remote = args[0] opts.remote = args[0]
return runPull(dockerCli, opts) return RunPull(dockerCli, opts)
}, },
} }
@ -44,7 +45,8 @@ func NewPullCommand(dockerCli command.Cli) *cobra.Command {
return cmd return cmd
} }
func runPull(cli command.Cli, opts pullOptions) error { // RunPull performs a pull against the engine based on the specified options
func RunPull(cli command.Cli, opts PullOptions) error {
distributionRef, err := reference.ParseNormalizedNamed(opts.remote) distributionRef, err := reference.ParseNormalizedNamed(opts.remote)
switch { switch {
case err != nil: case err != nil: