Open tliron opened 2 years ago
There are lots of clauses which a unit may optionally have, the proposed 'about' clause is just one of them. IMO the defintion would be better if item 3. were omitted.
The word 'document' might be more expressive than the word 'unit'.
Clause 4 as currently written would allow a root unit which does not have a topology_template to import two or more units which each contain a topology_template; I doubt that is the intent.
I'm not a big fan of the term "unit". As far as I know, it is a term that is not used anywhere else in the industry, and I believe it would create more confusion than it solves. Instead, we clearly state that a "TOSCA File" is a YAML file that contains TOSCA statements, a TOSCA Artifact File contains artifacts referenced in TOSCA Files, and CSAR Files are how we package TOSCA Files, TOSCA Artifacts, and anything necessary for deployment.
In the Ubicity implementation, I don't require that the 'topology_template' must be specified in the "root" file. It can be specified in an imported file, as long as there is only such statement.
How about "module"? That's used fairly commonly in how programming languages refer to their imported ... things. What's special about "modules" in TOSCA is that they do not have independent namespaces, as we assume a root namespace applies to all of them (when translated into a global namespace).
@pmjordan's proposal of "document" is also not bad.
OK, let's try to decide on Tuesday.
I've updated the original proposal to use the word "file"
This is a proposal to properly document what a TOSCA file is and its rules, especially as they relate to imports.
A TOSCA file is a YAML file that can be:
a) the root of a service template (it has a
topology_template
) section b) the root of a profile, or c) an importable fileRules:
tosca_definitions_version
keyname (and the file must be parsed in this version, no matter what is importing it)about
keyname that describes that particular file (this is a separate proposal, #113)dsl_definitions
keyname then those anchors are only usable in that file. (This is a YAML parser limitation, but worth pointing out.)topology_template
then it and only it can have that keyname (no other imports, at any depth of import nesting, can have it; we do not support "merging" a topology template distributed across files).Let's discuss!