juju: github.com/wallyworld/juju/api/remoterelations Index | Files

package remoterelations

import "github.com/wallyworld/juju/api/remoterelations"


Package Files


type Client Uses

type Client struct {
    // contains filtered or unexported fields

Client provides access to the remoterelations api facade.

func NewClient Uses

func NewClient(caller base.APICaller) *Client

NewClient creates a new client-side RemoteRelations facade.

func (*Client) ConsumeRemoteRelationChange Uses

func (c *Client) ConsumeRemoteRelationChange(change params.RemoteRelationChangeEvent) error

ConsumeRemoteRelationChange consumes a change to settings originating from the remote/offering side of a relation.

func (*Client) ControllerAPIInfoForModel Uses

func (c *Client) ControllerAPIInfoForModel(modelUUID string) (*api.Info, error)

ControllerAPIInfoForModel retrieves the controller API info for the specified model.

func (*Client) ExportEntities Uses

func (c *Client) ExportEntities(tags []names.Tag) ([]params.TokenResult, error)

ExportEntities allocates unique, remote entity IDs for the given entities in the local model.

func (*Client) GetToken Uses

func (c *Client) GetToken(tag names.Tag) (string, error)

GetToken returns the token associated with the entity with the given tag for the specified model.

func (*Client) ImportRemoteEntity Uses

func (c *Client) ImportRemoteEntity(entity names.Tag, token string) error

ImportRemoteEntity adds an entity to the remote entities collection with the specified opaque token.

func (*Client) Relations Uses

func (c *Client) Relations(keys []string) ([]params.RemoteRelationResult, error)

Relations returns information about the cross-model relations with the specified keys in the local model.

func (*Client) RemoteApplications Uses

func (c *Client) RemoteApplications(applications []string) ([]params.RemoteApplicationResult, error)

RemoteApplications returns the current state of the remote applications with the specified names in the local model.

func (*Client) SaveMacaroon Uses

func (c *Client) SaveMacaroon(entity names.Tag, mac *macaroon.Macaroon) error

SaveMacaroon saves the macaroon for the entity.

func (*Client) SetRemoteApplicationStatus Uses

func (c *Client) SetRemoteApplicationStatus(applicationName string, status status.Status, message string) error

SetRemoteApplicationStatus sets the status for the specified remote application.

func (*Client) UpdateControllerForModel Uses

func (c *Client) UpdateControllerForModel(controller crossmodel.ControllerInfo, modelUUID string) error

UpdateControllerForModel ensures that there is an external controller record for the input info, associated with the input model ID.

func (*Client) WatchLocalRelationChanges Uses

func (c *Client) WatchLocalRelationChanges(relationKey string) (apiwatcher.RemoteRelationWatcher, error)

WatchLocalRelationChanges returns a watcher that emits fully-expanded changes (suitable for shipping over to a different controller) to the local units in the relation with the given key.

func (*Client) WatchRemoteApplicationRelations Uses

func (c *Client) WatchRemoteApplicationRelations(application string) (watcher.StringsWatcher, error)

WatchRemoteApplicationRelations returns remote relations watchers that delivers changes according to the addition, removal, and lifecycle changes of relations that the specified remote application is involved in; and also according to the entering, departing, and change of unit settings in those relations.

func (*Client) WatchRemoteApplications Uses

func (c *Client) WatchRemoteApplications() (watcher.StringsWatcher, error)

WatchRemoteApplications returns a strings watcher that notifies of the addition, removal, and lifecycle changes of remote applications in the model.

func (*Client) WatchRemoteRelations Uses

func (c *Client) WatchRemoteRelations() (watcher.StringsWatcher, error)

WatchRemoteRelations returns a strings watcher that notifies of the addition, removal, and lifecycle changes of remote relations in the model.

Package remoterelations imports 10 packages (graph). Updated 2020-06-20. Refresh now. Tools for package owners.