From d8d1aa49d27d51f914a0858ab99c57d7dc929926 Mon Sep 17 00:00:00 2001 From: Brent Baude Date: Mon, 13 Apr 2020 16:04:05 -0500 Subject: v2podman add container init add the ability to init a container both local and remote Signed-off-by: Brent Baude --- pkg/api/handlers/libpod/containers.go | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'pkg/api/handlers') diff --git a/pkg/api/handlers/libpod/containers.go b/pkg/api/handlers/libpod/containers.go index 5cbfb11eb..086bef847 100644 --- a/pkg/api/handlers/libpod/containers.go +++ b/pkg/api/handlers/libpod/containers.go @@ -285,3 +285,23 @@ func Restore(w http.ResponseWriter, r *http.Request) { } utils.WriteResponse(w, http.StatusOK, entities.RestoreReport{Id: ctr.ID()}) } + +func InitContainer(w http.ResponseWriter, r *http.Request) { + name := utils.GetName(r) + runtime := r.Context().Value("runtime").(*libpod.Runtime) + ctr, err := runtime.LookupContainer(name) + if err != nil { + utils.ContainerNotFound(w, name, err) + return + } + err = ctr.Init(r.Context()) + if errors.Cause(err) == define.ErrCtrStateInvalid { + utils.Error(w, "container already initialized", http.StatusNotModified, err) + return + } + if err != nil { + utils.InternalServerError(w, err) + return + } + utils.WriteResponse(w, http.StatusNoContent, "") +} -- cgit v1.2.3-54-g00ecf