api

package
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: Dec 17, 2020 License: Apache-2.0 Imports: 27 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	RetryCounts   = 5
	RetryInterval = 100 * time.Millisecond
)

Functions

func NewRouter

func NewRouter(s *Server) *mux.Router

func NewSchema

func NewSchema() *client.Schemas

func NewStreamHandlerFunc

func NewStreamHandlerFunc(streamType string, watcher *controller.Watcher, listFunc func(ctx *api.ApiContext) (*client.GenericCollection, error)) func(w http.ResponseWriter, r *http.Request) error

func OwnerIDFromNode

func OwnerIDFromNode(m *manager.VolumeManager) func(req *http.Request) (string, error)

func OwnerIDFromVolume

func OwnerIDFromVolume(m *manager.VolumeManager) func(req *http.Request) (string, error)

Types

type ActivateInput added in v0.5.0

type ActivateInput struct {
	Frontend string `json:"frontend"`
}

type AttachInput

type AttachInput struct {
	HostID          string `json:"hostId"`
	DisableFrontend bool   `json:"disableFrontend"`
	AttachedBy      string `json:"attachedBy"`
}

type Backup

type Backup struct {
	client.Resource
	engineapi.Backup
}

type BackupInput

type BackupInput struct {
	Name string `json:"name"`
}

type BackupListOutput added in v1.0.1

type BackupListOutput struct {
	Data []Backup `json:"data"`
	Type string   `json:"type"`
}

type BackupStatus added in v0.6.0

type BackupStatus struct {
	client.Resource
	Name      string `json:"id"`
	Snapshot  string `json:"snapshot"`
	Progress  int    `json:"progress"`
	BackupURL string `json:"backupURL"`
	Error     string `json:"error"`
	State     string `json:"state"`
	Replica   string `json:"replica"`
}

type BackupVolume

type BackupVolume struct {
	client.Resource
	engineapi.BackupVolume
}

type Controller

type Controller struct {
	Instance
	Size                   string `json:"size"`
	ActualSize             string `json:"actualSize"`
	Endpoint               string `json:"endpoint"`
	LastRestoredBackup     string `json:"lastRestoredBackup"`
	RequestedBackupRestore string `json:"requestedBackupRestore"`
	IsExpanding            bool   `json:"isExpanding"`
	LastExpansionError     string `json:"lastExpansionError"`
	LastExpansionFailedAt  string `json:"lastExpansionFailedAt"`
}

type DiskInfo

type DiskInfo struct {
	types.DiskSpec
	types.DiskStatus
}

type DiskUpdateInput

type DiskUpdateInput struct {
	Disks map[string]types.DiskSpec `json:"disks"`
}

type EngineImage

type EngineImage struct {
	client.Resource

	Name    string `json:"name"`
	Image   string `json:"image"`
	Default bool   `json:"default"`
	types.EngineImageStatus

	Timestamp string `json:"timestamp"`
}

type EngineUpgradeInput

type EngineUpgradeInput struct {
	Image string `json:"image"`
}

type Event

type Event struct {
	client.Resource
	Event     v1.Event `json:"event"`
	EventType string   `json:"eventType"`

	Timestamp string `json:"timestamp"`
}

type ExpandInput added in v0.8.0

type ExpandInput struct {
	Size string `json:"size"`
}

type Fwd

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

func NewFwd

func NewFwd(locator NodeLocator) *Fwd

func (*Fwd) Handler

func (f *Fwd) Handler(getNodeID OwnerIDFunc, h HandleFuncWithError) HandleFuncWithError

type HandleFuncWithError

type HandleFuncWithError func(http.ResponseWriter, *http.Request) error

type Instance

type Instance struct {
	Name                string `json:"name"`
	NodeID              string `json:"hostId"`
	Address             string `json:"address"`
	Running             bool   `json:"running"`
	EngineImage         string `json:"engineImage"`
	CurrentImage        string `json:"currentImage"`
	InstanceManagerName string `json:"instanceManagerName"`
}

type InstanceManager added in v0.6.0

type InstanceManager struct {
	client.Resource
	CurrentState types.InstanceManagerState       `json:"currentState"`
	Image        string                           `json:"image"`
	Name         string                           `json:"name"`
	NodeID       string                           `json:"nodeID"`
	ManagerType  string                           `json:"managerType"`
	Instances    map[string]types.InstanceProcess `json:"instances"`
}

type Node

type Node struct {
	client.Resource
	Name              string                     `json:"name"`
	Address           string                     `json:"address"`
	AllowScheduling   bool                       `json:"allowScheduling"`
	EvictionRequested bool                       `json:"evictionRequested"`
	Disks             map[string]DiskInfo        `json:"disks"`
	Conditions        map[string]types.Condition `json:"conditions"`
	Tags              []string                   `json:"tags"`
	Region            string                     `json:"region"`
	Zone              string                     `json:"zone"`

	Timestamp string `json:"timestamp"`
}

type NodeInput

type NodeInput struct {
	NodeID string `json:"nodeId"`
}

type NodeLocator

type NodeLocator interface {
	GetCurrentNodeID() string
	Node2APIAddress(nodeID string) (string, error)
}

type OwnerIDFunc

type OwnerIDFunc func(req *http.Request) (string, error)

type PVCCreateInput added in v0.5.0

type PVCCreateInput struct {
	Namespace string `json:"namespace"`
	PVCName   string `json:"pvcName"`
}

type PVCreateInput added in v0.5.0

type PVCreateInput struct {
	PVName string `json:"pvName"`
	FSType string `json:"fsType"`
}

type PurgeStatus added in v0.6.0

type PurgeStatus struct {
	client.Resource
	Error     string `json:"error"`
	IsPurging bool   `json:"isPurging"`
	Progress  int    `json:"progress"`
	Replica   string `json:"replica"`
	State     string `json:"state"`
}

type RebuildStatus added in v0.8.0

type RebuildStatus struct {
	client.Resource
	Error        string `json:"error"`
	IsRebuilding bool   `json:"isRebuilding"`
	Progress     int    `json:"progress"`
	Replica      string `json:"replica"`
	State        string `json:"state"`
	FromReplica  string `json:"fromReplica"`
}

type RecurringInput

type RecurringInput struct {
	Jobs []types.RecurringJob `json:"jobs"`
}

type Replica

type Replica struct {
	Instance

	DiskID   string `json:"diskID"`
	DiskPath string `json:"diskPath"`
	DataPath string `json:"dataPath"`
	Mode     string `json:"mode"`
	FailedAt string `json:"failedAt"`
}

type ReplicaRemoveInput

type ReplicaRemoveInput struct {
	Name string `json:"name"`
}

type RestoreStatus added in v0.6.0

type RestoreStatus struct {
	client.Resource
	Replica      string `json:"replica"`
	IsRestoring  bool   `json:"isRestoring"`
	LastRestored string `json:"lastRestored"`
	Progress     int    `json:"progress"`
	Error        string `json:"error"`
	Filename     string `json:"filename"`
	State        string `json:"state"`
	BackupURL    string `json:"backupURL"`
}

type SalvageInput

type SalvageInput struct {
	Names []string `json:"names"`
}

type Server

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

func (*Server) BackupDelete

func (s *Server) BackupDelete(w http.ResponseWriter, req *http.Request) error

func (*Server) BackupGet

func (s *Server) BackupGet(w http.ResponseWriter, req *http.Request) error

func (*Server) BackupList

func (s *Server) BackupList(w http.ResponseWriter, req *http.Request) error

func (*Server) BackupVolumeDelete added in v0.6.0

func (s *Server) BackupVolumeDelete(w http.ResponseWriter, req *http.Request) error

func (*Server) BackupVolumeGet

func (s *Server) BackupVolumeGet(w http.ResponseWriter, req *http.Request) error

func (*Server) BackupVolumeList

func (s *Server) BackupVolumeList(w http.ResponseWriter, req *http.Request) error

func (*Server) DiskTagList added in v0.6.0

func (s *Server) DiskTagList(rw http.ResponseWriter, req *http.Request) error

func (*Server) DiskUpdate

func (s *Server) DiskUpdate(rw http.ResponseWriter, req *http.Request) error

func (*Server) DownloadSupportBundle added in v0.5.0

func (s *Server) DownloadSupportBundle(w http.ResponseWriter, req *http.Request) error

func (*Server) EngineImageCreate

func (s *Server) EngineImageCreate(rw http.ResponseWriter, req *http.Request) error

func (*Server) EngineImageDelete

func (s *Server) EngineImageDelete(rw http.ResponseWriter, req *http.Request) error

func (*Server) EngineImageGet

func (s *Server) EngineImageGet(rw http.ResponseWriter, req *http.Request) error

func (*Server) EngineImageList

func (s *Server) EngineImageList(rw http.ResponseWriter, req *http.Request) error

func (*Server) EngineUpgrade

func (s *Server) EngineUpgrade(rw http.ResponseWriter, req *http.Request) error

func (*Server) EventList

func (s *Server) EventList(rw http.ResponseWriter, req *http.Request) error

func (*Server) InitiateSupportBundle added in v0.5.0

func (s *Server) InitiateSupportBundle(w http.ResponseWriter, req *http.Request) error

func (*Server) InstanceManagerGet added in v0.6.0

func (s *Server) InstanceManagerGet(rw http.ResponseWriter, req *http.Request) error

func (*Server) InstanceManagerList added in v0.6.0

func (s *Server) InstanceManagerList(rw http.ResponseWriter, req *http.Request) error

func (*Server) NodeDelete added in v0.3.1

func (s *Server) NodeDelete(rw http.ResponseWriter, req *http.Request) error

func (*Server) NodeGet

func (s *Server) NodeGet(rw http.ResponseWriter, req *http.Request) error

func (*Server) NodeList

func (s *Server) NodeList(rw http.ResponseWriter, req *http.Request) error

func (*Server) NodeTagList added in v0.6.0

func (s *Server) NodeTagList(rw http.ResponseWriter, req *http.Request) error

func (*Server) NodeUpdate

func (s *Server) NodeUpdate(rw http.ResponseWriter, req *http.Request) error

func (*Server) PVCCreate added in v0.5.0

func (s *Server) PVCCreate(rw http.ResponseWriter, req *http.Request) error

func (*Server) PVCreate added in v0.5.0

func (s *Server) PVCreate(rw http.ResponseWriter, req *http.Request) error

func (*Server) QuerySupportBundle added in v0.5.0

func (s *Server) QuerySupportBundle(w http.ResponseWriter, req *http.Request) error

func (*Server) ReplicaRemove

func (s *Server) ReplicaRemove(rw http.ResponseWriter, req *http.Request) error

func (*Server) SettingGet

func (s *Server) SettingGet(w http.ResponseWriter, req *http.Request) error

func (*Server) SettingList

func (s *Server) SettingList(w http.ResponseWriter, req *http.Request) error

func (*Server) SettingSet

func (s *Server) SettingSet(w http.ResponseWriter, req *http.Request) error

func (*Server) SnapshotBackup

func (s *Server) SnapshotBackup(w http.ResponseWriter, req *http.Request) (err error)

func (*Server) SnapshotCreate

func (s *Server) SnapshotCreate(w http.ResponseWriter, req *http.Request) (err error)

func (*Server) SnapshotDelete

func (s *Server) SnapshotDelete(w http.ResponseWriter, req *http.Request) (err error)

func (*Server) SnapshotGet

func (s *Server) SnapshotGet(w http.ResponseWriter, req *http.Request) (err error)

func (*Server) SnapshotList

func (s *Server) SnapshotList(w http.ResponseWriter, req *http.Request) (err error)

func (*Server) SnapshotPurge

func (s *Server) SnapshotPurge(w http.ResponseWriter, req *http.Request) (err error)

func (*Server) SnapshotRevert

func (s *Server) SnapshotRevert(w http.ResponseWriter, req *http.Request) (err error)

func (*Server) VolumeActivate added in v0.5.0

func (s *Server) VolumeActivate(rw http.ResponseWriter, req *http.Request) error

func (*Server) VolumeAttach

func (s *Server) VolumeAttach(rw http.ResponseWriter, req *http.Request) error

func (*Server) VolumeCancelExpansion added in v0.8.1

func (s *Server) VolumeCancelExpansion(rw http.ResponseWriter, req *http.Request) error

func (*Server) VolumeCreate

func (s *Server) VolumeCreate(rw http.ResponseWriter, req *http.Request) error

func (*Server) VolumeDelete

func (s *Server) VolumeDelete(rw http.ResponseWriter, req *http.Request) error

func (*Server) VolumeDetach

func (s *Server) VolumeDetach(rw http.ResponseWriter, req *http.Request) error

func (*Server) VolumeExpand added in v0.8.0

func (s *Server) VolumeExpand(rw http.ResponseWriter, req *http.Request) error

func (*Server) VolumeGet

func (s *Server) VolumeGet(rw http.ResponseWriter, req *http.Request) error

func (*Server) VolumeList

func (s *Server) VolumeList(rw http.ResponseWriter, req *http.Request) (err error)

func (*Server) VolumeRecurringUpdate

func (s *Server) VolumeRecurringUpdate(rw http.ResponseWriter, req *http.Request) error

func (*Server) VolumeSalvage

func (s *Server) VolumeSalvage(rw http.ResponseWriter, req *http.Request) error

func (*Server) VolumeUpdateAccessMode added in v1.1.0

func (s *Server) VolumeUpdateAccessMode(rw http.ResponseWriter, req *http.Request) error

func (*Server) VolumeUpdateDataLocality added in v1.1.0

func (s *Server) VolumeUpdateDataLocality(rw http.ResponseWriter, req *http.Request) error

func (*Server) VolumeUpdateReplicaCount added in v0.3.3

func (s *Server) VolumeUpdateReplicaCount(rw http.ResponseWriter, req *http.Request) error

type Setting

type Setting struct {
	client.Resource
	Name       string                  `json:"name"`
	Value      string                  `json:"value"`
	Definition types.SettingDefinition `json:"definition"`

	Timestamp string `json:"timestamp"`
}

type Snapshot

type Snapshot struct {
	client.Resource
	types.Snapshot
}

type SnapshotInput

type SnapshotInput struct {
	Name   string            `json:"name"`
	Labels map[string]string `json:"labels"`
}

type SnapshotListOutput added in v1.0.1

type SnapshotListOutput struct {
	Data []Snapshot `json:"data"`
	Type string     `json:"type"`
}

type SupportBundle added in v0.5.0

type SupportBundle struct {
	client.Resource
	NodeID             string              `json:"nodeID"`
	State              manager.BundleState `json:"state"`
	Name               string              `json:"name"`
	ErrorMessage       manager.BundleError `json:"errorMessage"`
	ProgressPercentage int                 `json:"progressPercentage"`
}

type SupportBundleInitateInput added in v0.5.0

type SupportBundleInitateInput struct {
	IssueURL    string `json:"issueURL"`
	Description string `json:"description"`
}

type Tag added in v0.6.0

type Tag struct {
	client.Resource
	Name    string `json:"name"`
	TagType string `json:"tagType"`
}

type UpdateAccessModeInput added in v1.1.0

type UpdateAccessModeInput struct {
	AccessMode string `json:"accessMode"`
}

type UpdateDataLocalityInput added in v1.1.0

type UpdateDataLocalityInput struct {
	DataLocality string `json:"dataLocality"`
}

type UpdateReplicaCountInput added in v0.3.3

type UpdateReplicaCountInput struct {
	ReplicaCount int `json:"replicaCount"`
}

type Volume

type Volume struct {
	client.Resource

	Name                    string                 `json:"name"`
	Size                    string                 `json:"size"`
	Frontend                types.VolumeFrontend   `json:"frontend"`
	DisableFrontend         bool                   `json:"disableFrontend"`
	FromBackup              string                 `json:"fromBackup"`
	NumberOfReplicas        int                    `json:"numberOfReplicas"`
	DataLocality            types.DataLocality     `json:"dataLocality"`
	StaleReplicaTimeout     int                    `json:"staleReplicaTimeout"`
	State                   types.VolumeState      `json:"state"`
	Robustness              types.VolumeRobustness `json:"robustness"`
	EngineImage             string                 `json:"engineImage"`
	CurrentImage            string                 `json:"currentImage"`
	BaseImage               string                 `json:"baseImage"`
	Created                 string                 `json:"created"`
	LastBackup              string                 `json:"lastBackup"`
	LastBackupAt            string                 `json:"lastBackupAt"`
	LastAttachedBy          string                 `json:"lastAttachedBy"`
	Standby                 bool                   `json:"standby"`
	RestoreRequired         bool                   `json:"restoreRequired"`
	RevisionCounterDisabled bool                   `json:"revisionCounterDisabled"`
	DiskSelector            []string               `json:"diskSelector"`
	NodeSelector            []string               `json:"nodeSelector"`

	RecurringJobs    []types.RecurringJob       `json:"recurringJobs"`
	Conditions       map[string]types.Condition `json:"conditions"`
	KubernetesStatus types.KubernetesStatus     `json:"kubernetesStatus"`
	Ready            bool                       `json:"ready"`

	AccessMode    types.AccessMode        `json:"accessMode"`
	ShareEndpoint string                  `json:"shareEndpoint"`
	ShareState    types.ShareManagerState `json:"shareState"`

	Replicas      []Replica       `json:"replicas"`
	Controllers   []Controller    `json:"controllers"`
	BackupStatus  []BackupStatus  `json:"backupStatus"`
	RestoreStatus []RestoreStatus `json:"restoreStatus"`
	PurgeStatus   []PurgeStatus   `json:"purgeStatus"`
	RebuildStatus []RebuildStatus `json:"rebuildStatus"`

	Timestamp string `json:"timestamp"`
}

Jump to

Keyboard shortcuts

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