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 AddUnitsParams
- type Client
- func (c *Client) AddRelation(endpoints, viaCIDRs []string) (*params.AddRelationResults, error)
- func (c *Client) AddUnits(args AddUnitsParams) ([]string, error)
- func (c *Client) ApplicationsInfo(applications []names.ApplicationTag) ([]params.ApplicationInfoResult, error)
- func (c *Client) CharmRelations(application string) ([]string, error)
- func (c *Client) Consume(arg crossmodel.ConsumeApplicationArgs) (string, error)
- func (c *Client) Deploy(args DeployArgs) error
- func (c *Client) DestroyApplications(in DestroyApplicationsParams) ([]params.DestroyApplicationResult, error)
- func (c *Client) DestroyConsumedApplication(saasNames ...string) ([]params.ErrorResult, error)
- func (c *Client) DestroyDeprecated(application string) error
- func (c *Client) DestroyRelation(endpoints ...string) error
- func (c *Client) DestroyRelationId(relationId int) error
- func (c *Client) DestroyUnits(in DestroyUnitsParams) ([]params.DestroyUnitResult, error)
- func (c *Client) DestroyUnitsDeprecated(unitNames ...string) error
- func (c *Client) Expose(application string) error
- func (c *Client) Get(generation model.GenerationVersion, application string) (*params.ApplicationGetResults, error)
- func (c *Client) GetCharmURL(generation model.GenerationVersion, applicationName string) (*charm.URL, error)
- func (c *Client) GetConfig(generation model.GenerationVersion, appNames ...string) ([]map[string]interface{}, error)
- func (c *Client) GetConstraints(applications ...string) ([]constraints.Value, error)
- func (c *Client) ModelUUID() string
- func (c *Client) ResolveUnitErrors(units []string, all, retry bool) error
- func (c *Client) ScaleApplication(in ScaleApplicationParams) (params.ScaleApplicationResult, error)
- func (c *Client) Set(application string, options map[string]string) error
- func (c *Client) SetApplicationConfig(generation model.GenerationVersion, application string, ...) error
- func (c *Client) SetCharm(generation model.GenerationVersion, cfg SetCharmConfig) error
- func (c *Client) SetConstraints(application string, constraints constraints.Value) error
- func (c *Client) SetMetricCredentials(application string, credentials []byte) error
- func (c *Client) SetRelationSuspended(relationIds []int, suspended bool, message string) error
- func (c *Client) Unexpose(application string) error
- func (c *Client) Unset(application string, options []string) error
- func (c *Client) UnsetApplicationConfig(generation model.GenerationVersion, application string, options []string) error
- func (c *Client) Update(args params.ApplicationUpdate) error
- func (c *Client) UpdateApplicationSeries(appName, series string, force bool) error
- type DeployArgs
- type DestroyApplicationsParams
- type DestroyUnitsParams
- type ScaleApplicationParams
- type SetCharmConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AddUnitsParams ¶
type AddUnitsParams struct { // ApplicationName is the name of the application to which units // will be added. ApplicationName string // NumUnits is the number of units to deploy. NumUnits int // Placement directives on where the machines for the unit must be // created. Placement []*instance.Placement // Policy represents how a machine for the unit is determined. // This value is ignored on any Juju server before 2.4. Policy string // AttachStorage contains IDs of existing storage that should be // attached to the application unit that will be deployed. This // may be non-empty only if NumUnits is 1. AttachStorage []string }
AddUnitsParams contains parameters for the AddUnits API method.
type Client ¶
type Client struct { base.ClientFacade // contains filtered or unexported fields }
Client allows access to the application API end point.
func NewClient ¶
func NewClient(st base.APICallCloser) *Client
NewClient creates a new client for accessing the application api.
func (*Client) AddRelation ¶
func (c *Client) AddRelation(endpoints, viaCIDRs []string) (*params.AddRelationResults, error)
AddRelation adds a relation between the specified endpoints and returns the relation info.
func (*Client) AddUnits ¶
func (c *Client) AddUnits(args AddUnitsParams) ([]string, error)
AddUnits adds a given number of units to an application using the specified placement directives to assign units to machines.
func (*Client) ApplicationsInfo ¶
func (c *Client) ApplicationsInfo(applications []names.ApplicationTag) ([]params.ApplicationInfoResult, error)
ApplicationsInfo retrieves applications information.
func (*Client) CharmRelations ¶
CharmRelations returns the application's charms relation names.
func (*Client) Consume ¶
func (c *Client) Consume(arg crossmodel.ConsumeApplicationArgs) (string, error)
Consume adds a remote application to the model.
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) DestroyApplications ¶
func (c *Client) DestroyApplications(in DestroyApplicationsParams) ([]params.DestroyApplicationResult, error)
DestroyApplications destroys the given applications.
func (*Client) DestroyConsumedApplication ¶
func (c *Client) DestroyConsumedApplication(saasNames ...string) ([]params.ErrorResult, error)
DestroyConsumedApplication destroys the given consumed (remote) applications.
func (*Client) DestroyDeprecated ¶
DestroyDeprecated destroys a given application.
NOTE(axw) this exists only for backwards compatibility, for API facade versions 1-3; clients should prefer its successor, DestroyApplications, below.
TODO(axw) 2017-03-16 #1673323 Drop this in Juju 3.0.
func (*Client) DestroyRelation ¶
DestroyRelation removes the relation between the specified endpoints.
func (*Client) DestroyRelationId ¶
DestroyRelationId removes the relation with the specified id.
func (*Client) DestroyUnits ¶
func (c *Client) DestroyUnits(in DestroyUnitsParams) ([]params.DestroyUnitResult, error)
DestroyUnits decreases the number of units dedicated to one or more applications.
func (*Client) DestroyUnitsDeprecated ¶
DestroyUnitsDeprecated decreases the number of units dedicated to an application.
NOTE(axw) this exists only for backwards compatibility, for API facade versions 1-3; clients should prefer its successor, DestroyUnits, below.
TODO(axw) 2017-03-16 #1673323 Drop this in Juju 3.0.
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(generation model.GenerationVersion, application string) (*params.ApplicationGetResults, error)
Get returns the configuration for the named application.
func (*Client) GetCharmURL ¶
func (c *Client) GetCharmURL(generation model.GenerationVersion, applicationName string) (*charm.URL, error)
GetCharmURL returns the charm URL the given application is running at present.
func (*Client) GetConfig ¶
func (c *Client) GetConfig(generation model.GenerationVersion, appNames ...string) ([]map[string]interface{}, error)
GetConfig returns the charm configuration settings for each of the applications. If any of the applications are not found, an error is returned.
func (*Client) GetConstraints ¶
func (c *Client) GetConstraints(applications ...string) ([]constraints.Value, error)
GetConstraints returns the constraints for the given applications.
func (*Client) ResolveUnitErrors ¶
ResolveUnitErrors clears errors on one or more units. Either specify one or more units, or all.
func (*Client) ScaleApplication ¶
func (c *Client) ScaleApplication(in ScaleApplicationParams) (params.ScaleApplicationResult, error)
ScaleApplication sets the desired unit count for one or more applications.
func (*Client) SetApplicationConfig ¶
func (c *Client) SetApplicationConfig( generation model.GenerationVersion, application string, config map[string]string, ) error
SetApplicationConfig sets configuration options on an application.
func (*Client) SetCharm ¶
func (c *Client) SetCharm(generation model.GenerationVersion, cfg SetCharmConfig) error
SetCharm sets the charm for a given application.
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) SetRelationSuspended ¶
SetRelationSuspended updates the suspended status of the relation with the specified id.
func (*Client) Unexpose ¶
Unexpose changes the juju-managed firewall to unexpose any ports that were also explicitly marked by units as open.
func (*Client) UnsetApplicationConfig ¶
func (c *Client) UnsetApplicationConfig( generation model.GenerationVersion, application string, options []string, ) error
UnsetApplicationConfig resets configuration options on an application.
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 // Config are values that override those in the default config.yaml // or configure the application itself. Config map[string]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 // Devices contains Constraints specifying how devices should be // handled. Devices map[string]devices.Constraints // AttachStorage contains IDs of existing storage that should be // attached to the application unit that will be deployed. This // may be non-empty only if NumUnits is 1. AttachStorage []string // 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.ApplicationDeploy.
type DestroyApplicationsParams ¶
type DestroyApplicationsParams struct { // Applications holds the names of applications to destroy. Applications []string // DestroyStorage controls whether or not storage attached // to units of the applications will be destroyed. DestroyStorage bool }
DestroyApplicationsParams contains parameters for the DestroyApplications API method.
type DestroyUnitsParams ¶
type DestroyUnitsParams struct { // Units holds the IDs of units to destroy. Units []string // DestroyStorage controls whether or not storage attached // to the units will be destroyed. DestroyStorage bool }
DestroyUnitsParams contains parameters for the DestroyUnits API method.
type ScaleApplicationParams ¶
type ScaleApplicationParams struct { // ApplicationName is the application to scale. ApplicationName string // Scale is the target number of units which should should be running. Scale int // ScaleChange is the amount of change to the target number of existing units. ScaleChange int }
ScaleApplicationParams contains parameters for the ScaleApplication API method.
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"` // Force forces the use of the charm in the following scenarios: // overriding a lxd profile upgrade. // In the future, we should deprecate ForceSeries and ForceUnits and just // use Force for all instances. // TODO (stickupkid): deprecate ForceSeries and ForceUnits in favour of // just using Force. Force bool // 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 application.