// NewClient returns a new HighAvailability client. func NewClient(caller base.APICallCloser) *Client { modelTag, err := caller.ModelTag() if err != nil { logger.Errorf("ignoring invalid model tag: %v", err) } frontend, backend := base.NewClientFacade(caller, "HighAvailability") return &Client{ClientFacade: frontend, facade: backend, modelTag: modelTag} }
// 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 }
// NewClient returns a new HighAvailability client. func NewClient(caller base.APICallCloser) *Client { modelTag, _ := caller.ModelTag() frontend, backend := base.NewClientFacade(caller, "HighAvailability") return &Client{ClientFacade: frontend, facade: backend, modelTag: modelTag} }