// NewAPIClient is mostly a copy of the newClient code in // component/all/resources.go. It lives here because it simplifies this code // immensely. func NewAPIClient(apiCaller base.APICallCloser) (*client.Client, error) { caller := base.NewFacadeCallerForVersion(apiCaller, resource.FacadeName, server.Version) httpClient, err := apiCaller.HTTPClient() if err != nil { return nil, errors.Trace(err) } // The apiCaller takes care of prepending /environment/<envUUID>. apiClient := client.NewClient(caller, httpClient, apiCaller) return apiClient, nil }
// NewClient returns a new backups API client. func NewClient(st base.APICallCloser) (*Client, error) { frontend, backend := base.NewClientFacade(st, "Backups") client, err := st.HTTPClient() if err != nil { return nil, errors.Trace(err) } return &Client{ ClientFacade: frontend, facade: backend, client: client, }, nil }