Documentation
¶
Index ¶
- Constants
- Variables
- type ACLPolicies
- func (a *ACLPolicies) Delete(policyName string, q *WriteOptions) (*WriteMeta, error)
- func (a *ACLPolicies) Info(policyName string, q *QueryOptions) (*ACLPolicy, *QueryMeta, error)
- func (a *ACLPolicies) List(q *QueryOptions) ([]*ACLPolicyListStub, *QueryMeta, error)
- func (a *ACLPolicies) Upsert(policy *ACLPolicy, q *WriteOptions) (*WriteMeta, error)
- type ACLPolicy
- type ACLPolicyListStub
- type ACLToken
- type ACLTokenListStub
- type ACLTokens
- func (a *ACLTokens) Bootstrap(q *WriteOptions) (*ACLToken, *WriteMeta, error)
- func (a *ACLTokens) Create(token *ACLToken, q *WriteOptions) (*ACLToken, *WriteMeta, error)
- func (a *ACLTokens) Delete(accessorID string, q *WriteOptions) (*WriteMeta, error)
- func (a *ACLTokens) Info(accessorID string, q *QueryOptions) (*ACLToken, *QueryMeta, error)
- func (a *ACLTokens) List(q *QueryOptions) ([]*ACLTokenListStub, *QueryMeta, error)
- func (a *ACLTokens) Self(q *QueryOptions) (*ACLToken, *QueryMeta, error)
- func (a *ACLTokens) Update(token *ACLToken, q *WriteOptions) (*ACLToken, *WriteMeta, error)
- type Agent
- func (a *Agent) Datacenter() (string, error)
- func (a *Agent) ForceLeave(node string) error
- func (a *Agent) Health() (*AgentHealthResponse, error)
- func (a *Agent) InstallKey(key string) (*KeyringResponse, error)
- func (a *Agent) Join(addrs ...string) (int, error)
- func (a *Agent) ListKeys() (*KeyringResponse, error)
- func (a *Agent) Members() (*ServerMembers, error)
- func (a *Agent) NodeName() (string, error)
- func (a *Agent) Region() (string, error)
- func (a *Agent) RemoveKey(key string) (*KeyringResponse, error)
- func (a *Agent) Self() (*AgentSelf, error)
- func (a *Agent) Servers() ([]string, error)
- func (a *Agent) SetServers(addrs []string) error
- func (a *Agent) UseKey(key string) (*KeyringResponse, error)
- type AgentHealth
- type AgentHealthResponse
- type AgentMember
- type AgentMembersNameSort
- type AgentSelf
- type AllocDeploymentStatus
- type AllocFS
- func (a *AllocFS) Cat(alloc *Allocation, path string, q *QueryOptions) (io.ReadCloser, error)
- func (a *AllocFS) List(alloc *Allocation, path string, q *QueryOptions) ([]*AllocFileInfo, *QueryMeta, error)
- func (a *AllocFS) Logs(alloc *Allocation, follow bool, task, logType, origin string, offset int64, ...) (<-chan *StreamFrame, <-chan error)
- func (a *AllocFS) ReadAt(alloc *Allocation, path string, offset int64, limit int64, q *QueryOptions) (io.ReadCloser, error)
- func (a *AllocFS) Stat(alloc *Allocation, path string, q *QueryOptions) (*AllocFileInfo, *QueryMeta, error)
- func (a *AllocFS) Stream(alloc *Allocation, path, origin string, offset int64, cancel <-chan struct{}, ...) (<-chan *StreamFrame, <-chan error)
- type AllocFileInfo
- type AllocIndexSort
- type AllocResourceUsage
- type Allocation
- type AllocationListStub
- type AllocationMetric
- type AllocationSort
- type Allocations
- func (a *Allocations) GC(alloc *Allocation, q *QueryOptions) error
- func (a *Allocations) Info(allocID string, q *QueryOptions) (*Allocation, *QueryMeta, error)
- func (a *Allocations) List(q *QueryOptions) ([]*AllocationListStub, *QueryMeta, error)
- func (a *Allocations) PrefixList(prefix string) ([]*AllocationListStub, *QueryMeta, error)
- func (a *Allocations) Stats(alloc *Allocation, q *QueryOptions) (*AllocResourceUsage, error)
- type CheckRestart
- type Client
- func (c *Client) ACLPolicies() *ACLPolicies
- func (c *Client) ACLTokens() *ACLTokens
- func (c *Client) Address() string
- func (c *Client) Agent() *Agent
- func (c *Client) AllocFS() *AllocFS
- func (c *Client) Allocations() *Allocations
- func (c *Client) Deployments() *Deployments
- func (c *Client) Evaluations() *Evaluations
- func (c *Client) GetNodeClient(nodeID string, q *QueryOptions) (*Client, error)
- func (c *Client) Jobs() *Jobs
- func (c *Client) Namespaces() *Namespaces
- func (c *Client) Nodes() *Nodes
- func (c *Client) Operator() *Operator
- func (c *Client) Quotas() *Quotas
- func (c *Client) Raw() *Raw
- func (c *Client) Regions() *Regions
- func (c *Client) Search() *Search
- func (c *Client) SentinelPolicies() *SentinelPolicies
- func (c *Client) SetNamespace(namespace string)
- func (c *Client) SetRegion(region string)
- func (c *Client) SetSecretID(secretID string)
- func (c *Client) Status() *Status
- func (c *Client) System() *System
- type Config
- type Constraint
- type CpuStats
- type Deployment
- type DeploymentAllocHealthRequest
- type DeploymentFailRequest
- type DeploymentIndexSort
- type DeploymentPauseRequest
- type DeploymentPromoteRequest
- type DeploymentSpecificRequest
- type DeploymentState
- type DeploymentUpdateResponse
- type Deployments
- func (d *Deployments) Allocations(deploymentID string, q *QueryOptions) ([]*AllocationListStub, *QueryMeta, error)
- func (d *Deployments) Fail(deploymentID string, q *WriteOptions) (*DeploymentUpdateResponse, *WriteMeta, error)
- func (d *Deployments) Info(deploymentID string, q *QueryOptions) (*Deployment, *QueryMeta, error)
- func (d *Deployments) List(q *QueryOptions) ([]*Deployment, *QueryMeta, error)
- func (d *Deployments) Pause(deploymentID string, pause bool, q *WriteOptions) (*DeploymentUpdateResponse, *WriteMeta, error)
- func (d *Deployments) PrefixList(prefix string) ([]*Deployment, *QueryMeta, error)
- func (d *Deployments) PromoteAll(deploymentID string, q *WriteOptions) (*DeploymentUpdateResponse, *WriteMeta, error)
- func (d *Deployments) PromoteGroups(deploymentID string, groups []string, q *WriteOptions) (*DeploymentUpdateResponse, *WriteMeta, error)
- func (d *Deployments) SetAllocHealth(deploymentID string, healthy, unhealthy []string, q *WriteOptions) (*DeploymentUpdateResponse, *WriteMeta, error)
- type DesiredUpdates
- type DispatchPayloadConfig
- type EphemeralDisk
- type EvalIndexSort
- type Evaluation
- type Evaluations
- func (e *Evaluations) Allocations(evalID string, q *QueryOptions) ([]*AllocationListStub, *QueryMeta, error)
- func (e *Evaluations) Info(evalID string, q *QueryOptions) (*Evaluation, *QueryMeta, error)
- func (e *Evaluations) List(q *QueryOptions) ([]*Evaluation, *QueryMeta, error)
- func (e *Evaluations) PrefixList(prefix string) ([]*Evaluation, *QueryMeta, error)
- type FieldDiff
- type FrameReader
- type HostCPUStats
- type HostDiskStats
- type HostMemoryStats
- type HostStats
- type HttpBasicAuth
- type Job
- func (j *Job) AddDatacenter(dc string) *Job
- func (j *Job) AddPeriodicConfig(cfg *PeriodicConfig) *Job
- func (j *Job) AddTaskGroup(grp *TaskGroup) *Job
- func (j *Job) Canonicalize()
- func (j *Job) Constrain(c *Constraint) *Job
- func (j *Job) IsParameterized() bool
- func (j *Job) IsPeriodic() bool
- func (j *Job) SetMeta(key, val string) *Job
- type JobChildrenSummary
- type JobDeregisterResponse
- type JobDiff
- type JobDispatchRequest
- type JobDispatchResponse
- type JobIDSort
- type JobListStub
- type JobPlanRequest
- type JobPlanResponse
- type JobRegisterRequest
- type JobRegisterResponse
- type JobRevertRequest
- type JobStabilityRequest
- type JobStabilityResponse
- type JobSummary
- type JobValidateRequest
- type JobValidateResponse
- type JobVersionsResponse
- type Jobs
- func (j *Jobs) Allocations(jobID string, allAllocs bool, q *QueryOptions) ([]*AllocationListStub, *QueryMeta, error)
- func (j *Jobs) Deployments(jobID string, q *QueryOptions) ([]*Deployment, *QueryMeta, error)
- func (j *Jobs) Deregister(jobID string, purge bool, q *WriteOptions) (string, *WriteMeta, error)
- func (j *Jobs) Dispatch(jobID string, meta map[string]string, payload []byte, q *WriteOptions) (*JobDispatchResponse, *WriteMeta, error)
- func (j *Jobs) EnforceRegister(job *Job, modifyIndex uint64, q *WriteOptions) (*JobRegisterResponse, *WriteMeta, error)
- func (j *Jobs) Evaluations(jobID string, q *QueryOptions) ([]*Evaluation, *QueryMeta, error)
- func (j *Jobs) ForceEvaluate(jobID string, q *WriteOptions) (string, *WriteMeta, error)
- func (j *Jobs) Info(jobID string, q *QueryOptions) (*Job, *QueryMeta, error)
- func (j *Jobs) LatestDeployment(jobID string, q *QueryOptions) (*Deployment, *QueryMeta, error)
- func (j *Jobs) List(q *QueryOptions) ([]*JobListStub, *QueryMeta, error)
- func (j *Jobs) PeriodicForce(jobID string, q *WriteOptions) (string, *WriteMeta, error)
- func (j *Jobs) Plan(job *Job, diff bool, q *WriteOptions) (*JobPlanResponse, *WriteMeta, error)
- func (j *Jobs) PlanOpts(job *Job, opts *PlanOptions, q *WriteOptions) (*JobPlanResponse, *WriteMeta, error)
- func (j *Jobs) PrefixList(prefix string) ([]*JobListStub, *QueryMeta, error)
- func (j *Jobs) Register(job *Job, q *WriteOptions) (*JobRegisterResponse, *WriteMeta, error)
- func (j *Jobs) RegisterOpts(job *Job, opts *RegisterOptions, q *WriteOptions) (*JobRegisterResponse, *WriteMeta, error)
- func (j *Jobs) Revert(jobID string, version uint64, enforcePriorVersion *uint64, q *WriteOptions) (*JobRegisterResponse, *WriteMeta, error)
- func (j *Jobs) Stable(jobID string, version uint64, stable bool, q *WriteOptions) (*JobStabilityResponse, *WriteMeta, error)
- func (j *Jobs) Summary(jobID string, q *QueryOptions) (*JobSummary, *QueryMeta, error)
- func (j *Jobs) Validate(job *Job, q *WriteOptions) (*JobValidateResponse, *WriteMeta, error)
- func (j *Jobs) Versions(jobID string, diffs bool, q *QueryOptions) ([]*Job, []*JobDiff, *QueryMeta, error)
- type KeyringRequest
- type KeyringResponse
- type LogConfig
- type MemoryStats
- type Namespace
- type NamespaceIndexSort
- type Namespaces
- func (n *Namespaces) Delete(namespace string, q *WriteOptions) (*WriteMeta, error)
- func (n *Namespaces) Info(name string, q *QueryOptions) (*Namespace, *QueryMeta, error)
- func (n *Namespaces) List(q *QueryOptions) ([]*Namespace, *QueryMeta, error)
- func (n *Namespaces) PrefixList(prefix string, q *QueryOptions) ([]*Namespace, *QueryMeta, error)
- func (n *Namespaces) Register(namespace *Namespace, q *WriteOptions) (*WriteMeta, error)
- type NetworkResource
- type Node
- type NodeIndexSort
- type NodeListStub
- type Nodes
- func (n *Nodes) Allocations(nodeID string, q *QueryOptions) ([]*Allocation, *QueryMeta, error)
- func (n *Nodes) ForceEvaluate(nodeID string, q *WriteOptions) (string, *WriteMeta, error)
- func (n *Nodes) GC(nodeID string, q *QueryOptions) error
- func (n *Nodes) Info(nodeID string, q *QueryOptions) (*Node, *QueryMeta, error)
- func (n *Nodes) List(q *QueryOptions) ([]*NodeListStub, *QueryMeta, error)
- func (n *Nodes) PrefixList(prefix string) ([]*NodeListStub, *QueryMeta, error)
- func (n *Nodes) Stats(nodeID string, q *QueryOptions) (*HostStats, error)
- func (n *Nodes) ToggleDrain(nodeID string, drain bool, q *WriteOptions) (*WriteMeta, error)
- type ObjectDiff
- type Operator
- type ParameterizedJobConfig
- type PeriodicConfig
- type PlanAnnotations
- type PlanOptions
- type Port
- type QueryMeta
- type QueryOptions
- type QuotaLimit
- type QuotaLimitSort
- type QuotaSpec
- type QuotaSpecIndexSort
- type QuotaUsage
- type QuotaUsageIndexSort
- type Quotas
- func (q *Quotas) Delete(quota string, qo *WriteOptions) (*WriteMeta, error)
- func (q *Quotas) Info(name string, qo *QueryOptions) (*QuotaSpec, *QueryMeta, error)
- func (q *Quotas) List(qo *QueryOptions) ([]*QuotaSpec, *QueryMeta, error)
- func (q *Quotas) ListUsage(qo *QueryOptions) ([]*QuotaUsage, *QueryMeta, error)
- func (q *Quotas) PrefixList(prefix string, qo *QueryOptions) ([]*QuotaSpec, *QueryMeta, error)
- func (q *Quotas) PrefixListUsage(prefix string, qo *QueryOptions) ([]*QuotaUsage, *QueryMeta, error)
- func (q *Quotas) Register(spec *QuotaSpec, qo *WriteOptions) (*WriteMeta, error)
- func (q *Quotas) Usage(name string, qo *QueryOptions) (*QuotaUsage, *QueryMeta, error)
- type RaftConfiguration
- type RaftServer
- type Raw
- func (raw *Raw) Delete(endpoint string, out interface{}, q *WriteOptions) (*WriteMeta, error)
- func (raw *Raw) Query(endpoint string, out interface{}, q *QueryOptions) (*QueryMeta, error)
- func (raw *Raw) Response(endpoint string, q *QueryOptions) (io.ReadCloser, error)
- func (raw *Raw) Write(endpoint string, in, out interface{}, q *WriteOptions) (*WriteMeta, error)
- type Regions
- type RegisterJobRequest
- type RegisterOptions
- type ResourceUsage
- type Resources
- type RestartPolicy
- type Search
- type SearchRequest
- type SearchResponse
- type SentinelPolicies
- func (a *SentinelPolicies) Delete(policyName string, q *WriteOptions) (*WriteMeta, error)
- func (a *SentinelPolicies) Info(policyName string, q *QueryOptions) (*SentinelPolicy, *QueryMeta, error)
- func (a *SentinelPolicies) List(q *QueryOptions) ([]*SentinelPolicyListStub, *QueryMeta, error)
- func (a *SentinelPolicies) Upsert(policy *SentinelPolicy, q *WriteOptions) (*WriteMeta, error)
- type SentinelPolicy
- type SentinelPolicyListStub
- type ServerMembers
- type Service
- type ServiceCheck
- type SingleDeploymentResponse
- type Status
- type StreamFrame
- type System
- type TLSConfig
- type Task
- type TaskArtifact
- type TaskDiff
- type TaskEvent
- type TaskGroup
- type TaskGroupDiff
- type TaskGroupSummary
- type TaskResourceUsage
- type TaskState
- type Template
- type UpdateStrategy
- type Vault
- type WriteMeta
- type WriteOptions
- type WriteRequest
Constants ¶
const ( // OriginStart and OriginEnd are the available parameters for the origin // argument when streaming a file. They respectively offset from the start // and end of a file. OriginStart = "start" OriginEnd = "end" )
const ( // JobTypeService indicates a long-running processes JobTypeService = "service" // JobTypeBatch indicates a short-lived process JobTypeBatch = "batch" // PeriodicSpecCron is used for a cron spec. PeriodicSpecCron = "cron" // DefaultNamespace is the default namespace. DefaultNamespace = "default" )
const ( TaskSetup = "Task Setup" TaskSetupFailure = "Setup Failure" TaskDriverFailure = "Driver Failure" TaskDriverMessage = "Driver" TaskReceived = "Received" TaskFailedValidation = "Failed Validation" TaskStarted = "Started" TaskTerminated = "Terminated" TaskKilling = "Killing" TaskKilled = "Killed" TaskRestarting = "Restarting" TaskNotRestarting = "Not Restarting" TaskDownloadingArtifacts = "Downloading Artifacts" TaskArtifactDownloadFailed = "Failed Artifact Download" TaskSiblingFailed = "Sibling Task Failed" TaskSignaling = "Signaling" TaskRestartSignal = "Restart Signaled" TaskLeaderDead = "Leader Task Dead" TaskBuildingTaskDir = "Building Task Directory" TaskGenericMessage = "Generic" )
const ( // RegisterEnforceIndexErrPrefix is the prefix to use in errors caused by // enforcing the job modify index during registers. RegisterEnforceIndexErrPrefix = "Enforcing job modify index" )
Variables ¶
var ( // NodeDownErr marks an operation as not able to complete since the node is // down. NodeDownErr = fmt.Errorf("node down") )
Functions ¶
This section is empty.
Types ¶
type ACLPolicies ¶ added in v0.7.0
type ACLPolicies struct {
// contains filtered or unexported fields
}
ACLPolicies is used to query the ACL Policy endpoints.
func (*ACLPolicies) Delete ¶ added in v0.7.0
func (a *ACLPolicies) Delete(policyName string, q *WriteOptions) (*WriteMeta, error)
Delete is used to delete a policy
func (*ACLPolicies) Info ¶ added in v0.7.0
func (a *ACLPolicies) Info(policyName string, q *QueryOptions) (*ACLPolicy, *QueryMeta, error)
Info is used to query a specific policy
func (*ACLPolicies) List ¶ added in v0.7.0
func (a *ACLPolicies) List(q *QueryOptions) ([]*ACLPolicyListStub, *QueryMeta, error)
List is used to dump all of the policies.
func (*ACLPolicies) Upsert ¶ added in v0.7.0
func (a *ACLPolicies) Upsert(policy *ACLPolicy, q *WriteOptions) (*WriteMeta, error)
Upsert is used to create or update a policy
type ACLPolicy ¶ added in v0.7.0
type ACLPolicy struct {
Name string
Description string
Rules string
CreateIndex uint64
ModifyIndex uint64
}
ACLPolicy is used to represent an ACL policy
type ACLPolicyListStub ¶ added in v0.7.0
type ACLPolicyListStub struct {
Name string
Description string
CreateIndex uint64
ModifyIndex uint64
}
ACLPolicyListStub is used to for listing ACL policies
type ACLToken ¶ added in v0.7.0
type ACLToken struct {
AccessorID string
SecretID string
Name string
Type string
Policies []string
Global bool
CreateTime time.Time
CreateIndex uint64
ModifyIndex uint64
}
ACLToken represents a client token which is used to Authenticate
type ACLTokenListStub ¶ added in v0.7.0
type ACLTokens ¶ added in v0.7.0
type ACLTokens struct {
// contains filtered or unexported fields
}
ACLTokens is used to query the ACL token endpoints.
func (*ACLTokens) Bootstrap ¶ added in v0.7.0
func (a *ACLTokens) Bootstrap(q *WriteOptions) (*ACLToken, *WriteMeta, error)
Bootstrap is used to get the initial bootstrap token
func (*ACLTokens) Delete ¶ added in v0.7.0
func (a *ACLTokens) Delete(accessorID string, q *WriteOptions) (*WriteMeta, error)
Delete is used to delete a token
func (*ACLTokens) List ¶ added in v0.7.0
func (a *ACLTokens) List(q *QueryOptions) ([]*ACLTokenListStub, *QueryMeta, error)
List is used to dump all of the tokens.
type Agent ¶
type Agent struct {
// contains filtered or unexported fields
}
Agent encapsulates an API client which talks to Nomad's agent endpoints for a specific node.
func (*Agent) Datacenter ¶
Datacenter is used to return the name of the datacenter which the agent is a member of.
func (*Agent) ForceLeave ¶
ForceLeave is used to eject an existing node from the cluster.
func (*Agent) Health ¶ added in v0.7.0
func (a *Agent) Health() (*AgentHealthResponse, error)
Health queries the agent's health
func (*Agent) InstallKey ¶ added in v0.5.0
func (a *Agent) InstallKey(key string) (*KeyringResponse, error)
InstallKey installs a key in the keyrings of all the serf members
func (*Agent) Join ¶
Join is used to instruct a server node to join another server via the gossip protocol. Multiple addresses may be specified. We attempt to join all of the hosts in the list. Returns the number of nodes successfully joined and any error. If one or more nodes have a successful result, no error is returned.
func (*Agent) ListKeys ¶ added in v0.5.0
func (a *Agent) ListKeys() (*KeyringResponse, error)
ListKeys returns the list of installed keys
func (*Agent) Members ¶
func (a *Agent) Members() (*ServerMembers, error)
Members is used to query all of the known server members
func (*Agent) RemoveKey ¶ added in v0.5.0
func (a *Agent) RemoveKey(key string) (*KeyringResponse, error)
RemoveKey removes a particular key from keyrings of serf members
func (*Agent) Self ¶
Self is used to query the /v1/agent/self endpoint and returns information specific to the running agent.
func (*Agent) SetServers ¶
SetServers is used to update the list of servers on a client node.
type AgentHealth ¶ added in v0.7.0
type AgentHealth struct {
// Ok is false if the agent is unhealthy
Ok bool `json:"ok"`
// Message describes why the agent is unhealthy
Message string `json:"message"`
}
AgentHealth describes the Client or Server's health in a Health request.
type AgentHealthResponse ¶ added in v0.7.0
type AgentHealthResponse struct {
Client *AgentHealth `json:"client,omitempty"`
Server *AgentHealth `json:"server,omitempty"`
}
AgentHealthResponse is the response from the Health endpoint desecribing an agent's health.
type AgentMember ¶
type AgentMember struct {
Name string
Addr string
Port uint16
Tags map[string]string
Status string
ProtocolMin uint8
ProtocolMax uint8
ProtocolCur uint8
DelegateMin uint8
DelegateMax uint8
DelegateCur uint8
}
AgentMember represents a cluster member known to the agent
type AgentMembersNameSort ¶ added in v0.2.0
type AgentMembersNameSort []*AgentMember
AgentMembersNameSort implements sort.Interface for []*AgentMembersNameSort based on the Name, DC and Region
func (AgentMembersNameSort) Len ¶ added in v0.2.0
func (a AgentMembersNameSort) Len() int
func (AgentMembersNameSort) Less ¶ added in v0.2.0
func (a AgentMembersNameSort) Less(i, j int) bool
func (AgentMembersNameSort) Swap ¶ added in v0.2.0
func (a AgentMembersNameSort) Swap(i, j int)
type AgentSelf ¶ added in v0.5.5
type AgentSelf struct {
Config map[string]interface{} `json:"config"`
Member AgentMember `json:"member"`
Stats map[string]map[string]string `json:"stats"`
}
type AllocDeploymentStatus ¶ added in v0.6.0
AllocDeploymentStatus captures the status of the allocation as part of the deployment. This can include things like if the allocation has been marked as heatlhy.
type AllocFS ¶ added in v0.3.0
type AllocFS struct {
// contains filtered or unexported fields
}
AllocFS is used to introspect an allocation directory on a Nomad client
func (*AllocFS) Cat ¶ added in v0.3.2
func (a *AllocFS) Cat(alloc *Allocation, path string, q *QueryOptions) (io.ReadCloser, error)
Cat is used to read contents of a file at the given path in an allocation directory
func (*AllocFS) List ¶ added in v0.3.0
func (a *AllocFS) List(alloc *Allocation, path string, q *QueryOptions) ([]*AllocFileInfo, *QueryMeta, error)
List is used to list the files at a given path of an allocation directory
func (*AllocFS) Logs ¶ added in v0.4.1
func (a *AllocFS) Logs(alloc *Allocation, follow bool, task, logType, origin string, offset int64, cancel <-chan struct{}, q *QueryOptions) (<-chan *StreamFrame, <-chan error)
Logs streams the content of a tasks logs blocking on EOF. The parameters are: * allocation: the allocation to stream from. * follow: Whether the logs should be followed. * task: the tasks name to stream logs for. * logType: Either "stdout" or "stderr" * origin: Either "start" or "end" and defines from where the offset is applied. * offset: The offset to start streaming data at. * cancel: A channel that when closed, streaming will end.
The return value is a channel that will emit StreamFrames as they are read.
func (*AllocFS) ReadAt ¶ added in v0.3.0
func (a *AllocFS) ReadAt(alloc *Allocation, path string, offset int64, limit int64, q *QueryOptions) (io.ReadCloser, error)
ReadAt is used to read bytes at a given offset until limit at the given path in an allocation directory. If limit is <= 0, there is no limit.
func (*AllocFS) Stat ¶ added in v0.3.0
func (a *AllocFS) Stat(alloc *Allocation, path string, q *QueryOptions) (*AllocFileInfo, *QueryMeta, error)
Stat is used to stat a file at a given path of an allocation directory
func (*AllocFS) Stream ¶ added in v0.4.1
func (a *AllocFS) Stream(alloc *Allocation, path, origin string, offset int64, cancel <-chan struct{}, q *QueryOptions) (<-chan *StreamFrame, <-chan error)
Stream streams the content of a file blocking on EOF. The parameters are: * path: path to file to stream. * offset: The offset to start streaming data at. * origin: Either "start" or "end" and defines from where the offset is applied. * cancel: A channel that when closed, streaming will end.
The return value is a channel that will emit StreamFrames as they are read.
type AllocFileInfo ¶ added in v0.3.0
AllocFileInfo holds information about a file inside the AllocDir
type AllocIndexSort ¶
type AllocIndexSort []*AllocationListStub
AllocIndexSort reverse sorts allocs by CreateIndex.
func (AllocIndexSort) Len ¶
func (a AllocIndexSort) Len() int
func (AllocIndexSort) Less ¶
func (a AllocIndexSort) Less(i, j int) bool
func (AllocIndexSort) Swap ¶
func (a AllocIndexSort) Swap(i, j int)
type AllocResourceUsage ¶ added in v0.4.0
type AllocResourceUsage struct {
ResourceUsage *ResourceUsage
Tasks map[string]*TaskResourceUsage
Timestamp int64
}
AllocResourceUsage holds the aggregated task resource usage of the allocation.
type Allocation ¶
type Allocation struct {
ID string
Namespace string
EvalID string
Name string
NodeID string
JobID string
Job *Job
TaskGroup string
Resources *Resources
TaskResources map[string]*Resources
Services map[string]string
Metrics *AllocationMetric
DesiredStatus string
DesiredDescription string
ClientStatus string
ClientDescription string
TaskStates map[string]*TaskState
DeploymentID string
DeploymentStatus *AllocDeploymentStatus
PreviousAllocation string
CreateIndex uint64
ModifyIndex uint64
AllocModifyIndex uint64
CreateTime int64
}
Allocation is used for serialization of allocations.
type AllocationListStub ¶
type AllocationListStub struct {
ID string
EvalID string
Name string
NodeID string
JobID string
JobVersion uint64
TaskGroup string
DesiredStatus string
DesiredDescription string
ClientStatus string
ClientDescription string
TaskStates map[string]*TaskState
DeploymentStatus *AllocDeploymentStatus
CreateIndex uint64
ModifyIndex uint64
CreateTime int64
}
AllocationListStub is used to return a subset of an allocation during list operations.
type AllocationMetric ¶
type AllocationMetric struct {
NodesEvaluated int
NodesFiltered int
NodesAvailable map[string]int
ClassFiltered map[string]int
ConstraintFiltered map[string]int
NodesExhausted int
ClassExhausted map[string]int
DimensionExhausted map[string]int
QuotaExhausted []string
Scores map[string]float64
AllocationTime time.Duration
CoalescedFailures int
}
AllocationMetric is used to deserialize allocation metrics.
type AllocationSort ¶ added in v0.2.0
type AllocationSort []*Allocation
AllocationSort reverse sorts allocs by CreateIndex.
func (AllocationSort) Len ¶ added in v0.2.0
func (a AllocationSort) Len() int
func (AllocationSort) Less ¶ added in v0.2.0
func (a AllocationSort) Less(i, j int) bool
func (AllocationSort) Swap ¶ added in v0.2.0
func (a AllocationSort) Swap(i, j int)
type Allocations ¶
type Allocations struct {
// contains filtered or unexported fields
}
Allocations is used to query the alloc-related endpoints.
func (*Allocations) GC ¶ added in v0.5.3
func (a *Allocations) GC(alloc *Allocation, q *QueryOptions) error
func (*Allocations) Info ¶
func (a *Allocations) Info(allocID string, q *QueryOptions) (*Allocation, *QueryMeta, error)
Info is used to retrieve a single allocation.
func (*Allocations) List ¶
func (a *Allocations) List(q *QueryOptions) ([]*AllocationListStub, *QueryMeta, error)
List returns a list of all of the allocations.
func (*Allocations) PrefixList ¶ added in v0.3.0
func (a *Allocations) PrefixList(prefix string) ([]*AllocationListStub, *QueryMeta, error)
func (*Allocations) Stats ¶ added in v0.4.0
func (a *Allocations) Stats(alloc *Allocation, q *QueryOptions) (*AllocResourceUsage, error)
type CheckRestart ¶ added in v0.7.0
type CheckRestart struct {
Limit int `mapstructure:"limit"`
Grace *time.Duration `mapstructure:"grace"`
IgnoreWarnings bool `mapstructure:"ignore_warnings"`
}
CheckRestart describes if and when a task should be restarted based on failing health checks.
func (*CheckRestart) Canonicalize ¶ added in v0.7.0
func (c *CheckRestart) Canonicalize()
Canonicalize CheckRestart fields if not nil.
func (*CheckRestart) Copy ¶ added in v0.7.0
func (c *CheckRestart) Copy() *CheckRestart
Copy returns a copy of CheckRestart or nil if unset.
func (*CheckRestart) Merge ¶ added in v0.7.0
func (c *CheckRestart) Merge(o *CheckRestart) *CheckRestart
Merge values from other CheckRestart over default values on this CheckRestart and return merged copy.
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client provides a client to the Nomad API
func (*Client) ACLPolicies ¶ added in v0.7.0
func (c *Client) ACLPolicies() *ACLPolicies
ACLPolicies returns a new handle on the ACL policies.
func (*Client) Agent ¶
Agent returns a new agent which can be used to query the agent-specific endpoints.
func (*Client) Allocations ¶
func (c *Client) Allocations() *Allocations
Allocations returns a handle on the allocs endpoints.
func (*Client) Deployments ¶ added in v0.6.0
func (c *Client) Deployments() *Deployments
Deployments returns a new handle on the deployments.
func (*Client) Evaluations ¶
func (c *Client) Evaluations() *Evaluations
Evaluations returns a new handle on the evaluations.
func (*Client) GetNodeClient ¶ added in v0.6.1
func (c *Client) GetNodeClient(nodeID string, q *QueryOptions) (*Client, error)
GetNodeClient returns a new Client that will dial the specified node. If the QueryOptions is set, its region will be used.
func (*Client) Namespaces ¶ added in v0.7.0
func (c *Client) Namespaces() *Namespaces
Namespaces returns a new handle on the namespaces.
func (*Client) SentinelPolicies ¶ added in v0.7.0
func (c *Client) SentinelPolicies() *SentinelPolicies
SentinelPolicies returns a new handle on the Sentinel policies.
func (*Client) SetNamespace ¶ added in v0.7.0
SetNamespace sets the namespace to forward API requests to.
func (*Client) SetSecretID ¶ added in v0.7.0
SetSecretID sets the ACL token secret for API requests.
type Config ¶
type Config struct {
// Address is the address of the Nomad agent
Address string
// Region to use. If not provided, the default agent region is used.
Region string
// SecretID to use. This can be overwritten per request.
SecretID string
// Namespace to use. If not provided the default namespace is used.
Namespace string
// HttpAuth is the auth info to use for http access.
HttpAuth *HttpBasicAuth
// WaitTime limits how long a Watch will block. If not provided,
// the agent default values will be used.
WaitTime time.Duration
// TLSConfig provides the various TLS related configurations for the http
// client
TLSConfig *TLSConfig
// contains filtered or unexported fields
}
Config is used to configure the creation of a client
func DefaultConfig ¶
func DefaultConfig() *Config
DefaultConfig returns a default configuration for the client
func (*Config) ClientConfig ¶ added in v0.6.1
ClientConfig copies the configuration with a new client address, region, and whether the client has TLS enabled.
func (*Config) ConfigureTLS ¶ added in v0.5.0
ConfigureTLS applies a set of TLS configurations to the the HTTP client.
type Constraint ¶
Constraint is used to serialize a job placement constraint.
func NewConstraint ¶ added in v0.2.0
func NewConstraint(left, operand, right string) *Constraint
NewConstraint generates a new job placement constraint.
type CpuStats ¶ added in v0.4.0
type CpuStats struct {
SystemMode float64
UserMode float64
TotalTicks float64
ThrottledPeriods uint64
ThrottledTime uint64
Percent float64
Measured []string
}
CpuStats holds cpu usage related stats
type Deployment ¶ added in v0.6.0
type Deployment struct {
ID string
Namespace string
JobID string
JobVersion uint64
JobModifyIndex uint64
JobCreateIndex uint64
TaskGroups map[string]*DeploymentState
Status string
StatusDescription string
CreateIndex uint64
ModifyIndex uint64
}
Deployment is used to serialize an deployment.
type DeploymentAllocHealthRequest ¶ added in v0.6.0
type DeploymentAllocHealthRequest struct {
DeploymentID string
// Marks these allocations as healthy, allow further allocations
// to be rolled.
HealthyAllocationIDs []string
// Any unhealthy allocations fail the deployment
UnhealthyAllocationIDs []string
WriteRequest
}
DeploymentAllocHealthRequest is used to set the health of a set of allocations as part of a deployment.
type DeploymentFailRequest ¶ added in v0.6.0
type DeploymentFailRequest struct {
DeploymentID string
WriteRequest
}
DeploymentFailRequest is used to fail a particular deployment
type DeploymentIndexSort ¶ added in v0.6.0
type DeploymentIndexSort []*Deployment
DeploymentIndexSort is a wrapper to sort deployments by CreateIndex. We reverse the test so that we get the highest index first.
func (DeploymentIndexSort) Len ¶ added in v0.6.0
func (d DeploymentIndexSort) Len() int
func (DeploymentIndexSort) Less ¶ added in v0.6.0
func (d DeploymentIndexSort) Less(i, j int) bool
func (DeploymentIndexSort) Swap ¶ added in v0.6.0
func (d DeploymentIndexSort) Swap(i, j int)
type DeploymentPauseRequest ¶ added in v0.6.0
type DeploymentPauseRequest struct {
DeploymentID string
// Pause sets the pause status
Pause bool
WriteRequest
}
DeploymentPauseRequest is used to pause a deployment
type DeploymentPromoteRequest ¶ added in v0.6.0
type DeploymentPromoteRequest struct {
DeploymentID string
// All is to promote all task groups
All bool
// Groups is used to set the promotion status per task group
Groups []string
WriteRequest
}
DeploymentPromoteRequest is used to promote task groups in a deployment
type DeploymentSpecificRequest ¶ added in v0.6.0
type DeploymentSpecificRequest struct {
DeploymentID string
QueryOptions
}
DeploymentSpecificRequest is used to make a request specific to a particular deployment
type DeploymentState ¶ added in v0.6.0
type DeploymentState struct {
PlacedCanaries []string
AutoRevert bool
Promoted bool
DesiredCanaries int
DesiredTotal int
PlacedAllocs int
HealthyAllocs int
UnhealthyAllocs int
}
DeploymentState tracks the state of a deployment for a given task group.
type DeploymentUpdateResponse ¶ added in v0.6.0
type DeploymentUpdateResponse struct {
EvalID string
EvalCreateIndex uint64
DeploymentModifyIndex uint64
RevertedJobVersion *uint64
WriteMeta
}
DeploymentUpdateResponse is used to respond to a deployment change. The response will include the modify index of the deployment as well as details of any triggered evaluation.
type Deployments ¶ added in v0.6.0
type Deployments struct {
// contains filtered or unexported fields
}
Deployments is used to query the deployments endpoints.
func (*Deployments) Allocations ¶ added in v0.6.0
func (d *Deployments) Allocations(deploymentID string, q *QueryOptions) ([]*AllocationListStub, *QueryMeta, error)
Allocations is used to retrieve a set of allocations that are part of the deployment
func (*Deployments) Fail ¶ added in v0.6.0
func (d *Deployments) Fail(deploymentID string, q *WriteOptions) (*DeploymentUpdateResponse, *WriteMeta, error)
Fail is used to fail the given deployment.
func (*Deployments) Info ¶ added in v0.6.0
func (d *Deployments) Info(deploymentID string, q *QueryOptions) (*Deployment, *QueryMeta, error)
Info is used to query a single deployment by its ID.
func (*Deployments) List ¶ added in v0.6.0
func (d *Deployments) List(q *QueryOptions) ([]*Deployment, *QueryMeta, error)
List is used to dump all of the deployments.
func (*Deployments) Pause ¶ added in v0.6.0
func (d *Deployments) Pause(deploymentID string, pause bool, q *WriteOptions) (*DeploymentUpdateResponse, *WriteMeta, error)
Pause is used to pause or unpause the given deployment.
func (*Deployments) PrefixList ¶ added in v0.6.0
func (d *Deployments) PrefixList(prefix string) ([]*Deployment, *QueryMeta, error)
func (*Deployments) PromoteAll ¶ added in v0.6.0
func (d *Deployments) PromoteAll(deploymentID string, q *WriteOptions) (*DeploymentUpdateResponse, *WriteMeta, error)
PromoteAll is used to promote all canaries in the given deployment
func (*Deployments) PromoteGroups ¶ added in v0.6.0
func (d *Deployments) PromoteGroups(deploymentID string, groups []string, q *WriteOptions) (*DeploymentUpdateResponse, *WriteMeta, error)
PromoteGroups is used to promote canaries in the passed groups in the given deployment
func (*Deployments) SetAllocHealth ¶ added in v0.6.0
func (d *Deployments) SetAllocHealth(deploymentID string, healthy, unhealthy []string, q *WriteOptions) (*DeploymentUpdateResponse, *WriteMeta, error)
SetAllocHealth is used to set allocation health for allocs that are part of the given deployment
type DesiredUpdates ¶ added in v0.4.0
type DispatchPayloadConfig ¶ added in v0.5.3
type DispatchPayloadConfig struct {
File string
}
DispatchPayloadConfig configures how a task gets its input from a job dispatch
type EphemeralDisk ¶ added in v0.5.0
EphemeralDisk is an ephemeral disk object
func DefaultEphemeralDisk ¶ added in v0.5.5
func DefaultEphemeralDisk() *EphemeralDisk
func (*EphemeralDisk) Canonicalize ¶ added in v0.5.5
func (e *EphemeralDisk) Canonicalize()
type EvalIndexSort ¶
type EvalIndexSort []*Evaluation
EvalIndexSort is a wrapper to sort evaluations by CreateIndex. We reverse the test so that we get the highest index first.
func (EvalIndexSort) Len ¶
func (e EvalIndexSort) Len() int
func (EvalIndexSort) Less ¶
func (e EvalIndexSort) Less(i, j int) bool
func (EvalIndexSort) Swap ¶
func (e EvalIndexSort) Swap(i, j int)
type Evaluation ¶
type Evaluation struct {
ID string
Priority int
Type string
TriggeredBy string
Namespace string
JobID string
JobModifyIndex uint64
NodeID string
NodeModifyIndex uint64
DeploymentID string
Status string
StatusDescription string
Wait time.Duration
NextEval string
PreviousEval string
BlockedEval string
FailedTGAllocs map[string]*AllocationMetric
ClassEligibility map[string]bool
EscapedComputedClass bool
QuotaLimitReached string
AnnotatePlan bool
QueuedAllocations map[string]int
SnapshotIndex uint64
CreateIndex uint64
ModifyIndex uint64
}
Evaluation is used to serialize an evaluation.
type Evaluations ¶
type Evaluations struct {
// contains filtered or unexported fields
}
Evaluations is used to query the evaluation endpoints.
func (*Evaluations) Allocations ¶
func (e *Evaluations) Allocations(evalID string, q *QueryOptions) ([]*AllocationListStub, *QueryMeta, error)
Allocations is used to retrieve a set of allocations given an evaluation ID.
func (*Evaluations) Info ¶
func (e *Evaluations) Info(evalID string, q *QueryOptions) (*Evaluation, *QueryMeta, error)
Info is used to query a single evaluation by its ID.
func (*Evaluations) List ¶
func (e *Evaluations) List(q *QueryOptions) ([]*Evaluation, *QueryMeta, error)
List is used to dump all of the evaluations.
func (*Evaluations) PrefixList ¶ added in v0.3.0
func (e *Evaluations) PrefixList(prefix string) ([]*Evaluation, *QueryMeta, error)
type FrameReader ¶ added in v0.4.1
type FrameReader struct {
// contains filtered or unexported fields
}
FrameReader is used to convert a stream of frames into a read closer.
func NewFrameReader ¶ added in v0.4.1
func NewFrameReader(frames <-chan *StreamFrame, errCh <-chan error, cancelCh chan struct{}) *FrameReader
NewFrameReader takes a channel of frames and returns a FrameReader which implements io.ReadCloser
func (*FrameReader) Close ¶ added in v0.4.1
func (f *FrameReader) Close() error
Close cancels the stream of frames
func (*FrameReader) Offset ¶ added in v0.4.1
func (f *FrameReader) Offset() int
Offset returns the offset into the stream.
func (*FrameReader) Read ¶ added in v0.4.1
func (f *FrameReader) Read(p []byte) (n int, err error)
Read reads the data of the incoming frames into the bytes buffer. Returns EOF when there are no more frames.
func (*FrameReader) SetUnblockTime ¶ added in v0.4.1
func (f *FrameReader) SetUnblockTime(d time.Duration)
SetUnblockTime sets the time to unblock and return zero bytes read. If the duration is unset or is zero or less, the read will block til data is read.
type HostCPUStats ¶ added in v0.4.0
type HostDiskStats ¶ added in v0.4.0
type HostMemoryStats ¶ added in v0.4.0
type HostStats ¶ added in v0.4.0
type HostStats struct {
Memory *HostMemoryStats
CPU []*HostCPUStats
DiskStats []*HostDiskStats
Uptime uint64
CPUTicksConsumed float64
}
HostStats represents resource usage stats of the host running a Nomad client
type HttpBasicAuth ¶ added in v0.4.1
type HttpBasicAuth struct {
// Username to use for HTTP Basic Authentication
Username string
// Password to use for HTTP Basic Authentication
Password string
}
HttpBasicAuth is used to authenticate http client with HTTP Basic Authentication
type Job ¶
type Job struct {
Stop *bool
Region *string
Namespace *string
ID *string
ParentID *string
Name *string
Type *string
Priority *int
AllAtOnce *bool `mapstructure:"all_at_once"`
Datacenters []string
Constraints []*Constraint
TaskGroups []*TaskGroup
Update *UpdateStrategy
Periodic *PeriodicConfig
ParameterizedJob *ParameterizedJobConfig
Payload []byte
Meta map[string]string
VaultToken *string `mapstructure:"vault_token"`
Status *string
StatusDescription *string
Stable *bool
Version *uint64
SubmitTime *int64
CreateIndex *uint64
ModifyIndex *uint64
JobModifyIndex *uint64
}
Job is used to serialize a job.
func MockPeriodicJob ¶ added in v0.5.5
func MockPeriodicJob() *Job
func NewBatchJob ¶
NewBatchJob creates and returns a new batch-style job for short-lived processes using the provided name and ID along with the relative job priority.
func NewServiceJob ¶
NewServiceJob creates and returns a new service-style job for long-lived processes using the provided name, ID, and relative job priority.
func (*Job) AddDatacenter ¶
AddDatacenter is used to add a datacenter to a job.
func (*Job) AddPeriodicConfig ¶ added in v0.3.0
func (j *Job) AddPeriodicConfig(cfg *PeriodicConfig) *Job
AddPeriodicConfig adds a periodic config to an existing job.
func (*Job) AddTaskGroup ¶
AddTaskGroup adds a task group to an existing job.
func (*Job) Canonicalize ¶ added in v0.5.5
func (j *Job) Canonicalize()
func (*Job) Constrain ¶
func (j *Job) Constrain(c *Constraint) *Job
Constrain is used to add a constraint to a job.
func (*Job) IsParameterized ¶ added in v0.5.5
IsParameterized returns whether a job is parameterized job.
func (*Job) IsPeriodic ¶ added in v0.5.5
IsPeriodic returns whether a job is periodic.
type JobChildrenSummary ¶ added in v0.5.3
JobChildrenSummary contains the summary of children job status
func (*JobChildrenSummary) Sum ¶ added in v0.5.3
func (jc *JobChildrenSummary) Sum() int
type JobDeregisterResponse ¶ added in v0.6.0
type JobDeregisterResponse struct {
EvalID string
EvalCreateIndex uint64
JobModifyIndex uint64
QueryMeta
}
JobDeregisterResponse is used to respond to a job deregistration
type JobDiff ¶ added in v0.4.0
type JobDiff struct {
Type string
ID string
Fields []*FieldDiff
Objects []*ObjectDiff
TaskGroups []*TaskGroupDiff
}
type JobDispatchRequest ¶ added in v0.5.3
type JobDispatchResponse ¶ added in v0.5.3
type JobListStub ¶
type JobListStub struct {
ID string
ParentID string
Name string
Type string
Priority int
Periodic bool
ParameterizedJob bool
Stop bool
Status string
StatusDescription string
JobSummary *JobSummary
CreateIndex uint64
ModifyIndex uint64
JobModifyIndex uint64
SubmitTime int64
}
JobListStub is used to return a subset of information about jobs during list operations.
type JobPlanRequest ¶ added in v0.4.0
type JobPlanRequest struct {
Job *Job
Diff bool
PolicyOverride bool
WriteRequest
}
type JobPlanResponse ¶ added in v0.4.0
type JobPlanResponse struct {
JobModifyIndex uint64
CreatedEvals []*Evaluation
Diff *JobDiff
Annotations *PlanAnnotations
FailedTGAllocs map[string]*AllocationMetric
NextPeriodicLaunch time.Time
// Warnings contains any warnings about the given job. These may include
// deprecation warnings.
Warnings string
}
type JobRegisterRequest ¶ added in v0.5.5
type JobRegisterRequest struct {
Job *Job
// If EnforceIndex is set then the job will only be registered if the passed
// JobModifyIndex matches the current Jobs index. If the index is zero, the
// register only occurs if the job is new.
EnforceIndex bool
JobModifyIndex uint64
PolicyOverride bool
WriteRequest
}
JobUpdateRequest is used to update a job
type JobRegisterResponse ¶ added in v0.6.0
type JobRegisterResponse struct {
EvalID string
EvalCreateIndex uint64
JobModifyIndex uint64
// Warnings contains any warnings about the given job. These may include
// deprecation warnings.
Warnings string
QueryMeta
}
JobRegisterResponse is used to respond to a job registration
type JobRevertRequest ¶ added in v0.6.0
type JobRevertRequest struct {
// JobID is the ID of the job being reverted
JobID string
// JobVersion the version to revert to.
JobVersion uint64
// EnforcePriorVersion if set will enforce that the job is at the given
// version before reverting.
EnforcePriorVersion *uint64
WriteRequest
}
JobRevertRequest is used to revert a job to a prior version.
type JobStabilityRequest ¶ added in v0.6.0
type JobStabilityRequest struct {
// Job to set the stability on
JobID string
JobVersion uint64
// Set the stability
Stable bool
WriteRequest
}
JobStabilityRequest is used to marked a job as stable.
type JobStabilityResponse ¶ added in v0.6.0
JobStabilityResponse is the response when marking a job as stable.
type JobSummary ¶ added in v0.4.1
type JobSummary struct {
JobID string
Namespace string
Summary map[string]TaskGroupSummary
Children *JobChildrenSummary
// Raft Indexes
CreateIndex uint64
ModifyIndex uint64
}
JobSummary summarizes the state of the allocations of a job
type JobValidateRequest ¶ added in v0.5.5
type JobValidateRequest struct {
Job *Job
WriteRequest
}
JobValidateRequest is used to validate a job
type JobValidateResponse ¶ added in v0.5.5
type JobValidateResponse struct {
// DriverConfigValidated indicates whether the agent validated the driver
// config
DriverConfigValidated bool
// ValidationErrors is a list of validation errors
ValidationErrors []string
// Error is a string version of any error that may have occurred
Error string
// Warnings contains any warnings about the given job. These may include
// deprecation warnings.
Warnings string
}
JobValidateResponse is the response from validate request
type JobVersionsResponse ¶ added in v0.6.0
JobVersionsResponse is used for a job get versions request
type Jobs ¶
type Jobs struct {
// contains filtered or unexported fields
}
Jobs is used to access the job-specific endpoints.
func (*Jobs) Allocations ¶
func (j *Jobs) Allocations(jobID string, allAllocs bool, q *QueryOptions) ([]*AllocationListStub, *QueryMeta, error)
Allocations is used to return the allocs for a given job ID.
func (*Jobs) Deployments ¶ added in v0.6.0
func (j *Jobs) Deployments(jobID string, q *QueryOptions) ([]*Deployment, *QueryMeta, error)
Deployments is used to query the deployments associated with the given job ID.
func (*Jobs) Deregister ¶
Deregister is used to remove an existing job. If purge is set to true, the job is deregistered and purged from the system versus still being queryable and eventually GC'ed from the system. Most callers should not specify purge.
func (*Jobs) Dispatch ¶ added in v0.5.3
func (j *Jobs) Dispatch(jobID string, meta map[string]string, payload []byte, q *WriteOptions) (*JobDispatchResponse, *WriteMeta, error)
func (*Jobs) EnforceRegister ¶ added in v0.4.0
func (j *Jobs) EnforceRegister(job *Job, modifyIndex uint64, q *WriteOptions) (*JobRegisterResponse, *WriteMeta, error)
EnforceRegister is used to register a job enforcing its job modify index.
func (*Jobs) Evaluations ¶
func (j *Jobs) Evaluations(jobID string, q *QueryOptions) ([]*Evaluation, *QueryMeta, error)
Evaluations is used to query the evaluations associated with the given job ID.
func (*Jobs) ForceEvaluate ¶
ForceEvaluate is used to force-evaluate an existing job.
func (*Jobs) Info ¶
Info is used to retrieve information about a particular job given its unique ID.
func (*Jobs) LatestDeployment ¶ added in v0.6.0
func (j *Jobs) LatestDeployment(jobID string, q *QueryOptions) (*Deployment, *QueryMeta, error)
LatestDeployment is used to query for the latest deployment associated with the given job ID.
func (*Jobs) List ¶
func (j *Jobs) List(q *QueryOptions) ([]*JobListStub, *QueryMeta, error)
List is used to list all of the existing jobs.
func (*Jobs) PeriodicForce ¶ added in v0.3.0
PeriodicForce spawns a new instance of the periodic job and returns the eval ID
func (*Jobs) Plan ¶ added in v0.4.0
func (j *Jobs) Plan(job *Job, diff bool, q *WriteOptions) (*JobPlanResponse, *WriteMeta, error)
func (*Jobs) PlanOpts ¶ added in v0.7.0
func (j *Jobs) PlanOpts(job *Job, opts *PlanOptions, q *WriteOptions) (*JobPlanResponse, *WriteMeta, error)
func (*Jobs) PrefixList ¶ added in v0.3.0
func (j *Jobs) PrefixList(prefix string) ([]*JobListStub, *QueryMeta, error)
PrefixList is used to list all existing jobs that match the prefix.
func (*Jobs) Register ¶
func (j *Jobs) Register(job *Job, q *WriteOptions) (*JobRegisterResponse, *WriteMeta, error)
Register is used to register a new job. It returns the ID of the evaluation, along with any errors encountered.
func (*Jobs) RegisterOpts ¶ added in v0.7.0
func (j *Jobs) RegisterOpts(job *Job, opts *RegisterOptions, q *WriteOptions) (*JobRegisterResponse, *WriteMeta, error)
Register is used to register a new job. It returns the ID of the evaluation, along with any errors encountered.
func (*Jobs) Revert ¶ added in v0.6.0
func (j *Jobs) Revert(jobID string, version uint64, enforcePriorVersion *uint64, q *WriteOptions) (*JobRegisterResponse, *WriteMeta, error)
Revert is used to revert the given job to the passed version. If enforceVersion is set, the job is only reverted if the current version is at the passed version.
func (*Jobs) Stable ¶ added in v0.6.0
func (j *Jobs) Stable(jobID string, version uint64, stable bool, q *WriteOptions) (*JobStabilityResponse, *WriteMeta, error)
Stable is used to mark a job version's stability.
func (*Jobs) Summary ¶ added in v0.4.1
func (j *Jobs) Summary(jobID string, q *QueryOptions) (*JobSummary, *QueryMeta, error)
func (*Jobs) Validate ¶ added in v0.5.5
func (j *Jobs) Validate(job *Job, q *WriteOptions) (*JobValidateResponse, *WriteMeta, error)
type KeyringRequest ¶ added in v0.5.0
type KeyringRequest struct {
Key string
}
KeyringRequest is request objects for serf key operations.
type KeyringResponse ¶ added in v0.5.0
KeyringResponse is a unified key response and can be used for install, remove, use, as well as listing key queries.
type LogConfig ¶ added in v0.3.0
type LogConfig struct {
MaxFiles *int `mapstructure:"max_files"`
MaxFileSizeMB *int `mapstructure:"max_file_size"`
}
LogConfig provides configuration for log rotation
func DefaultLogConfig ¶ added in v0.5.5
func DefaultLogConfig() *LogConfig
func (*LogConfig) Canonicalize ¶ added in v0.5.5
func (l *LogConfig) Canonicalize()
type MemoryStats ¶ added in v0.4.0
type MemoryStats struct {
RSS uint64
Cache uint64
Swap uint64
MaxUsage uint64
KernelUsage uint64
KernelMaxUsage uint64
Measured []string
}
MemoryStats holds memory usage related stats
type Namespace ¶ added in v0.7.0
type Namespace struct {
Name string
Description string
Quota string
CreateIndex uint64
ModifyIndex uint64
}
Namespace is used to serialize a namespace.
type NamespaceIndexSort ¶ added in v0.7.0
type NamespaceIndexSort []*Namespace
NamespaceIndexSort is a wrapper to sort Namespaces by CreateIndex. We reverse the test so that we get the highest index first.
func (NamespaceIndexSort) Len ¶ added in v0.7.0
func (n NamespaceIndexSort) Len() int
func (NamespaceIndexSort) Less ¶ added in v0.7.0
func (n NamespaceIndexSort) Less(i, j int) bool
func (NamespaceIndexSort) Swap ¶ added in v0.7.0
func (n NamespaceIndexSort) Swap(i, j int)
type Namespaces ¶ added in v0.7.0
type Namespaces struct {
// contains filtered or unexported fields
}
Namespaces is used to query the namespace endpoints.
func (*Namespaces) Delete ¶ added in v0.7.0
func (n *Namespaces) Delete(namespace string, q *WriteOptions) (*WriteMeta, error)
Delete is used to delete a namespace
func (*Namespaces) Info ¶ added in v0.7.0
func (n *Namespaces) Info(name string, q *QueryOptions) (*Namespace, *QueryMeta, error)
Info is used to query a single namespace by its name.
func (*Namespaces) List ¶ added in v0.7.0
func (n *Namespaces) List(q *QueryOptions) ([]*Namespace, *QueryMeta, error)
List is used to dump all of the namespaces.
func (*Namespaces) PrefixList ¶ added in v0.7.0
func (n *Namespaces) PrefixList(prefix string, q *QueryOptions) ([]*Namespace, *QueryMeta, error)
PrefixList is used to do a PrefixList search over namespaces
func (*Namespaces) Register ¶ added in v0.7.0
func (n *Namespaces) Register(namespace *Namespace, q *WriteOptions) (*WriteMeta, error)
Register is used to register a namespace.
type NetworkResource ¶
type NetworkResource struct {
Device string
CIDR string
IP string
MBits *int
ReservedPorts []Port
DynamicPorts []Port
}
NetworkResource is used to describe required network resources of a given task.
func (*NetworkResource) Canonicalize ¶ added in v0.5.5
func (n *NetworkResource) Canonicalize()
type Node ¶
type Node struct {
ID string
Datacenter string
Name string
HTTPAddr string
TLSEnabled bool
Attributes map[string]string
Resources *Resources
Reserved *Resources
Links map[string]string
Meta map[string]string
NodeClass string
Drain bool
Status string
StatusDescription string
StatusUpdatedAt int64
CreateIndex uint64
ModifyIndex uint64
}
Node is used to deserialize a node entry.
type NodeIndexSort ¶
type NodeIndexSort []*NodeListStub
NodeIndexSort reverse sorts nodes by CreateIndex
func (NodeIndexSort) Len ¶
func (n NodeIndexSort) Len() int
func (NodeIndexSort) Less ¶
func (n NodeIndexSort) Less(i, j int) bool
func (NodeIndexSort) Swap ¶
func (n NodeIndexSort) Swap(i, j int)
type NodeListStub ¶
type NodeListStub struct {
ID string
Datacenter string
Name string
NodeClass string
Version string
Drain bool
Status string
StatusDescription string
CreateIndex uint64
ModifyIndex uint64
}
NodeListStub is a subset of information returned during node list operations.
type Nodes ¶
type Nodes struct {
// contains filtered or unexported fields
}
Nodes is used to query node-related API endpoints
func (*Nodes) Allocations ¶
func (n *Nodes) Allocations(nodeID string, q *QueryOptions) ([]*Allocation, *QueryMeta, error)
Allocations is used to return the allocations associated with a node.
func (*Nodes) ForceEvaluate ¶
ForceEvaluate is used to force-evaluate an existing node.
func (*Nodes) List ¶
func (n *Nodes) List(q *QueryOptions) ([]*NodeListStub, *QueryMeta, error)
List is used to list out all of the nodes
func (*Nodes) PrefixList ¶ added in v0.3.0
func (n *Nodes) PrefixList(prefix string) ([]*NodeListStub, *QueryMeta, error)
func (*Nodes) Stats ¶ added in v0.4.0
func (n *Nodes) Stats(nodeID string, q *QueryOptions) (*HostStats, error)
func (*Nodes) ToggleDrain ¶
ToggleDrain is used to toggle drain mode on/off for a given node.
type ObjectDiff ¶ added in v0.4.0
type ObjectDiff struct {
Type string
Name string
Fields []*FieldDiff
Objects []*ObjectDiff
}
type Operator ¶ added in v0.5.5
type Operator struct {
// contains filtered or unexported fields
}
Operator can be used to perform low-level operator tasks for Nomad.
func (*Operator) RaftGetConfiguration ¶ added in v0.5.5
func (op *Operator) RaftGetConfiguration(q *QueryOptions) (*RaftConfiguration, error)
RaftGetConfiguration is used to query the current Raft peer set.
func (*Operator) RaftRemovePeerByAddress ¶ added in v0.5.5
func (op *Operator) RaftRemovePeerByAddress(address string, q *WriteOptions) error
RaftRemovePeerByAddress is used to kick a stale peer (one that it in the Raft quorum but no longer known to Serf or the catalog) by address in the form of "IP:port".
type ParameterizedJobConfig ¶ added in v0.5.3
type ParameterizedJobConfig struct {
Payload string
MetaRequired []string `mapstructure:"meta_required"`
MetaOptional []string `mapstructure:"meta_optional"`
}
ParameterizedJobConfig is used to configure the parameterized job.
type PeriodicConfig ¶ added in v0.3.0
type PeriodicConfig struct {
Enabled *bool
Spec *string
SpecType *string
ProhibitOverlap *bool `mapstructure:"prohibit_overlap"`
TimeZone *string `mapstructure:"time_zone"`
}
PeriodicConfig is for serializing periodic config for a job.
func (*PeriodicConfig) Canonicalize ¶ added in v0.5.5
func (p *PeriodicConfig) Canonicalize()
func (*PeriodicConfig) GetLocation ¶ added in v0.5.5
func (p *PeriodicConfig) GetLocation() (*time.Location, error)
func (*PeriodicConfig) Next ¶ added in v0.5.5
func (p *PeriodicConfig) Next(fromTime time.Time) time.Time
Next returns the closest time instant matching the spec that is after the passed time. If no matching instance exists, the zero value of time.Time is returned. The `time.Location` of the returned value matches that of the passed time.
type PlanAnnotations ¶ added in v0.4.0
type PlanAnnotations struct {
DesiredTGUpdates map[string]*DesiredUpdates
}
type PlanOptions ¶ added in v0.7.0
PlanOptions is used to pass through job planning parameters
type QueryMeta ¶
type QueryMeta struct {
// LastIndex. This can be used as a WaitIndex to perform
// a blocking query
LastIndex uint64
// Time of last contact from the leader for the
// server servicing the request
LastContact time.Duration
// Is there a known leader
KnownLeader bool
// How long did the request take
RequestTime time.Duration
}
QueryMeta is used to return meta data about a query
type QueryOptions ¶
type QueryOptions struct {
// Providing a datacenter overwrites the region provided
// by the Config
Region string
// Namespace is the target namespace for the query.
Namespace string
// AllowStale allows any Nomad server (non-leader) to service
// a read. This allows for lower latency and higher throughput
AllowStale bool
// WaitIndex is used to enable a blocking query. Waits
// until the timeout or the next index is reached
WaitIndex uint64
// WaitTime is used to bound the duration of a wait.
// Defaults to that of the Config, but can be overridden.
WaitTime time.Duration
// If set, used as prefix for resource list searches
Prefix string
// Set HTTP parameters on the query.
Params map[string]string
// AuthToken is the secret ID of an ACL token
AuthToken string
}
QueryOptions are used to parameterize a query
type QuotaLimit ¶ added in v0.7.0
type QuotaLimit struct {
// Region is the region in which this limit has affect
Region string
// RegionLimit is the quota limit that applies to any allocation within a
// referencing namespace in the region. A value of zero is treated as
// unlimited and a negative value is treated as fully disallowed. This is
// useful for once we support GPUs
RegionLimit *Resources
// Hash is the hash of the object and is used to make replication efficient.
Hash []byte
}
QuotaLimit describes the resource limit in a particular region.
type QuotaLimitSort ¶ added in v0.7.0
type QuotaLimitSort []*QuotaLimit
QuotaLimitSort is a wrapper to sort QuotaLimits
func (QuotaLimitSort) Len ¶ added in v0.7.0
func (q QuotaLimitSort) Len() int
func (QuotaLimitSort) Less ¶ added in v0.7.0
func (q QuotaLimitSort) Less(i, j int) bool
func (QuotaLimitSort) Swap ¶ added in v0.7.0
func (q QuotaLimitSort) Swap(i, j int)
type QuotaSpec ¶ added in v0.7.0
type QuotaSpec struct {
// Name is the name for the quota object
Name string
// Description is an optional description for the quota object
Description string
// Limits is the set of quota limits encapsulated by this quota object. Each
// limit applies quota in a particular region and in the future over a
// particular priority range and datacenter set.
Limits []*QuotaLimit
// Raft indexes to track creation and modification
CreateIndex uint64
ModifyIndex uint64
}
QuotaSpec specifies the allowed resource usage across regions.
type QuotaSpecIndexSort ¶ added in v0.7.0
type QuotaSpecIndexSort []*QuotaSpec
QuotaSpecIndexSort is a wrapper to sort QuotaSpecs by CreateIndex. We reverse the test so that we get the highest index first.
func (QuotaSpecIndexSort) Len ¶ added in v0.7.0
func (q QuotaSpecIndexSort) Len() int
func (QuotaSpecIndexSort) Less ¶ added in v0.7.0
func (q QuotaSpecIndexSort) Less(i, j int) bool
func (QuotaSpecIndexSort) Swap ¶ added in v0.7.0
func (q QuotaSpecIndexSort) Swap(i, j int)
type QuotaUsage ¶ added in v0.7.0
type QuotaUsage struct {
Name string
Used map[string]*QuotaLimit
CreateIndex uint64
ModifyIndex uint64
}
QuotaUsage is the resource usage of a Quota
type QuotaUsageIndexSort ¶ added in v0.7.0
type QuotaUsageIndexSort []*QuotaUsage
QuotaUsageIndexSort is a wrapper to sort QuotaUsages by CreateIndex. We reverse the test so that we get the highest index first.
func (QuotaUsageIndexSort) Len ¶ added in v0.7.0
func (q QuotaUsageIndexSort) Len() int
func (QuotaUsageIndexSort) Less ¶ added in v0.7.0
func (q QuotaUsageIndexSort) Less(i, j int) bool
func (QuotaUsageIndexSort) Swap ¶ added in v0.7.0
func (q QuotaUsageIndexSort) Swap(i, j int)
type Quotas ¶ added in v0.7.0
type Quotas struct {
// contains filtered or unexported fields
}
Quotas is used to query the quotas endpoints.
func (*Quotas) Delete ¶ added in v0.7.0
func (q *Quotas) Delete(quota string, qo *WriteOptions) (*WriteMeta, error)
Delete is used to delete a quota spec
func (*Quotas) List ¶ added in v0.7.0
func (q *Quotas) List(qo *QueryOptions) ([]*QuotaSpec, *QueryMeta, error)
List is used to dump all of the quota specs
func (*Quotas) ListUsage ¶ added in v0.7.0
func (q *Quotas) ListUsage(qo *QueryOptions) ([]*QuotaUsage, *QueryMeta, error)
ListUsage is used to dump all of the quota usages
func (*Quotas) PrefixList ¶ added in v0.7.0
PrefixList is used to do a PrefixList search over quota specs
func (*Quotas) PrefixListUsage ¶ added in v0.7.0
func (q *Quotas) PrefixListUsage(prefix string, qo *QueryOptions) ([]*QuotaUsage, *QueryMeta, error)
PrefixList is used to do a PrefixList search over quota usages
func (*Quotas) Register ¶ added in v0.7.0
func (q *Quotas) Register(spec *QuotaSpec, qo *WriteOptions) (*WriteMeta, error)
Register is used to register a quota spec.
func (*Quotas) Usage ¶ added in v0.7.0
func (q *Quotas) Usage(name string, qo *QueryOptions) (*QuotaUsage, *QueryMeta, error)
Usage is used to query a single quota usage by its name.
type RaftConfiguration ¶ added in v0.5.5
type RaftConfiguration struct {
// Servers has the list of servers in the Raft configuration.
Servers []*RaftServer
// Index has the Raft index of this configuration.
Index uint64
}
RaftConfigration is returned when querying for the current Raft configuration.
type RaftServer ¶ added in v0.5.5
type RaftServer struct {
// ID is the unique ID for the server. These are currently the same
// as the address, but they will be changed to a real GUID in a future
// release of Nomad.
ID string
// Node is the node name of the server, as known by Nomad, or this
// will be set to "(unknown)" otherwise.
Node string
// Address is the IP:port of the server, used for Raft communications.
Address string
// Leader is true if this server is the current cluster leader.
Leader bool
// Voter is true if this server has a vote in the cluster. This might
// be false if the server is staging and still coming online, or if
// it's a non-voting server, which will be added in a future release of
// Nomad.
Voter bool
}
RaftServer has information about a server in the Raft configuration.
type Raw ¶
type Raw struct {
// contains filtered or unexported fields
}
Raw can be used to do raw queries against custom endpoints
func (*Raw) Delete ¶
func (raw *Raw) Delete(endpoint string, out interface{}, q *WriteOptions) (*WriteMeta, error)
Delete is used to do a DELETE request against an endpoint and serialize/deserialized using the standard Nomad conventions.
func (*Raw) Query ¶
func (raw *Raw) Query(endpoint string, out interface{}, q *QueryOptions) (*QueryMeta, error)
Query is used to do a GET request against an endpoint and deserialize the response into an interface using standard Nomad conventions.
func (*Raw) Response ¶ added in v0.5.0
func (raw *Raw) Response(endpoint string, q *QueryOptions) (io.ReadCloser, error)
Response is used to make a GET request against an endpoint and returns the response body
type Regions ¶ added in v0.2.1
type Regions struct {
// contains filtered or unexported fields
}
Regions is used to query the regions in the cluster.
type RegisterJobRequest ¶ added in v0.3.2
type RegisterJobRequest struct {
Job *Job
EnforceIndex bool `json:",omitempty"`
JobModifyIndex uint64 `json:",omitempty"`
PolicyOverride bool `json:",omitempty"`
}
RegisterJobRequest is used to serialize a job registration
type RegisterOptions ¶ added in v0.7.0
RegisterOptions is used to pass through job registration parameters
type ResourceUsage ¶ added in v0.4.0
type ResourceUsage struct {
MemoryStats *MemoryStats
CpuStats *CpuStats
}
ResourceUsage holds information related to cpu and memory stats
type Resources ¶
type Resources struct {
CPU *int
MemoryMB *int `mapstructure:"memory"`
DiskMB *int `mapstructure:"disk"`
IOPS *int
Networks []*NetworkResource
}
Resources encapsulates the required resources of a given task or task group.
func MinResources ¶ added in v0.5.5
func MinResources() *Resources
func (*Resources) Canonicalize ¶ added in v0.5.5
func (r *Resources) Canonicalize()
type RestartPolicy ¶ added in v0.2.0
type RestartPolicy struct {
Interval *time.Duration
Attempts *int
Delay *time.Duration
Mode *string
}
RestartPolicy defines how the Nomad client restarts tasks in a taskgroup when they fail
func (*RestartPolicy) Merge ¶ added in v0.5.5
func (r *RestartPolicy) Merge(rp *RestartPolicy)
type Search ¶ added in v0.6.1
type Search struct {
// contains filtered or unexported fields
}
func (*Search) PrefixSearch ¶ added in v0.6.1
func (s *Search) PrefixSearch(prefix string, context contexts.Context, q *QueryOptions) (*SearchResponse, *QueryMeta, error)
PrefixSearch returns a list of matches for a particular context and prefix.
type SearchRequest ¶ added in v0.6.1
type SearchRequest struct {
Prefix string
Context contexts.Context
QueryOptions
}
type SearchResponse ¶ added in v0.6.1
type SentinelPolicies ¶ added in v0.7.0
type SentinelPolicies struct {
// contains filtered or unexported fields
}
SentinelPolicies is used to query the Sentinel Policy endpoints.
func (*SentinelPolicies) Delete ¶ added in v0.7.0
func (a *SentinelPolicies) Delete(policyName string, q *WriteOptions) (*WriteMeta, error)
Delete is used to delete a policy
func (*SentinelPolicies) Info ¶ added in v0.7.0
func (a *SentinelPolicies) Info(policyName string, q *QueryOptions) (*SentinelPolicy, *QueryMeta, error)
Info is used to query a specific policy
func (*SentinelPolicies) List ¶ added in v0.7.0
func (a *SentinelPolicies) List(q *QueryOptions) ([]*SentinelPolicyListStub, *QueryMeta, error)
List is used to dump all of the policies.
func (*SentinelPolicies) Upsert ¶ added in v0.7.0
func (a *SentinelPolicies) Upsert(policy *SentinelPolicy, q *WriteOptions) (*WriteMeta, error)
Upsert is used to create or update a policy
type SentinelPolicy ¶ added in v0.7.0
type SentinelPolicyListStub ¶ added in v0.7.0
type ServerMembers ¶ added in v0.5.0
type ServerMembers struct {
ServerName string
ServerRegion string
ServerDC string
Members []*AgentMember
}
type Service ¶ added in v0.2.0
type Service struct {
Id string
Name string
Tags []string
PortLabel string `mapstructure:"port"`
AddressMode string `mapstructure:"address_mode"`
Checks []ServiceCheck
CheckRestart *CheckRestart `mapstructure:"check_restart"`
}
The Service model represents a Consul service definition
type ServiceCheck ¶ added in v0.2.0
type ServiceCheck struct {
Id string
Name string
Type string
Command string
Args []string
Path string
Protocol string
PortLabel string `mapstructure:"port"`
Interval time.Duration
Timeout time.Duration
InitialStatus string `mapstructure:"initial_status"`
TLSSkipVerify bool `mapstructure:"tls_skip_verify"`
Header map[string][]string
Method string
CheckRestart *CheckRestart `mapstructure:"check_restart"`
}
The ServiceCheck data model represents the consul health check that Nomad registers for a Task
type SingleDeploymentResponse ¶ added in v0.6.0
type SingleDeploymentResponse struct {
Deployment *Deployment
QueryMeta
}
SingleDeploymentResponse is used to respond with a single deployment
type Status ¶
type Status struct {
// contains filtered or unexported fields
}
Status is used to query the status-related endpoints.
type StreamFrame ¶ added in v0.4.1
type StreamFrame struct {
Offset int64 `json:",omitempty"`
Data []byte `json:",omitempty"`
File string `json:",omitempty"`
FileEvent string `json:",omitempty"`
}
StreamFrame is used to frame data of a file when streaming
func (*StreamFrame) IsHeartbeat ¶ added in v0.4.1
func (s *StreamFrame) IsHeartbeat() bool
IsHeartbeat returns if the frame is a heartbeat frame
type System ¶ added in v0.3.0
type System struct {
// contains filtered or unexported fields
}
Status is used to query the status-related endpoints.
func (*System) GarbageCollect ¶ added in v0.3.0
func (*System) ReconcileSummaries ¶ added in v0.6.1
type TLSConfig ¶ added in v0.5.0
type TLSConfig struct {
// CACert is the path to a PEM-encoded CA cert file to use to verify the
// Nomad server SSL certificate.
CACert string
// CAPath is the path to a directory of PEM-encoded CA cert files to verify
// the Nomad server SSL certificate.
CAPath string
// ClientCert is the path to the certificate for Nomad communication
ClientCert string
// ClientKey is the path to the private key for Nomad communication
ClientKey string
// TLSServerName, if set, is used to set the SNI host when connecting via
// TLS.
TLSServerName string
// Insecure enables or disables SSL verification
Insecure bool
}
TLSConfig contains the parameters needed to configure TLS on the HTTP client used to communicate with Nomad.
type Task ¶
type Task struct {
Name string
Driver string
User string
Config map[string]interface{}
Constraints []*Constraint
Env map[string]string
Services []*Service
Resources *Resources
Meta map[string]string
KillTimeout *time.Duration `mapstructure:"kill_timeout"`
LogConfig *LogConfig `mapstructure:"logs"`
Artifacts []*TaskArtifact
Vault *Vault
Templates []*Template
DispatchPayload *DispatchPayloadConfig
Leader bool
ShutdownDelay time.Duration `mapstructure:"shutdown_delay"`
}
Task is a single process in a task group.
func (*Task) Canonicalize ¶ added in v0.5.5
func (*Task) Constrain ¶
func (t *Task) Constrain(c *Constraint) *Task
Constraint adds a new constraints to a single task.
func (*Task) SetLogConfig ¶ added in v0.3.0
SetLogConfig sets a log config to a task
type TaskArtifact ¶ added in v0.3.1
type TaskArtifact struct {
GetterSource *string `mapstructure:"source"`
GetterOptions map[string]string `mapstructure:"options"`
GetterMode *string `mapstructure:"mode"`
RelativeDest *string `mapstructure:"destination"`
}
TaskArtifact is used to download artifacts before running a task.
func (*TaskArtifact) Canonicalize ¶ added in v0.5.5
func (a *TaskArtifact) Canonicalize()
type TaskDiff ¶ added in v0.4.0
type TaskDiff struct {
Type string
Name string
Fields []*FieldDiff
Objects []*ObjectDiff
Annotations []string
}
type TaskEvent ¶ added in v0.2.0
type TaskEvent struct {
Type string
Time int64
FailsTask bool
RestartReason string
SetupError string
DriverError string
DriverMessage string
ExitCode int
Signal int
Message string
KillReason string
KillTimeout time.Duration
KillError string
StartDelay int64
DownloadError string
ValidationError string
DiskLimit int64
DiskSize int64
FailedSibling string
VaultError string
TaskSignalReason string
TaskSignal string
GenericSource string
}
TaskEvent is an event that effects the state of a task and contains meta-data appropriate to the events type.
type TaskGroup ¶
type TaskGroup struct {
Name *string
Count *int
Constraints []*Constraint
Tasks []*Task
RestartPolicy *RestartPolicy
EphemeralDisk *EphemeralDisk
Update *UpdateStrategy
Meta map[string]string
}
TaskGroup is the unit of scheduling.
func NewTaskGroup ¶
NewTaskGroup creates a new TaskGroup.
func (*TaskGroup) Canonicalize ¶ added in v0.5.5
func (*TaskGroup) Constrain ¶
func (g *TaskGroup) Constrain(c *Constraint) *TaskGroup
Constrain is used to add a constraint to a task group.
func (*TaskGroup) RequireDisk ¶ added in v0.5.0
func (g *TaskGroup) RequireDisk(disk *EphemeralDisk) *TaskGroup
RequireDisk adds a ephemeral disk to the task group
type TaskGroupDiff ¶ added in v0.4.0
type TaskGroupSummary ¶ added in v0.4.1
type TaskGroupSummary struct {
Queued int
Complete int
Failed int
Running int
Starting int
Lost int
}
TaskGroup summarizes the state of all the allocations of a particular TaskGroup
type TaskResourceUsage ¶ added in v0.4.0
type TaskResourceUsage struct {
ResourceUsage *ResourceUsage
Timestamp int64
Pids map[string]*ResourceUsage
}
TaskResourceUsage holds aggregated resource usage of all processes in a Task and the resource usage of the individual pids
type TaskState ¶ added in v0.2.0
type TaskState struct {
State string
Failed bool
Restarts uint64
LastRestart time.Time
StartedAt time.Time
FinishedAt time.Time
Events []*TaskEvent
}
TaskState tracks the current state of a task and events that caused state transitions.
type Template ¶ added in v0.5.0
type Template struct {
SourcePath *string `mapstructure:"source"`
DestPath *string `mapstructure:"destination"`
EmbeddedTmpl *string `mapstructure:"data"`
ChangeMode *string `mapstructure:"change_mode"`
ChangeSignal *string `mapstructure:"change_signal"`
Splay *time.Duration `mapstructure:"splay"`
Perms *string `mapstructure:"perms"`
LeftDelim *string `mapstructure:"left_delimiter"`
RightDelim *string `mapstructure:"right_delimiter"`
Envvars *bool `mapstructure:"env"`
VaultGrace *time.Duration `mapstructure:"vault_grace"`
}
func (*Template) Canonicalize ¶ added in v0.5.5
func (tmpl *Template) Canonicalize()
type UpdateStrategy ¶ added in v0.2.0
type UpdateStrategy struct {
Stagger *time.Duration `mapstructure:"stagger"`
MaxParallel *int `mapstructure:"max_parallel"`
HealthCheck *string `mapstructure:"health_check"`
MinHealthyTime *time.Duration `mapstructure:"min_healthy_time"`
HealthyDeadline *time.Duration `mapstructure:"healthy_deadline"`
AutoRevert *bool `mapstructure:"auto_revert"`
Canary *int `mapstructure:"canary"`
}
UpdateStrategy defines a task groups update strategy.
func DefaultUpdateStrategy ¶ added in v0.7.0
func DefaultUpdateStrategy() *UpdateStrategy
DefaultUpdateStrategy provides a baseline that can be used to upgrade jobs with the old policy or for populating field defaults.
func (*UpdateStrategy) Canonicalize ¶ added in v0.6.0
func (u *UpdateStrategy) Canonicalize()
func (*UpdateStrategy) Copy ¶ added in v0.6.0
func (u *UpdateStrategy) Copy() *UpdateStrategy
func (*UpdateStrategy) Empty ¶ added in v0.6.3
func (u *UpdateStrategy) Empty() bool
Empty returns whether the UpdateStrategy is empty or has user defined values.
func (*UpdateStrategy) Merge ¶ added in v0.6.0
func (u *UpdateStrategy) Merge(o *UpdateStrategy)
type Vault ¶ added in v0.5.0
type Vault struct {
Policies []string
Env *bool
ChangeMode *string `mapstructure:"change_mode"`
ChangeSignal *string `mapstructure:"change_signal"`
}
func (*Vault) Canonicalize ¶ added in v0.5.5
func (v *Vault) Canonicalize()
type WriteMeta ¶
type WriteMeta struct {
// LastIndex. This can be used as a WaitIndex to perform
// a blocking query
LastIndex uint64
// How long did the request take
RequestTime time.Duration
}
WriteMeta is used to return meta data about a write
type WriteOptions ¶
type WriteOptions struct {
// Providing a datacenter overwrites the region provided
// by the Config
Region string
// Namespace is the target namespace for the write.
Namespace string
// AuthToken is the secret ID of an ACL token
AuthToken string
}
WriteOptions are used to parameterize a write