[][src]Struct fluvio::FluvioAdmin

pub struct FluvioAdmin(_);

An interface for managing a Fluvio cluster

Most applications will not require administrator functionality. The FluvioAdmin interface is used to create, edit, and manage Topics and other operational items. Think of the difference between regular clients of a Database and its administrators. Regular clients may be applications which are reading and writing data to and from tables that exist in the database. Database administrators would be the ones actually creating, editing, or deleting tables. The same thing goes for Fluvio administrators.

If you are writing an application whose purpose is to manage a Fluvio cluster for you, you can gain access to the FluvioAdmin client via the regular Fluvio client, or through the connect or connect_with_config functions.

Example

Note that this may fail if you are not authorized as a Fluvio administrator for the cluster you are connected to.

let admin = fluvio.admin().await;

Implementations

impl FluvioAdmin[src]

pub async fn connect() -> Result<Self, FluvioError>[src]

Creates a new admin connection using the current profile from ~/.fluvio/config

This will attempt to read a Fluvio cluster configuration from your ~/.fluvio/config file, or create one with default settings if you don't have one. If you want to specify a configuration, see connect_with_config instead.

The admin interface requires you to have administrator privileges on the cluster which you are connecting to. If you don't have the appropriate privileges, this connection will fail.

Example

let admin = FluvioAdmin::connect().await?;

pub async fn connect_with_config(
    config: &FluvioConfig
) -> Result<Self, FluvioError>
[src]

Creates a new admin connection using custom configurations

The admin interface requires you to have administrator privileges on the cluster which you are connecting to. If you don't have the appropriate privileges, this connection will fail.

Example

use fluvio::config::ConfigFile;
let config_file = ConfigFile::load_default_or_new()?;
let fluvio_config = config_file.config().current_cluster().unwrap();
let admin = FluvioAdmin::connect_with_config(fluvio_config).await?;

pub async fn create<S>(
    &mut self,
    name: String,
    dry_run: bool,
    spec: S
) -> Result<(), FluvioError> where
    S: Into<AllCreatableSpec>, 
[src]

create new object

pub async fn delete<S, K>(&mut self, key: K) -> Result<(), FluvioError> where
    S: DeleteSpec,
    K: Into<S::DeleteKey>, 
[src]

delete object by key key is depend on spec, most are string but some allow multiple types

pub async fn list<S, F>(
    &mut self,
    filters: F
) -> Result<Vec<Metadata<S>>, FluvioError> where
    S: ListSpec + Encoder + Decoder,
    S::Status: Encoder + Decoder,
    F: Into<Vec<S::Filter>>,
    ListResponse: TryInto<Vec<Metadata<S>>>,
    <ListResponse as TryInto<Vec<Metadata<S>>>>::Error: Display
[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Erased for T

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> WithSubscriber for T[src]