Struct fluvio::FluvioAdmin [−][src]
pub struct FluvioAdmin { /* fields omitted */ }
Expand description
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
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?;
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>(
&self,
name: String,
dry_run: bool,
spec: S
) -> Result<(), FluvioError> where
S: Into<AllCreatableSpec>,
pub async fn create<S>(
&self,
name: String,
dry_run: bool,
spec: S
) -> Result<(), FluvioError> where
S: Into<AllCreatableSpec>,
create new object
pub async fn delete<S, K>(&self, key: K) -> Result<(), FluvioError> where
S: DeleteSpec,
K: Into<S::DeleteKey>,
pub async fn delete<S, K>(&self, key: K) -> Result<(), FluvioError> where
S: DeleteSpec,
K: Into<S::DeleteKey>,
delete object by key key is depend on spec, most are string but some allow multiple types