Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Addresses 

Jira
serverONAP JIRA
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyCPS-43

Table of Contents

...


Using multiple YANG files cases


Below are most common cases expected to be handled.
Sample files were used to validate the expected flows and possible issues.

The sample files are attached here yang-test.zip

Augmentation

The augmentation is mainly used to extends an existing model. The augmentation is encapsulated within separate
module file, having own namespace and revision. Example:

...

Assembly case is mainly used to for organizational purposes when large module file is split to logical peaces (submodules)
for better maintainability. Submodules may have own revision but the namespace is shared with assembly module (the submodule belongs to).


Code Block
titleassembly.yang
module assembly {
    yang-version 1.1;

    namespace "org:onap:cps:test:assembly";
    prefix "assembly";
    revision "2020-03-01";

    include "component";

    container module-container {
        leaf name {
            type string;
        }
        leaf description {
            type string;
        }
    }
}



Code Block
titlecomponent.yang
submodule component {
    yang-version 1.1;

    revision "2020-03-02";

    belongs-to "assembly" {
        prefix "assembly";
    }

    container submodule-container {
        leaf name {
            type string;
        }
        leaf description {
            type string;
        }
    }
}



Code Block
titleassembly.json (invalid)
{
  "module-container": {
    "name": "module name",
    "description": "module description"
  },
  "submodule-container": {
    "name": "submodule name",
    "description": "submodule description"
  }
}


Module vs Yang File