api

package
v1.7.1-dev-20240825 Latest Latest
Warning

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

Go to latest
Published: Aug 24, 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"`
	DiskSelector      []string          `json:"diskSelector"`
	NodeSelector      []string          `json:"nodeSelector"`
	MinNumberOfCopies int               `json:"minNumberOfCopies"`
	ExpectedChecksum  string            `json:"expectedChecksum"`

	DiskFileStatusMap map[string]longhorn.BackingImageDiskFileStatus `json:"diskFileStatusMap"`
	Size              int64                                          `json:"size"`
	CurrentChecksum   string                                         `json:"currentChecksum"`

	Secret          string `json:"secret"`
	SecretNamespace string `json:"secretNamespace"`

	DeletionTimestamp string `json:"deletionTimestamp"`
}

type BackingImageCleanupInput added in v1.1.1

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

type BackingImageRestoreInput added in v1.7.0

type BackingImageRestoreInput struct {
	Secret          string `json:"secret"`
	SecretNamespace string `json:"secretNamespace"`
}

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"`
	BackupMode             longhorn.BackupMode  `json:"backupMode"`
	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"`
	NewlyUploadedDataSize  string               `json:"newlyUploadDataSize"`
	ReUploadedDataSize     string               `json:"reUploadedDataSize"`
}

type BackupBackingImage added in v1.7.0

type BackupBackingImage struct {
	client.Resource
	Name              string               `json:"name"`
	State             longhorn.BackupState `json:"state"`
	Progress          int                  `json:"progress"`
	Error             string               `json:"error"`
	URL               string               `json:"url"`
	Created           string               `json:"created"`
	Size              int64                `json:"size"`
	Labels            map[string]string    `json:"labels"`
	Messages          map[string]string    `json:"messages"`
	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 BackupTargetListOutput added in v1.6.2

type BackupTargetListOutput struct {
	Data []BackupTarget `json:"data"`
	Type string         `json:"type"`
}

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 BackupVolumeListOutput added in v1.6.2

type BackupVolumeListOutput struct {
	Data []BackupVolume `json:"data"`
	Type string         `json:"type"`
}

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 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) BackupBackingImageCreate added in v1.7.0

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

func (*Server) BackupBackingImageDelete added in v1.7.0

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

func (*Server) BackupBackingImageGet added in v1.7.0

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

func (*Server) BackupBackingImageList added in v1.7.0

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

func (*Server) BackupBackingImageRestore added in v1.7.0

func (s *Server) BackupBackingImageRestore(w 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) BackupTargetSync added in v1.6.2

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

func (*Server) BackupTargetSyncAll added in v1.6.2

func (s *Server) BackupTargetSyncAll(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) BackupVolumeSyncAll added in v1.6.2

func (s *Server) BackupVolumeSyncAll(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) SyncBackupVolume added in v1.6.2

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

func (s *Server) UpdateMinNumberOfCopies(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) VolumeUpdateFreezeFilesystemForSnapshot added in v1.7.0

func (s *Server) VolumeUpdateFreezeFilesystemForSnapshot(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
	Applied    bool                    `json:"applied"`
	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"`
	BackupMode string            `json:"backupMode"`
}

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 SyncBackupResource added in v1.6.2

type SyncBackupResource struct {
	SyncAllBackupTargets bool `json:"syncAllBackupTargets"`
	SyncBackupTarget     bool `json:"syncBackupTarget"`
	SyncAllBackupVolumes bool `json:"syncAllBackupVolumes"`
	SyncBackupVolume     bool `json:"syncBackupVolume"`
}

SyncBackupResource is used for the Backup*Sync* actions

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 UpdateFreezeFilesystemForSnapshotInput added in v1.7.0

type UpdateFreezeFilesystemForSnapshotInput struct {
	FreezeFilesystemForSnapshot string `json:"freezeFilesystemForSnapshot"`
}

type UpdateMinNumberOfCopiesInput added in v1.7.0

type UpdateMinNumberOfCopiesInput struct {
	MinNumberOfCopies int `json:"minNumberOfCopies"`
}

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"`
	SnapshotMaxCount            int                                    `json:"snapshotMaxCount"`
	SnapshotMaxSize             string                                 `json:"snapshotMaxSize"`
	FreezeFilesystemForSnapshot longhorn.FreezeFilesystemForSnapshot   `json:"freezeFilesystemForSnapshot"`

	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