summaryrefslogtreecommitdiff
path: root/pkg/api/handlers/libpod/volumes.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/api/handlers/libpod/volumes.go')
-rw-r--r--pkg/api/handlers/libpod/volumes.go63
1 files changed, 11 insertions, 52 deletions
diff --git a/pkg/api/handlers/libpod/volumes.go b/pkg/api/handlers/libpod/volumes.go
index b02a6a8ce..38fdf1b4d 100644
--- a/pkg/api/handlers/libpod/volumes.go
+++ b/pkg/api/handlers/libpod/volumes.go
@@ -9,6 +9,7 @@ import (
"github.com/containers/podman/v2/libpod/define"
"github.com/containers/podman/v2/pkg/api/handlers/utils"
"github.com/containers/podman/v2/pkg/domain/entities"
+ "github.com/containers/podman/v2/pkg/domain/entities/reports"
"github.com/containers/podman/v2/pkg/domain/filters"
"github.com/containers/podman/v2/pkg/domain/infra/abi/parse"
"github.com/gorilla/schema"
@@ -59,20 +60,13 @@ func CreateVolume(w http.ResponseWriter, r *http.Request) {
utils.InternalServerError(w, err)
return
}
- config, err := vol.Config()
+ inspectOut, err := vol.Inspect()
if err != nil {
utils.InternalServerError(w, err)
return
}
volResponse := entities.VolumeConfigResponse{
- Name: config.Name,
- Driver: config.Driver,
- Mountpoint: config.MountPoint,
- CreatedAt: config.CreatedTime,
- Labels: config.Labels,
- Options: config.Options,
- UID: config.UID,
- GID: config.GID,
+ InspectVolumeData: *inspectOut,
}
utils.WriteResponse(w, http.StatusCreated, volResponse)
}
@@ -87,27 +81,13 @@ func InspectVolume(w http.ResponseWriter, r *http.Request) {
utils.VolumeNotFound(w, name, err)
return
}
- var uid, gid int
- uid, err = vol.UID()
+ inspectOut, err := vol.Inspect()
if err != nil {
- utils.Error(w, "Error fetching volume UID", http.StatusInternalServerError, err)
- return
- }
- gid, err = vol.GID()
- if err != nil {
- utils.Error(w, "Error fetching volume GID", http.StatusInternalServerError, err)
+ utils.InternalServerError(w, err)
return
}
volResponse := entities.VolumeConfigResponse{
- Name: vol.Name(),
- Driver: vol.Driver(),
- Mountpoint: vol.MountPoint(),
- CreatedAt: vol.CreatedTime(),
- Labels: vol.Labels(),
- Scope: vol.Scope(),
- Options: vol.Options(),
- UID: uid,
- GID: gid,
+ InspectVolumeData: *inspectOut,
}
utils.WriteResponse(w, http.StatusOK, volResponse)
}
@@ -142,27 +122,13 @@ func ListVolumes(w http.ResponseWriter, r *http.Request) {
}
volumeConfigs := make([]*entities.VolumeListReport, 0, len(vols))
for _, v := range vols {
- var uid, gid int
- uid, err = v.UID()
+ inspectOut, err := v.Inspect()
if err != nil {
- utils.Error(w, "Error fetching volume UID", http.StatusInternalServerError, err)
- return
- }
- gid, err = v.GID()
- if err != nil {
- utils.Error(w, "Error fetching volume GID", http.StatusInternalServerError, err)
+ utils.InternalServerError(w, err)
return
}
config := entities.VolumeConfigResponse{
- Name: v.Name(),
- Driver: v.Driver(),
- Mountpoint: v.MountPoint(),
- CreatedAt: v.CreatedTime(),
- Labels: v.Labels(),
- Scope: v.Scope(),
- Options: v.Options(),
- UID: uid,
- GID: gid,
+ InspectVolumeData: *inspectOut,
}
volumeConfigs = append(volumeConfigs, &entities.VolumeListReport{VolumeConfigResponse: config})
}
@@ -178,7 +144,7 @@ func PruneVolumes(w http.ResponseWriter, r *http.Request) {
utils.WriteResponse(w, http.StatusOK, reports)
}
-func pruneVolumesHelper(r *http.Request) ([]*entities.VolumePruneReport, error) {
+func pruneVolumesHelper(r *http.Request) ([]*reports.PruneReport, error) {
var (
runtime = r.Context().Value("runtime").(*libpod.Runtime)
decoder = r.Context().Value("decoder").(*schema.Decoder)
@@ -199,17 +165,10 @@ func pruneVolumesHelper(r *http.Request) ([]*entities.VolumePruneReport, error)
return nil, err
}
- pruned, err := runtime.PruneVolumes(r.Context(), filterFuncs)
+ reports, err := runtime.PruneVolumes(r.Context(), filterFuncs)
if err != nil {
return nil, err
}
- reports := make([]*entities.VolumePruneReport, 0, len(pruned))
- for k, v := range pruned {
- reports = append(reports, &entities.VolumePruneReport{
- Err: v,
- Id: k,
- })
- }
return reports, nil
}
func RemoveVolume(w http.ResponseWriter, r *http.Request) {