dependency

package
v0.7.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 19, 2015 License: MPL-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
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 CatalogNodes

type CatalogNodes struct {
	DataCenter string
	// contains filtered or unexported fields
}

func ParseCatalogNodes

func ParseCatalogNodes(s ...string) (*CatalogNodes, error)

ParseCatalogNodes parses a string of the format @dc.

func (*CatalogNodes) Display

func (d *CatalogNodes) Display() string

func (*CatalogNodes) Fetch

func (d *CatalogNodes) 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 (*CatalogNodes) HashCode

func (d *CatalogNodes) HashCode() string

type CatalogService

type CatalogService struct {
	Name string
	Tags []string
}

CatalogService is a catalog entry in Consul.

type CatalogServices

type CatalogServices struct {
	Name       string
	Tags       []string
	DataCenter string
	// contains filtered or unexported fields
}

CatalogServices is the representation of a requested catalog service dependency from inside a template.

func ParseCatalogServices

func ParseCatalogServices(s ...string) (*CatalogServices, error)

ParseCatalogServices parses a string of the format @dc.

func (*CatalogServices) Display

func (d *CatalogServices) Display() string

Display returns a string that should be displayed to the user in output (for example).

func (*CatalogServices) Fetch

func (d *CatalogServices) 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 CatalogService objects.

func (*CatalogServices) HashCode

func (d *CatalogServices) HashCode() string

HashCode returns the hash code for this dependency.

type CatalogServicesList

type CatalogServicesList []*CatalogService

CatalogServicesList is a sortable slice of CatalogService structs.

func (CatalogServicesList) Len

func (s CatalogServicesList) Len() int

func (CatalogServicesList) Less

func (s CatalogServicesList) Less(i, j int) bool

func (CatalogServicesList) Swap

func (s CatalogServicesList) Swap(i, j int)

type Datacenters added in v0.6.0

type Datacenters struct {
	// contains filtered or unexported fields
}

Datacenters is the dependency to query all datacenters

func ParseDatacenters added in v0.6.0

func ParseDatacenters(s ...string) (*Datacenters, error)

ParseDatacenters creates a new datacenter dependency.

func (*Datacenters) Display added in v0.6.0

func (d *Datacenters) Display() string

Display returns a string that should be displayed to the user in output (for example).

func (*Datacenters) Fetch added in v0.6.0

func (d *Datacenters) 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 strings representing the datacenters

func (*Datacenters) HashCode added in v0.6.0

func (d *Datacenters) HashCode() string

HashCode returns the hash code for this dependency.

type Dependency

type Dependency interface {
	Fetch(*api.Client, *api.QueryOptions) (interface{}, *api.QueryMeta, error)
	HashCode() string
	Display() string
}

Dependency is an interface for a dependency that Consul Template is capable of watching.

type File

type File struct {
	// contains filtered or unexported fields
}

func ParseFile

func ParseFile(s string) (*File, error)

func (*File) Display

func (d *File) Display() string

func (*File) Fetch

func (d *File) Fetch(client *api.Client, options *api.QueryOptions) (interface{}, *api.QueryMeta, error)

func (*File) HashCode

func (d *File) HashCode() string

type HealthService

type HealthService struct {
	Node        string
	NodeAddress string
	Address     string
	ID          string
	Name        string
	Tags        ServiceTags
	Port        uint64
}

HealthService is a service entry in Consul

type HealthServiceList

type HealthServiceList []*HealthService

HealthServiceList is a sortable slice of Service

func (HealthServiceList) Len

func (s HealthServiceList) Len() int

func (HealthServiceList) Less

func (s HealthServiceList) Less(i, j int) bool

func (HealthServiceList) Swap

func (s HealthServiceList) Swap(i, j int)

type HealthServices

type HealthServices struct {
	Name       string
	Tag        string
	DataCenter string
	Port       uint64
	Status     ServiceStatusFilter
	// contains filtered or unexported fields
}

from inside a template.

func ParseHealthServices

func ParseHealthServices(s ...string) (*HealthServices, error)

ParseHealthServices processes the incoming strings to build a service dependency.

Supported arguments

ParseHealthServices("service_id")
ParseHealthServices("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 (*HealthServices) Display

func (d *HealthServices) Display() string

func (*HealthServices) Fetch

func (d *HealthServices) 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 HealthService objects.

func (*HealthServices) HashCode

func (d *HealthServices) HashCode() string

type KeyPair

type KeyPair struct {
	Path  string
	Key   string
	Value string
}

KeyPair is a simple Key-Value pair

type Node

type Node struct {
	Node    string
	Address string
}

Node is a node entry in Consul

type ServiceStatusFilter

type ServiceStatusFilter []string

ServiceStatusFilter is used to specify a list of service statuses that you want filter by.

func (ServiceStatusFilter) String

func (f ServiceStatusFilter) String() string

type ServiceTags

type ServiceTags []string

ServiceTags is a slice of tags assigned to a Service

func (ServiceTags) Contains

func (t ServiceTags) Contains(s string) bool

Contains returns true if the tags exists in the ServiceTags slice.

type StoreKey

type StoreKey struct {
	Path       string
	DataCenter string
	// contains filtered or unexported fields
}

from inside a template.

func ParseStoreKey

func ParseStoreKey(s string) (*StoreKey, error)

ParseStoreKey parses a string of the format a(/b(/c...))

func (*StoreKey) Display

func (d *StoreKey) Display() string

func (*StoreKey) Fetch

func (d *StoreKey) 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 (*StoreKey) HashCode

func (d *StoreKey) HashCode() string

type StoreKeyPrefix

type StoreKeyPrefix struct {
	Prefix     string
	DataCenter string
	// contains filtered or unexported fields
}

StoreKeyPrefix is the representation of a requested key dependency from inside a template.

func ParseStoreKeyPrefix

func ParseStoreKeyPrefix(s string) (*StoreKeyPrefix, error)

ParseStoreKeyPrefix parses a string of the format a(/b(/c...))

func (*StoreKeyPrefix) Display

func (d *StoreKeyPrefix) Display() string

func (*StoreKeyPrefix) Fetch

func (d *StoreKeyPrefix) 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 (*StoreKeyPrefix) HashCode

func (d *StoreKeyPrefix) HashCode() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL