pub struct Group { /* private fields */ }Expand description
Group-level inventory entry that applies values to member hosts.
§Fields
Group fields mirror host fields and are merged during resolution.
Groups are stored in the Groups collection keyed by name. Use
Groups::add_group(name, group) to add a group entry under a name.
hostname- Optional hostname or address applied to member hosts.port- Optional connection port applied to member hosts.username- Optional username applied to member hosts.password- Optional password applied to member hosts.platform- Optional platform identifier applied to member hosts.groups- Optional parent group names for group inheritance.data- Optional arbitrary data merged into member hosts.connection_options- Optional per-connection overrides.- Defaults are applied globally via
Inventory.
§Deserialization
- Unknown fields are rejected (via
#[serde(deny_unknown_fields)]). - Connection options accept arbitrary map keys.
§Examples
use genja_core::inventory::{Group, Groups, BaseBuilderHost};
let mut groups = Groups::new();
let core_group = Group::builder()
.platform("linux")
.build();
groups.add_group("core", core_group);
assert_eq!(groups.len(), 1);Implementations§
Source§impl Group
impl Group
Sourcepub fn builder() -> GroupBuilder
pub fn builder() -> GroupBuilder
Returns a builder for creating group entries.
Use the builder to set optional fields before calling build().
pub fn to_builder(&self) -> GroupBuilder
pub fn hostname(&self) -> Option<&str>
pub fn port(&self) -> Option<u16>
pub fn username(&self) -> Option<&str>
pub fn password(&self) -> Option<&str>
pub fn platform(&self) -> Option<&str>
pub fn groups(&self) -> Option<&ParentGroups>
pub fn data(&self) -> Option<&Data>
pub fn connection_options(&self) -> Option<&CustomTreeMap<ConnectionOptions>>
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Group
impl<'de> Deserialize<'de> for Group
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl JsonSchema for Group
impl JsonSchema for Group
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Returns a string that uniquely identifies the schema produced by this type. Read more
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
Whether JSON Schemas generated for this type should be included directly in parent schemas,
rather than being re-used where possible using the
$ref keyword. Read moreAuto Trait Implementations§
impl Freeze for Group
impl RefUnwindSafe for Group
impl Send for Group
impl Sync for Group
impl Unpin for Group
impl UnsafeUnpin for Group
impl UnwindSafe for Group
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