package client import ( "context" "net/url" ) // PluginRemoveOptions holds parameters to remove plugins. type PluginRemoveOptions struct { Force bool } // PluginRemoveResult represents the result of a plugin removal. type PluginRemoveResult struct { // Currently empty; can be extended in the future if needed. } // PluginRemove removes a plugin func (cli *Client) PluginRemove(ctx context.Context, name string, options PluginRemoveOptions) (PluginRemoveResult, error) { name, err := trimID("plugin", name) if err != nil { return PluginRemoveResult{}, err } query := url.Values{} if options.Force { query.Set("force", "1") } resp, err := cli.delete(ctx, "/plugins/"+name, query, nil) defer ensureReaderClosed(resp) return PluginRemoveResult{}, err }