types

package
v0.0.0-...-a79519d Latest Latest
Warning

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

Go to latest
Published: Jun 14, 2018 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// APIVersion defines control server api version.
	APIVersion = "/api/v1"

	// OptionRef defines the reference of containers.
	OptionRef = "ref"

	// DefaultBackend defines the default volume backend.
	DefaultBackend = "local"
)

Functions

func ExtractOptionsFromVolume

func ExtractOptionsFromVolume(v *Volume) map[string]string

ExtractOptionsFromVolume extracts options from a volume.

func ListCommonOptions

func ListCommonOptions() map[string]Option

ListCommonOptions returns common options.

Types

type ConditionStatus

type ConditionStatus string

ConditionStatus string enum.

const (
	// ConditionTrue NodeConditionType is true.
	ConditionTrue ConditionStatus = "True"
	// ConditionFalse NodeConditionType is false.
	ConditionFalse ConditionStatus = "False"
	// ConditionUnknown NodeConditionType is Unknown.
	ConditionUnknown ConditionStatus = "Unknown"
)

type Option

type Option struct {
	Value string
	Desc  string
}

Option represents volume option struct.

type Selector

type Selector []SelectorRequirement

Selector defines SelectorRequirement slice type.

func (*Selector) AsRequirement

func (n *Selector) AsRequirement() []labels.Requirement

AsRequirement returns requirement.

func (*Selector) AsSelector

func (n *Selector) AsSelector() labels.Selector

AsSelector returns selector.

type SelectorRequirement

type SelectorRequirement struct {
	// The label key that the selector applies to.
	Key string `json:"key"`
	// Represents a key's relationship to a set of values.
	// Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
	Operator selection.Operator `json:"operator"`
	// An array of string values. If the operator is In or NotIn,
	// the values array must be non-empty. If the operator is Exists or DoesNotExist,
	// the values array must be empty. If the operator is Gt or Lt, the values
	// array must have a single element.
	Values []string `json:"values,omitempty"`
}

SelectorRequirement is a selector that contains values, a key, and an operator that relates the key and values.

type Volume

type Volume struct {
	meta.ObjectMeta `json:",inline"`
	Spec            *VolumeSpec   `json:"Spec,omitempty"`
	Status          *VolumeStatus `json:"Status,omitempty"`
}

Volume defined volume struct.

func NewVolume

func NewVolume(id VolumeID) (*Volume, error)

NewVolume generates a volume based VolumeID

func NewVolumeFromID

func NewVolumeFromID(mountPath, size string, id VolumeID) *Volume

NewVolumeFromID will create an Volume using mountPath, size and VolumeID.

func (*Volume) CreateTime

func (v *Volume) CreateTime() string

CreateTime returns the volume's create time.

func (*Volume) Driver

func (v *Volume) Driver() string

Driver return driver's name of the volume.

func (*Volume) FileSystem

func (v *Volume) FileSystem() []string

FileSystem returns volume's file system.

func (*Volume) Key

func (v *Volume) Key() string

Key returns the volume's name

func (*Volume) Label

func (v *Volume) Label(label string) string

Label returns volume's label.

func (*Volume) MountOption

func (v *Volume) MountOption() []string

MountOption returns volume's mount options.

func (*Volume) Option

func (v *Volume) Option(name string) string

Option use to get the common options or module's options by name.

func (*Volume) Options

func (v *Volume) Options() map[string]string

Options returns all the options of volume.

func (*Volume) Path

func (v *Volume) Path() string

Path return the volume's path on host.

func (*Volume) SetLabel

func (v *Volume) SetLabel(label, value string)

SetLabel use to set label to volume.

func (*Volume) SetOption

func (v *Volume) SetOption(name, value string)

SetOption use to set the common options or module's options by name.

func (*Volume) SetPath

func (v *Volume) SetPath(p string)

SetPath save the volume's path on host into volume meta data.

func (*Volume) Size

func (v *Volume) Size() string

Size returns volume's size(MB).

func (*Volume) VolumeID

func (v *Volume) VolumeID() VolumeID

VolumeID return volume's identity.

type VolumeCondition

type VolumeCondition struct {
	Type               VolumeConditionType `json:"type"`
	Status             ConditionStatus     `json:"status"`
	LastProbeTime      *time.Time          `json:"lastProbeTime,omitempty"`
	LastTransitionTime *time.Time          `json:"lastTransitionTime,omitempty"`
	Reason             string              `json:"reason,omitempty"`
	Message            string              `json:"message,omitempty"`
	Retry              int                 `json:"retry,omitempty"`
}

VolumeCondition represents volume condition struct.

type VolumeConditionType

type VolumeConditionType string

VolumeConditionType defines volume condition type.

const (
	// VolumeScheduledrepresents status of the scheduling process for this Volume.
	VolumeScheduled VolumeConditionType = "Scheduled"
	// VolumeInitialized means that all init containers in the Volume have started successfully.
	VolumeInitialized VolumeConditionType = "Initialized"
	// VolumeStopped means that all init containers in the Volume have stopped successfully.
	VolumeStopped VolumeConditionType = "Stopped"
	// VolumeStarted means that all init containers in the Volume have started successfully.
	VolumeStarted VolumeConditionType = "Started"
	// VolumeRestarted means that all init containers in the Volume have restarted successfully
	VolumeRestarted VolumeConditionType = "Restarted"
	// VolumeUpdated means that all init containers in the Volume have updated successfully
	VolumeUpdated VolumeConditionType = "Updated"
	// VolumeDeleted means that all init containers in the Volume have deleted successfully
	VolumeDeleted VolumeConditionType = "Deleted"
)

These are valid conditions of pod.

type VolumeConfig

type VolumeConfig struct {
	Size       string `json:"size"`
	FileSystem string `json:"filesystem"`
	MountOpt   string `json:"mountopt"`
	WriteBPS   int64  `json:"wbps"`
	ReadBPS    int64  `json:"rbps"`
	WriteIOPS  int64  `json:"wiops"`
	ReadIOPS   int64  `json:"riops"`
	TotalIOPS  int64  `json:"iops"`
}

VolumeConfig represents volume config.

type VolumeID

type VolumeID struct {
	Name      string
	Driver    string
	Options   map[string]string
	Labels    map[string]string
	Selectors map[string]string
}

VolumeID use to define the volume's identity.

func NewVolumeID

func NewVolumeID(name, driver string) VolumeID

NewVolumeID returns VolumeID instance.

func (VolumeID) Equal

func (v VolumeID) Equal(v1 VolumeID) bool

Equal check VolumeID is equal or not.

func (VolumeID) Invalid

func (v VolumeID) Invalid() bool

Invalid is used to check VolumeID's name is valid or not.

func (VolumeID) String

func (v VolumeID) String() string

String return VolumeID with string.

type VolumeList

type VolumeList struct {
	meta.ListMeta `json:",inline,omitempty"`
	Items         []Volume `json:"Items,omitempty"`
}

VolumeList represents volume list.

type VolumePhase

type VolumePhase string

VolumePhase defines volume phase's status.

var (
	// VolumePhasePending represents volume pending status.
	VolumePhasePending VolumePhase = "Pending"

	// VolumePhaseReady represents volume ready status.
	VolumePhaseReady VolumePhase = "Ready"

	// VolumePhaseUnknown represents volume unknown status.
	VolumePhaseUnknown VolumePhase = "Unknown"

	// VolumePhaseFailed represents volume failed status.
	VolumePhaseFailed VolumePhase = "Failed"
)

type VolumeSpec

type VolumeSpec struct {
	ClusterID     string   `json:"clusterid"`
	Selector      Selector `json:"selector"`
	Operable      bool     `json:"operable"`
	Backend       string   `json:"backend,omitempty"`
	MountMode     string   `json:"mountMode,omitempty"`
	*VolumeConfig `json:"config,inline"`
	Extra         map[string]string `json:"extra"`
}

VolumeSpec represents volume spec.

type VolumeStatus

type VolumeStatus struct {
	Phase               VolumePhase       `json:"phase"`
	StartTimestamp      *time.Time        `json:"startTimestamp"`
	LastUpdateTimestamp *time.Time        `json:"lastUpdateTime"`
	Conditions          []VolumeCondition `json:"Conditions,omitempty"`
	HostIP              string            `json:"hostip,omitempty"`
	MountPoint          string            `json:"mountpath,omitempty"`
	Reason              string            `json:"reason"`
	Message             string            `json:"message"`
}

VolumeStatus represent volume status.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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