Documentation ¶
Index ¶
- type Application
- type Client
- func (c *Client) BestAPIVersion() int
- func (c *Client) ControllerAPIInfoForModel(modelUUID string) (*api.Info, error)
- func (c *Client) FirewallRules(knownServices ...string) ([]params.FirewallRule, error)
- func (c *Client) MacaroonForRelation(relationKey string) (*macaroon.Macaroon, error)
- func (c *Client) Machine(tag names.MachineTag) (*Machine, error)
- func (c *Client) ModelTag() (names.ModelTag, bool)
- func (c *Client) Relation(tag names.RelationTag) (*Relation, error)
- func (c *Client) SetRelationStatus(relationKey string, status relation.Status, message string) error
- func (c *Client) Unit(tag names.UnitTag) (*Unit, error)
- func (c *Client) WatchEgressAddressesForRelation(relationTag names.RelationTag) (watcher.StringsWatcher, error)
- func (c *Client) WatchIngressAddressesForRelation(relationTag names.RelationTag) (watcher.StringsWatcher, error)
- func (c *Client) WatchModelMachines() (watcher.StringsWatcher, error)
- func (c *Client) WatchOpenedPorts() (watcher.StringsWatcher, error)
- type Machine
- func (m *Machine) ActiveSubnets() ([]names.SubnetTag, error)
- func (m *Machine) InstanceId() (instance.Id, error)
- func (m *Machine) IsManual() (bool, error)
- func (m *Machine) Life() params.Life
- func (m *Machine) OpenedPorts(subnetTag names.SubnetTag) (map[network.PortRange]names.UnitTag, error)
- func (m *Machine) Tag() names.MachineTag
- func (m *Machine) WatchUnits() (watcher.StringsWatcher, error)
- type Relation
- type Unit
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Application ¶
type Application struct {
// contains filtered or unexported fields
}
Application represents the state of an application.
func (*Application) IsExposed ¶
func (s *Application) IsExposed() (bool, error)
IsExposed returns whether this application is exposed. The explicitly open ports (with open-port) for exposed application may be accessed from machines outside of the local deployment network.
NOTE: This differs from state.Application.IsExposed() by returning an error as well, because it needs to make an API call.
func (*Application) Tag ¶
func (s *Application) Tag() names.ApplicationTag
Tag returns the application tag.
func (*Application) Watch ¶
func (s *Application) Watch() (watcher.NotifyWatcher, error)
Watch returns a watcher for observing changes to an application.
type Client ¶
type Client struct { *common.ModelWatcher *cloudspec.CloudSpecAPI // contains filtered or unexported fields }
Client provides access to the Firewaller API facade.
func (*Client) BestAPIVersion ¶
BestAPIVersion returns the API version that we were able to determine is supported by both the client and the API Server.
func (*Client) ControllerAPIInfoForModel ¶
ControllerAPIInfoForModels returns the controller api connection details for the specified model.
func (*Client) FirewallRules ¶
func (c *Client) FirewallRules(knownServices ...string) ([]params.FirewallRule, error)
FirewallRules returns the firewall rules for the specified known service names.
func (*Client) MacaroonForRelation ¶
MacaroonForRelation returns the macaroon to use when publishing changes for the relation.
func (*Client) Relation ¶
Relation provides access to methods of a state.Relation through the facade.
func (*Client) SetRelationStatus ¶
func (c *Client) SetRelationStatus(relationKey string, status relation.Status, message string) error
SetRelationStatus sets the status for a given relation.
func (*Client) WatchEgressAddressesForRelation ¶
func (c *Client) WatchEgressAddressesForRelation(relationTag names.RelationTag) (watcher.StringsWatcher, error)
WatchEgressAddressesForRelation returns a watcher that notifies when addresses, from which connections will originate to the provider side of the relation, change. Each event contains the entire set of addresses which the provider side is required to allow for access from the other side of the relation.
func (*Client) WatchIngressAddressesForRelation ¶
func (c *Client) WatchIngressAddressesForRelation(relationTag names.RelationTag) (watcher.StringsWatcher, error)
WatchIngressAddressesForRelation returns a watcher that notifies when addresses, from which connections will originate for the relation, change. Each event contains the entire set of addresses which are required for ingress into this model from the other requirer side of the relation.
func (*Client) WatchModelMachines ¶
func (c *Client) WatchModelMachines() (watcher.StringsWatcher, error)
WatchModelMachines returns a StringsWatcher that notifies of changes to the life cycles of the top level machines in the current model.
func (*Client) WatchOpenedPorts ¶
func (c *Client) WatchOpenedPorts() (watcher.StringsWatcher, error)
WatchOpenedPorts returns a StringsWatcher that notifies of changes to the opened ports for the current model.
type Machine ¶
type Machine struct {
// contains filtered or unexported fields
}
Machine represents a juju machine as seen by the firewaller worker.
func (*Machine) ActiveSubnets ¶
ActiveSubnets returns a list of subnet tags for which the machine has opened ports.
func (*Machine) InstanceId ¶
InstanceId returns the provider specific instance id for this machine, or a CodeNotProvisioned error, if not set.
func (*Machine) OpenedPorts ¶
func (m *Machine) OpenedPorts(subnetTag names.SubnetTag) (map[network.PortRange]names.UnitTag, error)
OpenedPorts returns a map of network.PortRange to unit tag for all opened port ranges on the machine for the subnet matching given subnetTag.
func (*Machine) WatchUnits ¶
func (m *Machine) WatchUnits() (watcher.StringsWatcher, error)
WatchUnits starts a StringsWatcher to watch all units assigned to the machine.
type Relation ¶
type Relation struct {
// contains filtered or unexported fields
}
Relation represents a juju relation as seen by the firewaller worker.
type Unit ¶
type Unit struct {
// contains filtered or unexported fields
}
Unit represents a juju unit as seen by a firewaller worker.
func (*Unit) Application ¶
func (u *Unit) Application() (*Application, error)
Application returns the application.
func (*Unit) AssignedMachine ¶
AssignedMachine returns the tag of this unit's assigned machine (if any), or a CodeNotAssigned error.