Documentation ¶
Index ¶
- Constants
- Variables
- func HandleError(s *client.Schemas, t HandleFuncWithError) http.Handler
- func NewRouter(s *Server) *mux.Router
- func NewSchema() *client.Schemas
- func NewStreamHandlerFunc(streamType string, watcher *controller.Watcher, ...) func(w http.ResponseWriter, r *http.Request) error
- func NodeHasDefaultEngineImage(m *manager.VolumeManager) func(req *http.Request) (string, error)
- func OwnerIDFromNode(m *manager.VolumeManager) func(req *http.Request) (string, error)
- func OwnerIDFromVolume(m *manager.VolumeManager) func(req *http.Request) (string, error)
- func UploadServerAddressFromBackingImage(m *manager.VolumeManager) func(req *http.Request) (string, error)
- type ActivateInput
- type AttachInput
- type BackingImage
- type BackingImageCleanupInput
- type BackingImageUploadServerAddressFunc
- type Backup
- type BackupInput
- type BackupListOutput
- type BackupStatus
- type BackupTarget
- type BackupVolume
- type Controller
- type DetachInput
- type DiskInfo
- type DiskUpdateInput
- type EngineImage
- type EngineUpgradeInput
- type Event
- type ExpandInput
- type Fwd
- func (f *Fwd) GetHTTPAddressByNodeID(getNodeID OwnerIDFunc) GetTargetAddressFunc
- func (f *Fwd) GetHTTPAddressForBackingImageUpload(getBackingImageUploadServerAddress BackingImageUploadServerAddressFunc) GetTargetAddressFunc
- func (f *Fwd) HandleProxyRequestByNodeID(targetAddress string, req *http.Request) (proxyRequired bool, err error)
- func (f *Fwd) HandleProxyRequestForBackingImageUpload(targetAddress string, req *http.Request) (proxyRequired bool, err error)
- func (f *Fwd) Handler(proxyHandler ProxyRequestHandler, getTargetAddressFunc GetTargetAddressFunc, ...) HandleFuncWithError
- type GetTargetAddressFunc
- type HandleFuncWithError
- type Instance
- type InstanceManager
- type Node
- type NodeLocator
- type OwnerIDFunc
- type PVCCreateInput
- type PVCreateInput
- type ProxyRequestHandler
- type PurgeStatus
- type RebuildStatus
- type RecurringJob
- type Replica
- type ReplicaRemoveInput
- type RestoreStatus
- type SalvageInput
- type Server
- func (s *Server) BackingImageCleanup(rw http.ResponseWriter, req *http.Request) error
- func (s *Server) BackingImageCreate(rw http.ResponseWriter, req *http.Request) error
- func (s *Server) BackingImageDelete(rw http.ResponseWriter, req *http.Request) error
- func (s *Server) BackingImageGet(rw http.ResponseWriter, req *http.Request) error
- func (s *Server) BackingImageList(rw http.ResponseWriter, req *http.Request) (err error)
- func (s *Server) BackupDelete(w http.ResponseWriter, req *http.Request) error
- func (s *Server) BackupGet(w http.ResponseWriter, req *http.Request) error
- func (s *Server) BackupList(w http.ResponseWriter, req *http.Request) error
- func (s *Server) BackupTargetList(w http.ResponseWriter, req *http.Request) error
- func (s *Server) BackupVolumeDelete(w http.ResponseWriter, req *http.Request) error
- func (s *Server) BackupVolumeGet(w http.ResponseWriter, req *http.Request) error
- func (s *Server) BackupVolumeList(w http.ResponseWriter, req *http.Request) error
- func (s *Server) DiskTagList(rw http.ResponseWriter, req *http.Request) error
- func (s *Server) DiskUpdate(rw http.ResponseWriter, req *http.Request) error
- func (s *Server) DownloadSupportBundle(w http.ResponseWriter, req *http.Request) error
- func (s *Server) EngineImageCreate(rw http.ResponseWriter, req *http.Request) error
- func (s *Server) EngineImageDelete(rw http.ResponseWriter, req *http.Request) error
- func (s *Server) EngineImageGet(rw http.ResponseWriter, req *http.Request) error
- func (s *Server) EngineImageList(rw http.ResponseWriter, req *http.Request) error
- func (s *Server) EngineUpgrade(rw http.ResponseWriter, req *http.Request) error
- func (s *Server) EventList(rw http.ResponseWriter, req *http.Request) error
- func (s *Server) InitiateSupportBundle(w http.ResponseWriter, req *http.Request) error
- func (s *Server) InstanceManagerGet(rw http.ResponseWriter, req *http.Request) error
- func (s *Server) InstanceManagerList(rw http.ResponseWriter, req *http.Request) error
- func (s *Server) NodeDelete(rw http.ResponseWriter, req *http.Request) error
- func (s *Server) NodeGet(rw http.ResponseWriter, req *http.Request) error
- func (s *Server) NodeList(rw http.ResponseWriter, req *http.Request) error
- func (s *Server) NodeTagList(rw http.ResponseWriter, req *http.Request) error
- func (s *Server) NodeUpdate(rw http.ResponseWriter, req *http.Request) error
- func (s *Server) PVCCreate(rw http.ResponseWriter, req *http.Request) error
- func (s *Server) PVCreate(rw http.ResponseWriter, req *http.Request) error
- func (s *Server) QuerySupportBundle(w http.ResponseWriter, req *http.Request) error
- func (s *Server) RecurringJobCreate(rw http.ResponseWriter, req *http.Request) error
- func (s *Server) RecurringJobDelete(rw http.ResponseWriter, req *http.Request) error
- func (s *Server) RecurringJobGet(rw http.ResponseWriter, req *http.Request) error
- func (s *Server) RecurringJobList(rw http.ResponseWriter, req *http.Request) (err error)
- func (s *Server) RecurringJobUpdate(rw http.ResponseWriter, req *http.Request) error
- func (s *Server) ReplicaRemove(rw http.ResponseWriter, req *http.Request) error
- func (s *Server) SettingGet(w http.ResponseWriter, req *http.Request) error
- func (s *Server) SettingList(w http.ResponseWriter, req *http.Request) error
- func (s *Server) SettingSet(w http.ResponseWriter, req *http.Request) error
- func (s *Server) SnapshotBackup(w http.ResponseWriter, req *http.Request) (err error)
- func (s *Server) SnapshotCreate(w http.ResponseWriter, req *http.Request) (err error)
- func (s *Server) SnapshotDelete(w http.ResponseWriter, req *http.Request) (err error)
- func (s *Server) SnapshotGet(w http.ResponseWriter, req *http.Request) (err error)
- func (s *Server) SnapshotList(w http.ResponseWriter, req *http.Request) (err error)
- func (s *Server) SnapshotPurge(w http.ResponseWriter, req *http.Request) (err error)
- func (s *Server) SnapshotRevert(w http.ResponseWriter, req *http.Request) (err error)
- func (s *Server) VolumeActivate(rw http.ResponseWriter, req *http.Request) error
- func (s *Server) VolumeAttach(rw http.ResponseWriter, req *http.Request) error
- func (s *Server) VolumeCancelExpansion(rw http.ResponseWriter, req *http.Request) error
- func (s *Server) VolumeCreate(rw http.ResponseWriter, req *http.Request) error
- func (s *Server) VolumeDelete(rw http.ResponseWriter, req *http.Request) error
- func (s *Server) VolumeDetach(rw http.ResponseWriter, req *http.Request) error
- func (s *Server) VolumeExpand(rw http.ResponseWriter, req *http.Request) error
- func (s *Server) VolumeGet(rw http.ResponseWriter, req *http.Request) error
- func (s *Server) VolumeList(rw http.ResponseWriter, req *http.Request) (err error)
- func (s *Server) VolumeRecurringAdd(rw http.ResponseWriter, req *http.Request) error
- func (s *Server) VolumeRecurringDelete(rw http.ResponseWriter, req *http.Request) error
- func (s *Server) VolumeRecurringList(w http.ResponseWriter, req *http.Request) (err error)
- func (s *Server) VolumeSalvage(rw http.ResponseWriter, req *http.Request) error
- func (s *Server) VolumeUpdateAccessMode(rw http.ResponseWriter, req *http.Request) error
- func (s *Server) VolumeUpdateDataLocality(rw http.ResponseWriter, req *http.Request) error
- func (s *Server) VolumeUpdateReplicaAutoBalance(rw http.ResponseWriter, req *http.Request) error
- func (s *Server) VolumeUpdateReplicaCount(rw http.ResponseWriter, req *http.Request) error
- type Setting
- type Snapshot
- type SnapshotInput
- type SnapshotListOutput
- type SupportBundle
- type SupportBundleInitateInput
- type Tag
- type UpdateAccessModeInput
- type UpdateDataLocalityInput
- type UpdateReplicaAutoBalanceInput
- type UpdateReplicaCountInput
- type Volume
- type VolumeRecurringJob
- type VolumeRecurringJobInput
Constants ¶
View Source
const (
BackingImageUpload = "upload"
)
Variables ¶
View Source
var ( RetryCounts = 5 RetryInterval = 100 * time.Millisecond )
Functions ¶
func HandleError ¶
func HandleError(s *client.Schemas, t HandleFuncWithError) http.Handler
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
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 OwnerIDFromVolume ¶
func UploadServerAddressFromBackingImage ¶ added in v1.2.0
Types ¶
type ActivateInput ¶ added in v0.5.0
type ActivateInput struct {
Frontend string `json:"frontend"`
}
type AttachInput ¶
type BackingImage ¶ added in v1.1.1
type BackingImage struct { client.Resource Name string `json:"name"` SourceType string `json:"sourceType"` Parameters map[string]string `json:"parameters"` ExpectedChecksum string `json:"expectedChecksum"` DiskFileStatusMap map[string]types.BackingImageDiskFileStatus `json:"diskFileStatusMap"` Size int64 `json:"size"` CurrentChecksum string `json:"currentChecksum"` DeletionTimestamp string `json:"deletionTimestamp"` }
type BackingImageCleanupInput ¶ added in v1.1.1
type BackingImageCleanupInput struct {
Disks []string `json:"disks"`
}
type BackingImageUploadServerAddressFunc ¶ added in v1.2.0
type Backup ¶
type Backup struct { client.Resource Name string `json:"name"` State types.BackupState `json:"state"` URL string `json:"url"` SnapshotName string `json:"snapshotName"` SnapshotCreated string `json:"snapshotCreated"` Created string `json:"created"` Size string `json:"size"` Labels map[string]string `json:"labels"` Messages map[string]string `json:"messages"` VolumeName string `json:"volumeName"` VolumeSize string `json:"volumeSize"` VolumeCreated string `json:"volumeCreated"` VolumeBackingImageName string `json:"volumeBackingImageName"` }
type BackupInput ¶
type BackupInput struct {
Name string `json:"name"`
}
type BackupListOutput ¶ added in v1.0.1
type BackupStatus ¶ added in v0.6.0
type BackupTarget ¶ added in v1.2.0
type BackupTarget struct { client.Resource engineapi.BackupTarget }
type BackupVolume ¶
type BackupVolume struct { client.Resource Name string `json:"name"` Size string `json:"size"` Labels map[string]string `json:"labels"` Created string `json:"created"` LastBackupName string `json:"lastBackupName"` LastBackupAt string `json:"lastBackupAt"` DataStored string `json:"dataStored"` Messages map[string]string `json:"messages"` BackingImageName string `json:"backingImageName"` BackingImageChecksum string `json:"backingImageChecksum"` }
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 DiskUpdateInput ¶
type EngineImage ¶
type EngineUpgradeInput ¶
type EngineUpgradeInput struct {
Image string `json:"image"`
}
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) GetHTTPAddressByNodeID ¶ added in v1.2.0
func (f *Fwd) GetHTTPAddressByNodeID(getNodeID OwnerIDFunc) GetTargetAddressFunc
func (*Fwd) GetHTTPAddressForBackingImageUpload ¶ added in v1.2.0
func (f *Fwd) GetHTTPAddressForBackingImageUpload(getBackingImageUploadServerAddress BackingImageUploadServerAddressFunc) GetTargetAddressFunc
func (*Fwd) HandleProxyRequestByNodeID ¶ added in v1.2.0
func (*Fwd) HandleProxyRequestForBackingImageUpload ¶ added in v1.2.0
func (*Fwd) Handler ¶
func (f *Fwd) Handler(proxyHandler ProxyRequestHandler, getTargetAddressFunc GetTargetAddressFunc, h HandleFuncWithError) HandleFuncWithError
type GetTargetAddressFunc ¶ added in v1.2.0
type HandleFuncWithError ¶
type HandleFuncWithError func(http.ResponseWriter, *http.Request) error
type InstanceManager ¶ added in v0.6.0
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 PVCCreateInput ¶ added in v0.5.0
type PVCreateInput ¶ added in v0.5.0
type ProxyRequestHandler ¶ added in v1.2.0
type PurgeStatus ¶ added in v0.6.0
type RebuildStatus ¶ added in v0.8.0
type RecurringJob ¶ added in v1.2.0
type RecurringJob struct { client.Resource types.RecurringJobSpec }
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 NewServer ¶
func NewServer(m *manager.VolumeManager, wsc *controller.WebsocketController) *Server
func (*Server) BackingImageCleanup ¶ added in v1.1.1
func (*Server) BackingImageCreate ¶ added in v1.1.1
func (*Server) BackingImageDelete ¶ added in v1.1.1
func (*Server) BackingImageGet ¶ added in v1.1.1
func (*Server) BackingImageList ¶ added in v1.1.1
func (*Server) BackupDelete ¶
func (*Server) BackupList ¶
func (*Server) BackupTargetList ¶ added in v1.2.0
func (*Server) BackupVolumeDelete ¶ added in v0.6.0
func (*Server) BackupVolumeGet ¶
func (*Server) BackupVolumeList ¶
func (*Server) DiskTagList ¶ added in v0.6.0
func (*Server) DiskUpdate ¶
func (*Server) DownloadSupportBundle ¶ added in v0.5.0
func (*Server) EngineImageCreate ¶
func (*Server) EngineImageDelete ¶
func (*Server) EngineImageGet ¶
func (*Server) EngineImageList ¶
func (*Server) EngineUpgrade ¶
func (*Server) InitiateSupportBundle ¶ added in v0.5.0
func (*Server) InstanceManagerGet ¶ added in v0.6.0
func (*Server) InstanceManagerList ¶ added in v0.6.0
func (*Server) NodeDelete ¶ added in v0.3.1
func (*Server) NodeTagList ¶ added in v0.6.0
func (*Server) NodeUpdate ¶
func (*Server) QuerySupportBundle ¶ added in v0.5.0
func (*Server) RecurringJobCreate ¶ added in v1.2.0
func (*Server) RecurringJobDelete ¶ added in v1.2.0
func (*Server) RecurringJobGet ¶ added in v1.2.0
func (*Server) RecurringJobList ¶ added in v1.2.0
func (*Server) RecurringJobUpdate ¶ added in v1.2.0
func (*Server) ReplicaRemove ¶
func (*Server) SettingGet ¶
func (*Server) SettingList ¶
func (*Server) SettingSet ¶
func (*Server) SnapshotBackup ¶
func (*Server) SnapshotCreate ¶
func (*Server) SnapshotDelete ¶
func (*Server) SnapshotGet ¶
func (*Server) SnapshotList ¶
func (*Server) SnapshotPurge ¶
func (*Server) SnapshotRevert ¶
func (*Server) VolumeActivate ¶ added in v0.5.0
func (*Server) VolumeAttach ¶
func (*Server) VolumeCancelExpansion ¶ added in v0.8.1
func (*Server) VolumeCreate ¶
func (*Server) VolumeDelete ¶
func (*Server) VolumeDetach ¶
func (*Server) VolumeExpand ¶ added in v0.8.0
func (*Server) VolumeList ¶
func (*Server) VolumeRecurringAdd ¶ added in v1.2.0
func (*Server) VolumeRecurringDelete ¶ added in v1.2.0
func (*Server) VolumeRecurringList ¶ added in v1.2.0
func (*Server) VolumeSalvage ¶
func (*Server) VolumeUpdateAccessMode ¶ added in v1.1.0
func (*Server) VolumeUpdateDataLocality ¶ added in v1.1.0
func (*Server) VolumeUpdateReplicaAutoBalance ¶ added in v1.2.0
func (*Server) VolumeUpdateReplicaCount ¶ added in v0.3.3
type SnapshotInput ¶
type SnapshotListOutput ¶ added in v1.0.1
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 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 UpdateReplicaAutoBalanceInput ¶ added in v1.2.0
type UpdateReplicaAutoBalanceInput struct {
ReplicaAutoBalance string `json:"replicaAutoBalance"`
}
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"` DataSource types.VolumeDataSource `json:"dataSource"` 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"` RecurringJobSelector []types.VolumeRecurringJob `json:"recurringJobSelector"` NumberOfReplicas int `json:"numberOfReplicas"` ReplicaAutoBalance types.ReplicaAutoBalance `json:"replicaAutoBalance"` Conditions map[string]types.Condition `json:"conditions"` KubernetesStatus types.KubernetesStatus `json:"kubernetesStatus"` CloneStatus types.VolumeCloneStatus `json:"cloneStatus"` Ready bool `json:"ready"` AccessMode types.AccessMode `json:"accessMode"` Migratable bool `json:"migratable"` Encrypted bool `json:"encrypted"` Replicas []Replica `json:"replicas"` Controllers []Controller `json:"controllers"` BackupStatus []BackupStatus `json:"backupStatus"` RestoreStatus []RestoreStatus `json:"restoreStatus"` PurgeStatus []PurgeStatus `json:"purgeStatus"` RebuildStatus []RebuildStatus `json:"rebuildStatus"` }
type VolumeRecurringJob ¶ added in v1.2.0
type VolumeRecurringJob struct { client.Resource types.VolumeRecurringJob }
type VolumeRecurringJobInput ¶ added in v1.2.0
type VolumeRecurringJobInput struct {
types.VolumeRecurringJob
}
Click to show internal directories.
Click to hide internal directories.