Skip to main content

ZabbixInstanceBuilder

Struct ZabbixInstanceBuilder 

Source
pub struct ZabbixInstanceBuilder { /* private fields */ }
Expand description

A builder for creating a ZabbixInstance.

Implementations§

Source§

impl ZabbixInstanceBuilder

Source

pub fn new(url: &str) -> Self

Creates a new builder with the given Zabbix URL.

The URL should be the base URL of the Zabbix server, without the /api_jsonrpc.php suffix.

§Examples
use http_request_zabbix::ZabbixInstance;

let builder = ZabbixInstance::builder("http://localhost/zabbix");
Source

pub fn danger_accept_invalid_certs(self, accept: bool) -> Self

Configures whether the client should verify the server’s TLS certificates.

Setting this to true is dangerous and should only be used for testing or when using self-signed certificates in a trusted environment.

§Examples
use http_request_zabbix::ZabbixInstance;

let builder = ZabbixInstance::builder("http://localhost/zabbix/api_jsonrpc.php")
    .danger_accept_invalid_certs(true);
Source

pub fn build(self) -> Result<Self, ZabbixError>

Builds the ZabbixInstance by connecting to the server and verifying the API version.

This method will make an initial unauthenticated request to the Zabbix server to determine its version (using apiinfo.version). This is required because Zabbix >= 6.4 changed the authentication flow (using Bearer tokens instead of passing auth in the request body).

§Examples
use http_request_zabbix::ZabbixInstance;

let zabbix_result = ZabbixInstance::builder("http://zabbix.example.com/api_jsonrpc.php")
    .danger_accept_invalid_certs(true)
    .build();
     
assert!(zabbix_result.is_ok());
Source

pub fn login(self, auth_type: AuthType) -> Result<ZabbixInstance, ZabbixError>

Logs in to the Zabbix server using the provided authentication type.

§Arguments
  • auth_type - The authentication type to use for logging in.
§Examples
use http_request_zabbix::{ZabbixInstance, AuthType};

let auth_type = AuthType::UsernamePassword("Admin".to_string(), "zabbix".to_string());

let zabbix = ZabbixInstance::builder("http://zabbix.example.com/zabbix")
    .build()
    .unwrap()
    .login(auth_type)
    .unwrap();
use http_request_zabbix::{ZabbixInstance, AuthType};

let auth_type = AuthType::Token("817dc89d0ae1...".to_string());

let zabbix = ZabbixInstance::builder("http://zabbix.example.com/zabbix")
    .build()
    .unwrap()
    .login(auth_type)
    .unwrap();

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,