1package storm 2 3import liquidweb "github.com/liquidweb/liquidweb-go" 4 5// ConfigBackend is the interface for storm configs. 6type ConfigBackend interface { 7 Details(string) (*Config, error) 8 List(ConfigListParams) (*ConfigList, error) 9} 10 11// ConfigClient is the API client for storm configs. 12type ConfigClient struct { 13 Backend liquidweb.Backend 14} 15 16// Details fetches the details for a storm config. 17func (c *ConfigClient) Details(id string) (*Config, error) { 18 var config Config 19 params := ConfigParams{ID: id} 20 21 err := c.Backend.CallIntoInterface("v1/Storm/Config/details", params, config) 22 if err != nil { 23 return nil, err 24 } 25 26 return &config, nil 27} 28 29// List fetches a list of storm configs. 30func (c *ConfigClient) List(params ConfigListParams) (*ConfigList, error) { 31 var configList ConfigList 32 33 err := c.Backend.CallIntoInterface("v1/Storm/Config/list", params, configList) 34 if err != nil { 35 return nil, err 36 } 37 38 return &configList, nil 39} 40