func UpdateAccountPath(accountID int) string {
	param0 := strconv.Itoa(accountID)
	return fmt.Sprintf("/cellar/accounts/%s", param0)
}
UpdateAccountPath computes a request path to the update action of account.
package client
import (
	"bytes"
	"context"
	"fmt"
	"net/http"
	"net/url"
	"strconv"
)
type CreateAccountPayload struct {
	Name string `form:"name" json:"name" xml:"name"`
}
func CreateAccountPath() string {
	return fmt.Sprintf("/cellar/accounts")
}
func (c *Client) CreateAccount(ctx context.Context, path string, payload *CreateAccountPayload, contentType string) (*http.Response, error) {
	req, err := c.NewCreateAccountRequest(ctx, path, payload, contentType)
	if err != nil {
		return nil, err
	}
	return c.Client.Do(ctx, req)
}
func (c *Client) NewCreateAccountRequest(ctx context.Context, path string, payload *CreateAccountPayload, contentType string) (*http.Request, error) {
	var body bytes.Buffer
	if contentType == "" {
		contentType = "*/*"  
	}
	err := c.Encoder.Encode(payload, &body, contentType)
	if err != nil {
		return nil, fmt.Errorf("failed to encode body: %s", err)
	}
	scheme := c.Scheme
	if scheme == "" {
		scheme = "http"
	}
	u := url.URL{Host: c.Host, Scheme: scheme, Path: path}
	req, err := http.NewRequest("POST", u.String(), &body)
	if err != nil {
		return nil, err
	}
	header := req.Header
	if contentType == "*/*" {
		header.Set("Content-Type", "application/json")
	} else {
		header.Set("Content-Type", contentType)
	}
	return req, nil
}
func DeleteAccountPath(accountID int) string {
	param0 := strconv.Itoa(accountID)
	return fmt.Sprintf("/cellar/accounts/%s", param0)
}
func (c *Client) DeleteAccount(ctx context.Context, path string) (*http.Response, error) {
	req, err := c.NewDeleteAccountRequest(ctx, path)
	if err != nil {
		return nil, err
	}
	return c.Client.Do(ctx, req)
}
func (c *Client) NewDeleteAccountRequest(ctx context.Context, path string) (*http.Request, error) {
	scheme := c.Scheme
	if scheme == "" {
		scheme = "http"
	}
	u := url.URL{Host: c.Host, Scheme: scheme, Path: path}
	req, err := http.NewRequest("DELETE", u.String(), nil)
	if err != nil {
		return nil, err
	}
	return req, nil
}
func ListAccountPath() string {
	return fmt.Sprintf("/cellar/accounts")
}
func (c *Client) ListAccount(ctx context.Context, path string) (*http.Response, error) {
	req, err := c.NewListAccountRequest(ctx, path)
	if err != nil {
		return nil, err
	}
	return c.Client.Do(ctx, req)
}
func (c *Client) NewListAccountRequest(ctx context.Context, path string) (*http.Request, error) {
	scheme := c.Scheme
	if scheme == "" {
		scheme = "http"
	}
	u := url.URL{Host: c.Host, Scheme: scheme, Path: path}
	req, err := http.NewRequest("GET", u.String(), nil)
	if err != nil {
		return nil, err
	}
	return req, nil
}
func ShowAccountPath(accountID int) string {
	param0 := strconv.Itoa(accountID)
	return fmt.Sprintf("/cellar/accounts/%s", param0)
}
func (c *Client) ShowAccount(ctx context.Context, path string) (*http.Response, error) {
	req, err := c.NewShowAccountRequest(ctx, path)
	if err != nil {
		return nil, err
	}
	return c.Client.Do(ctx, req)
}
func (c *Client) NewShowAccountRequest(ctx context.Context, path string) (*http.Request, error) {
	scheme := c.Scheme
	if scheme == "" {
		scheme = "http"
	}
	u := url.URL{Host: c.Host, Scheme: scheme, Path: path}
	req, err := http.NewRequest("GET", u.String(), nil)
	if err != nil {
		return nil, err
	}
	return req, nil
}
type UpdateAccountPayload struct {
	Name string `form:"name" json:"name" xml:"name"`
}