Documentation
¶
Index ¶
Constants ¶
const ( HealthAny = "any" HealthUnknown = "unknown" HealthPassing = "passing" HealthWarning = "warning" HealthCritical = "critical" )
ripped from https://github.com/hashicorp/consul/blob/master/consul/structs/structs.go#L31
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Dependency ¶
type Dependency interface {
Fetch(*api.Client, *api.QueryOptions) (interface{}, *api.QueryMeta, error)
HashCode() string
Key() string
Display() string
}
Dependency is an interface
type FileDependency ¶
type FileDependency struct {
// contains filtered or unexported fields
}
func ParseFileDependency ¶
func ParseFileDependency(s string) (*FileDependency, error)
func (*FileDependency) Display ¶
func (d *FileDependency) Display() string
func (*FileDependency) Fetch ¶
func (d *FileDependency) Fetch(client *api.Client, options *api.QueryOptions) (interface{}, *api.QueryMeta, error)
func (*FileDependency) HashCode ¶
func (d *FileDependency) HashCode() string
func (*FileDependency) Key ¶
func (d *FileDependency) Key() string
type KeyDependency ¶
type KeyDependency struct {
Path string
DataCenter string
// contains filtered or unexported fields
}
KeyDependency is the representation of a requested key dependency from inside a template.
func ParseKeyDependency ¶
func ParseKeyDependency(s string) (*KeyDependency, error)
ParseKeyDependency parses a string of the format a(/b(/c...))
func (*KeyDependency) Display ¶
func (d *KeyDependency) Display() string
func (*KeyDependency) Fetch ¶
func (d *KeyDependency) Fetch(client *api.Client, options *api.QueryOptions) (interface{}, *api.QueryMeta, error)
Fetch queries the Consul API defined by the given client and returns string of the value to Path.
func (*KeyDependency) HashCode ¶
func (d *KeyDependency) HashCode() string
func (*KeyDependency) Key ¶
func (d *KeyDependency) Key() string
type KeyPrefixDependency ¶
type KeyPrefixDependency struct {
Prefix string
DataCenter string
// contains filtered or unexported fields
}
KeyPrefixDependency is the representation of a requested key dependency from inside a template.
func ParseKeyPrefixDependency ¶
func ParseKeyPrefixDependency(s string) (*KeyPrefixDependency, error)
ParseKeyPrefixDependency parses a string of the format a(/b(/c...))
func (*KeyPrefixDependency) Display ¶
func (d *KeyPrefixDependency) Display() string
func (*KeyPrefixDependency) Fetch ¶
func (d *KeyPrefixDependency) Fetch(client *api.Client, options *api.QueryOptions) (interface{}, *api.QueryMeta, error)
Fetch queries the Consul API defined by the given client and returns a slice of KeyPair objects
func (*KeyPrefixDependency) HashCode ¶
func (d *KeyPrefixDependency) HashCode() string
func (*KeyPrefixDependency) Key ¶
func (d *KeyPrefixDependency) Key() string
type NodeDependency ¶ added in v0.3.0
type NodeDependency struct {
DataCenter string
// contains filtered or unexported fields
}
NodeDependency is the representation of requested nodes from Consul
func ParseNodeDependency ¶ added in v0.3.0
func ParseNodeDependency(s ...string) (*NodeDependency, error)
ParseNodeDependency parses a string of the format a(/b(/c...))
func (*NodeDependency) Display ¶ added in v0.3.0
func (d *NodeDependency) Display() string
func (*NodeDependency) Fetch ¶ added in v0.3.0
func (d *NodeDependency) Fetch(client *api.Client, options *api.QueryOptions) (interface{}, *api.QueryMeta, error)
Fetch queries the Consul API defined by the given client and returns a slice of Node objects
func (*NodeDependency) HashCode ¶ added in v0.3.0
func (d *NodeDependency) HashCode() string
func (*NodeDependency) Key ¶ added in v0.3.0
func (d *NodeDependency) Key() string
type Service ¶
type Service struct {
Node string
Address string
ID string
Name string
Tags ServiceTags
Port uint64
}
Service is a service entry in Consul
type ServiceDependency ¶
type ServiceDependency struct {
Name string
Tag string
DataCenter string
Port uint64
Status ServiceStatusFilter
// contains filtered or unexported fields
}
ServiceDependency is the representation of a requested service dependency from inside a template.
func ParseServiceDependency ¶
func ParseServiceDependency(s ...string) (*ServiceDependency, error)
ParseServiceDependency processes the incoming strings to build a service dependency.
Supported arguments
ParseServiceDependency("service_id")
ParseServiceDependency("service_id", "health_check")
Where service_id is in the format of service(.tag(@datacenter(:port))) and health_check is either "any" or "passing".
If no health_check is provided then its the same as "passing".
func (*ServiceDependency) Display ¶
func (d *ServiceDependency) Display() string
func (*ServiceDependency) Fetch ¶
func (d *ServiceDependency) Fetch(client *api.Client, options *api.QueryOptions) (interface{}, *api.QueryMeta, error)
Fetch queries the Consul API defined by the given client and returns a slice of Service objects.
func (*ServiceDependency) HashCode ¶
func (d *ServiceDependency) HashCode() string
func (*ServiceDependency) Key ¶
func (d *ServiceDependency) Key() string
type ServiceList ¶
type ServiceList []*Service
ServiceList is a sortable slice of Service
func (ServiceList) Len ¶
func (s ServiceList) Len() int
func (ServiceList) Less ¶
func (s ServiceList) Less(i, j int) bool
func (ServiceList) Swap ¶
func (s ServiceList) Swap(i, j int)
type ServiceStatusFilter ¶ added in v0.3.0
type ServiceStatusFilter []string
ServiceStatusFilter is used to specify a list of service statuses that you want filter by.
func (ServiceStatusFilter) String ¶ added in v0.3.0
func (f ServiceStatusFilter) String() string
type ServiceTags ¶ added in v0.3.0
type ServiceTags []string
ServiceTags is a slice of tags assigned to a Service
func (ServiceTags) Contains ¶ added in v0.3.0
func (t ServiceTags) Contains(s string) bool
Contains returns true if the tags exists in the ServiceTags slice.
type Wait ¶
type Wait struct {
// Min and Max are the minimum and maximum time, respectively, to wait for
// data changes before rendering a new template to disk.
Min, Max time.Duration
}
Wait is the Min/Max duration used by the Watcher
type WatchData ¶
type WatchData struct {
Dependency Dependency
Data interface{}
// contains filtered or unexported fields
}
func NewWatchData ¶
func NewWatchData(dependency Dependency) (*WatchData, error)
type Watcher ¶
type Watcher struct {
// DataCh is the chan where new WatchData will be published
DataCh chan *WatchData
// ErrCh is the chan where any errors will be published
ErrCh chan error
// FinishCh is the chan where the watcher reports it is "done"
FinishCh chan struct{}
// contains filtered or unexported fields
}
func NewWatcher ¶
func NewWatcher(client *api.Client, dependencies []Dependency) (*Watcher, error)