pub struct System {Show 15 fields
pub name: String,
pub package: String,
pub labels: Vec<String>,
pub attributes: Vec<Attribute>,
pub members: Vec<MemberLine>,
pub components: Vec<Component>,
pub producers: Vec<Producer>,
pub grants: Vec<Grant>,
pub regions: Vec<Region>,
pub distributions: Vec<Distribution>,
pub deployments: Vec<Deployment>,
pub doc: String,
pub links: Vec<DocLink>,
pub see: Vec<DocLink>,
pub since: Vec<String>,
}Expand description
The lowered system: the closure facts, then one Deployment per
deployment the lowering was not blocked for (rsdl §13, “Errors and
warnings”).
Fields§
§name: StringCamelCase name of the system declaration (rsdl §3.1).
package: StringThe package that declares it.
labels: Vec<String>labels of the declaration, carried beside the attribute map (rsdl §5).
attributes: Vec<Attribute>The declaration’s backend keys, as declared (rsdl §5, §13).
members: Vec<MemberLine>The system’s member lines in source order, each naming one closure component (rsdl §4).
components: Vec<Component>The closure (rsdl §3.1): the listed components and the implicit components of the listed services, in the order the system lists them.
producers: Vec<Producer>For every service in the closure, its offering component and instances (rsdl §8, §13), in service name order.
grants: Vec<Grant>The permission list (rsdl §11, §13): one grant per closure component, in closure order.
regions: Vec<Region>The region map (rsdl §13): one region per catalog the closure reaches, in catalog name order.
distributions: Vec<Distribution>Every distribution of the workspace, in package, then file, then source order, with its dependency (rsdl §3.3, §13). Empty when the workspace declares none.
deployments: Vec<Deployment>Every deployment for the system whose lowering no RSDL-7xx error
blocked, in package, then file, then source order (rsdl §13).
doc: StringDoc comment body in CommonMark; empty when absent (ADR-0026).
links: Vec<DocLink>Resolved doc links in doc, in source order (ADR-0026).
see: Vec<DocLink>Resolved @see targets, in source order (ADR-0026).
since: Vec<String>@since versions, in source order (ADR-0026).
Implementations§
Trait Implementations§
§impl<'de> Deserialize<'de> for System
impl<'de> Deserialize<'de> for System
§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>,
Source§impl Message for System
impl Message for System
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self.