1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00
moby--moby/api/client/lib/image_import.go

42 lines
1.2 KiB
Go
Raw Normal View History

package lib
import (
"io"
"net/url"
)
// ImportImageOptions holds information to import images from the client host.
type ImportImageOptions struct {
// Source is the data to send to the server to create this image from
Source io.Reader
// Source is the name of the source to import this image from
SourceName string
// RepositoryName is the name of the repository to import this image
RepositoryName string
// Message is the message to tag the image with
Message string
// Tag is the name to tag this image
Tag string
// Changes are the raw changes to apply to the image
Changes []string
}
// ImportImage creates a new image based in the source options.
// It returns the JSON content in the response body.
func (cli *Client) ImportImage(options ImportImageOptions) (io.ReadCloser, error) {
var query url.Values
query.Set("fromSrc", options.SourceName)
query.Set("repo", options.RepositoryName)
query.Set("tag", options.Tag)
query.Set("message", options.Message)
for _, change := range options.Changes {
query.Add("changes", change)
}
resp, err := cli.POSTRaw("/images/create", query, options.Source, nil)
if err != nil {
return nil, err
}
return resp.body, nil
}