api

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Oct 10, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const (
	LabelsAnnotation      = "ceph-provider.ironcore.dev/labels"
	AnnotationsAnnotation = "ceph-provider.ironcore.dev/annotations"
	ClassLabel            = "ceph-provider.ironcore.dev/class"
	ManagerLabel          = "ceph-provider.ironcore.dev/manager"
	BucketManager         = "ceph-bucket-provider"
	VolumeManager         = "ceph-volume-provider"
)

Variables

This section is empty.

Functions

func GetAnnotationsAnnotation

func GetAnnotationsAnnotation(o metav1.Object) (map[string]string, error)

func GetAnnotationsAnnotationForMetadata

func GetAnnotationsAnnotationForMetadata(o Metadata) (map[string]string, error)

func GetClassLabel

func GetClassLabel(o metav1.Object) (string, bool)

func GetClassLabelFromObject

func GetClassLabelFromObject(o Object) (string, bool)

func GetLabelsAnnotation

func GetLabelsAnnotation(o metav1.Object) (map[string]string, error)

func GetLabelsAnnotationForMetadata

func GetLabelsAnnotationForMetadata(o Metadata) (map[string]string, error)

func GetObjectMetadata

func GetObjectMetadata(o metav1.Object) (*irimeta.ObjectMetadata, error)

func GetObjectMetadataFromObjectID

func GetObjectMetadataFromObjectID(o Metadata) (*irimeta.ObjectMetadata, error)

func IsManagedBy

func IsManagedBy(o metav1.Object, manager string) bool

func IsObjectManagedBy

func IsObjectManagedBy(o Object, manager string) bool

func SetAnnotationsAnnotation

func SetAnnotationsAnnotation(o metav1.Object, annotations map[string]string) error

func SetAnnotationsAnnotationForObject

func SetAnnotationsAnnotationForObject(o Object, annotations map[string]string) error

func SetBucketManagerLabel

func SetBucketManagerLabel(bucket *objectbucketv1alpha1.ObjectBucketClaim, manager string)

func SetClassLabel

func SetClassLabel(o metav1.Object, class string)

func SetClassLabelForObject

func SetClassLabelForObject(o Object, class string)

func SetLabelsAnnotation

func SetLabelsAnnotation(o metav1.Object, labels map[string]string) error

func SetLabelsAnnotationForOject

func SetLabelsAnnotationForOject(o Object, labels map[string]string) error

func SetManagerLabel

func SetManagerLabel(o Object, manager string)

func SetObjectMetadata

func SetObjectMetadata(o metav1.Object, metadata *irimeta.ObjectMetadata) error

func SetObjectMetadataFromMetadata

func SetObjectMetadataFromMetadata(o Object, metadata *irimeta.ObjectMetadata) error

Types

type EncryptionSpec

type EncryptionSpec struct {
	Type                EncryptionType `json:"type"`
	EncryptedPassphrase []byte         `json:"encryptedPassphrase"`
}

type EncryptionState

type EncryptionState string
const (
	EncryptionStateHeaderSet EncryptionState = "EncryptionHeaderSet"
)

type EncryptionType

type EncryptionType string
const (
	EncryptionTypeEncrypted   EncryptionType = "Encrypted"
	EncryptionTypeUnencrypted EncryptionType = "Unencrypted"
)

type Image

type Image struct {
	Metadata `json:"metadata,omitempty"`

	Spec   ImageSpec   `json:"spec"`
	Status ImageStatus `json:"status"`
}

type ImageAccess

type ImageAccess struct {
	Monitors string `json:"monitors"`
	Handle   string `json:"handle"`

	User    string `json:"user"`
	UserKey string `json:"userKey"`
}

type ImageSpec

type ImageSpec struct {
	Size        uint64         `json:"size"`
	WWN         string         `json:"wwn"`
	Limits      Limits         `json:"limits"`
	Image       string         `json:"image"`
	SnapshotRef *string        `json:"snapshotRef"`
	Encryption  EncryptionSpec `json:"encryption"`
}

type ImageState

type ImageState string
const (
	ImageStatePending   ImageState = "Pending"
	ImageStateAvailable ImageState = "Available"
)

type ImageStatus

type ImageStatus struct {
	State      ImageState      `json:"state"`
	Encryption EncryptionState `json:"encryption"`
	Access     *ImageAccess    `json:"access"`
}

type LimitType

type LimitType string
const (
	IOPSlLimit                  LimitType = "rbd_qos_iops_limit"
	IOPSBurstLimit              LimitType = "rbd_qos_iops_burst"
	IOPSBurstDurationLimit      LimitType = "rbd_qos_iops_burst_seconds"
	ReadIOPSLimit               LimitType = "rbd_qos_read_iops_limit"
	ReadIOPSBurstLimit          LimitType = "rbd_qos_read_iops_burst"
	ReadIOPSBurstDurationLimit  LimitType = "rbd_qos_read_iops_burst_seconds"
	WriteIOPSLimit              LimitType = "rbd_qos_write_iops_limit"
	WriteIOPSBurstLimit         LimitType = "rbd_qos_write_iops_burst"
	WriteIOPSBurstDurationLimit LimitType = "rbd_qos_write_iops_burst_seconds"
	BPSLimit                    LimitType = "rbd_qos_bps_limit"
	BPSBurstLimit               LimitType = "rbd_qos_bps_burst"
	BPSBurstDurationLimit       LimitType = "rbd_qos_bps_burst_seconds"
	ReadBPSLimit                LimitType = "rbd_qos_read_bps_limit"
	ReadBPSBurstLimit           LimitType = "rbd_qos_read_bps_burst"
	ReadBPSBurstDurationLimit   LimitType = "rbd_qos_read_bps_burst_seconds"
	WriteBPSLimit               LimitType = "rbd_qos_write_bps_limit"
	WriteBPSBurstLimit          LimitType = "rbd_qos_write_bps_burst"
	WriteBPSBurstDurationLimit  LimitType = "rbd_qos_write_bps_burst_seconds"
)

type Limits

type Limits map[LimitType]int64

type Metadata

type Metadata struct {
	ID          string            `json:"id"`
	Annotations map[string]string `json:"annotations"`
	Labels      map[string]string `json:"labels"`

	CreatedAt       time.Time  `json:"createdAt"`
	DeletedAt       *time.Time `json:"deletedAt,omitempty"`
	Generation      int64      `json:"generation"`
	ResourceVersion uint64     `json:"resourceVersion"`

	Finalizers []string `json:"finalizers,omitempty"`
}

func (*Metadata) GetAnnotations

func (m *Metadata) GetAnnotations() map[string]string

func (*Metadata) GetCreatedAt

func (m *Metadata) GetCreatedAt() time.Time

func (*Metadata) GetDeletedAt

func (m *Metadata) GetDeletedAt() *time.Time

func (*Metadata) GetFinalizers

func (m *Metadata) GetFinalizers() []string

func (*Metadata) GetGeneration

func (m *Metadata) GetGeneration() int64

func (*Metadata) GetID

func (m *Metadata) GetID() string

func (*Metadata) GetLabels

func (m *Metadata) GetLabels() map[string]string

func (*Metadata) GetResourceVersion added in v0.3.0

func (m *Metadata) GetResourceVersion() uint64

func (*Metadata) IncrementResourceVersion added in v0.3.0

func (m *Metadata) IncrementResourceVersion()

func (*Metadata) SetAnnotations

func (m *Metadata) SetAnnotations(annotations map[string]string)

func (*Metadata) SetCreatedAt

func (m *Metadata) SetCreatedAt(createdAt time.Time)

func (*Metadata) SetDeletedAt

func (m *Metadata) SetDeletedAt(deleted *time.Time)

func (*Metadata) SetFinalizers

func (m *Metadata) SetFinalizers(finalizers []string)

func (*Metadata) SetGeneration

func (m *Metadata) SetGeneration(generation int64)

func (*Metadata) SetID

func (m *Metadata) SetID(id string)

func (*Metadata) SetLabels

func (m *Metadata) SetLabels(labels map[string]string)

type Object

type Object interface {
	GetID() string
	GetAnnotations() map[string]string
	GetLabels() map[string]string
	GetCreatedAt() time.Time
	GetDeletedAt() *time.Time
	GetGeneration() int64
	GetFinalizers() []string
	GetResourceVersion() uint64

	SetID(id string)
	SetAnnotations(annotations map[string]string)
	SetLabels(labels map[string]string)
	SetCreatedAt(createdAt time.Time)
	SetDeletedAt(deleted *time.Time)
	SetGeneration(generation int64)
	SetFinalizers(finalizers []string)
	IncrementResourceVersion()
}

type Snapshot

type Snapshot struct {
	Metadata `json:"metadata,omitempty"`

	Source SnapshotSource `json:"source"`

	Status SnapshotStatus `json:"status"`
}

type SnapshotSource

type SnapshotSource struct {
	IronCoreImage string `json:"ironcoreImage"`
}

type SnapshotState

type SnapshotState string
const (
	SnapshotStatePending   SnapshotState = "Pending"
	SnapshotStatePopulated SnapshotState = "Populated"
)

type SnapshotStatus

type SnapshotStatus struct {
	State  SnapshotState `json:"state"`
	Digest string        `json:"digest"`
}

Jump to

Keyboard shortcuts

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