pub struct SchemaMetadataEntry {
pub properties: Vec<String>,
pub required: Vec<String>,
pub property_types: HashMap<String, String>,
pub property_enums: HashMap<String, Vec<Value>>,
pub property_constraints: HashMap<String, Value>,
pub dependent_required: HashMap<String, Vec<String>>,
pub dependent_excluded: HashMap<String, Vec<String>>,
pub required_or: Vec<String>,
pub required_xor: Vec<String>,
}Expand description
Per-resource-type schema metadata matching the JSON structure the engines
consume from the build-time schema_metadata artifact.
Fields§
§properties: Vec<String>Top-level property names.
required: Vec<String>Top-level required property names.
property_types: HashMap<String, String>Maps property name → type string (e.g. “string”, “integer”, “object”).
property_enums: HashMap<String, Vec<Value>>Maps property name → list of allowed enum values.
property_constraints: HashMap<String, Value>Maps property name → constraint object (scalar constraints like minLength, maxLength, pattern, min/max items, format, nested sub_properties, array items type/schema, etc.).
dependent_required: HashMap<String, Vec<String>>Maps trigger property → list of properties that must also be present.
dependent_excluded: HashMap<String, Vec<String>>Maps trigger property → list of properties that must NOT be present.
required_or: Vec<String>At-least-one-of group (logical OR of required properties).
required_xor: Vec<String>Exactly-one-of group (logical XOR of required properties).
Trait Implementations§
Source§impl Clone for SchemaMetadataEntry
impl Clone for SchemaMetadataEntry
Source§fn clone(&self) -> SchemaMetadataEntry
fn clone(&self) -> SchemaMetadataEntry
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SchemaMetadataEntry
impl Debug for SchemaMetadataEntry
Source§impl Default for SchemaMetadataEntry
impl Default for SchemaMetadataEntry
Source§fn default() -> SchemaMetadataEntry
fn default() -> SchemaMetadataEntry
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for SchemaMetadataEntry
impl<'de> Deserialize<'de> for SchemaMetadataEntry
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
Auto Trait Implementations§
impl Freeze for SchemaMetadataEntry
impl RefUnwindSafe for SchemaMetadataEntry
impl Send for SchemaMetadataEntry
impl Sync for SchemaMetadataEntry
impl Unpin for SchemaMetadataEntry
impl UnsafeUnpin for SchemaMetadataEntry
impl UnwindSafe for SchemaMetadataEntry
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