mirror of
https://github.com/containers/podman.git
synced 2025-05-24 02:27:00 +08:00

We initialized the map to show them, but didn't actually copy them in, so they weren't being displayed. Signed-off-by: Matthew Heon <mheon@redhat.com>
74 lines
2.5 KiB
Go
74 lines
2.5 KiB
Go
package libpod
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/containers/libpod/libpod/define"
|
|
)
|
|
|
|
// InspectVolumeData is the output of Inspect() on a volume. It is matched to
|
|
// the format of 'docker volume inspect'.
|
|
type InspectVolumeData struct {
|
|
// Name is the name of the volume.
|
|
Name string `json:"Name"`
|
|
// Driver is the driver used to create the volume.
|
|
// This will be properly implemented in a future version.
|
|
Driver string `json:"Driver"`
|
|
// Mountpoint is the path on the host where the volume is mounted.
|
|
Mountpoint string `json:"Mountpoint"`
|
|
// CreatedAt is the date and time the volume was created at. This is not
|
|
// stored for older Libpod volumes; if so, it will be omitted.
|
|
CreatedAt time.Time `json:"CreatedAt,omitempty"`
|
|
// Status is presently unused and provided only for Docker compatibility.
|
|
// In the future it will be used to return information on the volume's
|
|
// current state.
|
|
Status map[string]string `json:"Status,omitempty"`
|
|
// Labels includes the volume's configured labels, key:value pairs that
|
|
// can be passed during volume creation to provide information for third
|
|
// party tools.
|
|
Labels map[string]string `json:"Labels"`
|
|
// Scope is unused and provided solely for Docker compatibility. It is
|
|
// unconditionally set to "local".
|
|
Scope string `json:"Scope"`
|
|
// Options is a set of options that were used when creating the volume.
|
|
// It is presently not used.
|
|
Options map[string]string `json:"Options"`
|
|
// UID is the UID that the volume was created with.
|
|
UID int `json:"UID,omitempty"`
|
|
// GID is the GID that the volume was created with.
|
|
GID int `json:"GID,omitempty"`
|
|
// ContainerSpecific indicates that the volume was created as part of a
|
|
// specific container, and will be removed when that container is
|
|
// removed.
|
|
ContainerSpecific bool `json:"ContainerSpecific,omitempty"`
|
|
}
|
|
|
|
// Inspect provides detailed information about the configuration of the given
|
|
// volume.
|
|
func (v *Volume) Inspect() (*InspectVolumeData, error) {
|
|
if !v.valid {
|
|
return nil, define.ErrVolumeRemoved
|
|
}
|
|
|
|
data := new(InspectVolumeData)
|
|
|
|
data.Name = v.config.Name
|
|
data.Driver = v.config.Driver
|
|
data.Mountpoint = v.config.MountPoint
|
|
data.CreatedAt = v.config.CreatedTime
|
|
data.Labels = make(map[string]string)
|
|
for k, v := range v.config.Labels {
|
|
data.Labels[k] = v
|
|
}
|
|
data.Scope = v.Scope()
|
|
data.Options = make(map[string]string)
|
|
for k, v := range v.config.Options {
|
|
data.Options[k] = v
|
|
}
|
|
data.UID = v.config.UID
|
|
data.GID = v.config.GID
|
|
data.ContainerSpecific = v.config.IsCtrSpecific
|
|
|
|
return data, nil
|
|
}
|