mirror of
https://github.com/ceph/ceph-csi.git
synced 2025-06-13 10:33:35 +00:00
rebase: add go-ceph rbd admin package to vendor
added go-ceph rbd admin package to vendor. keeping this as a separate commit which helps in review. Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
This commit is contained in:
committed by
mergify[bot]
parent
e14d649547
commit
8732bec369
51
vendor/github.com/ceph/go-ceph/rbd/admin/admin.go
generated
vendored
Normal file
51
vendor/github.com/ceph/go-ceph/rbd/admin/admin.go
generated
vendored
Normal file
@ -0,0 +1,51 @@
|
||||
// +build !nautilus
|
||||
|
||||
package admin
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
ccom "github.com/ceph/go-ceph/common/commands"
|
||||
)
|
||||
|
||||
// RBDAdmin is used to administrate rbd volumes and pools.
|
||||
type RBDAdmin struct {
|
||||
conn ccom.RadosCommander
|
||||
}
|
||||
|
||||
// NewFromConn creates an new management object from a preexisting
|
||||
// rados connection. The existing connection can be rados.Conn or any
|
||||
// type implementing the RadosCommander interface.
|
||||
func NewFromConn(conn ccom.RadosCommander) *RBDAdmin {
|
||||
return &RBDAdmin{conn}
|
||||
}
|
||||
|
||||
// LevelSpec values are used to identify RBD objects wherever Ceph APIs
|
||||
// require a levelspec to select an image, pool, or namespace.
|
||||
type LevelSpec struct {
|
||||
spec string
|
||||
}
|
||||
|
||||
// NewLevelSpec is used to construct a LevelSpec given a pool and
|
||||
// optional namespace and image names.
|
||||
func NewLevelSpec(pool, namespace, image string) LevelSpec {
|
||||
var s string
|
||||
if image != "" && namespace != "" {
|
||||
s = fmt.Sprintf("%s/%s/%s", pool, namespace, image)
|
||||
} else if image != "" {
|
||||
s = fmt.Sprintf("%s/%s", pool, image)
|
||||
} else if namespace != "" {
|
||||
s = fmt.Sprintf("%s/%s/", pool, namespace)
|
||||
} else {
|
||||
s = fmt.Sprintf("%s/", pool)
|
||||
}
|
||||
return LevelSpec{s}
|
||||
}
|
||||
|
||||
// NewRawLevelSpec returns a LevelSpec directly based on the spec string
|
||||
// argument without constructing it from component values. This should only be
|
||||
// used if NewLevelSpec can not create the levelspec value you want to pass to
|
||||
// ceph.
|
||||
func NewRawLevelSpec(spec string) LevelSpec {
|
||||
return LevelSpec{spec}
|
||||
}
|
Reference in New Issue
Block a user