ETSI NSD SOL001 v3.3.1 types 66/117866/6
authorMichaelMorris <michael.morris@est.tech>
Thu, 11 Feb 2021 13:20:21 +0000 (13:20 +0000)
committerChristophe Closset <christophe.closset@intl.att.com>
Sun, 21 Feb 2021 16:01:04 +0000 (16:01 +0000)
Types in 2.7.1 folder are types valid for v3.3.1 that have not changed from v2.7.1

Signed-off-by: MichaelMorris <michael.morris@est.tech>
Issue-ID: SDC-3339
Change-Id: I8961bc9fc22ac53d61c785ef5f6cec0f958e9030

24 files changed:
catalog-be/src/main/resources/import/tosca/capability-types/capabilityTypes.yml
catalog-be/src/main/resources/import/tosca/data-types/dataTypes.yml
catalog-be/src/main/resources/import/tosca/group-types/groupTypes.json
catalog-be/src/main/resources/import/tosca/group-types/groupTypes.yml
catalog-be/src/main/resources/import/tosca/nfv-types/2.7.1/Forwarding/Forwarding.json [new file with mode: 0644]
catalog-be/src/main/resources/import/tosca/nfv-types/2.7.1/Forwarding/Forwarding.yml [new file with mode: 0644]
catalog-be/src/main/resources/import/tosca/nfv-types/2.7.1/NFP/NFP.json [new file with mode: 0644]
catalog-be/src/main/resources/import/tosca/nfv-types/2.7.1/NFP/NFP.yml [new file with mode: 0644]
catalog-be/src/main/resources/import/tosca/nfv-types/2.7.1/NfpPosition/NfpPosition.json [new file with mode: 0644]
catalog-be/src/main/resources/import/tosca/nfv-types/2.7.1/NfpPosition/NfpPosition.yml [new file with mode: 0644]
catalog-be/src/main/resources/import/tosca/nfv-types/2.7.1/NfpPositionElement/NfpPositionElement.json [new file with mode: 0644]
catalog-be/src/main/resources/import/tosca/nfv-types/2.7.1/NfpPositionElement/NfpPositionElement.yml [new file with mode: 0644]
catalog-be/src/main/resources/import/tosca/nfv-types/3.3.1/NS/NS.json [new file with mode: 0644]
catalog-be/src/main/resources/import/tosca/nfv-types/3.3.1/NS/NS.yml [new file with mode: 0644]
catalog-be/src/main/resources/import/tosca/nfv-types/Sap/Sap.json [new file with mode: 0644]
catalog-be/src/main/resources/import/tosca/nfv-types/Sap/Sap.yml [new file with mode: 0644]
catalog-be/src/main/resources/import/tosca/policy-types/policyTypes.json
catalog-be/src/main/resources/import/tosca/policy-types/policyTypes.yml
catalog-be/src/main/resources/import/tosca/relationship-types/relationshipTypes.yml
catalog-be/src/main/resources/scripts/sdcBePy/tosca/data/onapTypesToUpgrade.json
catalog-be/src/main/resources/scripts/sdcBePy/tosca/imports/runNormativeType.py
catalog-be/src/main/resources/scripts/sdcBePy/tosca/models/normativeToUpdateList.py
catalog-be/src/main/resources/scripts/sdcBePy/tosca/models/normativeTypesList.py
catalog-be/src/main/resources/scripts/sdcBePy/tosca/upgrade/run.py

index e4037bc..bffd251 100644 (file)
@@ -294,3 +294,6 @@ tosca.capabilities.nfv.ext.Compute.Container.Architecture:
     mem_size:
       type: string
       required: false
+tosca.capabilities.nfv.Forwarding:
+  derived_from: tosca.capabilities.Root
+
index ff2942f..e294528 100644 (file)
@@ -2807,6 +2807,13 @@ tosca.datatypes.nfv.NsVlProfile:
       type: tosca.datatypes.nfv.ServiceAvailability
       description: Network service virtual link service availability levels, as described in ETSI GS NFV-REL 001
       required: false 
+    service_availability_level:
+      type: integer
+      description: Specifies the service availability level for the VL instance created from this profile
+      required: false 
+      constraints:
+        - greater_or_equal: 1
+
 tosca.datatypes.nfv.NsProfile:
   derived_from: tosca.datatypes.Root
   description: describes a profile for instantiating NSs of a particular NS DF according to a specific NSD and NS DF.
@@ -2958,6 +2965,46 @@ tosca.datatypes.nfv.AdditionalServiceData:
       type: string
       description: Service matching information exposed by the VirtualCp.
       required: false
+tosca.datatypes.nfv.NsOperationAdditionalParameters:
+  derived_from: tosca.datatypes.Root
+  description: Is an empty base type for deriving data types for describing NS-specific additional parameters to be passed when invoking NS lifecycle management operations 
+  #properties:
+tosca.datatypes.nfv.Mask:
+  derived_from: tosca.datatypes.Root
+  properties:  
+    starting_point: 
+      description: Indicates the offset between the last bit of the source mac address and the first bit of the sequence of bits to be matched.
+      type: integer
+      required: true    
+    length: 
+      description: Indicates the number of bits to be matched.
+      type: integer
+      required: true
+    value:
+      description: Provide the sequence of bit values to be matched.
+      type: string
+      required: true 
+tosca.datatypes.nfv.NsMonitoringParameter:
+  derived_from: tosca.datatypes.Root
+  description: Represents information on virtualised resource related performance metrics applicable to the NS.
+  properties:
+    name:
+      type: string
+      description: Human readable name of the monitoring parameter
+      required: true
+    performance_metric:
+      type: string
+      description: Identifies a performance metric to be monitored, according to ETSI GS NFV-IFA 027. 
+      required: true
+      constraints:
+         - valid_values: [byte_incoming_sap, byte_outgoing_sap, packet_incoming_sap, packet_outgoing_sap, byte_incoming, byte_outgoing, packet_incoming, packet_outgoing ] 
+    collection_period:  
+      type: scalar-unit.time
+      description: Describes the periodicity at which to collect the performance information.
+      required: false
+
+
+
       
 ##### Partner service domain datatypes ######
 
index a572ed7..bc82905 100644 (file)
   "tosca.groups.nfv.PlacementGroup": {
     "displayName": "NFV PlacementGroup",
     "icon": "group-nfv-placementgroup"
+  },
+  "tosca.groups.nfv.NsPlacementGroup": {
+    "displayName": "NFV NS PlacementGroup",
+    "icon": "group-nfv-placementgroup"
+  },
+  "tosca.groups.nfv.VNFFG": {
+    "displayName": "NFV VNF Forwarding Graph",
+    "icon": "group-nfv-placementgroup"
   }
 }
index 796dc20..235c341 100644 (file)
@@ -130,3 +130,24 @@ tosca.groups.nfv.PlacementGroup:
       description: Human readable description of the group
       required: true
   members: [ tosca.nodes.nfv.Vdu.Compute, tosca.nodes.nfv.VnfVirtualLink ]
+tosca.groups.nfv.NsPlacementGroup:
+  derived_from: tosca.groups.Root
+  description: NsPlacementGroup is used for describing the affinity or anti-affinity relationship applicable between VNF instances created using different VNFDs, the Virtual Link instances created using different VLDs or the nested NS instances created using different NSDs when used in a NSD.
+  properties:
+    description:
+      type: string
+      description: Human readable description of the group
+      required: true
+  members: [tosca.nodes.nfv.VNF, tosca.nodes.nfv.NsVirtualLink, tosca.nodes.nfv.NS]
+
+tosca.groups.nfv.VNFFG:
+  derived_from: tosca.groups.Root
+  description: the VNFFG group type describes a topology of the NS or a portion of the NS, and optionally forwarding rules, applicable to the traffic conveyed over this topology
+  properties:
+    description:
+      type: string
+      description: Human readable description of the group
+      required: true
+  members: [ tosca.nodes.nfv.NFP, tosca.nodes.nfv.VNF, tosca.nodes.nfv.NS, tosca.nodes.nfv.NsVirtualLink, tosca.nodes.nfv.NfpPositionElement ]
+
+
diff --git a/catalog-be/src/main/resources/import/tosca/nfv-types/2.7.1/Forwarding/Forwarding.json b/catalog-be/src/main/resources/import/tosca/nfv-types/2.7.1/Forwarding/Forwarding.json
new file mode 100644 (file)
index 0000000..8a781cd
--- /dev/null
@@ -0,0 +1,17 @@
+{
+       "payloadName": "Forwarding.yml",
+       "contactId": "jh0003",
+       "name": "Forwarding",
+       "description": "Forwarding",
+       "resourceIconPath": "network",
+       "resourceType": "VFC",
+       "categories": [{
+               "name": "Generic",
+               "subcategories": [{
+                       "name": "Infrastructure"
+               }]
+       }],
+        "vendorName": "ETSI",
+        "vendorRelease": "2.7.1",
+       "tags": ["Forwarding"]
+}
diff --git a/catalog-be/src/main/resources/import/tosca/nfv-types/2.7.1/Forwarding/Forwarding.yml b/catalog-be/src/main/resources/import/tosca/nfv-types/2.7.1/Forwarding/Forwarding.yml
new file mode 100644 (file)
index 0000000..1c14e77
--- /dev/null
@@ -0,0 +1,15 @@
+tosca_definitions_version: tosca_simple_yaml_1_3
+node_types:
+  tosca.nodes.nfv.Forwarding:
+    derived_from: tosca.nodes.Root
+    capabilities:
+      virtual_linkable:
+        type: tosca.capabilities.nfv.VirtualLinkable
+      forwarding:
+        type: tosca.capabilities.nfv.Forwarding
+        occurrences: [ 1, 2 ]  #When the number of occurrences is 1, the ingress and egress traffic is associated to a single VnfExtCp, PnfExtCp or Sap; When the number of occurrences is 2, the ingress VnfExtCp, PnfExtCp or Sap is associated to the first value and the egress VnfExtCp, PnfExtCp or Sap is associated to the second value.
+    requirements:
+      - virtual_link:
+          capability: tosca.capabilities.nfv.VirtualLinkable
+          relationship: tosca.relationships.nfv.VirtualLinksTo
+
diff --git a/catalog-be/src/main/resources/import/tosca/nfv-types/2.7.1/NFP/NFP.json b/catalog-be/src/main/resources/import/tosca/nfv-types/2.7.1/NFP/NFP.json
new file mode 100644 (file)
index 0000000..982f3ad
--- /dev/null
@@ -0,0 +1,17 @@
+{
+       "payloadName": "NFP.yml",
+       "contactId": "jh0003",
+       "name": "NFP",
+       "description": "NFP",
+       "resourceIconPath": "network",
+       "resourceType": "VFC",
+       "categories": [{
+               "name": "Generic",
+               "subcategories": [{
+                       "name": "Infrastructure"
+               }]
+       }],
+        "vendorName": "ETSI",
+        "vendorRelease": "2.7.1",
+       "tags": ["NFP"]
+}
diff --git a/catalog-be/src/main/resources/import/tosca/nfv-types/2.7.1/NFP/NFP.yml b/catalog-be/src/main/resources/import/tosca/nfv-types/2.7.1/NFP/NFP.yml
new file mode 100644 (file)
index 0000000..40209b8
--- /dev/null
@@ -0,0 +1,11 @@
+tosca_definitions_version: tosca_simple_yaml_1_3
+node_types:
+  tosca.nodes.nfv.NFP:
+    derived_from: tosca.nodes.Root
+    description: node definition of NFP
+    requirements:
+      - nfp_position:
+          capability: tosca.capabilities.nfv.Forwarding
+          node: tosca.nodes.nfv.NfpPosition
+          relationship: tosca.relationships.nfv.ForwardTo
+          occurrences: [ 1, UNBOUNDED ]
diff --git a/catalog-be/src/main/resources/import/tosca/nfv-types/2.7.1/NfpPosition/NfpPosition.json b/catalog-be/src/main/resources/import/tosca/nfv-types/2.7.1/NfpPosition/NfpPosition.json
new file mode 100644 (file)
index 0000000..198fbe2
--- /dev/null
@@ -0,0 +1,17 @@
+{
+       "payloadName": "NfpPosition.yml",
+       "contactId": "jh0003",
+       "name": "NfpPosition",
+       "description": "NfpPosition",
+       "resourceIconPath": "network",
+       "resourceType": "VFC",
+       "categories": [{
+               "name": "Generic",
+               "subcategories": [{
+                       "name": "Infrastructure"
+               }]
+       }],
+        "vendorName": "ETSI",
+        "vendorRelease": "2.7.1",
+       "tags": ["NfpPosition"]
+}
diff --git a/catalog-be/src/main/resources/import/tosca/nfv-types/2.7.1/NfpPosition/NfpPosition.yml b/catalog-be/src/main/resources/import/tosca/nfv-types/2.7.1/NfpPosition/NfpPosition.yml
new file mode 100644 (file)
index 0000000..4d7ad6c
--- /dev/null
@@ -0,0 +1,18 @@
+tosca_definitions_version: tosca_simple_yaml_1_3
+node_types:
+  tosca.nodes.nfv.NfpPosition:
+    derived_from: tosca.nodes.Root
+    description: node definition of NFP position
+    properties:
+      forwarding_behaviour: 
+        type: string
+        description: Identifies a rule to apply to forward traffic to CP or SAP instances corresponding to the referenced NfpPositionElement(s). 
+        constraints:
+          - valid_values: [ all, lb, ff ]
+        required: false
+#     forwarding_behaviour_input_parameters: 
+#       description: Provides input parameters to configure the forwarding behaviour.
+#       type: map
+#       required: false
+#       entry_schema:
+#         type: string
diff --git a/catalog-be/src/main/resources/import/tosca/nfv-types/2.7.1/NfpPositionElement/NfpPositionElement.json b/catalog-be/src/main/resources/import/tosca/nfv-types/2.7.1/NfpPositionElement/NfpPositionElement.json
new file mode 100644 (file)
index 0000000..a18880e
--- /dev/null
@@ -0,0 +1,17 @@
+{
+       "payloadName": "NfpPositionElement.yml",
+       "contactId": "jh0003",
+       "name": "NfpPositionElement",
+       "description": "NfpPositionElement",
+       "resourceIconPath": "network",
+       "resourceType": "VFC",
+       "categories": [{
+               "name": "Generic",
+               "subcategories": [{
+                       "name": "Infrastructure"
+               }]
+       }],
+        "vendorName": "ETSI",
+        "vendorRelease": "2.7.1",
+       "tags": ["NfpPositionElement"]
+}
diff --git a/catalog-be/src/main/resources/import/tosca/nfv-types/2.7.1/NfpPositionElement/NfpPositionElement.yml b/catalog-be/src/main/resources/import/tosca/nfv-types/2.7.1/NfpPositionElement/NfpPositionElement.yml
new file mode 100644 (file)
index 0000000..f650703
--- /dev/null
@@ -0,0 +1,13 @@
+tosca_definitions_version: tosca_simple_yaml_1_3
+node_types:
+  tosca.nodes.nfv.NfpPositionElement:
+    derived_from: tosca.nodes.Root
+    description: node definition of NfpPositionElement
+    capabilities:
+      forwarding: 
+        type: tosca.capabilities.nfv.Forwarding
+    requirements:
+      - profile_element:
+          capability: tosca.capabilities.nfv.Forwarding
+          relationship: tosca.relationships.nfv.ForwardTo
+          occurrences: [ 1, 2 ] # When the number of occurrences is 1, the ingress and egress traffic is associated to a single VnfExtCp or Sap; When the number of occurrences is 2, the ingress VnfExtCp or Sap is associated to the first value and the egress VnfExtCp or Sap is associated to the second value.
diff --git a/catalog-be/src/main/resources/import/tosca/nfv-types/3.3.1/NS/NS.json b/catalog-be/src/main/resources/import/tosca/nfv-types/3.3.1/NS/NS.json
new file mode 100644 (file)
index 0000000..c740fff
--- /dev/null
@@ -0,0 +1,17 @@
+{
+       "payloadName": "NS.yml",
+       "contactId": "jh0003",
+       "name": "NS",
+       "description": "ETSI NS",
+       "resourceIconPath": "network",
+       "resourceType": "VFC",
+       "categories": [{
+               "name": "Generic",
+               "subcategories": [{
+                       "name": "Network Elements"
+               }]
+       }],
+        "vendorName": "ETSI",
+        "vendorRelease": "3.3.1",
+       "tags": ["NS"]
+}
diff --git a/catalog-be/src/main/resources/import/tosca/nfv-types/3.3.1/NS/NS.yml b/catalog-be/src/main/resources/import/tosca/nfv-types/3.3.1/NS/NS.yml
new file mode 100644 (file)
index 0000000..1ae055f
--- /dev/null
@@ -0,0 +1,48 @@
+tosca_definitions_version: tosca_simple_yaml_1_3
+node_types:
+  tosca.nodes.nfv.NS:
+    derived_from: tosca.nodes.Root
+    properties: 
+      descriptor_id: 
+        type: string # UUID
+        description: Identifier of this NS descriptor
+        required: true
+      designer:
+        type: string
+        description: Identifies the designer of the NSD.
+        required: true
+      version:
+        type: string
+        description: Identifies the version of the NSD.
+        required: true
+      name:
+        type: string
+        description: Provides the human readable name of the NSD.
+        required: true
+      invariant_id: # UUID
+        type: string
+        description: Identifies an NSD in a version independent manner. This attribute is invariant across versions of NSD
+        required: true
+      flavour_id:
+        type: string
+        description: Identifier of the NS Deployment Flavour within the NSD
+        required: true
+      ns_profile:
+        type: tosca.datatypes.nfv.NsProfile
+        description: Specifies a profile of a NS, when this NS is used as nested NS within another NS.
+        required: false
+      service_availability_level:
+        type: integer
+        description: Specifies the service availability level for the NS instance.
+        required: false
+        constraints:
+          - greater_or_equal: 1
+    requirements:
+      - virtual_link:
+          capability: tosca.capabilities.nfv.VirtualLinkable
+          relationship: tosca.relationships.nfv.VirtualLinksTo
+          node: tosca.nodes.nfv.NsVirtualLink
+          occurrences: [ 0, 1 ]
+    interfaces:
+      Nslcm:
+        type: tosca.interfaces.nfv.Nslcm
diff --git a/catalog-be/src/main/resources/import/tosca/nfv-types/Sap/Sap.json b/catalog-be/src/main/resources/import/tosca/nfv-types/Sap/Sap.json
new file mode 100644 (file)
index 0000000..58be5d4
--- /dev/null
@@ -0,0 +1,17 @@
+{
+       "payloadName": "Sap.yml",
+       "contactId": "jh0003",
+       "name": "Sap",
+       "description": "Sap",
+       "resourceIconPath": "network",
+       "resourceType": "VFC",
+       "categories": [{
+               "name": "Generic",
+               "subcategories": [{
+                       "name": "Infrastructure"
+               }]
+       }],
+        "vendorName": "ETSI",
+        "vendorRelease": "2.5.1",
+       "tags": ["Sap"]
+}
diff --git a/catalog-be/src/main/resources/import/tosca/nfv-types/Sap/Sap.yml b/catalog-be/src/main/resources/import/tosca/nfv-types/Sap/Sap.yml
new file mode 100644 (file)
index 0000000..a91f484
--- /dev/null
@@ -0,0 +1,14 @@
+tosca_definitions_version: tosca_simple_yaml_1_2 
+node_types:
+  tosca.nodes.nfv.Sap:
+    derived_from: tosca.nodes.nfv.Cp
+    description: node definition of SAP.
+    requirements:
+      - external_virtual_link:
+          capability: tosca.capabilities.nfv.VirtualLinkable
+          relationship: tosca.relationships.nfv.VirtualLinksTo
+          occurrences: [0, 1]
+      - internal_virtual_link:
+          capability: tosca.capabilities.nfv.VirtualLinkable
+          relationship: tosca.relationships.nfv.VirtualLinksTo
+          occurrences: [1, 1]
index a7934e9..bedd1d2 100644 (file)
   "tosca.policies.nfv.AntiAffinityRule": {
     "displayName": "NFV AntiAffinityRule",
     "icon": "policy-nfv-anti-affinityrule"
+  },
+  "tosca.policies.nfv.NsAffinityRule": {
+    "displayName": "NFV NsAffinityRule",
+    "icon": "policy-nfv-anti-affinityrule"
+  },
+  "tosca.policies.nfv.NsAntiAffinityRule": {
+    "displayName": "NFV NsAntiAffinityRule",
+    "icon": "policy-nfv-anti-affinityrule"
+  },
+  "tosca.policies.nfv.Abstract.SecurityGroupRule": {
+    "displayName": "NFV Abstract SecurityGroupRule",
+    "icon": "policy-nfv-anti-affinityrule"
+  },
+  "tosca.policies.nfv.Abstract.SecurityGroupRule": {
+    "displayName": "NFV Abstract SecurityGroupRule",
+    "icon": "policy-nfv-anti-affinityrule"
+  },
+  "tosca.policies.nfv.NsSecurityGroupRule": {
+    "displayName": "NFV NsSecurityGroupRule",
+    "icon": "policy-nfv-anti-affinityrule"
+  },
+  "tosca.policies.nfv.NfpRule": {
+    "displayName": "NFV NfpRule ",
+    "icon": "policy-nfv-anti-affinityrule"
+  },
+  "tosca.policies.nfv.NsMonitoring": {
+    "displayName": "NFV NsMonitoring",
+    "icon": "policy-nfv-anti-affinityrule"
+  },
+  "tosca.policies.nfv.VnfMonitoring": {
+    "displayName": "NFV VnfMonitoring",
+    "icon": "policy-nfv-anti-affinityrule"
   }
 }
index 724df7b..169a714 100644 (file)
@@ -301,3 +301,166 @@ tosca.policies.nfv.AntiAffinityRule:
       constraints:
         - valid_values: [ nfvi_node, zone, zone_group, nfvi_pop ]
   targets: [ tosca.nodes.nfv.Vdu.Compute, tosca.nodes.nfv.VnfVirtualLink, tosca.groups.nfv.PlacementGroup ]
+
+tosca.policies.nfv.NsAffinityRule:
+  derived_from: tosca.policies.Placement
+  description: The NsAffinityRule describes the affinity rules applicable for the defined targets
+  properties:
+    scope:
+      type: string
+      description: Specifies the scope of the local affinity rule.
+      required: true
+      constraints:
+        - valid_values: [ nfvi_node, zone, zone_group, nfvi_pop, network_link_and_node ]
+  targets: [tosca.nodes.nfv.VNF, tosca.nodes.nfv.NsVirtualLink, tosca.nodes.nfv.NS, tosca.groups.nfv.NsPlacementGroup ]
+
+tosca.policies.nfv.NsAntiAffinityRule:
+  derived_from: tosca.policies.Placement
+  description: The NsAntiAffinityRule describes the anti-affinity rules applicable for the defined targets
+  properties:
+    scope:
+      type: string
+      description: Specifies the scope of the local affinity rule..
+      required: true
+      constraints:
+        - valid_values: [ nfvi_node, zone, zone_group, nfvi_pop, network_link_and_node ]
+  targets: [tosca.nodes.nfv.VNF, tosca.nodes.nfv.NsVirtualLink, tosca.nodes.nfv.NS, tosca.groups.nfv.NsPlacementGroup ]
+
+tosca.policies.nfv.Abstract.SecurityGroupRule:
+  derived_from: tosca.policies.Root
+  description: The Abstract.SecurityGroupRule type represents an abstract policy type without any target requirements
+  properties:
+    description:
+      type: string
+      description: Human readable description of the security group rule.
+      required: false
+    direction:
+      type: string
+      description: The direction in which the security group rule is applied. The direction of 'ingress' or 'egress' is specified against the associated CP. I.e., 'ingress' means the packets entering a CP, while 'egress' means the packets sent out of a CP.
+      required: true
+      constraints:
+        - valid_values: [ ingress, egress ]
+      default: ingress
+    ether_type:
+      type: string
+      description: Indicates the protocol carried over the Ethernet layer.
+      required: true
+      constraints:
+        - valid_values: [ ipv4, ipv6 ]
+      default: ipv4
+    protocol:
+      type: string
+      description: Indicates the protocol carried over the IP layer. Permitted values include any protocol defined in the IANA protocol registry, e.g. TCP, UDP, ICMP, etc.
+      required: true
+      constraints:
+        - valid_values: [ hopopt, icmp, igmp, ggp, ipv4, st, tcp, cbt, egp, igp, bbn_rcc_mon, nvp_ii, pup, argus, emcon, xnet, chaos, udp, mux, dcn_meas, hmp, prm, xns_idp, trunk_1, trunk_2, leaf_1, leaf_2, rdp, irtp, iso_tp4, netblt, mfe_nsp, merit_inp, dccp, 3pc, idpr, xtp, ddp, idpr_cmtp, tp++, il, ipv6, sdrp, ipv6_route, ipv6_frag, idrp, rsvp, gre, dsr, bna, esp, ah, i_nlsp, swipe, narp, mobile, tlsp, skip, ipv6_icmp, ipv6_no_nxt, ipv6_opts, cftp, sat_expak, kryptolan, rvd, ippc, sat_mon, visa, ipcv, cpnx, cphb, wsn, pvp, br_sat_mon, sun_nd, wb_mon, wb_expak, iso_ip, vmtp, secure_vmtp, vines, ttp, iptm, nsfnet_igp, dgp, tcf, eigrp, ospfigp, sprite_rpc, larp, mtp, ax.25, ipip, micp, scc_sp, etherip, encap, gmtp, ifmp, pnni, pim, aris, scps, qnx, a/n, ip_comp, snp, compaq_peer, ipx_in_ip, vrrp, pgm, l2tp, ddx, iatp, stp, srp, uti, smp, sm, ptp, isis, fire, crtp, crudp, sscopmce, iplt, sps, pipe, sctp, fc, rsvp_e2e_ignore, mobility, udp_lite, mpls_in_ip, manet, hip, shim6, wesp, rohc ]
+      default: tcp
+    port_range_min:
+      type: integer
+      description: Indicates minimum port number in the range that is matched by the security group rule. If a value is provided at design-time, this value may be overridden at run-time based on other deployment requirements or constraints.
+      required: true
+      constraints:
+        - greater_or_equal: 0
+        - less_or_equal: 65535
+      default: 0
+    port_range_max:
+      type: integer
+      description: Indicates maximum port number in the range that is matched by the security group rule. If a value is provided at design-time, this value may be overridden at run-time based on other deployment requirements or constraints.
+      required: true
+      constraints:
+        - greater_or_equal: 0
+        - less_or_equal: 65535
+      default: 65535
+
+tosca.policies.nfv.NsSecurityGroupRule:
+  derived_from: tosca.policies.nfv.Abstract.SecurityGroupRule
+  description: The NsSecurityGroupRule type is a policy type specified the matching criteria for the ingress and/or egress traffic to/from visited SAPs.
+  targets: [ tosca.nodes.nfv.Sap ]
+
+tosca.policies.nfv.NfpRule:
+  derived_from: tosca.policies.Root
+  description: policy definition of NfpRule
+  properties:
+    ether_destination_address:
+      description: Indicates a destination Mac address.
+      type: string
+      required: false    
+    ether_source_address:
+      description: Indicates a source Mac address.
+      type: string
+      required: false
+    ether_type:
+      description: Indicates the protocol carried over the Ethernet layer.
+      type: string
+      constraints:
+        - valid_values: [ ipv4, ipv6 ]
+      required: false
+    vlan_tag:
+      description: Indicates a VLAN identifier in an IEEE 802.1Q-2014 tag [14]. Multiple tags can be included for QinQ stacking.
+      type: list
+      entry_schema:
+        type: string
+      required: false            
+    protocol:
+      description: 'Indicates the L4 protocol, For IPv4 [15] this corresponds to the field called "Protocol" to identify the next level protocol. For IPv6 [16] this corresponds to the field is called the "Next Header" field. Permitted values: Any keyword defined in the IANA [17] protocol registry.'
+      type: string
+      required: false
+    dscp:
+      description: For IPv4 [15] a string of "0" and "1" digits that corresponds to the 6-bit Differentiated Services Code Point (DSCP) field of the IP header. For IPv6 [16] a string of "0" and "1" digits that corresponds to the 6 differentiated services bits of the traffic class header field.
+      type: string
+      required: false
+    source_port_range:
+      description: Indicates a range of source ports.
+      type: range
+      required: false
+      constraints:
+        - in_range: [0, 65535]
+    destination_port_range:
+      description: Indicates a range of destination ports.
+      type: range
+      required: false
+      constraints:
+        - in_range: [0, 65535]
+    source_ip_address_prefix:
+      description: Indicates the source IP address range in CIDR format.
+      type: string
+      required: false   
+    destination_ip_address_prefix:
+      description: Indicates the destination IP address range in CIDR format.
+      type: string
+      required: false
+    extended_criteria:
+      description: Indicates values of specific bits in a frame.
+      type: list
+      entry_schema:
+        type: tosca.datatypes.nfv.Mask
+      required: false
+  targets: [ tosca.nodes.nfv.NFP ]
+
+tosca.policies.nfv.NsMonitoring:
+  derived_from: tosca.policies.Root
+  description: Policy type is used to identify information to be monitored during the lifetime of a network service instance as defined in ETSI GS NFV-IFA 014 [2].
+  properties:
+    ns_monitoring_parameters:
+      type: list
+      description: Specifies a virtualised resource related performance metric to be monitored on the NS level.
+      required: true
+      entry_schema:
+        type: tosca.datatypes.nfv.NsMonitoringParameter
+      constraints:
+        - min_length: 1
+  targets: [ tosca.nodes.nfv.NS ]
+
+tosca.policies.nfv.VnfMonitoring:
+  derived_from: tosca.policies.Root
+  description: Policy type is used to identify information to be monitored during the lifetime of a VNF instance as defined in ETSI GS NFV-IFA 014 [2].
+  properties:
+    vnf_monitoring_parameters:
+      type: list
+      description: Specifies a virtualised resource related performance metric to be monitored on the NS level.
+      required: true
+      entry_schema:
+        type: tosca.datatypes.nfv.VnfMonitoringParameter
+      constraints:
+        - min_length: 1
+  targets: [ tosca.nodes.nfv.VNF ]
index a2ea535..6f76765 100644 (file)
@@ -137,3 +137,8 @@ tosca.relationships.nfv.AttachesTo:
 tosca.relationships.nfv.Vdu.AttachedTo:
   derived_from: tosca.relationships.DependsOn
   valid_target_types: [ tosca.capabilities.nfv.VirtualStorage ]
+
+tosca.relationships.nfv.ForwardTo:
+  derived_from: tosca.relationships.Root
+  valid_target_types: [ tosca.capabilities.nfv.Forwarding ]
+
index 7076705..8167b09 100644 (file)
@@ -2,9 +2,14 @@
   "nfv": [
     "allottedResource",
     "NS",
-    "NsVirtualLink"
+    "NsVirtualLink",
+    "Sap"
   ],
   "nfv_2_7_1": [
+    "NfpPositionElement",
+    "NfpPosition",
+    "NFP",
+    "Forwarding",
     "vduCompute",
     "vduVirtualFileStorage",
     "vnfExtCp",
@@ -13,7 +18,8 @@
   ],
   "nfv_3_3_1": [
     "VNF",
-    "vduVirtualBlockStorage"
+    "vduVirtualBlockStorage",
+    "NS"
   ],
   "nfv_4_1_1": [
     "VNF",
index 4e9a149..c2493b5 100644 (file)
@@ -38,7 +38,7 @@ def run_import_nfv():
     run(nfv_candidate)
 
 def run_import_nfv_2_7_1():
-    nfv_candidate = get_nfv_3_3_1()
+    nfv_candidate = get_nfv_2_7_1()
     run(nfv_candidate)
 
 def run_import_nfv_3_3_1():
@@ -46,7 +46,7 @@ def run_import_nfv_3_3_1():
     run(nfv_candidate)
 
 def run_import_nfv_4_1_1():
-    nfv_candidate = get_nfv_3_3_1()
+    nfv_candidate = get_nfv_4_1_1()
     run(nfv_candidate)
 
 def run_import_onap():
index 2d243d8..6537b1c 100644 (file)
@@ -58,7 +58,7 @@ def get_nfv(types, base_location="/"):
                                   
 def get_nfv_2_7_1(types, base_location="/"):
     return NormativeTypeCandidate(base_location + "nfv-types/2.7.1/",
-                                  types.get_type("nfv_2_7_1"))                               
+                                  types.get_type("nfv_2_7_1"))
 
 def get_nfv_3_3_1(types, base_location="/"):
     return NormativeTypeCandidate(base_location + "nfv-types/3.3.1/",
index 12a4491..b6cfb9e 100644 (file)
@@ -112,11 +112,16 @@ def get_nfv(base_file_location="/"):
                                    "OntPnf",
                                    "PonUni",
                                    "OltNni",
-                                   "OntNni"])
+                                   "OntNni",
+                                   "Sap"])
                                    
 def get_nfv_2_7_1(base_file_location="/"):
     return NormativeTypeCandidate(base_file_location + "nfv-types/2.7.1/",
-                                  ["vduCompute",
+                                  ["NfpPositionElement",
+                                   "NfpPosition",
+                                   "NFP",
+                                   "Forwarding",
+                                   "vduCompute",
                                    "vduVirtualFileStorage",
                                    "vnfExtCp",
                                    "vduCp",
@@ -125,7 +130,8 @@ def get_nfv_2_7_1(base_file_location="/"):
 def get_nfv_3_3_1(base_file_location="/"):
     return NormativeTypeCandidate(base_file_location + "nfv-types/3.3.1/",
                                   ["vduVirtualBlockStorage",
-                                   "VNF"])
+                                   "VNF",
+                                   "NS"])
 
 def get_nfv_4_1_1(base_file_location="/"):
     return NormativeTypeCandidate(base_file_location + "nfv-types/4.1.1/",
index 8cdf228..cef7dd7 100644 (file)
@@ -22,7 +22,6 @@ def main(sdc_be_proxy):
     base_file_location = os.getcwd() + "/"
     logger.debug("working directory =" + base_file_location)
     process_element_list(get_normative_element_candidate_list(base_file_location), sdc_be_proxy)
-    process_element_list(get_normative_element_with_metadata_list(base_file_location), sdc_be_proxy)
 
     all_types = get_all_types()
 
@@ -34,6 +33,8 @@ def main(sdc_be_proxy):
 
     nfv_list = get_nfv_to_update_list(all_types, base_file_location)
     process_type_list(nfv_list, sdc_be_proxy, update_nfv_version)
+    
+    process_element_list(get_normative_element_with_metadata_list(base_file_location), sdc_be_proxy)
 
     logger.log("Updating end ->", "All normatives updated successfully!")
     print_and_exit(0, None)