pub struct Rados { /* private fields */ }
Expand description
Owns a rados handle
Implementations§
Source§impl Rados
impl Rados
pub fn inner(&self) -> &rados_t
Sourcepub fn disconnect_from_ceph(&mut self)
pub fn disconnect_from_ceph(&mut self)
Disconnect from a Ceph cluster and destroy the connection handle rados_t For clean up, this is only necessary after connect_to_ceph() has succeeded.
Sourcepub fn config_set(&self, name: &str, value: &str) -> RadosResult<()>
pub fn config_set(&self, name: &str, value: &str) -> RadosResult<()>
Set the value of a configuration option
Sourcepub fn config_get(&self, name: &str) -> RadosResult<String>
pub fn config_get(&self, name: &str) -> RadosResult<String>
Get the value of a configuration option
Sourcepub fn get_rados_ioctx(&self, pool_name: &str) -> RadosResult<IoCtx>
pub fn get_rados_ioctx(&self, pool_name: &str) -> RadosResult<IoCtx>
Create an io context. The io context allows you to perform operations within a particular pool. For more details see rados_ioctx_t.
Sourcepub fn get_rados_ioctx2(&self, pool_id: i64) -> RadosResult<IoCtx>
pub fn get_rados_ioctx2(&self, pool_id: i64) -> RadosResult<IoCtx>
Create an io context. The io context allows you to perform operations within a particular pool. For more details see rados_ioctx_t.
Source§impl Rados
impl Rados
pub fn rados_blacklist_client( &self, client: IpAddr, expire_seconds: u32, ) -> RadosResult<()>
Sourcepub fn rados_pools(&self) -> RadosResult<Vec<String>>
pub fn rados_pools(&self) -> RadosResult<Vec<String>>
Returns back a collection of Rados Pools
pool_buffer should be allocated with:
let capacity = 10;
let pool_buffer: Vec<u8> = Vec::with_capacity(capacity);
buf_size should be the value used with_capacity
Returns Ok(Vec
Sourcepub fn rados_create_pool(&self, pool_name: &str) -> RadosResult<()>
pub fn rados_create_pool(&self, pool_name: &str) -> RadosResult<()>
Create a pool with default settings The default owner is the admin user (auid 0). The default crush rule is rule 0.
Sourcepub fn rados_delete_pool(&self, pool_name: &str) -> RadosResult<()>
pub fn rados_delete_pool(&self, pool_name: &str) -> RadosResult<()>
Delete a pool and all data inside it The pool is removed from the cluster immediately, but the actual data is deleted in the background.
Sourcepub fn rados_lookup_pool(&self, pool_name: &str) -> RadosResult<Option<i64>>
pub fn rados_lookup_pool(&self, pool_name: &str) -> RadosResult<Option<i64>>
Lookup a Ceph pool id. If the pool doesn’t exist it will return Ok(None).
pub fn rados_reverse_lookup_pool(&self, pool_id: i64) -> RadosResult<String>
Source§impl Rados
impl Rados
Sourcepub fn rados_stat_cluster(&self) -> RadosResult<Struct_rados_cluster_stat_t>
pub fn rados_stat_cluster(&self) -> RadosResult<Struct_rados_cluster_stat_t>
Read usage info about the cluster This tells you total space, space used, space available, and number of objects. These are not updated immediately when data is written, they are eventually consistent. Note: Ceph uses kibibytes: https://en.wikipedia.org/wiki/Kibibyte
pub fn rados_fsid(&self) -> RadosResult<Uuid>
Sourcepub fn ping_monitor(&self, mon_id: &str) -> RadosResult<String>
pub fn ping_monitor(&self, mon_id: &str) -> RadosResult<String>
Ping a monitor to assess liveness May be used as a simply way to assess liveness, or to obtain information about the monitor in a simple way even in the absence of quorum.
Source§impl Rados
impl Rados
Sourcepub fn ceph_status(&self, keys: &[&str]) -> RadosResult<String>
pub fn ceph_status(&self, keys: &[&str]) -> RadosResult<String>
Only single String value
Sourcepub fn ceph_health_string(&self) -> RadosResult<String>
pub fn ceph_health_string(&self) -> RadosResult<String>
string with the health HEALTH_OK
or HEALTH_WARN
or HEALTH_ERR
which is also not efficient.
Sourcepub fn ceph_health(&self) -> CephHealth
pub fn ceph_health(&self) -> CephHealth
Returns an enum value of: CephHealth::Ok CephHealth::Warning CephHealth::Error
Sourcepub fn ceph_command(
&self,
name: &str,
value: &str,
cmd_type: CephCommandTypes,
keys: &[&str],
) -> RadosResult<JsonData>
pub fn ceph_command( &self, name: &str, value: &str, cmd_type: CephCommandTypes, keys: &[&str], ) -> RadosResult<JsonData>
Higher level ceph_command
Sourcepub fn ceph_commands(&self, keys: Option<&[&str]>) -> RadosResult<JsonData>
pub fn ceph_commands(&self, keys: Option<&[&str]>) -> RadosResult<JsonData>
Returns the list of available commands
Sourcepub fn ceph_mon_command(
&self,
name: &str,
value: &str,
format: Option<&str>,
) -> RadosResult<(Option<String>, Option<String>)>
pub fn ceph_mon_command( &self, name: &str, value: &str, format: Option<&str>, ) -> RadosResult<(Option<String>, Option<String>)>
Mon command that does not pass in a data payload.
pub fn ceph_mon_command_without_data( &self, cmd: &Value, ) -> RadosResult<(Vec<u8>, Option<String>)>
Sourcepub fn ceph_mon_command_with_data(
&self,
name: &str,
value: &str,
format: Option<&str>,
data: Vec<*mut c_char>,
) -> RadosResult<(Option<String>, Option<String>)>
pub fn ceph_mon_command_with_data( &self, name: &str, value: &str, format: Option<&str>, data: Vec<*mut c_char>, ) -> RadosResult<(Option<String>, Option<String>)>
Mon command that does pass in a data payload. Most all of the commands pass through this function.
Sourcepub fn ceph_osd_command(
&self,
id: i32,
name: &str,
value: &str,
format: Option<&str>,
) -> RadosResult<(Option<String>, Option<String>)>
pub fn ceph_osd_command( &self, id: i32, name: &str, value: &str, format: Option<&str>, ) -> RadosResult<(Option<String>, Option<String>)>
OSD command that does not pass in a data payload.
Sourcepub fn ceph_osd_command_with_data(
&self,
id: i32,
name: &str,
value: &str,
format: Option<&str>,
data: Vec<*mut c_char>,
) -> RadosResult<(Option<String>, Option<String>)>
pub fn ceph_osd_command_with_data( &self, id: i32, name: &str, value: &str, format: Option<&str>, data: Vec<*mut c_char>, ) -> RadosResult<(Option<String>, Option<String>)>
OSD command that does pass in a data payload.
Trait Implementations§
Auto Trait Implementations§
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> FmtForward for T
impl<T> FmtForward for T
Source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.Source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self
to use its Display
implementation when
Debug
-formatted.Source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.Source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.Source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.Source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.Source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.Source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read moreSource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read moreSource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
Source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
Source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self
, then passes self.as_ref()
into the pipe function.Source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self
, then passes self.as_mut()
into the pipe
function.Source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self
, then passes self.deref()
into the pipe function.Source§impl<T> PipeAsRef for T
impl<T> PipeAsRef for T
Source§impl<T> PipeBorrow for T
impl<T> PipeBorrow for T
Source§impl<T> PipeDeref for T
impl<T> PipeDeref for T
Source§impl<T> PipeRef for T
impl<T> PipeRef for T
Source§impl<T> Tap for T
impl<T> Tap for T
Source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B>
of a value. Read moreSource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B>
of a value. Read moreSource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R>
view of a value. Read moreSource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R>
view of a value. Read moreSource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target
of a value. Read moreSource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target
of a value. Read moreSource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.Source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.Source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow()
only in debug builds, and is erased in release
builds.Source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.Source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref()
only in debug builds, and is erased in release
builds.Source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut()
only in debug builds, and is erased in release
builds.Source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref()
only in debug builds, and is erased in release
builds.Source§impl<T> Tap for T
impl<T> Tap for T
Source§fn tap<F, R>(self, func: F) -> Selfwhere
F: FnOnce(&Self) -> R,
fn tap<F, R>(self, func: F) -> Selfwhere
F: FnOnce(&Self) -> R,
Source§fn tap_dbg<F, R>(self, func: F) -> Selfwhere
F: FnOnce(&Self) -> R,
fn tap_dbg<F, R>(self, func: F) -> Selfwhere
F: FnOnce(&Self) -> R,
tap
in debug builds, and does nothing in release builds.Source§fn tap_mut<F, R>(self, func: F) -> Selfwhere
F: FnOnce(&mut Self) -> R,
fn tap_mut<F, R>(self, func: F) -> Selfwhere
F: FnOnce(&mut Self) -> R,
Source§fn tap_mut_dbg<F, R>(self, func: F) -> Selfwhere
F: FnOnce(&mut Self) -> R,
fn tap_mut_dbg<F, R>(self, func: F) -> Selfwhere
F: FnOnce(&mut Self) -> R,
tap_mut
in debug builds, and does nothing in release builds.Source§impl<T, U> TapAsRef<U> for Twhere
U: ?Sized,
impl<T, U> TapAsRef<U> for Twhere
U: ?Sized,
Source§fn tap_ref<F, R>(self, func: F) -> Self
fn tap_ref<F, R>(self, func: F) -> Self
Source§fn tap_ref_dbg<F, R>(self, func: F) -> Self
fn tap_ref_dbg<F, R>(self, func: F) -> Self
tap_ref
in debug builds, and does nothing in release builds.Source§fn tap_ref_mut<F, R>(self, func: F) -> Self
fn tap_ref_mut<F, R>(self, func: F) -> Self
Source§impl<T, U> TapBorrow<U> for Twhere
U: ?Sized,
impl<T, U> TapBorrow<U> for Twhere
U: ?Sized,
Source§fn tap_borrow<F, R>(self, func: F) -> Self
fn tap_borrow<F, R>(self, func: F) -> Self
Source§fn tap_borrow_dbg<F, R>(self, func: F) -> Self
fn tap_borrow_dbg<F, R>(self, func: F) -> Self
tap_borrow
in debug builds, and does nothing in release builds.Source§fn tap_borrow_mut<F, R>(self, func: F) -> Self
fn tap_borrow_mut<F, R>(self, func: F) -> Self
Source§impl<T> TapDeref for T
impl<T> TapDeref for T
Source§fn tap_deref_dbg<F, R>(self, func: F) -> Self
fn tap_deref_dbg<F, R>(self, func: F) -> Self
tap_deref
in debug builds, and does nothing in release builds.Source§fn tap_deref_mut<F, R>(self, func: F) -> Self
fn tap_deref_mut<F, R>(self, func: F) -> Self
self
for modification.