Design-Time Data Model: Conventions
Type URI Prefixes
In order to avoid naming collisions with other TOSCA definitions existing in the industry, the TOSCA type definitions of this Data Model will use the onap.* prefixes as part of their fully-qualified names (URIs).
Note
The qualifying prefix onap.* here is a just "quarantine" zone where new TOSCA types of the ONAP DM will stay as long as they are being discussed.
Has a type reached its maturity, an action should be taken to make this type part of the tosca.nfv.* namespace.
onap.* | |
onap.datatypes.* | |
onap.nodes.* | |
onap.capabilities.* | |
onap.policies.* | |
onap.groups.* |
Lowercase & Uppercase
All lowercase for namespace prefixes: tosca.onap.capabilities.Root.
UpperCamelCase for all shorthand (i.e., not including the namespace part) type names: Root, VirtualLink, SoftwareImage.
lowerCamelCase or snake_case for names of properties, attributes, inputs, capabilities, requirements, etc.
Type Names
The TOSCA types used to reflect the ETSI “descriptor” concept should be named without adding special postfixes like *D, *Desc, *Descr, etc.
Reason: in this DM, the representations of “Description” and “Instance” objects are distinguished very clearly: the ETSI “Descriptions” are modelled as node types, while their “Instances” are modelled as node templates (ref to the Patterns section). Therefore, there is no need to overload type names with unnecessary postfixes.
@lishitao : The suggestion is fine, but the reason is a little bit confuse, in TOSCA ,
A Node Type is a reusable entity that defines the type of one or more Node Templates.
A Node template is an instance of a specified Node Type and can provide customized properties, constraints or operations which override the defaults provided by its Node Type and its implementations.
while in ETSI NFV, "descriptor" is a concept in the design mode, "instance" is a concept of runtime model.