learning_go/pkg/mod/github.com/ceph/go-ceph@v0.35.0/common/commands/interfaces.go
a.pivkin c5bc4da2c3 sdf
2025-09-08 07:26:27 +03:00

41 lines
1.3 KiB
Go

package commands
// MgrCommander in an interface for the API needed to execute JSON formatted
// commands on the ceph mgr.
type MgrCommander interface {
MgrCommand(buf [][]byte) ([]byte, string, error)
}
// MgrBufferCommander is an interface for the API needed to execute JSON
// formatted commands with an input buffer on the Ceph mgr.
type MgrBufferCommander interface {
MgrCommandWithInputBuffer([][]byte, []byte) ([]byte, string, error)
}
// MonCommander is an interface for the API needed to execute JSON formatted
// commands on the ceph mon(s).
type MonCommander interface {
MonCommand(buf []byte) ([]byte, string, error)
}
// MonBufferCommander is an interface for the API needed to execute JSON
// formatted commands with an input buffer on the Ceph mon(s).
type MonBufferCommander interface {
MonCommandWithInputBuffer([]byte, []byte) ([]byte, string, error)
}
// RadosCommander provides an interface for APIs needed to execute JSON
// formatted commands on the Ceph cluster.
type RadosCommander interface {
MgrCommander
MonCommander
}
// RadosBufferCommander provides an interface for APIs that need to execute
// JSON formatted commands with an input buffer on the Ceph cluster.
type RadosBufferCommander interface {
RadosCommander
MgrBufferCommander
MonBufferCommander
}