Commit 8234a68b authored by Giacomo Bernini's avatar Giacomo Bernini Committed by Giacomo Bernini
Browse files

updated FmSubscription and FmSubscriptions schemas as per NFVSOL(24)000122

parent 7f3b89b2
Loading
Loading
Loading
Loading
+219 −137
Original line number Diff line number Diff line
@@ -12,15 +12,50 @@
          "type": "string"
      },
      "filter": {
      "description": "This type represents a subscription filter related to notifications about NS faults.  It shall comply with the provisions defined in Table 8.5.3.2-1. At a particular nesting level in the filter structure, the following applies:  All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes).  If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute)..\n",
          "description": "This type represents a subscription filter related to notifications about NS faults.  It shall comply with the provisions defined in Table 8.5.3.2-1. At a particular nesting level in the filter structure, the following applies:  All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes).  If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute). NOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n",
          "type": "object",
          "properties": {
              "nsInstanceSubscriptionFilter": {
                  "description": "This type represents subscription filter criteria to match NS instances.\nNOTE 1: The attributes \"nsdIds\", \"vnfdIds\" and \"pnfdIds\" are alternatives to reference to NS instances that are created based on certain NSDs, or contain VNF instances that are based on certain VNFDs, or contain PNFs that are based on certain PNFDs in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\nNOTE 2: The attributes \"nsInstanceIds\" and \"nsInstanceNames\" are alternatives to reference to particular NS Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n",
                  "type": "object",
                  "anyOf": [
                      {
                          "oneOf": [
                              {
                                  "required": [
                                      "nsdIds"
                                  ]
                              },
                              {
                                  "required": [
                                      "vnfdIds"
                                  ]
                              },
                              {
                                  "required": [
                                      "pnfdIds"
                                  ]
                              }
                          ]
                      },
                      {
                          "oneOf": [
                              {
                                  "required": [
                                      "nsInstanceIds"
                                  ]
                              },
                              {
                                  "required": [
                                      "nsInstanceNames"
                                  ]
                              }
                          ]
                      }
                  ],
                  "properties": {
                      "nsdIds": {
              "description": "If present, match NS instances that were created based on a NSD identified by one of the nsdId values listed in this attribute.\n",
                          "description": "If present, match NS instances that were created based on a NSD identified by one of the nsdId values listed in this attribute. See note 1.\n",
                          "type": "array",
                          "items": {
                              "description": "An identifier with the intention of being globally unique.\n",
@@ -28,7 +63,7 @@
                          }
                      },
                      "vnfdIds": {
              "description": "If present, match NS instances that contain VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute.\n",
                          "description": "If present, match NS instances that contain VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. See note 1.\n",
                          "type": "array",
                          "items": {
                              "description": "An identifier with the intention of being globally unique.\n",
@@ -36,7 +71,7 @@
                          }
                      },
                      "pnfdIds": {
              "description": "If present, match NS instances that contain PNFs that are represented by a PNFD identified by one of the pnfdId values listed in this attribute.\n",
                          "description": "If present, match NS instances that contain PNFs that are represented by a PNFD identified by one of the pnfdId values listed in this attribute. See note 1.\n",
                          "type": "array",
                          "items": {
                              "description": "An identifier with the intention of being globally unique.\n",
@@ -44,7 +79,7 @@
                          }
                      },
                      "nsInstanceIds": {
              "description": "If present, match NS instances with an instance identifier listed in this attribute.\n",
                          "description": "If present, match NS instances with an instance identifier listed in this attribute. See note 2.\n",
                          "type": "array",
                          "items": {
                              "description": "An identifier with the intention of being globally unique.\n",
@@ -52,7 +87,7 @@
                          }
                      },
                      "nsInstanceNames": {
              "description": "If present, match NS instances with a NS Instance Name listed in this attribute.\n",
                          "description": "If present, match NS instances with a NS Instance Name listed in this attribute. See note 2.\n",
                          "type": "array",
                          "items": {
                              "description": "A string as defined in IETF RFC 8259.\n",
@@ -62,7 +97,7 @@
                  }
              },
              "notificationTypes": {
          "description": "Match particular notification types. Permitted values: - AlarmNotification - AlarmClearedNotification - AlarmListRebuiltNotification.\n",
                  "description": "Match particular notification types. Permitted values: - AlarmNotification - AlarmClearedNotification - AlarmListRebuiltNotification. See note.\n",
                  "type": "array",
                  "items": {
                      "type": "string",
@@ -127,9 +162,56 @@
          }
      },
      "callbackUri": {
      "description": "The URI of the endpoint to send the notification to.\n",
          "description": "String formatted according to IETF RFC 3986.\n",
          "type": "string",
      "format": "url"
          "format": "uri"
      },
      "fmConnection": {
          "description": "An access information and interface information to monitor the FM of VNF instance by the VNFM. This can include for instance certain interface endpoint URI together with necessary credentials to access it.\n",
          "type": "array",
          "items": {
              "description": "This type represents a MonitoringConnection.\nNOTE: The VNFM can be made aware of monitoring connection information, including their identifiers to be used by configuration means outside the scope of the present document (e.g. using relevant NFV-MANO management APIs as defined in ETSI GS NFV-SOL 009). \n",
              "type": "object",
              "required": [
                  "id",
                  "monitoringType"
              ],
              "properties": {
                  "id": {
                      "description": "An identifier with the intention of being globally unique.\n",
                      "type": "string"
                  },
                  "monitoringType": {
                      "description": "Type of monitoring way. VALUES: • VIM_CISM • EXTERNAL • PAAS\n",
                      "type": "string",
                      "enum": [
                          "VIM_CISM",
                          "EXTERNAL",
                          "PAAS"
                      ]
                  },
                  "vimId": {
                      "description": "An identifier with the intention of being globally unique.\n",
                      "type": "string"
                  },
                  "paasServiceId": {
                      "description": "An identifier with the intention of being globally unique.\n",
                      "type": "string"
                  },
                  "interfaceInfo": {
                      "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n",
                      "type": "object"
                  },
                  "accessInfo": {
                      "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n",
                      "type": "object"
                  },
                  "extra": {
                      "description": "Type specific additional information, if applicable.\n",
                      "type": "string"
                  }
              }
          }
      },
      "_links": {
          "description": "Links for this resource.\n",
+230 −148
Original line number Diff line number Diff line
@@ -14,15 +14,50 @@
              "type": "string"
          },
          "filter": {
        "description": "This type represents a subscription filter related to notifications about NS faults.  It shall comply with the provisions defined in Table 8.5.3.2-1. At a particular nesting level in the filter structure, the following applies:  All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes).  If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute)..\n",
              "description": "This type represents a subscription filter related to notifications about NS faults.  It shall comply with the provisions defined in Table 8.5.3.2-1. At a particular nesting level in the filter structure, the following applies:  All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes).  If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute). NOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n",
              "type": "object",
              "properties": {
                  "nsInstanceSubscriptionFilter": {
                      "description": "This type represents subscription filter criteria to match NS instances.\nNOTE 1: The attributes \"nsdIds\", \"vnfdIds\" and \"pnfdIds\" are alternatives to reference to NS instances that are created based on certain NSDs, or contain VNF instances that are based on certain VNFDs, or contain PNFs that are based on certain PNFDs in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\nNOTE 2: The attributes \"nsInstanceIds\" and \"nsInstanceNames\" are alternatives to reference to particular NS Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n",
                      "type": "object",
                      "anyOf": [
                          {
                              "oneOf": [
                                  {
                                      "required": [
                                          "nsdIds"
                                      ]
                                  },
                                  {
                                      "required": [
                                          "vnfdIds"
                                      ]
                                  },
                                  {
                                      "required": [
                                          "pnfdIds"
                                      ]
                                  }
                              ]
                          },
                          {
                              "oneOf": [
                                  {
                                      "required": [
                                          "nsInstanceIds"
                                      ]
                                  },
                                  {
                                      "required": [
                                          "nsInstanceNames"
                                      ]
                                  }
                              ]
                          }
                      ],
                      "properties": {
                          "nsdIds": {
                "description": "If present, match NS instances that were created based on a NSD identified by one of the nsdId values listed in this attribute.\n",
                              "description": "If present, match NS instances that were created based on a NSD identified by one of the nsdId values listed in this attribute. See note 1.\n",
                              "type": "array",
                              "items": {
                                  "description": "An identifier with the intention of being globally unique.\n",
@@ -30,7 +65,7 @@
                              }
                          },
                          "vnfdIds": {
                "description": "If present, match NS instances that contain VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute.\n",
                              "description": "If present, match NS instances that contain VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. See note 1.\n",
                              "type": "array",
                              "items": {
                                  "description": "An identifier with the intention of being globally unique.\n",
@@ -38,7 +73,7 @@
                              }
                          },
                          "pnfdIds": {
                "description": "If present, match NS instances that contain PNFs that are represented by a PNFD identified by one of the pnfdId values listed in this attribute.\n",
                              "description": "If present, match NS instances that contain PNFs that are represented by a PNFD identified by one of the pnfdId values listed in this attribute. See note 1.\n",
                              "type": "array",
                              "items": {
                                  "description": "An identifier with the intention of being globally unique.\n",
@@ -46,7 +81,7 @@
                              }
                          },
                          "nsInstanceIds": {
                "description": "If present, match NS instances with an instance identifier listed in this attribute.\n",
                              "description": "If present, match NS instances with an instance identifier listed in this attribute. See note 2.\n",
                              "type": "array",
                              "items": {
                                  "description": "An identifier with the intention of being globally unique.\n",
@@ -54,7 +89,7 @@
                              }
                          },
                          "nsInstanceNames": {
                "description": "If present, match NS instances with a NS Instance Name listed in this attribute.\n",
                              "description": "If present, match NS instances with a NS Instance Name listed in this attribute. See note 2.\n",
                              "type": "array",
                              "items": {
                                  "description": "A string as defined in IETF RFC 8259.\n",
@@ -64,7 +99,7 @@
                      }
                  },
                  "notificationTypes": {
            "description": "Match particular notification types. Permitted values: - AlarmNotification - AlarmClearedNotification - AlarmListRebuiltNotification.\n",
                      "description": "Match particular notification types. Permitted values: - AlarmNotification - AlarmClearedNotification - AlarmListRebuiltNotification. See note.\n",
                      "type": "array",
                      "items": {
                          "type": "string",
@@ -129,9 +164,56 @@
              }
          },
          "callbackUri": {
        "description": "The URI of the endpoint to send the notification to.\n",
              "description": "String formatted according to IETF RFC 3986.\n",
              "type": "string",
        "format": "url"
              "format": "uri"
          },
          "fmConnection": {
              "description": "An access information and interface information to monitor the FM of VNF instance by the VNFM. This can include for instance certain interface endpoint URI together with necessary credentials to access it.\n",
              "type": "array",
              "items": {
                  "description": "This type represents a MonitoringConnection.\nNOTE: The VNFM can be made aware of monitoring connection information, including their identifiers to be used by configuration means outside the scope of the present document (e.g. using relevant NFV-MANO management APIs as defined in ETSI GS NFV-SOL 009). \n",
                  "type": "object",
                  "required": [
                      "id",
                      "monitoringType"
                  ],
                  "properties": {
                      "id": {
                          "description": "An identifier with the intention of being globally unique.\n",
                          "type": "string"
                      },
                      "monitoringType": {
                          "description": "Type of monitoring way. VALUES: • VIM_CISM • EXTERNAL • PAAS\n",
                          "type": "string",
                          "enum": [
                              "VIM_CISM",
                              "EXTERNAL",
                              "PAAS"
                          ]
                      },
                      "vimId": {
                          "description": "An identifier with the intention of being globally unique.\n",
                          "type": "string"
                      },
                      "paasServiceId": {
                          "description": "An identifier with the intention of being globally unique.\n",
                          "type": "string"
                      },
                      "interfaceInfo": {
                          "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n",
                          "type": "object"
                      },
                      "accessInfo": {
                          "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n",
                          "type": "object"
                      },
                      "extra": {
                          "description": "Type specific additional information, if applicable.\n",
                          "type": "string"
                      }
                  }
              }
          },
          "_links": {
              "description": "Links for this resource.\n",