Documentation ¶
Index ¶
- Variables
- func InstanceConfig(st *state.State, machineId, nonce, dataDir string) (*instancecfg.InstanceConfig, error)
- func NewUnitMatcher(patterns []string) (unitMatcher, error)
- func ParallelExecute(dataDir string, runParams []*RemoteExec) params.RunResults
- func UnitChainPredicateFn(predicate Predicate, getUnit func(string) *state.Unit) func(*state.Unit) (bool, error)
- type API
- type Client
- func (c *Client) APIHostPorts() (result params.APIHostPortsResult, err error)
- func (c *Client) AbortCurrentUpgrade() error
- func (c *Client) AddCharm(args params.CharmURL) error
- func (c *Client) AddCharmWithAuthorization(args params.AddCharmWithAuthorization) error
- func (c *Client) AddMachines(args params.AddMachines) (params.AddMachinesResults, error)
- func (c *Client) AddMachinesV2(args params.AddMachines) (params.AddMachinesResults, error)
- func (c *Client) AddRelation(args params.AddRelation) (params.AddRelationResults, error)
- func (c *Client) AddServiceUnits(args params.AddServiceUnits) (params.AddServiceUnitsResults, error)
- func (c *Client) AddServiceUnitsWithPlacement(args params.AddServiceUnits) (params.AddServiceUnitsResults, error)
- func (c *Client) AgentVersion() (params.AgentVersionResult, error)
- func (c *Client) CharmInfo(args params.CharmInfo) (api.CharmInfo, error)
- func (c *Client) DestroyEnvironment() (err error)
- func (c *Client) DestroyMachines(args params.DestroyMachines) error
- func (c *Client) DestroyRelation(args params.DestroyRelation) error
- func (c *Client) DestroyServiceUnits(args params.DestroyServiceUnits) error
- func (c *Client) EnsureAvailability(args params.StateServersSpecs) (params.StateServersChangeResults, error)
- func (c *Client) EnvUserInfo() (params.EnvUserInfoResults, error)
- func (c *Client) EnvironmentGet() (params.EnvironmentConfigResults, error)
- func (c *Client) EnvironmentInfo() (api.EnvironmentInfo, error)
- func (c *Client) EnvironmentSet(args params.EnvironmentSet) error
- func (c *Client) EnvironmentUnset(args params.EnvironmentUnset) error
- func (c *Client) FindTools(args params.FindToolsParams) (params.FindToolsResult, error)
- func (c *Client) FullStatus(args params.StatusParams) (params.FullStatus, error)
- func (c *Client) GetAnnotations(args params.GetAnnotations) (params.GetAnnotationsResults, error)
- func (c *Client) GetEnvironmentConstraints() (params.GetConstraintsResults, error)
- func (c *Client) GetServiceConstraints(args params.GetServiceConstraints) (params.GetConstraintsResults, error)
- func (c *Client) InjectMachines(args params.AddMachines) (params.AddMachinesResults, error)
- func (c *Client) NewServiceSetForClientAPI(p params.ServiceSet) error
- func (c *Client) PrivateAddress(p params.PrivateAddress) (results params.PrivateAddressResults, err error)
- func (c *Client) ProvisioningScript(args params.ProvisioningScriptParams) (params.ProvisioningScriptResult, error)
- func (c *Client) PublicAddress(p params.PublicAddress) (results params.PublicAddressResults, err error)
- func (c *Client) ResolveCharms(args params.ResolveCharms) (params.ResolveCharmResults, error)
- func (c *Client) Resolved(p params.Resolved) error
- func (c *Client) RetryProvisioning(p params.Entities) (params.ErrorResults, error)
- func (c *Client) Run(run params.RunParams) (results params.RunResults, err error)
- func (c *Client) RunOnAllMachines(run params.RunParams) (params.RunResults, error)
- func (c *Client) ServiceCharmRelations(p params.ServiceCharmRelations) (params.ServiceCharmRelationsResults, error)
- func (c *Client) ServiceDeploy(args params.ServiceDeploy) error
- func (c *Client) ServiceDeployWithNetworks(args params.ServiceDeploy) error
- func (c *Client) ServiceDestroy(args params.ServiceDestroy) error
- func (c *Client) ServiceExpose(args params.ServiceExpose) error
- func (c *Client) ServiceGet(args params.ServiceGet) (params.ServiceGetResults, error)
- func (c *Client) ServiceGetCharmURL(args params.ServiceGet) (params.StringResult, error)
- func (c *Client) ServiceSet(p params.ServiceSet) error
- func (c *Client) ServiceSetCharm(args params.ServiceSetCharm) error
- func (c *Client) ServiceSetYAML(p params.ServiceSetYAML) error
- func (c *Client) ServiceUnexpose(args params.ServiceUnexpose) error
- func (c *Client) ServiceUnset(p params.ServiceUnset) error
- func (c *Client) ServiceUpdate(args params.ServiceUpdate) error
- func (c *Client) SetAnnotations(args params.SetAnnotations) error
- func (c *Client) SetEnvironAgentVersion(args params.SetEnvironAgentVersion) error
- func (c *Client) SetEnvironmentConstraints(args params.SetConstraints) error
- func (c *Client) SetServiceConstraints(args params.SetConstraints) error
- func (c *Client) ShareEnvironment(args params.ModifyEnvironUsers) (result params.ErrorResults, err error)
- func (c *Client) Status() (params.LegacyStatus, error)
- func (c *Client) UnitStatusHistory(args params.StatusHistory) (params.UnitStatusHistory, error)
- func (c *Client) WatchAll() (params.AllWatcherId, error)
- type MachineOrder
- type Predicate
- type RemoteExec
- type Unit
Constants ¶
This section is empty.
Variables ¶
var InvalidFormatErr = errors.Errorf("the given filter did not match any known patterns.")
Functions ¶
func InstanceConfig ¶
func InstanceConfig(st *state.State, machineId, nonce, dataDir string) (*instancecfg.InstanceConfig, error)
InstanceConfig returns information from the environment config that is needed for machine cloud-init (for non-state servers only). It is exposed for testing purposes. TODO(rog) fix environs/manual tests so they do not need to call this, or move this elsewhere.
func NewUnitMatcher ¶
NewUnitMatcher returns a unitMatcher that matches units with one of the specified patterns, or all units if no patterns are specified.
An error will be returned if any of the specified patterns is invalid. Patterns are valid if they contain only alpha-numeric characters, hyphens, or asterisks (and one optional '/' to separate service/unit).
func ParallelExecute ¶
func ParallelExecute(dataDir string, runParams []*RemoteExec) params.RunResults
ParallelExecute executes all of the requests defined in the params, using the system identity stored in the dataDir.
func UnitChainPredicateFn ¶
func UnitChainPredicateFn( predicate Predicate, getUnit func(string) *state.Unit, ) func(*state.Unit) (bool, error)
UnitChainPredicateFn builds a function which runs the given predicate over a unit and all of its subordinates. If one unit in the chain matches, the entire chain matches.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client serves client-specific API methods.
func NewClient ¶
func NewClient(st *state.State, resources *common.Resources, authorizer common.Authorizer) (*Client, error)
NewClient creates a new instance of the Client Facade.
func (*Client) APIHostPorts ¶
func (c *Client) APIHostPorts() (result params.APIHostPortsResult, err error)
APIHostPorts returns the API host/port addresses stored in state.
func (*Client) AbortCurrentUpgrade ¶
AbortCurrentUpgrade aborts and archives the current upgrade synchronisation record, if any.
func (*Client) AddCharmWithAuthorization ¶
func (c *Client) AddCharmWithAuthorization(args params.AddCharmWithAuthorization) error
AddCharmWithAuthorization adds the given charm URL (which must include revision) to the environment, if it does not exist yet. Local charms are not supported, only charm store URLs. See also AddLocalCharm().
The authorization macaroon, args.CharmStoreMacaroon, may be omitted, in which case this call is equivalent to AddCharm.
func (*Client) AddMachines ¶
func (c *Client) AddMachines(args params.AddMachines) (params.AddMachinesResults, error)
AddMachines adds new machines with the supplied parameters.
func (*Client) AddMachinesV2 ¶
func (c *Client) AddMachinesV2(args params.AddMachines) (params.AddMachinesResults, error)
AddMachinesV2 adds new machines with the supplied parameters.
func (*Client) AddRelation ¶
func (c *Client) AddRelation(args params.AddRelation) (params.AddRelationResults, error)
AddRelation adds a relation between the specified endpoints and returns the relation info.
func (*Client) AddServiceUnits ¶
func (c *Client) AddServiceUnits(args params.AddServiceUnits) (params.AddServiceUnitsResults, error)
AddServiceUnits adds a given number of units to a service.
func (*Client) AddServiceUnitsWithPlacement ¶
func (c *Client) AddServiceUnitsWithPlacement(args params.AddServiceUnits) (params.AddServiceUnitsResults, error)
AddServiceUnits adds a given number of units to a service.
func (*Client) AgentVersion ¶
func (c *Client) AgentVersion() (params.AgentVersionResult, error)
AgentVersion returns the current version that the API server is running.
func (*Client) DestroyEnvironment ¶
DestroyEnvironment will try to destroy the current environment. If there is a block on destruction, this method will return an error.
func (*Client) DestroyMachines ¶
func (c *Client) DestroyMachines(args params.DestroyMachines) error
DestroyMachines removes a given set of machines.
func (*Client) DestroyRelation ¶
func (c *Client) DestroyRelation(args params.DestroyRelation) error
DestroyRelation removes the relation between the specified endpoints.
func (*Client) DestroyServiceUnits ¶
func (c *Client) DestroyServiceUnits(args params.DestroyServiceUnits) error
DestroyServiceUnits removes a given set of service units.
func (*Client) EnsureAvailability ¶
func (c *Client) EnsureAvailability(args params.StateServersSpecs) (params.StateServersChangeResults, error)
EnsureAvailability ensures the availability of Juju state servers. DEPRECATED: remove when we stop supporting 1.20 and earlier clients. This API is now on the HighAvailability facade.
func (*Client) EnvUserInfo ¶
func (c *Client) EnvUserInfo() (params.EnvUserInfoResults, error)
EnvUserInfo returns information on all users in the environment.
func (*Client) EnvironmentGet ¶
func (c *Client) EnvironmentGet() (params.EnvironmentConfigResults, error)
EnvironmentGet implements the server-side part of the get-environment CLI command.
func (*Client) EnvironmentInfo ¶
func (c *Client) EnvironmentInfo() (api.EnvironmentInfo, error)
EnvironmentInfo returns information about the current environment (default series and type).
func (*Client) EnvironmentSet ¶
func (c *Client) EnvironmentSet(args params.EnvironmentSet) error
EnvironmentSet implements the server-side part of the set-environment CLI command.
func (*Client) EnvironmentUnset ¶
func (c *Client) EnvironmentUnset(args params.EnvironmentUnset) error
EnvironmentUnset implements the server-side part of the set-environment CLI command.
func (*Client) FindTools ¶
func (c *Client) FindTools(args params.FindToolsParams) (params.FindToolsResult, error)
FindTools returns a List containing all tools matching the given parameters.
func (*Client) FullStatus ¶
func (c *Client) FullStatus(args params.StatusParams) (params.FullStatus, error)
FullStatus gives the information needed for juju status over the api
func (*Client) GetAnnotations ¶
func (c *Client) GetAnnotations(args params.GetAnnotations) (params.GetAnnotationsResults, error)
GetAnnotations returns annotations about a given entity. This API is now deprecated - "Annotations" client should be used instead. TODO(anastasiamac) remove for Juju 2.x
func (*Client) GetEnvironmentConstraints ¶
func (c *Client) GetEnvironmentConstraints() (params.GetConstraintsResults, error)
GetEnvironmentConstraints returns the constraints for the environment.
func (*Client) GetServiceConstraints ¶
func (c *Client) GetServiceConstraints(args params.GetServiceConstraints) (params.GetConstraintsResults, error)
GetServiceConstraints returns the constraints for a given service. TODO(mattyw, all): This api call should be move to the new service facade. The client api version will then need bumping.
func (*Client) InjectMachines ¶
func (c *Client) InjectMachines(args params.AddMachines) (params.AddMachinesResults, error)
InjectMachines injects a machine into state with provisioned status.
func (*Client) NewServiceSetForClientAPI ¶
func (c *Client) NewServiceSetForClientAPI(p params.ServiceSet) error
NewServiceSetForClientAPI implements the server side of Client.NewServiceSetForClientAPI. This is exactly like ServiceSet except that it does not unset values that are set to an empty string. ServiceUnset should be used for that.
TODO(Nate): rename this to ServiceSet (and remove the deprecated ServiceSet) when the GUI handles the new behavior. TODO(mattyw, all): This api call should be move to the new service facade. The client api version will then need bumping.
func (*Client) PrivateAddress ¶
func (c *Client) PrivateAddress(p params.PrivateAddress) (results params.PrivateAddressResults, err error)
PrivateAddress implements the server side of Client.PrivateAddress.
func (*Client) ProvisioningScript ¶
func (c *Client) ProvisioningScript(args params.ProvisioningScriptParams) (params.ProvisioningScriptResult, error)
ProvisioningScript returns a shell script that, when run, provisions a machine agent on the machine executing the script.
func (*Client) PublicAddress ¶
func (c *Client) PublicAddress(p params.PublicAddress) (results params.PublicAddressResults, err error)
PublicAddress implements the server side of Client.PublicAddress.
func (*Client) ResolveCharms ¶
func (c *Client) ResolveCharms(args params.ResolveCharms) (params.ResolveCharmResults, error)
ResolveCharm resolves the best available charm URLs with series, for charm locations without a series specified.
func (*Client) RetryProvisioning ¶
RetryProvisioning marks a provisioning error as transient on the machines.
func (*Client) Run ¶
Run the commands specified on the machines identified through the list of machines, units and services.
func (*Client) RunOnAllMachines ¶
RunOnAllMachines attempts to run the specified command on all the machines.
func (*Client) ServiceCharmRelations ¶
func (c *Client) ServiceCharmRelations(p params.ServiceCharmRelations) (params.ServiceCharmRelationsResults, error)
ServiceCharmRelations implements the server side of Client.ServiceCharmRelations. TODO(mattyw, all): This api call should be move to the new service facade. The client api version will then need bumping.
func (*Client) ServiceDeploy ¶
func (c *Client) ServiceDeploy(args params.ServiceDeploy) error
ServiceDeploy fetches the charm from the charm store and deploys it. AddCharm or AddLocalCharm should be called to add the charm before calling ServiceDeploy, although for backward compatibility this is not necessary until 1.16 support is removed.
func (*Client) ServiceDeployWithNetworks ¶
func (c *Client) ServiceDeployWithNetworks(args params.ServiceDeploy) error
ServiceDeployWithNetworks works exactly like ServiceDeploy, but allows specifying networks to include or exclude on the machine where the charm gets deployed (either with args.Network or with constraints).
TODO(dimitern): Drop the special handling of networks in favor of spaces constraints, once possible.
func (*Client) ServiceDestroy ¶
func (c *Client) ServiceDestroy(args params.ServiceDestroy) error
ServiceDestroy destroys a given service. TODO(mattyw, all): This api call should be move to the new service facade. The client api version will then need bumping.
func (*Client) ServiceExpose ¶
func (c *Client) ServiceExpose(args params.ServiceExpose) error
ServiceExpose changes the juju-managed firewall to expose any ports that were also explicitly marked by units as open. TODO(mattyw, all): This api call should be move to the new service facade. The client api version will then need bumping.
func (*Client) ServiceGet ¶
func (c *Client) ServiceGet(args params.ServiceGet) (params.ServiceGetResults, error)
ServiceGet returns the configuration for a service.
func (*Client) ServiceGetCharmURL ¶
func (c *Client) ServiceGetCharmURL(args params.ServiceGet) (params.StringResult, error)
ServiceGetCharmURL returns the charm URL the given service is running at present.
func (*Client) ServiceSet ¶
func (c *Client) ServiceSet(p params.ServiceSet) error
ServiceSet implements the server side of Client.ServiceSet. Values set to an empty string will be unset.
(Deprecated) Use NewServiceSetForClientAPI instead, to preserve values set to an empty string, and use ServiceUnset to unset values.
func (*Client) ServiceSetCharm ¶
func (c *Client) ServiceSetCharm(args params.ServiceSetCharm) error
ServiceSetCharm sets the charm for a given service. TODO(mattyw, all): This api call should be move to the new service facade. The client api version will then need bumping.
func (*Client) ServiceSetYAML ¶
func (c *Client) ServiceSetYAML(p params.ServiceSetYAML) error
ServiceSetYAML implements the server side of Client.ServerSetYAML. TODO(mattyw, all): This api call should be move to the new service facade. The client api version will then need bumping.
func (*Client) ServiceUnexpose ¶
func (c *Client) ServiceUnexpose(args params.ServiceUnexpose) error
ServiceUnexpose changes the juju-managed firewall to unexpose any ports that were also explicitly marked by units as open. TODO(mattyw, all): This api call should be move to the new service facade. The client api version will then need bumping.
func (*Client) ServiceUnset ¶
func (c *Client) ServiceUnset(p params.ServiceUnset) error
ServiceUnset implements the server side of Client.ServiceUnset. TODO(mattyw, all): This api call should be move to the new service facade. The client api version will then need bumping.
func (*Client) ServiceUpdate ¶
func (c *Client) ServiceUpdate(args params.ServiceUpdate) error
ServiceUpdate updates the service attributes, including charm URL, minimum number of units, settings and constraints. All parameters in params.ServiceUpdate except the service name are optional.
func (*Client) SetAnnotations ¶
func (c *Client) SetAnnotations(args params.SetAnnotations) error
SetAnnotations stores annotations about a given entity. This API is now deprecated - "Annotations" client should be used instead. TODO(anastasiamac) remove for Juju 2.x
func (*Client) SetEnvironAgentVersion ¶
func (c *Client) SetEnvironAgentVersion(args params.SetEnvironAgentVersion) error
SetEnvironAgentVersion sets the environment agent version.
func (*Client) SetEnvironmentConstraints ¶
func (c *Client) SetEnvironmentConstraints(args params.SetConstraints) error
SetEnvironmentConstraints sets the constraints for the environment.
func (*Client) SetServiceConstraints ¶
func (c *Client) SetServiceConstraints(args params.SetConstraints) error
SetServiceConstraints sets the constraints for a given service. TODO(mattyw, all): This api call should be move to the new service facade. The client api version will then need bumping.
func (*Client) ShareEnvironment ¶
func (c *Client) ShareEnvironment(args params.ModifyEnvironUsers) (result params.ErrorResults, err error)
ShareEnvironment manages allowing and denying the given user(s) access to the environment.
func (*Client) Status ¶
func (c *Client) Status() (params.LegacyStatus, error)
Status is a stub version of FullStatus that was introduced in 1.16
func (*Client) UnitStatusHistory ¶
func (c *Client) UnitStatusHistory(args params.StatusHistory) (params.UnitStatusHistory, error)
UnitStatusHistory returns a slice of past statuses for a given unit.
type MachineOrder ¶
MachineOrder is used to provide the api to sort the results by the machine id.
func (MachineOrder) Len ¶
func (a MachineOrder) Len() int
func (MachineOrder) Less ¶
func (a MachineOrder) Less(i, j int) bool
func (MachineOrder) Swap ¶
func (a MachineOrder) Swap(i, j int)
type Predicate ¶
Predicate is a function that when given a unit, machine, or service, will determine whether the unit meets some criteria.
func BuildPredicateFor ¶
BuildPredicate returns a Predicate which will evaluate a machine, service, or unit against the given patterns.
type RemoteExec ¶
type RemoteExec struct { ssh.ExecParams MachineId string UnitId string }
RemoteExec extends the standard ssh.ExecParams by providing the machine and perhaps the unit ids. These are then returned in the params.RunResult return values.
type Unit ¶
type Unit interface { state.StatusHistoryGetter Life() state.Life Destroy() (err error) IsPrincipal() bool PublicAddress() (network.Address, error) PrivateAddress() (network.Address, error) Resolve(retryHooks bool) error AgentHistory() state.StatusHistoryGetter }
Unit represents a state.Unit.