Versions Compared

Key

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

...

Code Block
titleNode type onap.examples.node.Firewall
linenumberstrue
collapsetrue
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
titleFirewall implementing node type
linenumberstrue
collapsetrue
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          
        typecapability: 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.

...