123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- package swarm // import "github.com/docker/docker/api/types/swarm"
- // Node represents a node.
- type Node struct {
- ID string
- Meta
- // Spec defines the desired state of the node as specified by the user.
- // The system will honor this and will *never* modify it.
- Spec NodeSpec `json:",omitempty"`
- // Description encapsulates the properties of the Node as reported by the
- // agent.
- Description NodeDescription `json:",omitempty"`
- // Status provides the current status of the node, as seen by the manager.
- Status NodeStatus `json:",omitempty"`
- // ManagerStatus provides the current status of the node's manager
- // component, if the node is a manager.
- ManagerStatus *ManagerStatus `json:",omitempty"`
- }
- // NodeSpec represents the spec of a node.
- type NodeSpec struct {
- Annotations
- Role NodeRole `json:",omitempty"`
- Availability NodeAvailability `json:",omitempty"`
- }
- // NodeRole represents the role of a node.
- type NodeRole string
- const (
- // NodeRoleWorker WORKER
- NodeRoleWorker NodeRole = "worker"
- // NodeRoleManager MANAGER
- NodeRoleManager NodeRole = "manager"
- )
- // NodeAvailability represents the availability of a node.
- type NodeAvailability string
- const (
- // NodeAvailabilityActive ACTIVE
- NodeAvailabilityActive NodeAvailability = "active"
- // NodeAvailabilityPause PAUSE
- NodeAvailabilityPause NodeAvailability = "pause"
- // NodeAvailabilityDrain DRAIN
- NodeAvailabilityDrain NodeAvailability = "drain"
- )
- // NodeDescription represents the description of a node.
- type NodeDescription struct {
- Hostname string `json:",omitempty"`
- Platform Platform `json:",omitempty"`
- Resources Resources `json:",omitempty"`
- Engine EngineDescription `json:",omitempty"`
- TLSInfo TLSInfo `json:",omitempty"`
- }
- // Platform represents the platform (Arch/OS).
- type Platform struct {
- Architecture string `json:",omitempty"`
- OS string `json:",omitempty"`
- }
- // EngineDescription represents the description of an engine.
- type EngineDescription struct {
- EngineVersion string `json:",omitempty"`
- Labels map[string]string `json:",omitempty"`
- Plugins []PluginDescription `json:",omitempty"`
- }
- // PluginDescription represents the description of an engine plugin.
- type PluginDescription struct {
- Type string `json:",omitempty"`
- Name string `json:",omitempty"`
- }
- // NodeStatus represents the status of a node.
- type NodeStatus struct {
- State NodeState `json:",omitempty"`
- Message string `json:",omitempty"`
- Addr string `json:",omitempty"`
- }
- // Reachability represents the reachability of a node.
- type Reachability string
- const (
- // ReachabilityUnknown UNKNOWN
- ReachabilityUnknown Reachability = "unknown"
- // ReachabilityUnreachable UNREACHABLE
- ReachabilityUnreachable Reachability = "unreachable"
- // ReachabilityReachable REACHABLE
- ReachabilityReachable Reachability = "reachable"
- )
- // ManagerStatus represents the status of a manager.
- type ManagerStatus struct {
- Leader bool `json:",omitempty"`
- Reachability Reachability `json:",omitempty"`
- Addr string `json:",omitempty"`
- }
- // NodeState represents the state of a node.
- type NodeState string
- const (
- // NodeStateUnknown UNKNOWN
- NodeStateUnknown NodeState = "unknown"
- // NodeStateDown DOWN
- NodeStateDown NodeState = "down"
- // NodeStateReady READY
- NodeStateReady NodeState = "ready"
- // NodeStateDisconnected DISCONNECTED
- NodeStateDisconnected NodeState = "disconnected"
- )
|