package client import ( "context" "io" "net/http" "net/url" ) // PluginCreateOptions hold all options to plugin create. type PluginCreateOptions struct { RepoName string } // PluginCreateResult represents the result of a plugin create operation. type PluginCreateResult struct { // Currently empty; can be extended in the future if needed. } // PluginCreate creates a plugin func (cli *Client) PluginCreate(ctx context.Context, createContext io.Reader, createOptions PluginCreateOptions) (PluginCreateResult, error) { headers := http.Header(make(map[string][]string)) headers.Set("Content-Type", "application/x-tar") query := url.Values{} query.Set("name", createOptions.RepoName) resp, err := cli.postRaw(ctx, "/plugins/create", query, createContext, headers) defer ensureReaderClosed(resp) return PluginCreateResult{}, err }