Skip to main content

SchemaMetadataEntry

Struct SchemaMetadataEntry 

Source
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, SchemaPropertyConstraints>,
    pub dependent_required: HashMap<String, Vec<String>>,
    pub dependent_excluded: HashMap<String, Vec<String>>,
    pub required_or: Vec<String>,
    pub required_xor: Vec<String>,
    pub additional: BTreeMap<String, Value>,
}
Expand description

Per-resource-type schema metadata describing the type’s top-level properties.

The nested shape of object and array properties is not repeated here: the schema validator enforces it from the compiled schemas, which keep shared definitions by reference. What the engines need per property is its primary type, its allowed values, and the scalar constraints on its own value.

properties, required, property_types, and property_enums always serialize, even when empty, because the generator emits them for every type; preserving that presence is required for lossless round-tripping. Fields the current code does not model are retained in Self::additional.

Fields§

§properties: Vec<String>§required: Vec<String>§property_types: HashMap<String, String>

Each property’s primary type: the declared type, or the first non-null member when the schema lists several.

§property_enums: HashMap<String, Vec<Value>>

Each property’s allowed values: its enum, or its enumCaseInsensitive values when the service compares them case-insensitively.

§property_constraints: HashMap<String, SchemaPropertyConstraints>§dependent_required: HashMap<String, Vec<String>>§dependent_excluded: HashMap<String, Vec<String>>§required_or: Vec<String>§required_xor: Vec<String>§additional: BTreeMap<String, Value>

Trait Implementations§

Source§

impl Clone for SchemaMetadataEntry

Source§

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)

Performs copy-assignment from source. Read more
Source§

impl Debug for SchemaMetadataEntry

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for SchemaMetadataEntry

Source§

fn default() -> SchemaMetadataEntry

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for SchemaMetadataEntry

Source§

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 Serialize for SchemaMetadataEntry

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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.