mirror of
https://github.com/moby/moby.git
synced 2026-01-11 18:51:37 +00:00
37 lines
872 B
Go
37 lines
872 B
Go
package client
|
|
|
|
import (
|
|
"context"
|
|
"net/url"
|
|
)
|
|
|
|
// VolumeRemoveOptions holds options for [Client.VolumeRemove].
|
|
type VolumeRemoveOptions struct {
|
|
// Force the removal of the volume
|
|
Force bool
|
|
}
|
|
|
|
// VolumeRemoveResult holds the result of [Client.VolumeRemove],
|
|
type VolumeRemoveResult struct {
|
|
// Add future fields here.
|
|
}
|
|
|
|
// VolumeRemove removes a volume from the docker host.
|
|
func (cli *Client) VolumeRemove(ctx context.Context, volumeID string, options VolumeRemoveOptions) (VolumeRemoveResult, error) {
|
|
volumeID, err := trimID("volume", volumeID)
|
|
if err != nil {
|
|
return VolumeRemoveResult{}, err
|
|
}
|
|
|
|
query := url.Values{}
|
|
if options.Force {
|
|
query.Set("force", "1")
|
|
}
|
|
resp, err := cli.delete(ctx, "/volumes/"+volumeID, query, nil)
|
|
defer ensureReaderClosed(resp)
|
|
if err != nil {
|
|
return VolumeRemoveResult{}, err
|
|
}
|
|
return VolumeRemoveResult{}, nil
|
|
}
|