Documentation ¶
Index ¶
- Variables
- type AgentStatus
- type AllWatcher
- type CharmInfo
- type Client
- func (c *Client) APIHostPorts() ([][]network.HostPort, error)
- func (c *Client) AbortCurrentUpgrade() error
- func (c *Client) AddCharm(curl *charm.URL) error
- func (c *Client) AddLocalCharm(curl *charm.URL, ch charm.Charm) (*charm.URL, error)
- func (c *Client) AddMachines(machineParams []params.AddMachineParams) ([]params.AddMachinesResult, error)
- func (c *Client) AddMachines1dot18(machineParams []params.AddMachineParams) ([]params.AddMachinesResult, error)
- func (c *Client) AddRelation(endpoints ...string) (*params.AddRelationResults, error)
- func (c *Client) AddServiceUnits(service string, numUnits int, machineSpec string) ([]string, error)
- func (c *Client) AgentVersion() (version.Number, error)
- func (c *Client) CharmInfo(charmURL string) (*CharmInfo, error)
- func (c *Client) Close() error
- func (c *Client) DestroyEnvironment() error
- func (c *Client) DestroyMachines(machines ...string) error
- func (c *Client) DestroyRelation(endpoints ...string) error
- func (c *Client) DestroyServiceUnits(unitNames ...string) error
- func (c *Client) EnsureAvailability(numStateServers int, cons constraints.Value, series string) (params.StateServersChanges, error)
- func (c *Client) EnvironmentGet() (map[string]interface{}, error)
- func (c *Client) EnvironmentInfo() (*EnvironmentInfo, error)
- func (c *Client) EnvironmentSet(config map[string]interface{}) error
- func (c *Client) EnvironmentUUID() string
- func (c *Client) EnvironmentUnset(keys ...string) error
- func (c *Client) FindTools(majorVersion, minorVersion int, series, arch string) (result params.FindToolsResult, err error)
- func (c *Client) ForceDestroyMachines(machines ...string) error
- func (c *Client) GetAnnotations(tag string) (map[string]string, error)
- func (c *Client) GetEnvironmentConstraints() (constraints.Value, error)
- func (c *Client) GetServiceConstraints(service string) (constraints.Value, error)
- func (c *Client) LegacyStatus() (*LegacyStatus, error)
- func (c *Client) PrivateAddress(target string) (string, error)
- func (c *Client) ProvisioningScript(args params.ProvisioningScriptParams) (script string, err error)
- func (c *Client) PublicAddress(target string) (string, error)
- func (c *Client) ResolveCharm(ref *charm.Reference) (*charm.URL, error)
- func (c *Client) Resolved(unit string, retry bool) error
- func (c *Client) RetryProvisioning(machines ...names.MachineTag) ([]params.ErrorResult, error)
- func (c *Client) Run(run params.RunParams) ([]params.RunResult, error)
- func (c *Client) RunOnAllMachines(commands string, timeout time.Duration) ([]params.RunResult, error)
- func (c *Client) ServiceCharmRelations(service string) ([]string, error)
- func (c *Client) ServiceDeploy(charmURL string, serviceName string, numUnits int, configYAML string, ...) error
- func (c *Client) ServiceDeployWithNetworks(charmURL string, serviceName string, numUnits int, configYAML string, ...) error
- func (c *Client) ServiceDestroy(service string) error
- func (c *Client) ServiceExpose(service string) error
- func (c *Client) ServiceGet(service string) (*params.ServiceGetResults, error)
- func (c *Client) ServiceGetCharmURL(serviceName string) (*charm.URL, error)
- func (c *Client) ServiceSet(service string, options map[string]string) error
- func (c *Client) ServiceSetCharm(serviceName string, charmUrl string, force bool) error
- func (c *Client) ServiceSetYAML(service string, yaml string) error
- func (c *Client) ServiceUnexpose(service string) error
- func (c *Client) ServiceUnset(service string, options []string) error
- func (c *Client) ServiceUpdate(args params.ServiceUpdate) error
- func (c *Client) SetAnnotations(tag string, pairs map[string]string) error
- func (c *Client) SetEnvironAgentVersion(version version.Number) error
- func (c *Client) SetEnvironmentConstraints(constraints constraints.Value) error
- func (c *Client) SetServiceConstraints(service string, constraints constraints.Value) error
- func (c *Client) ShareEnvironment(users []names.UserTag) error
- func (c *Client) Status(patterns []string) (*Status, error)
- func (c *Client) UnshareEnvironment(users []names.UserTag) error
- func (c *Client) UploadTools(r io.Reader, vers version.Binary, additionalSeries ...string) (*tools.Tools, error)
- func (c *Client) WatchAll() (*AllWatcher, error)
- func (c *Client) WatchDebugLog(args DebugLogParams) (io.ReadCloser, error)
- type DebugLogParams
- type DialOpts
- type EndpointStatus
- type EnvironmentInfo
- type Info
- type LegacyMachineStatus
- type LegacyStatus
- type MachineStatus
- type NetworkStatus
- type NetworksSpecification
- type RelationStatus
- type ServiceStatus
- type State
- func (s *State) APICall(facade string, version int, id, method string, args, response interface{}) error
- func (s *State) APIHostPorts() [][]network.HostPort
- func (s *State) Addr() string
- func (st *State) Agent() *agent.State
- func (s *State) AllFacadeVersions() map[string][]int
- func (s *State) BestFacadeVersion(facade string) int
- func (s *State) Broken() <-chan struct{}
- func (st *State) CharmRevisionUpdater() *charmrevisionupdater.State
- func (st *State) Client() *Client
- func (s *State) Close() error
- func (st *State) Deployer() *deployer.State
- func (st *State) DiskFormatter() (*diskformatter.State, error)
- func (st *State) DiskManager() (*diskmanager.State, error)
- func (s *State) EnvironTag() (names.EnvironTag, error)
- func (st *State) Environment() *environment.Facade
- func (st *State) Firewaller() *firewaller.State
- func (st *State) KeyUpdater() *keyupdater.State
- func (st *State) Logger() *apilogger.State
- func (st *State) Login(tag, password, nonce string) error
- func (st *State) Machiner() *machiner.State
- func (st *State) Networker() *networker.State
- func (s *State) NewHTTPClient() *http.Client
- func (s *State) NewHTTPRequest(method, path string) (*http.Request, error)
- func (s *State) Ping() error
- func (st *State) Provisioner() *provisioner.State
- func (s *State) RPCClient() *rpc.Conn
- func (st *State) Reboot() (*reboot.State, error)
- func (st *State) Rsyslog() *rsyslog.State
- func (s *State) SendHTTPRequest(path string, args interface{}) (*http.Request, *http.Response, error)
- func (s *State) SendHTTPRequestReader(path string, attached io.Reader, meta interface{}, name string) (*http.Request, *http.Response, error)
- func (st *State) Uniter() (*uniter.State, error)
- func (st *State) Upgrader() *upgrader.State
- type Status
- type UnitStatus
- type WatchAll
- Bugs
Constants ¶
This section is empty.
Variables ¶
var PingPeriod = 1 * time.Minute
PingPeriod defines how often the internal connection health check will run. It's a variable so it can be changed in tests.
Functions ¶
This section is empty.
Types ¶
type AgentStatus ¶
type AgentStatus struct { Status params.Status Info string Data map[string]interface{} Version string Life string Err error }
AgentStatus holds status info about a machine or unit agent.
type AllWatcher ¶
type AllWatcher struct {
// contains filtered or unexported fields
}
AllWatcher holds information allowing us to get Deltas describing changes to the entire environment.
func (*AllWatcher) Next ¶
func (watcher *AllWatcher) Next() ([]multiwatcher.Delta, error)
func (*AllWatcher) Stop ¶
func (watcher *AllWatcher) Stop() error
type CharmInfo ¶
type CharmInfo struct { Revision int URL string Config *charm.Config Meta *charm.Meta Actions *charm.Actions }
CharmInfo holds information about a charm.
type Client ¶
type Client struct { base.ClientFacade // contains filtered or unexported fields }
Client represents the client-accessible part of the state.
func (*Client) APIHostPorts ¶
APIHostPorts returns a slice of network.HostPort for each API server.
func (*Client) AbortCurrentUpgrade ¶
AbortCurrentUpgrade aborts and archives the current upgrade synchronisation record, if any.
func (*Client) AddCharm ¶
AddCharm 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() in the client-side API.
func (*Client) AddLocalCharm ¶
AddLocalCharm prepares the given charm with a local: schema in its URL, and uploads it via the API server, returning the assigned charm URL. If the API server does not support charm uploads, an error satisfying params.IsCodeNotImplemented() is returned.
func (*Client) AddMachines ¶
func (c *Client) AddMachines(machineParams []params.AddMachineParams) ([]params.AddMachinesResult, error)
AddMachines adds new machines with the supplied parameters.
func (*Client) AddMachines1dot18 ¶
func (c *Client) AddMachines1dot18(machineParams []params.AddMachineParams) ([]params.AddMachinesResult, error)
AddMachines1dot18 adds new machines with the supplied parameters.
TODO(axw) 2014-04-11 #XXX This exists for backwards compatibility; We cannot remove this code while clients > 1.20 need to talk to 1.18 servers (which is something we need for an undetermined amount of time).
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) AddServiceUnits ¶
func (c *Client) AddServiceUnits(service string, numUnits int, machineSpec string) ([]string, error)
AddServiceUnits adds a given number of units to a service.
func (*Client) AgentVersion ¶
AgentVersion reports the version number of the api server.
func (*Client) Close ¶
Close closes the Client's underlying State connection Client is unique among the api.State facades in closing its own State connection, but it is conventional to use a Client object without any access to its underlying state connection.
func (*Client) DestroyEnvironment ¶
DestroyEnvironment puts the environment into a "dying" state, and removes all non-manager machine instances. DestroyEnvironment will fail if there are any manually-provisioned non-manager machines in state.
func (*Client) DestroyMachines ¶
DestroyMachines removes a given set of machines.
func (*Client) DestroyRelation ¶
DestroyRelation removes the relation between the specified endpoints.
func (*Client) DestroyServiceUnits ¶
DestroyServiceUnits decreases the number of units dedicated to a service.
func (*Client) EnsureAvailability ¶
func (c *Client) EnsureAvailability(numStateServers int, cons constraints.Value, series string) (params.StateServersChanges, error)
EnsureAvailability ensures the availability of Juju state servers. DEPRECATED: remove when we stop supporting 1.20 and earlier servers. This API is now on the HighAvailability facade.
func (*Client) EnvironmentGet ¶
EnvironmentGet returns all environment settings.
func (*Client) EnvironmentInfo ¶
func (c *Client) EnvironmentInfo() (*EnvironmentInfo, error)
EnvironmentInfo returns details about the Juju environment.
func (*Client) EnvironmentSet ¶
EnvironmentSet sets the given key-value pairs in the environment.
func (*Client) EnvironmentUUID ¶
EnvironmentUUID returns the environment UUID from the client connection.
func (*Client) EnvironmentUnset ¶
EnvironmentUnset sets the given key-value pairs in the environment.
func (*Client) FindTools ¶
func (c *Client) FindTools( majorVersion, minorVersion int, series, arch string, ) (result params.FindToolsResult, err error)
FindTools returns a List containing all tools matching the specified parameters.
func (*Client) ForceDestroyMachines ¶
ForceDestroyMachines removes a given set of machines and all associated units.
func (*Client) GetAnnotations ¶
GetAnnotations returns annotations that have been set on the 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() (constraints.Value, error)
GetEnvironmentConstraints returns the constraints for the environment.
func (*Client) GetServiceConstraints ¶
func (c *Client) GetServiceConstraints(service string) (constraints.Value, error)
GetServiceConstraints returns the constraints for the given service.
func (*Client) LegacyStatus ¶
func (c *Client) LegacyStatus() (*LegacyStatus, error)
LegacyStatus is a stub version of Status that 1.16 introduced. Should be removed along with structs when api versioning makes it safe to do so.
func (*Client) PrivateAddress ¶
PrivateAddress returns the private address of the specified machine or unit.
func (*Client) ProvisioningScript ¶
func (c *Client) ProvisioningScript(args params.ProvisioningScriptParams) (script string, err error)
ProvisioningScript returns a shell script that, when run, provisions a machine agent on the machine executing the script.
func (*Client) PublicAddress ¶
PublicAddress returns the public address of the specified machine or unit. For a machine, target is an id not a tag.
func (*Client) ResolveCharm ¶
ResolveCharm resolves the best available charm URLs with series, for charm locations without a series specified.
func (*Client) RetryProvisioning ¶
func (c *Client) RetryProvisioning(machines ...names.MachineTag) ([]params.ErrorResult, error)
RetryProvisioning updates the provisioning status of a machine allowing the provisioner to retry.
func (*Client) Run ¶
Run the Commands specified on the machines identified through the ids provided in the machines, services and units slices.
func (*Client) RunOnAllMachines ¶
func (c *Client) RunOnAllMachines(commands string, timeout time.Duration) ([]params.RunResult, error)
RunOnAllMachines runs the command on all the machines with the specified timeout.
func (*Client) ServiceCharmRelations ¶
ServiceCharmRelations returns the service's charms relation names.
func (*Client) ServiceDeploy ¶
func (c *Client) ServiceDeploy(charmURL string, serviceName string, numUnits int, configYAML string, cons constraints.Value, toMachineSpec string) error
ServiceDeploy obtains the charm, either locally or from the charm store, and deploys it.
func (*Client) ServiceDeployWithNetworks ¶
func (c *Client) ServiceDeployWithNetworks( charmURL string, serviceName string, numUnits int, configYAML string, cons constraints.Value, toMachineSpec string, networks []string, storage map[string]storage.Constraints, ) error
ServiceDeployWithNetworks works exactly like ServiceDeploy, but allows the specification of requested networks that must be present on the machines where the service is deployed. Another way to specify networks to include/exclude is using constraints.
func (*Client) ServiceDestroy ¶
ServiceDestroy destroys a given service.
func (*Client) ServiceExpose ¶
ServiceExpose changes the juju-managed firewall to expose any ports that were also explicitly marked by units as open.
func (*Client) ServiceGet ¶
func (c *Client) ServiceGet(service string) (*params.ServiceGetResults, error)
ServiceGet returns the configuration for the named service.
func (*Client) ServiceGetCharmURL ¶
ServiceGetCharmURL returns the charm URL the given service is running at present.
func (*Client) ServiceSet ¶
ServiceSet sets configuration options on a service.
func (*Client) ServiceSetCharm ¶
ServiceSetCharm sets the charm for a given service.
func (*Client) ServiceSetYAML ¶
ServiceSetYAML sets configuration options on a service given options in YAML format.
func (*Client) ServiceUnexpose ¶
ServiceUnexpose changes the juju-managed firewall to unexpose any ports that were also explicitly marked by units as open.
func (*Client) ServiceUnset ¶
ServiceUnset resets configuration options on a service.
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. TODO(frankban) deprecate redundant API calls that this supercedes.
func (*Client) SetAnnotations ¶
SetAnnotations sets the annotation pairs on the given entity. Currently annotations are supported on machines, services, units and the environment itself. This API is now deprecated - "Annotations" client should be used instead. TODO(anastasiamac) remove for Juju 2.x
func (*Client) SetEnvironAgentVersion ¶
SetEnvironAgentVersion sets the environment agent-version setting to the given value.
func (*Client) SetEnvironmentConstraints ¶
func (c *Client) SetEnvironmentConstraints(constraints constraints.Value) error
SetEnvironmentConstraints specifies the constraints for the environment.
func (*Client) SetServiceConstraints ¶
func (c *Client) SetServiceConstraints(service string, constraints constraints.Value) error
SetServiceConstraints specifies the constraints for the given service.
func (*Client) ShareEnvironment ¶
ShareEnvironment allows the given users access to the environment.
func (*Client) UnshareEnvironment ¶
UnshareEnvironment removes access to the environment for the given users.
func (*Client) UploadTools ¶
func (c *Client) UploadTools(r io.Reader, vers version.Binary, additionalSeries ...string) (*tools.Tools, error)
UploadTools uploads tools at the specified location to the API server over HTTPS.
func (*Client) WatchAll ¶
func (c *Client) WatchAll() (*AllWatcher, error)
WatchAll returns an AllWatcher, from which you can request the Next collection of Deltas.
func (*Client) WatchDebugLog ¶
func (c *Client) WatchDebugLog(args DebugLogParams) (io.ReadCloser, error)
WatchDebugLog returns a ReadCloser that the caller can read the log lines from. Only log lines that match the filtering specified in the DebugLogParams are returned. It returns an error that satisfies errors.IsNotImplemented when the API server does not support the end-point.
TODO(dimitern) We already have errors.IsNotImplemented - why do we need to define a different error for this purpose here?
type DebugLogParams ¶
type DebugLogParams struct { // IncludeEntity lists entity tags to include in the response. Tags may // finish with a '*' to match a prefix e.g.: unit-mysql-*, machine-2. If // none are set, then all lines are considered included. IncludeEntity []string // IncludeModule lists logging modules to include in the response. If none // are set all modules are considered included. If a module is specified, // all the submodules also match. IncludeModule []string // ExcludeEntity lists entity tags to exclude from the response. As with // IncludeEntity the values may finish with a '*'. ExcludeEntity []string // ExcludeModule lists logging modules to exclude from the resposne. If a // module is specified, all the submodules are also excluded. ExcludeModule []string // Limit defines the maximum number of lines to return. Once this many // have been sent, the socket is closed. If zero, all filtered lines are // sent down the connection until the client closes the connection. Limit uint // Backlog tells the server to try to go back this many lines before // starting filtering. If backlog is zero and replay is false, then there // may be an initial delay until the next matching log message is written. Backlog uint // Level specifies the minimum logging level to be sent back in the response. Level loggo.Level // Replay tells the server to start at the start of the log file rather // than the end. If replay is true, backlog is ignored. Replay bool }
DebugLogParams holds parameters for WatchDebugLog that control the filtering of the log messages. If the structure is zero initialized, the entire log file is sent back starting from the end, and until the user closes the connection.
type DialOpts ¶
type DialOpts struct { // DialAddressInterval is the amount of time to wait // before starting to dial another address. DialAddressInterval time.Duration // Timeout is the amount of time to wait contacting // a state server. Timeout time.Duration // RetryDelay is the amount of time to wait between // unsucssful connection attempts. RetryDelay time.Duration }
DialOpts holds configuration parameters that control the Dialing behavior when connecting to a state server.
func DefaultDialOpts ¶
func DefaultDialOpts() DialOpts
DefaultDialOpts returns a DialOpts representing the default parameters for contacting a state server.
type EndpointStatus ¶
type EndpointStatus struct { ServiceName string Name string Role charm.RelationRole Subordinate bool }
EndpointStatus holds status info about a single endpoint
func (*EndpointStatus) String ¶
func (epStatus *EndpointStatus) String() string
type EnvironmentInfo ¶
EnvironmentInfo holds information about the Juju environment.
type Info ¶
type Info struct { // Addrs holds the addresses of the state servers. Addrs []string // CACert holds the CA certificate that will be used // to validate the state server's certificate, in PEM format. CACert string // Tag holds the name of the entity that is connecting. // If this is nil, and the password are empty, no login attempt will be made. // (this is to allow tests to access the API to check that operations // fail when not logged in). Tag names.Tag // Password holds the password for the administrator or connecting entity. Password string // Nonce holds the nonce used when provisioning the machine. Used // only by the machine agent. Nonce string `yaml:",omitempty"` // EnvironTag holds the environ tag for the environment we are // trying to connect to. EnvironTag names.EnvironTag }
Info encapsulates information about a server holding juju state and can be used to make a connection to it.
type LegacyMachineStatus ¶
type LegacyMachineStatus struct {
InstanceId string // Not type instance.Id just to match original api.
}
LegacyMachineStatus holds just the instance-id of a machine.
type LegacyStatus ¶
type LegacyStatus struct {
Machines map[string]LegacyMachineStatus
}
LegacyStatus holds minimal information on the status of a juju environment.
type MachineStatus ¶
type MachineStatus struct { Agent AgentStatus // The following fields mirror fields in AgentStatus (introduced // in 1.19.x). The old fields below are being kept for // compatibility with old clients. // They can be removed once API versioning lands. AgentState params.Status AgentStateInfo string AgentVersion string Life string Err error DNSName string InstanceId instance.Id InstanceState string Series string Id string Containers map[string]MachineStatus Hardware string Jobs []multiwatcher.MachineJob HasVote bool WantsVote bool }
MachineStatus holds status info about a machine.
type NetworkStatus ¶
NetworkStatus holds status info about a network.
type NetworksSpecification ¶
NetworksSpecification holds the enabled and disabled networks for a service.
type RelationStatus ¶
type RelationStatus struct { Id int Key string Interface string Scope charm.RelationScope Endpoints []EndpointStatus }
RelationStatus holds status info about a relation.
type ServiceStatus ¶
type ServiceStatus struct { Err error Charm string Exposed bool Life string Relations map[string][]string Networks NetworksSpecification CanUpgradeTo string SubordinateTo []string Units map[string]UnitStatus }
ServiceStatus holds status info about a service.
type State ¶
type State struct {
// contains filtered or unexported fields
}
func (*State) APICall ¶
func (s *State) APICall(facade string, version int, id, method string, args, response interface{}) error
APICall places a call to the remote machine.
This fills out the rpc.Request on the given facade, version for a given object id, and the specific RPC method. It marshalls the Arguments, and will unmarshall the result into the response object that is supplied.
func (*State) APIHostPorts ¶
APIHostPorts returns addresses that may be used to connect to the API server, including the address used to connect.
The addresses are scoped (public, cloud-internal, etc.), so the client may choose which addresses to attempt. For the Juju CLI, all addresses must be attempted, as the CLI may be invoked both within and outside the environment (think private clouds).
func (*State) Agent ¶
Agent returns a version of the state that provides functionality required by the agent code.
func (*State) AllFacadeVersions ¶
AllFacadeVersions returns what versions we know about for all facades
func (*State) BestFacadeVersion ¶
BestFacadeVersion compares the versions of facades that we know about, and the versions available from the server, and reports back what version is the 'best available' to use. TODO(jam) this is the eventual implementation of what version of a given Facade we will want to use. It needs to line up the versions that the server reports to us, with the versions that our client knows how to use.
func (*State) Broken ¶
func (s *State) Broken() <-chan struct{}
Broken returns a channel that's closed when the connection is broken.
func (*State) CharmRevisionUpdater ¶
func (st *State) CharmRevisionUpdater() *charmrevisionupdater.State
CharmRevisionUpdater returns access to the CharmRevisionUpdater API
func (*State) Client ¶
Client returns an object that can be used to access client-specific functionality.
func (*State) DiskFormatter ¶
func (st *State) DiskFormatter() (*diskformatter.State, error)
DiskFormatter returns a version of the state that provides functionality required by the diskformatter worker.
func (*State) DiskManager ¶
func (st *State) DiskManager() (*diskmanager.State, error)
DiskManager returns a version of the state that provides functionality required by the diskmanager worker.
func (*State) EnvironTag ¶
func (s *State) EnvironTag() (names.EnvironTag, error)
EnvironTag returns the tag of the environment we are connected to.
func (*State) Environment ¶
func (st *State) Environment() *environment.Facade
Environment returns access to the Environment API
func (*State) Firewaller ¶
func (st *State) Firewaller() *firewaller.State
Firewaller returns a version of the state that provides functionality required by the firewaller worker.
func (*State) KeyUpdater ¶
func (st *State) KeyUpdater() *keyupdater.State
KeyUpdater returns access to the KeyUpdater API
func (*State) Login ¶
Login authenticates as the entity with the given name and password. Subsequent requests on the state will act as that entity. This method is usually called automatically by Open. The machine nonce should be empty unless logging in as a machine agent.
func (*State) Machiner ¶
Machiner returns a version of the state that provides functionality required by the machiner worker.
func (*State) Networker ¶
Networker returns a version of the state that provides functionality required by the networker worker.
func (*State) NewHTTPClient ¶
NewHTTPClient returns an HTTP client initialized based on State.
func (*State) NewHTTPRequest ¶
NewHTTPRequest returns a new API-supporting HTTP request based on State.
func (*State) Provisioner ¶
func (st *State) Provisioner() *provisioner.State
Provisioner returns a version of the state that provides functionality required by the provisioner worker.
func (*State) RPCClient ¶
RPCClient returns the RPC client for the state, so that testing functions can tickle parts of the API that the conventional entry points don't reach. This is exported for testing purposes only.
func (*State) SendHTTPRequest ¶
func (s *State) SendHTTPRequest(path string, args interface{}) (*http.Request, *http.Response, error)
SendHTTPRequest sends a GET request using the HTTP client derived from State.
func (*State) SendHTTPRequestReader ¶
func (s *State) SendHTTPRequestReader(path string, attached io.Reader, meta interface{}, name string) (*http.Request, *http.Response, error)
SendHTTPRequestReader sends a PUT request using the HTTP client derived from State. The provided io.Reader and associated JSON metadata are attached to the request body as multi-part data. The name parameter identifies the attached data's part in the multi-part data. That name doesn't have any semantic significance in juju, so the provided value is strictly informational.
type Status ¶
type Status struct { EnvironmentName string Machines map[string]MachineStatus Services map[string]ServiceStatus Networks map[string]NetworkStatus Relations []RelationStatus }
Status holds information about the status of a juju environment.
type UnitStatus ¶
type UnitStatus struct { Agent AgentStatus // See the comment in MachineStatus regarding these fields. AgentState params.Status AgentStateInfo string AgentVersion string Life string Err error Machine string OpenedPorts []string PublicAddress string Charm string Subordinates map[string]UnitStatus }
UnitStatus holds status info about a unit.
Notes ¶
Bugs ¶
2013-12-17 bug #1261780 Due to issues with go 1.1.2, fixed later, we cannot use a regular TLS client with the CACert here, because we get "x509: cannot validate certificate for 127.0.0.1 because it doesn't contain any IP SANs". Once we use a later go version, this should be changed to connect to the API server with a regular HTTP+TLS enabled client, using the CACert (possily cached, like the tag and password) passed in api.Open()'s info argument.
2013-12-17 bug #1261780 Due to issues with go 1.1.2, fixed later, we cannot use a regular TLS client with the CACert here, because we get "x509: cannot validate certificate for 127.0.0.1 because it doesn't contain any IP SANs". Once we use a later go version, this should be changed to connect to the API server with a regular HTTP+TLS enabled client, using the CACert (possily cached, like the tag and password) passed in api.Open()'s info argument.
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
Package leadership implements the client to the analog leadership service.
|
Package leadership implements the client to the analog leadership service. |
The metricsmanager package contains implementation for an api facade to access metrics functions within state
|
The metricsmanager package contains implementation for an api facade to access metrics functions within state |
Package service provides access to the service api facade.
|
Package service provides access to the service api facade. |