| 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 | |
| } |