Documentation
¶
Overview ¶
Package application provides access to the application api facade. This facade contains api calls that are specific to applications. As a rule of thumb, if the argument for an api requires an application name and affects only that application then the call belongs here.
Index ¶
- type Client
- func (c *Client) AddRelation(endpoints ...string) (*params.AddRelationResults, error)
- func (c *Client) AddUnits(application string, numUnits int, placement []*instance.Placement) ([]string, error)
- func (c *Client) CharmRelations(application string) ([]string, error)
- func (c *Client) Deploy(args DeployArgs) error
- func (c *Client) Destroy(application string) error
- func (c *Client) DestroyRelation(endpoints ...string) error
- func (c *Client) DestroyUnits(unitNames ...string) error
- func (c *Client) Expose(application string) error
- func (c *Client) Get(application string) (*params.ApplicationGetResults, error)
- func (c *Client) GetCharmURL(serviceName string) (*charm.URL, error)
- func (c *Client) GetConstraints(service string) (constraints.Value, error)
- func (c *Client) ModelUUID() string
- func (c *Client) Set(application string, options map[string]string) error
- func (c *Client) SetCharm(cfg SetCharmConfig) error
- func (c *Client) SetConstraints(application string, constraints constraints.Value) error
- func (c *Client) SetMetricCredentials(service string, credentials []byte) error
- func (c *Client) Unexpose(application string) error
- func (c *Client) Unset(application string, options []string) error
- func (c *Client) Update(args params.ApplicationUpdate) error
- type DeployArgs
- type SetCharmConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct { base.ClientFacade // contains filtered or unexported fields }
Client allows access to the service API end point.
func NewClient ¶
func NewClient(st api.Connection) *Client
NewClient creates a new client for accessing the application api.
func (*Client) AddRelation ¶
func (c *Client) AddRelation(endpoints ...string) (*params.AddRelationResults, error)
AddRelation adds a relation between the specified endpoints and returns the relation info.
func (*Client) AddUnits ¶
func (c *Client) AddUnits(application string, numUnits int, placement []*instance.Placement) ([]string, error)
AddUnits adds a given number of units to an application using the specified placement directives to assign units to machines.
func (*Client) CharmRelations ¶
CharmRelations returns the application's charms relation names.
func (*Client) Deploy ¶
func (c *Client) Deploy(args DeployArgs) error
Deploy obtains the charm, either locally or from the charm store, and deploys it. Placement directives, if provided, specify the machine on which the charm is deployed.
func (*Client) DestroyRelation ¶
DestroyRelation removes the relation between the specified endpoints.
func (*Client) DestroyUnits ¶
DestroyUnits decreases the number of units dedicated to an application.
func (*Client) Expose ¶
Expose changes the juju-managed firewall to expose any ports that were also explicitly marked by units as open.
func (*Client) Get ¶
func (c *Client) Get(application string) (*params.ApplicationGetResults, error)
Get returns the configuration for the named application.
func (*Client) GetCharmURL ¶
GetCharmURL returns the charm URL the given service is running at present.
func (*Client) GetConstraints ¶
func (c *Client) GetConstraints(service string) (constraints.Value, error)
GetConstraints returns the constraints for the given application.
func (*Client) SetCharm ¶
func (c *Client) SetCharm(cfg SetCharmConfig) error
SetCharm sets the charm for a given service.
func (*Client) SetConstraints ¶
func (c *Client) SetConstraints(application string, constraints constraints.Value) error
SetConstraints specifies the constraints for the given application.
func (*Client) SetMetricCredentials ¶
SetMetricCredentials sets the metric credentials for the application specified.
func (*Client) Unexpose ¶
Unexpose changes the juju-managed firewall to unexpose any ports that were also explicitly marked by units as open.
type DeployArgs ¶
type DeployArgs struct { // CharmID identifies the charm to deploy. CharmID charmstore.CharmID // ApplicationName is the name to give the application. ApplicationName string // Series to be used for the machine. Series string // NumUnits is the number of units to deploy. NumUnits int // ConfigYAML is a string that overrides the default config.yml. ConfigYAML string // Cons contains constraints on where units of this application may be // placed. Cons constraints.Value // Placement directives on where the machines for the unit must be // created. Placement []*instance.Placement // Storage contains Constraints specifying how storage should be // handled. Storage map[string]storage.Constraints // EndpointBindings EndpointBindings map[string]string // Collection of resource names for the application, with the value being the // unique ID of a pre-uploaded resources in storage. Resources map[string]string }
DeployArgs holds the arguments to be sent to Client.ServiceDeploy.
type SetCharmConfig ¶
type SetCharmConfig struct { // ApplicationName is the name of the application to set the charm on. ApplicationName string // CharmID identifies the charm. CharmID charmstore.CharmID // ConfigSettings is the charm settings to set during the upgrade. // This field is only understood by Application facade version 2 // and greater. ConfigSettings map[string]string `json:"config-settings,omitempty"` // ConfigSettingsYAML is the charm settings in YAML format to set // during the upgrade. If this is non-empty, it will take precedence // over ConfigSettings. This field is only understood by Application // facade version 2 ConfigSettingsYAML string `json:"config-settings-yaml,omitempty"` // ForceSeries forces the use of the charm even if it doesn't match the // series of the unit. ForceSeries bool // ForceUnits forces the upgrade on units in an error state. ForceUnits bool // ResourceIDs is a map of resource names to resource IDs to activate during // the upgrade. ResourceIDs map[string]string // StorageConstraints is a map of storage names to storage constraints to // update during the upgrade. This field is only understood by Application // facade version 2 and greater. StorageConstraints map[string]storage.Constraints `json:"storage-constraints,omitempty"` }
SetCharmConfig holds the configuration for setting a new revision of a charm on a service.