These structs together a “normalized” TOSCA-compatible topology, which is a flat, serializable data structure.

They are meant to be generic and independent of TOSCA grammar, especially any specific version of the TOSCA grammar.

Though they are usually created by a TOSCA parser as its final result, it’s entirely possible to write code that uses a different approach, for example by translating from a non-TOSCA topology descriptor.