application

package
v0.0.0-...-4bd6544 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 5, 2016 License: AGPL-3.0 Imports: 10 Imported by: 0

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

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

func (c *Client) CharmRelations(application string) ([]string, error)

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) Destroy

func (c *Client) Destroy(application string) error

Destroy destroys a given application.

func (*Client) DestroyRelation

func (c *Client) DestroyRelation(endpoints ...string) error

DestroyRelation removes the relation between the specified endpoints.

func (*Client) DestroyUnits

func (c *Client) DestroyUnits(unitNames ...string) error

DestroyUnits decreases the number of units dedicated to an application.

func (*Client) Expose

func (c *Client) Expose(application string) error

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

func (c *Client) GetCharmURL(serviceName string) (*charm.URL, error)

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) ModelUUID

func (c *Client) ModelUUID() string

ModelUUID returns the model UUID from the client connection.

func (*Client) Set

func (c *Client) Set(application string, options map[string]string) error

Set sets configuration options on an 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

func (c *Client) SetMetricCredentials(service string, credentials []byte) error

SetMetricCredentials sets the metric credentials for the application specified.

func (*Client) Unexpose

func (c *Client) Unexpose(application string) error

Unexpose changes the juju-managed firewall to unexpose any ports that were also explicitly marked by units as open.

func (*Client) Unset

func (c *Client) Unset(application string, options []string) error

Unset resets configuration options on an application.

func (*Client) Update

func (c *Client) Update(args params.ApplicationUpdate) error

Update updates the application attributes, including charm URL, minimum number of units, settings and constraints.

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL