api

package
v1.6.1 Latest Latest
Warning

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

Go to latest
Published: Mar 28, 2024 License: Apache-2.0 Imports: 30 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ParameterKeyAddress  = "address"
	ParameterKeyFilePath = "filePath"
)
View Source
const (
	BackingImageUpload = "upload"
)

Variables

This section is empty.

Functions

func DownloadParametersFromBackingImage added in v1.3.0

func DownloadParametersFromBackingImage(m *manager.VolumeManager) func(req *http.Request) (map[string]string, error)

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)

func UploadParametersForBackingImage added in v1.3.0

func UploadParametersForBackingImage(m *manager.VolumeManager) func(req *http.Request) (map[string]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"`
	AttacherType    string `json:"attacherType"`
	AttachmentID    string `json:"attachmentID"`
}

type Attachment added in v1.5.0

type Attachment struct {
	AttachmentID   string            `json:"attachmentID"`
	AttachmentType string            `json:"attachmentType"`
	NodeID         string            `json:"nodeID"`
	Parameters     map[string]string `json:"parameters"`
	// Indicate whether this attachment ticket has been satisfied
	Satisfied  bool                 `json:"satisfied"`
	Conditions []longhorn.Condition `json:"conditions"`
}

type BackingImage added in v1.1.1

type BackingImage struct {
	client.Resource

	Name             string            `json:"name"`
	UUID             string            `json:"uuid"`
	SourceType       string            `json:"sourceType"`
	Parameters       map[string]string `json:"parameters"`
	ExpectedChecksum string            `json:"expectedChecksum"`

	DiskFileStatusMap map[string]longhorn.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 Backup

type Backup struct {
	client.Resource

	Name                   string               `json:"name"`
	State                  longhorn.BackupState `json:"state"`
	Progress               int                  `json:"progress"`
	Error                  string               `json:"error"`
	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"`
	CompressionMethod      string               `json:"compressionMethod"`
}

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"`
	Size      string `json:"size"`
}

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"`
	StorageClassName     string            `json:"storageClassName"`
}

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"`
	UnmapMarkSnapChainRemovedEnabled bool   `json:"unmapMarkSnapChainRemovedEnabled"`
}

type DetachInput added in v1.1.1

type DetachInput struct {
	AttachmentID string `json:"attachmentID"`
	HostID       string `json:"hostId"`
	ForceDetach  bool   `json:"forceDetach"`
}

type DiskInfo

type DiskInfo struct {
	longhorn.DiskSpec
	// To convert CR status.Conditions from datatype map to slice, replace longhorn.DiskStatus with DiskStatus to keep it use datatype map.
	// Therefore, the UI (RESTful endpoint) does not need to do any changes.
	DiskStatus
}

type DiskStatus added in v1.3.0

type DiskStatus struct {
	Conditions       map[string]longhorn.Condition `json:"conditions"`
	StorageAvailable int64                         `json:"storageAvailable"`
	StorageScheduled int64                         `json:"storageScheduled"`
	StorageMaximum   int64                         `json:"storageMaximum"`
	ScheduledReplica map[string]int64              `json:"scheduledReplica"`
	DiskUUID         string                        `json:"diskUUID"`
}

type DiskUpdateInput

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

type Empty added in v1.5.0

type Empty struct {
	client.Resource
}

type EngineImage

type EngineImage struct {
	client.Resource

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

type EngineUpgradeInput

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

type Event

type Event struct {
	client.Resource
	Event     corev1.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) GetHTTPAddressByNodeID added in v1.2.0

func (f *Fwd) GetHTTPAddressByNodeID(getNodeID OwnerIDFunc) ParametersGetFunc

func (*Fwd) HandleProxyRequestByNodeID added in v1.2.0

func (f *Fwd) HandleProxyRequestByNodeID(parameters map[string]string, req *http.Request) (proxyRequired bool, err error)

func (*Fwd) HandleProxyRequestForBackingImageDownload added in v1.3.0

func (f *Fwd) HandleProxyRequestForBackingImageDownload(parameters map[string]string, req *http.Request) (proxyRequired bool, err error)

func (*Fwd) HandleProxyRequestForBackingImageUpload added in v1.2.0

func (f *Fwd) HandleProxyRequestForBackingImageUpload(parameters map[string]string, req *http.Request) (proxyRequired bool, err error)

func (*Fwd) Handler

func (f *Fwd) Handler(proxyHandler ProxyRequestHandler, parametersGetFunc ParametersGetFunc, 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"`
	Image               string `json:"image"`
	CurrentImage        string `json:"currentImage"`
	InstanceManagerName string `json:"instanceManagerName"`
}

type InstanceManager added in v0.6.0

type InstanceManager struct {
	client.Resource
	CurrentState longhorn.InstanceManagerState `json:"currentState"`
	Image        string                        `json:"image"`
	Name         string                        `json:"name"`
	NodeID       string                        `json:"nodeID"`
	ManagerType  string                        `json:"managerType"`
	DataEngine   string                        `json:"dataEngine"`

	InstanceEngines  map[string]longhorn.InstanceProcess `json:"instanceEngines"`
	InstanceReplicas map[string]longhorn.InstanceProcess `json:"instanceReplicas"`

	Instances map[string]longhorn.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]longhorn.Condition `json:"conditions"`
	Tags                      []string                      `json:"tags"`
	Region                    string                        `json:"region"`
	Zone                      string                        `json:"zone"`
	InstanceManagerCPURequest int                           `json:"instanceManagerCPURequest"`
	AutoEvicting              bool                          `json:"autoEvicting"`
}

type NodeLocator

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

type Orphan added in v1.3.0

type Orphan struct {
	client.Resource
	Name string `json:"name"`
	longhorn.OrphanSpec
}

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

	SecretName      string `json:"secretName"`
	SecretNamespace string `json:"secretNamespace"`

	StorageClassName string `json:"storageClassName"`
}

type ParametersGetFunc added in v1.3.0

type ParametersGetFunc func(req *http.Request) (map[string]string, error)

type ProxyRequestHandler added in v1.2.0

type ProxyRequestHandler func(parameters map[string]string, req *http.Request) (proxyRequired bool, err error)

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 RecurringJob added in v1.2.0

type RecurringJob struct {
	client.Resource
	longhorn.RecurringJobSpec
}

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"`
	DataEngine string `json:"dataEngine"`
}

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) BackingImageProxyFallback added in v1.3.0

func (s *Server) BackingImageProxyFallback(rw http.ResponseWriter, req *http.Request) 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) BackupTargetList added in v1.2.0

func (s *Server) BackupTargetList(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) 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) 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) OrphanDelete added in v1.3.0

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

func (*Server) OrphanGet added in v1.3.0

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

func (*Server) OrphanList added in v1.3.0

func (s *Server) OrphanList(rw http.ResponseWriter, req *http.Request) (err 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) RecurringJobCreate added in v1.2.0

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

func (*Server) RecurringJobDelete added in v1.2.0

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

func (*Server) RecurringJobGet added in v1.2.0

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

func (*Server) RecurringJobList added in v1.2.0

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

func (*Server) RecurringJobUpdate added in v1.2.0

func (s *Server) RecurringJobUpdate(rw 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) SnapshotCRCreate added in v1.5.0

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

func (*Server) SnapshotCRDelete added in v1.5.0

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

func (*Server) SnapshotCRGet added in v1.5.0

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

func (*Server) SnapshotCRList added in v1.5.0

func (s *Server) SnapshotCRList(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) SupportBundleCreate added in v1.4.0

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

func (*Server) SupportBundleDelete added in v1.4.0

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

func (*Server) SupportBundleDownload added in v1.4.0

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

func (*Server) SupportBundleGet added in v1.4.0

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

func (*Server) SupportBundleList added in v1.4.0

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

func (*Server) SystemBackupCreate added in v1.4.0

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

func (*Server) SystemBackupDelete added in v1.4.0

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

func (*Server) SystemBackupGet added in v1.4.0

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

func (*Server) SystemBackupList added in v1.4.0

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

func (*Server) SystemRestoreCreate added in v1.4.0

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

func (*Server) SystemRestoreDelete added in v1.4.0

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

func (*Server) SystemRestoreGet added in v1.4.0

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

func (*Server) SystemRestoreList added in v1.4.0

func (s *Server) SystemRestoreList(w http.ResponseWriter, req *http.Request) 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) VolumeFilesystemTrim added in v1.4.0

func (s *Server) VolumeFilesystemTrim(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) VolumeRecurringAdd added in v1.2.0

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

func (*Server) VolumeRecurringDelete added in v1.2.0

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

func (*Server) VolumeRecurringList added in v1.2.0

func (s *Server) VolumeRecurringList(w http.ResponseWriter, req *http.Request) (err 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) VolumeUpdateBackupCompressionMethod added in v1.5.0

func (s *Server) VolumeUpdateBackupCompressionMethod(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) VolumeUpdateOfflineReplicaRebuilding added in v1.5.0

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

func (*Server) VolumeUpdateReplicaAutoBalance added in v1.2.0

func (s *Server) VolumeUpdateReplicaAutoBalance(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

func (*Server) VolumeUpdateReplicaDiskSoftAntiAffinity added in v1.6.0

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

func (*Server) VolumeUpdateReplicaSoftAntiAffinity added in v1.5.0

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

func (*Server) VolumeUpdateReplicaZoneSoftAntiAffinity added in v1.5.0

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

func (*Server) VolumeUpdateSnapshotDataIntegrity added in v1.4.0

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

func (*Server) VolumeUpdateSnapshotMaxCount added in v1.6.0

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

func (*Server) VolumeUpdateSnapshotMaxSize added in v1.6.0

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

func (*Server) VolumeUpdateUnmapMarkSnapChainRemoved added in v1.4.0

func (s *Server) VolumeUpdateUnmapMarkSnapChainRemoved(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
	longhorn.SnapshotInfo
	Checksum string `json:"checksum"`
}

Snapshot struct is used for the snapshot* actions

type SnapshotCR added in v1.5.0

type SnapshotCR struct {
	client.Resource
	Name           string `json:"name"`
	CRCreationTime string `json:"crCreationTime"`
	Volume         string `json:"volume"`
	CreateSnapshot bool   `json:"createSnapshot"`

	Parent       string            `json:"parent"`
	Children     map[string]bool   `json:"children"`
	MarkRemoved  bool              `json:"markRemoved"`
	UserCreated  bool              `json:"userCreated"`
	CreationTime string            `json:"creationTime"`
	Size         int64             `json:"size"`
	Labels       map[string]string `json:"labels"`
	OwnerID      string            `json:"ownerID"`
	Error        string            `json:"error,omitempty"`
	RestoreSize  int64             `json:"restoreSize"`
	ReadyToUse   bool              `json:"readyToUse"`
	Checksum     string            `json:"checksum"`
}

SnapshotCR struct is used for the snapshotCR* actions

type SnapshotCRInput added in v1.5.0

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

type SnapshotCRListOutput added in v1.5.0

type SnapshotCRListOutput struct {
	Data []SnapshotCR `json:"data"`
	Type string       `json:"type"`
}

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              longhorn.SupportBundleState `json:"state"`
	Name               string                      `json:"name"`
	ErrorMessage       string                      `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 SystemBackup added in v1.4.0

type SystemBackup struct {
	client.Resource

	Name               string                                        `json:"name"`
	VolumeBackupPolicy longhorn.SystemBackupCreateVolumeBackupPolicy `json:"volumeBackupPolicy"`

	Version      string                     `json:"version,omitempty"`
	ManagerImage string                     `json:"managerImage,omitempty"`
	State        longhorn.SystemBackupState `json:"state,omitempty"`
	CreatedAt    string                     `json:"createdAt,omitempty"`
	Error        string                     `json:"error,omitempty"`
}

type SystemBackupInput added in v1.4.0

type SystemBackupInput struct {
	Name               string                                        `json:"name"`
	VolumeBackupPolicy longhorn.SystemBackupCreateVolumeBackupPolicy `json:"volumeBackupPolicy"`
}

type SystemRestore added in v1.4.0

type SystemRestore struct {
	client.Resource
	Name         string                      `json:"name"`
	SystemBackup string                      `json:"systemBackup"`
	State        longhorn.SystemRestoreState `json:"state,omitempty"`
	CreatedAt    string                      `json:"createdAt,omitempty"`
	Error        string                      `json:"error,omitempty"`
}

type SystemRestoreInput added in v1.4.0

type SystemRestoreInput struct {
	Name         string `json:"name"`
	SystemBackup string `json:"systemBackup"`
}

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 UpdateBackupCompressionMethodInput added in v1.5.0

type UpdateBackupCompressionMethodInput struct {
	BackupCompressionMethod string `json:"backupCompressionMethod"`
}

type UpdateDataLocalityInput added in v1.1.0

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

type UpdateOfflineReplicaRebuildingInput added in v1.5.0

type UpdateOfflineReplicaRebuildingInput struct {
	OfflineReplicaRebuilding string `json:"offlineReplicaRebuilding"`
}

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 UpdateReplicaDiskSoftAntiAffinityInput added in v1.6.0

type UpdateReplicaDiskSoftAntiAffinityInput struct {
	ReplicaDiskSoftAntiAffinity string `json:"replicaDiskSoftAntiAffinity"`
}

type UpdateReplicaSoftAntiAffinityInput added in v1.5.0

type UpdateReplicaSoftAntiAffinityInput struct {
	ReplicaSoftAntiAffinity string `json:"replicaSoftAntiAffinity"`
}

type UpdateReplicaZoneSoftAntiAffinityInput added in v1.5.0

type UpdateReplicaZoneSoftAntiAffinityInput struct {
	ReplicaZoneSoftAntiAffinity string `json:"replicaZoneSoftAntiAffinity"`
}

type UpdateSnapshotDataIntegrityInput added in v1.4.0

type UpdateSnapshotDataIntegrityInput struct {
	SnapshotDataIntegrity string `json:"snapshotDataIntegrity"`
}

type UpdateSnapshotMaxCount added in v1.6.0

type UpdateSnapshotMaxCount struct {
	SnapshotMaxCount int `json:"snapshotMaxCount"`
}

type UpdateSnapshotMaxCountInput added in v1.6.0

type UpdateSnapshotMaxCountInput struct {
	SnapshotMaxCount int `json:"snapshotMaxCount"`
}

type UpdateSnapshotMaxSize added in v1.6.0

type UpdateSnapshotMaxSize struct {
	SnapshotMaxSize string `json:"snapshotMaxSize"`
}

type UpdateSnapshotMaxSizeInput added in v1.6.0

type UpdateSnapshotMaxSizeInput struct {
	SnapshotMaxSize string `json:"snapshotMaxSize"`
}

type UpdateUnmapMarkSnapChainRemovedInput added in v1.4.0

type UpdateUnmapMarkSnapChainRemovedInput struct {
	UnmapMarkSnapChainRemoved string `json:"unmapMarkSnapChainRemoved"`
}

type Volume

type Volume struct {
	client.Resource

	Name                             string                                 `json:"name"`
	Size                             string                                 `json:"size"`
	Frontend                         longhorn.VolumeFrontend                `json:"frontend"`
	DisableFrontend                  bool                                   `json:"disableFrontend"`
	FromBackup                       string                                 `json:"fromBackup"`
	RestoreVolumeRecurringJob        longhorn.RestoreVolumeRecurringJobType `json:"restoreVolumeRecurringJob"`
	DataSource                       longhorn.VolumeDataSource              `json:"dataSource"`
	DataLocality                     longhorn.DataLocality                  `json:"dataLocality"`
	StaleReplicaTimeout              int                                    `json:"staleReplicaTimeout"`
	State                            longhorn.VolumeState                   `json:"state"`
	Robustness                       longhorn.VolumeRobustness              `json:"robustness"`
	Image                            string                                 `json:"image"`
	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"`
	RestoreInitiated                 bool                                   `json:"restoreInitiated"`
	RevisionCounterDisabled          bool                                   `json:"revisionCounterDisabled"`
	SnapshotDataIntegrity            longhorn.SnapshotDataIntegrity         `json:"snapshotDataIntegrity"`
	UnmapMarkSnapChainRemoved        longhorn.UnmapMarkSnapChainRemoved     `json:"unmapMarkSnapChainRemoved"`
	BackupCompressionMethod          longhorn.BackupCompressionMethod       `json:"backupCompressionMethod"`
	ReplicaSoftAntiAffinity          longhorn.ReplicaSoftAntiAffinity       `json:"replicaSoftAntiAffinity"`
	ReplicaZoneSoftAntiAffinity      longhorn.ReplicaZoneSoftAntiAffinity   `json:"replicaZoneSoftAntiAffinity"`
	ReplicaDiskSoftAntiAffinity      longhorn.ReplicaDiskSoftAntiAffinity   `json:"replicaDiskSoftAntiAffinity"`
	DataEngine                       longhorn.DataEngineType                `json:"dataEngine"`
	OfflineReplicaRebuilding         longhorn.OfflineReplicaRebuilding      `json:"offlineReplicaRebuilding"`
	OfflineReplicaRebuildingRequired bool                                   `json:"offlineReplicaRebuildingRequired"`
	SnapshotMaxCount                 int                                    `json:"snapshotMaxCount"`
	SnapshotMaxSize                  string                                 `json:"snapshotMaxSize"`

	DiskSelector         []string                      `json:"diskSelector"`
	NodeSelector         []string                      `json:"nodeSelector"`
	RecurringJobSelector []longhorn.VolumeRecurringJob `json:"recurringJobSelector"`

	NumberOfReplicas   int                         `json:"numberOfReplicas"`
	ReplicaAutoBalance longhorn.ReplicaAutoBalance `json:"replicaAutoBalance"`

	Conditions       map[string]longhorn.Condition `json:"conditions"`
	KubernetesStatus longhorn.KubernetesStatus     `json:"kubernetesStatus"`
	CloneStatus      longhorn.VolumeCloneStatus    `json:"cloneStatus"`
	Ready            bool                          `json:"ready"`

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

	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"`
	VolumeAttachment VolumeAttachment `json:"volumeAttachment"`
}

type VolumeAttachment added in v1.5.0

type VolumeAttachment struct {
	Attachments map[string]Attachment `json:"attachments"`
	Volume      string                `json:"volume"`
}

type VolumeRecurringJob added in v1.2.0

type VolumeRecurringJob struct {
	client.Resource
	longhorn.VolumeRecurringJob
}

type VolumeRecurringJobInput added in v1.2.0

type VolumeRecurringJobInput struct {
	longhorn.VolumeRecurringJob
}

Jump to

Keyboard shortcuts

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