...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
node_types: onap.examples.nodes.Firewall: derived_from: toscaonap.nodes.RootNetworkFunction description: an abstract firewall capabilities: i_can_be_a_firewall: type: onap.examples.capabilities.Firewall |
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
node_types: vendorXXX.nodes.MyVerySpecialFirewall: derived_from: onap.examples.nodes.Firewall capabilities: i_can_be_a_firewall: type: vendorXXX.capabilities.Firewall requirements: - i_can_provide_firewalls:provider_service node: vendorXXX.nodes.FirewallsProvidingService type capability: vendorXXX.capabilities.FirewallsProvider relationship: onap.relationships.AllottedBy properties: # extra props interfaces: Standard: create: my_creation_script.sh # AR creation logic delete: my_delete_script.sh |
The example above shows one of the possible ways to implement a node type, through implementation script artifacts. These scripts may include a special logic that communicates to a "factory" node inside the service. In this example, the capability of being a firewall and the capability of providing firewall are combined in one node. More elaborate designs may separate these functionalities and have a dedicated node for each of them.
All other TOSCA ways to implement an abstract node are also valid. Foe For example, a vendor may choose to have an implementing (substituting) topology for this node type.
...