types

package
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Jan 17, 2017 License: Apache-2.0 Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Agent

type Agent struct {
	ID         string            `json:"id"`
	RemoteAddr string            `json:"remoteAddr"`
	Status     string            `json:"status"`
	Labels     map[string]string `json:"labels"`
}

type App

type App struct {
	ID               string    `json:"id,omitempty"`
	Name             string    `json:"name,omitempty"`
	Instances        int       `json:"instances,omitempty"`
	UpdatedInstances int       `json:"updatedInstances,omitempty"`
	RunningInstances int       `json:"runningInstances"`
	RunAs            string    `json:"runAs,omitempty"`
	Priority         int       `json:"priority"`
	ClusterID        string    `json:"clusterID,omitempty"`
	Status           string    `json:"status,omitempty"`
	Created          time.Time `json:"created,omitempty"`
	Updated          time.Time `json:"updated,omitempty"`
	Mode             string    `json:"mode,omitempty"`
	State            string    `json:"state"`

	// use task for compatability now, should be slot here
	Tasks          []*Task  `json:"tasks,omitempty"`
	CurrentVersion *Version `json:"currentVersion"`
	// use when app updated, ProposedVersion can either be commit or revert
	ProposedVersion *Version `json:"proposedVersion,omitempty"`
	Versions        []string `json:"versions,omitempty"`
	IP              []string `json:"ip,omitempty"`

	// current version related info
	Labels      map[string]string `json:"labels,omitempty"`
	Env         map[string]string `json:"env,omitempty"`
	Constraints []string          `json:"constraints,omitempty"`
	URIs        []string          `json:"uris,omitempty"`
}

type Command

type Command struct {
	Value string `json:"value,omitempty"`
}

type Container

type Container struct {
	Type    string    `json:"type,omitempty"`
	Docker  *Docker   `json:"docker,omitempty"`
	Volumes []*Volume `json:"volumes,omitempty"`
}

type Docker

type Docker struct {
	ForcePullImage bool           `json:"forcePullImage,omitempty"`
	Image          string         `json:"image,omitempty"`
	Network        string         `json:"network,omitempty"`
	Parameters     []*Parameter   `json:"parameters,omitempty"`
	PortMappings   []*PortMapping `json:"portMappings,omitempty"`
	Privileged     bool           `json:"privileged,omitempty"`
}

type Event

type Event struct {
	ID      string `json:"ID"`
	Message string `json:"message"`
	Status  string `json:"status"`
}

type HealthCheck

type HealthCheck struct {
	ID                  string   `json:"id,omitempty"`
	Address             string   `json:"address,omitempty"`
	TaskID              string   `json:"taskID,omitempty"`
	AppID               string   `json:"appID,omitempty"`
	Protocol            string   `json:"protocol,omitempty"`
	PortName            string   `json:"portName,omitempty"`
	Command             *Command `json:"command,omitempty"`
	Path                string   `json:"path,omitempty"`
	ConsecutiveFailures uint32   `json:"consecutiveFailures,omitempty"`
	GracePeriodSeconds  float64  `json:"gracePeriodSeconds,omitempty"`
	IntervalSeconds     float64  `json:"intervalSeconds,omitempty"`
	TimeoutSeconds      float64  `json:"timeoutSeconds,omitempty"`
}

type JanitorAcceptor

type JanitorAcceptor struct {
	ID         string `json:"id"`
	RemoteAddr string `json:"remoteAddr"`
	Status     string `json:"status"`
}

type KillPolicy

type KillPolicy struct {
	Duration int64 `json:"duration,omitempty"`
}

type Parameter

type Parameter struct {
	Key   string `json:"key,omitempty"`
	Value string `json:"value,omitempty"`
}

type PortMapping

type PortMapping struct {
	ContainerPort int32  `json:"containerPort,omitempty"`
	Name          string `json:"name,omitempty"`
	Protocol      string `json:"protocol,omitempty"`
}

type ProceedUpdateParam

type ProceedUpdateParam struct {
	Instances int `json:"instances"`
}

type ReschedulerMsg

type ReschedulerMsg struct {
	AppID  string
	TaskID string
	Err    chan error
}

type ResolverAcceptor

type ResolverAcceptor struct {
	ID         string `json:"id"`
	RemoteAddr string `json:"remoteAddr"`
	Status     string `json:"status"`
}

type ScaleDownParam

type ScaleDownParam struct {
	Instances int `json:"instances"`
}

type ScaleUpParam

type ScaleUpParam struct {
	Instances int      `json:"instances"`
	IPs       []string `json:"ips"`
}

type Stats

type Stats struct {
	ClusterID string `json:"clusterID"`

	AppCount  int `json:"appCount"`
	TaskCount int `json:"taskCount"`

	CpuTotalOffered  float64 `json:"cpuTotalOffered"`
	MemTotalOffered  float64 `json:"memTotalOffered"`
	DiskTotalOffered float64 `json:"diskTotalOffered"`

	CpuTotalUsed  float64 `json:"cpuTotalUsed"`
	MemTotalUsed  float64 `json:"memTotalUsed"`
	DiskTotalUsed float64 `json:"diskTotalUsed"`

	AppStats map[string]int `json:"appStats,omitempty"`
}

type Task

type Task struct {
	ID          string       `json:"id,omitempty"`
	AppID       string       `json:"appId,omitempty"`
	VersionID   string       `json:"versionId,omitempty"`
	CurrentTask *TaskHistory `json:"currentTask,omitempty"`

	Status string `json:"status"`

	OfferID       string `json:"offerID,omitempty"`
	AgentID       string `json:"agentID,omitempty"`
	AgentHostname string `json:"agentHostname,omitempty"`

	CPU  float64 `json:"cpu,omitempty"`
	Mem  float64 `json:"mem,omitempty"`
	Disk float64 `json:"disk,omitempty"`

	History []*TaskHistory `json:"history,omitempty"`

	IP string `json:"ip,omitempty"`

	Created time.Time `json:"created,omitempty"`

	Image   string `json:"image,omitempty"`
	Healthy bool   `json:"healthy"`
}

use task for compatability now, should be slot here and together with task history

type TaskHistory

type TaskHistory struct {
	ID        string `json:"id,omitempty"`
	AppID     string `json:"appID,omitempty"`
	VersionID string `json:"versionID,omitempty"`

	OfferID       string `json:"offerID,omitempty"`
	AgentID       string `json:"agentID,omitempty"`
	AgentHostname string `json:"agentHostname,omitempty"`

	CPU  float64 `json:"cpu,omitempty"`
	Mem  float64 `json:"mem,omitempty"`
	Disk float64 `json:"disk,omitempty"`

	State  string `json:"state,omitempty"`
	Reason string `json:"reason,omitempty"`
	Stdout string `json:"stdout,omitempty"`
	Stderr string `json:"stderr,omitempty"`
}

type UpdatePolicy

type UpdatePolicy struct {
	UpdateDelay  int32  `json:"updateDelay,omitempty"`
	MaxRetries   int32  `json:"maxRetries,omitempty"`
	MaxFailovers int32  `json:"maxFailovers,omitempty"`
	Action       string `json:"action,omitempty"`
}

type Version

type Version struct {
	ID                string            `json:"id,omitempty"`
	AppID             string            `json:"appID,omitempty"`
	PreviousVersionID string            `json:"previousVersionId,omitempty"`
	Command           string            `json:"cmd,omitempty"`
	Args              []string          `json:"args,omitempty"`
	CPUs              float64           `json:"cpus,omitempty"`
	Mem               float64           `json:"mem,omitempty"`
	Disk              float64           `json:"disk,omitempty"`
	Instances         int32             `json:"instances,omitempty"`
	RunAs             string            `json:"runAs,omitempty"`
	Priority          int32             `json:"priority,omitempty"`
	Container         *Container        `json:"container,omitempty"`
	Labels            map[string]string `json:"labels,omitempty"`
	HealthChecks      []*HealthCheck    `json:"healthChecks,omitempty"`
	Env               map[string]string `json:"env,omitempty"`
	KillPolicy        *KillPolicy       `json:"killPolicy,omitempty"`
	UpdatePolicy      *UpdatePolicy     `json:"updatPolicy,omitempty"`
	Constraints       []string          `json:"constraints,omitempty"`
	URIs              []string          `json:"uris,omitempty"`
	IP                []string          `json:"ip,omitempty"`
	Mode              string            `json:"mode,omitempty"`
}

func (*Version) AddLabel

func (v *Version) AddLabel(name, value string) *Version

AddLabel adds a label to the application

name:	the name of the label
value: value for this label

func (*Version) EmptyLabels

func (v *Version) EmptyLabels() *Version

EmptyLabels explicitly empties the labels -- use this if you need to empty the labels of an application that already has labels set (setting labels to nil will keep the current value)

type Volume

type Volume struct {
	ContainerPath string `json:"containerPath,omitempty"`
	HostPath      string `json:"hostPath,omitempty"`
	Mode          string `json:"mode,omitempty"`
}

Jump to

Keyboard shortcuts

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