mirror of
https://github.com/containers/podman.git
synced 2025-06-23 02:18:13 +08:00
varlink: Rename SearchImage
to SearchImages
Also rename image result struct to `ImageSearchResult` and make `limit` parameter optional. Signed-off-by: Lars Karlitski <lars@karlitski.net>
This commit is contained in:
@ -46,9 +46,8 @@ type ImageHistory (
|
||||
comment: string
|
||||
)
|
||||
|
||||
# ImageSearch is the returned structure for SearchImage. It is returned
|
||||
# in array form.
|
||||
type ImageSearch (
|
||||
# Represents a single search result from SearchImages
|
||||
type ImageSearchResult (
|
||||
description: string,
|
||||
is_official: bool,
|
||||
is_automated: bool,
|
||||
@ -644,10 +643,10 @@ method TagImage(name: string, tagged: string) -> (image: string)
|
||||
# ~~~
|
||||
method RemoveImage(name: string, force: bool) -> (image: string)
|
||||
|
||||
# SearchImage takes the string of an image name and a limit of searches from each registries to be returned. SearchImage
|
||||
# will then use a glob-like match to find the image you are searching for. The images are returned in an array of
|
||||
# ImageSearch structures which contain information about the image as well as its fully-qualified name.
|
||||
method SearchImage(name: string, limit: int) -> (images: []ImageSearch)
|
||||
# SearchImages searches available registries for images that contain the
|
||||
# contents of "query" in their name. If "limit" is given, limits the amount of
|
||||
# search results per registry.
|
||||
method SearchImages(query: string, limit: ?int) -> (results: []ImageSearchResult)
|
||||
|
||||
# DeleteUnusedImages deletes any images not associated with a container. The IDs of the deleted images are returned
|
||||
# in a string array.
|
||||
|
@ -399,17 +399,21 @@ func (i *LibpodAPI) RemoveImage(call iopodman.VarlinkCall, name string, force bo
|
||||
return call.ReplyRemoveImage(newImage.ID())
|
||||
}
|
||||
|
||||
// SearchImage searches all registries configured in /etc/containers/registries.conf for an image
|
||||
// SearchImages searches all registries configured in /etc/containers/registries.conf for an image
|
||||
// Requires an image name and a search limit as int
|
||||
func (i *LibpodAPI) SearchImage(call iopodman.VarlinkCall, name string, limit int64) error {
|
||||
func (i *LibpodAPI) SearchImages(call iopodman.VarlinkCall, query string, limit *int64) error {
|
||||
sc := image.GetSystemContext("", "", false)
|
||||
registries, err := sysreg.GetRegistries()
|
||||
if err != nil {
|
||||
return call.ReplyErrorOccurred(fmt.Sprintf("unable to get system registries: %q", err))
|
||||
}
|
||||
var imageResults []iopodman.ImageSearch
|
||||
var imageResults []iopodman.ImageSearchResult
|
||||
for _, reg := range registries {
|
||||
results, err := docker.SearchRegistry(getContext(), sc, reg, name, int(limit))
|
||||
var lim = 1000
|
||||
if limit != nil {
|
||||
lim = int(*limit)
|
||||
}
|
||||
results, err := docker.SearchRegistry(getContext(), sc, reg, query, lim)
|
||||
if err != nil {
|
||||
// If we are searching multiple registries, don't make something like an
|
||||
// auth error fatal. Unfortunately we cannot differentiate between auth
|
||||
@ -420,7 +424,7 @@ func (i *LibpodAPI) SearchImage(call iopodman.VarlinkCall, name string, limit in
|
||||
return call.ReplyErrorOccurred(err.Error())
|
||||
}
|
||||
for _, result := range results {
|
||||
i := iopodman.ImageSearch{
|
||||
i := iopodman.ImageSearchResult{
|
||||
Description: result.Description,
|
||||
Is_official: result.IsOfficial,
|
||||
Is_automated: result.IsAutomated,
|
||||
@ -430,7 +434,7 @@ func (i *LibpodAPI) SearchImage(call iopodman.VarlinkCall, name string, limit in
|
||||
imageResults = append(imageResults, i)
|
||||
}
|
||||
}
|
||||
return call.ReplySearchImage(imageResults)
|
||||
return call.ReplySearchImages(imageResults)
|
||||
}
|
||||
|
||||
// DeleteUnusedImages deletes any images that do not have containers associated with it.
|
||||
|
Reference in New Issue
Block a user