diff options
author | maybe-sybr <58414429+maybe-sybr@users.noreply.github.com> | 2020-06-24 11:16:59 +1000 |
---|---|---|
committer | maybe-sybr <58414429+maybe-sybr@users.noreply.github.com> | 2020-07-02 16:33:19 +1000 |
commit | cb61a2d858d7874c66bafcf6d17c17bb9d7849e8 (patch) | |
tree | 7ddb797d86b6e231333c559103291abb3743c6d6 /pkg/domain/entities | |
parent | e84695213e35c22ba085e3831cbd025cd55a4c84 (diff) | |
download | podman-cb61a2d858d7874c66bafcf6d17c17bb9d7849e8.tar.gz podman-cb61a2d858d7874c66bafcf6d17c17bb9d7849e8.tar.bz2 podman-cb61a2d858d7874c66bafcf6d17c17bb9d7849e8.zip |
APIv2: Add docker compatible volume endpoints
This change implements docker compatibile endpoint for interacting with
volumes. The code is mostly lifted from the `libpod` API handlers but
decodes and constructs data using types defined in the docker API
package.
Some notable support caveats with the current implementation:
* we don't return the nullable `Status` or `UsageData` keys when
returning volume information for inspect and create endpoints
* we don't support filters when pruning
* we return a fixed `0` for the `SpaceReclaimed` key when pruning
since we have no insight into how much space was freed from runtime
Signed-off-by: Matt Brindley <58414429+maybe-sybr@users.noreply.github.com>
Diffstat (limited to 'pkg/domain/entities')
-rw-r--r-- | pkg/domain/entities/volumes.go | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/pkg/domain/entities/volumes.go b/pkg/domain/entities/volumes.go index c99b39f2d..2311d1f25 100644 --- a/pkg/domain/entities/volumes.go +++ b/pkg/domain/entities/volumes.go @@ -2,6 +2,9 @@ package entities import ( "time" + + docker_api_types "github.com/docker/docker/api/types" + docker_api_types_volume "github.com/docker/docker/api/types/volume" ) // swagger:model VolumeCreate @@ -90,3 +93,35 @@ type VolumeListOptions struct { type VolumeListReport struct { VolumeConfigResponse } + +/* + * Docker API compatibility types + */ +// swagger:response DockerVolumeList +type SwagDockerVolumeListResponse struct { + // in:body + Body struct { + docker_api_types_volume.VolumeListOKBody + } +} + +// swagger:model DockerVolumeCreate +type DockerVolumeCreate docker_api_types_volume.VolumeCreateBody + +// This response definition is used for both the create and inspect endpoints +// swagger:response DockerVolumeInfoResponse +type SwagDockerVolumeInfoResponse struct { + // in:body + Body struct { + docker_api_types.Volume + } +} + +// Volume prune response +// swagger:response DockerVolumePruneResponse +type SwagDockerVolumePruneResponse struct { + // in:body + Body struct { + docker_api_types.VolumesPruneReport + } +} |