api

package
v1.1.3-rc3 Latest Latest
Warning

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

Go to latest
Published: Dec 9, 2021 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 NodeHasDefaultEngineImage added in v1.1.1

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

NodeHasDefaultEngineImage picks a node that is ready and has default engine image deployed. To prevent the repeatedly forwarding the request around, prioritize the current node if it meets the requirement.

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 BackingImage added in v1.1.1

type BackingImage struct {
	client.Resource

	Name                string            `json:"name"`
	ImageURL            string            `json:"imageURL"`
	DiskStateMap        map[string]string `json:"diskStateMap"`
	DownloadProgressMap map[string]int    `json:"downloadProgressMap"`
	Size                int64             `json:"size"`

	DeletionTimestamp string `json:"deletionTimestamp"`
}

type BackingImageCleanupInput added in v1.1.1

type BackingImageCleanupInput struct {
	Disks []string `json:"disks"`
}

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 DetachInput added in v1.1.1

type DetachInput struct {
	HostID string `json:"hostId"`
}

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
}

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"`
}

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"`
	EngineManagerCPURequest  int                        `json:"engineManagerCPURequest"`
	ReplicaManagerCPURequest int                        `json:"replicaManagerCPURequest"`
}

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) BackingImageCleanup added in v1.1.1

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

func (*Server) BackingImageCreate added in v1.1.1

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

func (*Server) BackingImageDelete added in v1.1.1

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

func (*Server) BackingImageGet added in v1.1.1

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

func (*Server) BackingImageList added in v1.1.1

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

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"`
}

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"`
	BackingImage            string                 `json:"backingImage"`
	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"`

	Migratable bool `json:"migratable"`

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

Jump to

Keyboard shortcuts

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