pub struct InventoryBuilder {
pub hosts: Option<Hosts>,
pub groups: Option<Groups>,
pub defaults: Option<Defaults>,
pub transform_function: Option<TransformFunction>,
pub transform_function_options: Option<TransformFunctionOptions>,
pub connections: Option<Arc<ConnectionManager>>,
}Expand description
Builder for constructing Inventory instances with custom configuration.
This builder provides a fluent interface for creating Inventory objects
with optional hosts, groups, defaults, and transform settings. Fields that
are not explicitly set will use their default values when build() is called.
§Fields
hosts- Optional hosts map. When set toSome(hosts), the provided hosts are used. WhenNone, an emptyHostsmap is used.groups- Optional groups map. When set, the provided groups are used.defaults- Optional defaults object. When set, the provided defaults are used.transform_function- Optional transform function applied lazily on access.transform_function_options- Optional JSON options passed to the transform.connections- Optional connection manager. WhenNone, a defaultConnectionManageris created.
§Examples
use genja_core::inventory::{Host, Hosts, Inventory, BaseBuilderHost};
let mut hosts = Hosts::new();
let host = Host::builder().hostname("10.0.0.1").build();
hosts.add_host("router1", host);
let inventory = Inventory::builder()
.hosts(hosts)
.build();Fields§
§hosts: Option<Hosts>§groups: Option<Groups>§defaults: Option<Defaults>§transform_function: Option<TransformFunction>§transform_function_options: Option<TransformFunctionOptions>§connections: Option<Arc<ConnectionManager>>Implementations§
Source§impl InventoryBuilder
impl InventoryBuilder
pub fn new() -> InventoryBuilder
pub fn hosts(self, hosts: Hosts) -> Self
pub fn groups(self, groups: Groups) -> Self
pub fn defaults(self, defaults: Defaults) -> Self
pub fn transform_function(self, transform: TransformFunction) -> Self
pub fn transform_function_options( self, options: TransformFunctionOptions, ) -> Self
pub fn connections(self, connections: ConnectionManager) -> Self
pub fn build(self) -> Inventory
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for InventoryBuilder
impl !UnwindSafe for InventoryBuilder
impl Freeze for InventoryBuilder
impl Send for InventoryBuilder
impl Sync for InventoryBuilder
impl Unpin for InventoryBuilder
impl UnsafeUnpin for InventoryBuilder
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
Mutably borrows from an owned value. Read more