aboutsummaryrefslogtreecommitdiffstats
path: root/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/main/resources/pnfdTransformationTemplate/model-driven-conversion.yaml
blob: c58a23b8a20adc769ea3486ce47d308ad21ef8da (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
- transformation-for: nodeTemplate #block
  name: PnfExtCp transformation #transformation name
  description: converts any node template that has a type tosca.nodes.nfv.PnfExtCp #transformation description
  query:  # Block query. Searches for node_template(s) with the same attributes. Ignores the node_template name.
          # Supports recursive structure of key (string): value (new map or string).
          # Each lvl can contain more than one key that will be treated as an AND.
          # Must have the same structure in the original node_template declaration, otherwise the node_template will not be found.
    type: tosca.nodes.nfv.PnfExtCp
  conversions: # List of conversions/transformations that will be applied to the node_template attributes.
    - query:  # Attribute query for "type". Finds one attribute inside the node_template(s) found with the block query.
              # Supports recursive structure of key (string): value (new map or string).
              # Each lvl can only contain one key.
              # If the attribute is found, the transformation strategy defined in this element will be applied.
              # Must have the same structure in the original node_template declaration, otherwise the attribute will not be found.
        type:
      to-name: type # New attribute name.
      to-value:
        # Replace transformation strategy: replaces the old value for a new one. Must have this structure.
        strategy: replace # Transformation strategy name.
        from: tosca.nodes.nfv.PnfExtCp # Original attribute value.
        to: org.openecomp.resource.cp.v2.extCP # New attribute value.
    - query: # Another attribute query. This time for "properties/layer_protocols"
        properties:
          layer_protocols:
      to-name: ip_requirements
      to-value:
        # Replace in list strategy: replaces specific values of a list for new ones.
        strategy: replaceInList
        list: # List of values to be replaced
          - from: ipv4 # Searches for "ipv4" value and...
            to: #...replaces for the following map
              assingment_method: dhcp
              ip_version: 4
          - from: ipv6 # Another list value search and replace
            to:
              assingment_method: dhcp
              ip_version: 6
      # When a TOSCA { get_input: provided-input-name } function is found, the "provided-input-name"
      # will be converted using the "transformation-for: getInputFunction" with name "ipRequirements".
      to-get-input: ipRequirements
- transformation-for: getInputFunction # Transforms inputs called by get_input TOSCA function.
  name: ipRequirements  # Transformation name, used to be referred by "to-get-input" transformation attribute.
  description: converts IpRequirements inputs when called by a get_input TOSCA function
  conversions: #this part works exactly the same as the correspondent node_template transformation declarations.
    - query:
        type:
      to-name: type
      to-value:
        strategy: copy
    - query:
        description:
      to-name: description
      to-value:
        strategy: copy
    - query:
        entry_schema:
          type:
      to-name: type
      to-value:
        strategy: replace
        from: string
        to: org.openecomp.datatypes.network.IpRequirements
    - query:
        default:
      to-name: default
      to-value:
        strategy: replaceInList
        list:
          - from: ipv4
            to:
              assingment_method: dhcp
              ip_version: 4
          - from: ipv6
            to:
              assingment_method: dhcp
              ip_version: 6