Commit a7dd7d90 authored by moscatelli's avatar moscatelli
Browse files

SOL002_65: filters implemented in Subscriptions GET

parent 43980361
Loading
Loading
Loading
Loading
+85 −161
Original line number Diff line number Diff line
@@ -130,6 +130,11 @@ paths:
           of that response.
         type: string
         required: true
      get:
        summary: Query multiple indicators related to a VNF instance.
        description: >
           Get a list of indicators related to a specific VNF instance. Support of attribute based filtering via query parameters.
        parameters:
          - name: filter
            description: >
              Attribute-based filtering expression according to clause 4.3.2.
@@ -171,59 +176,6 @@ paths:
            in: query
            required: false
            type: string
      get:
        summary: Query multiple indicators related to a VNF instance.
        description: >
           Get a list of indicators related to a specific VNF instance. Support of attribute based filtering via query parameters.
#        parameters:
#         - name: id.eq
#           in: query
#           description: Attribute based filtering for indicator identifer as specified in VNFD.
#           type: array
#           items:
#             type: string
#         - name: name.eq
#           in: query
#           description: Attribute based filtering for indicator name as specified in VNFD.
#           type: array
#           items:
#             type: string
#         - name: value.eq
#           in: query
#           description: Attribute based filtering for indicator value equality.
#           type: array
#           items:
#             type: string
#         - name: value.neq
#           in: query
#           description: Attribute based filtering for indicator value unequality.
#           type: array
#           items:
#             type: string
#         - name: value.gt
#           in: query
#           description: Attribute based filtering for indicator value greater than.
#           type: array
#           items:
#             type: string
#         - name: value.gte
#           in: query
#           description: Attribute based filtering for indicator value greater then or equal.
#           type: array
#           items:
#             type: string
#         - name: value.lt
#           in: query
#           description: Attribute based filtering for indicator value less than.
#           type: array
#           items:
#             type: string
#         - name: value.lte
#           in: query
#           description: Attribute based filtering for indicator value less than or equal.
#           type: array
#           items:
#             type: string
        responses:
          200:
            description: >
@@ -379,77 +331,49 @@ paths:

          The GET method queries the list of active subscriptions of the functional block
          that invokes the method. It can be used e.g. for resynchronization after error situations.
#        parameters:
#         - name: id.eq
#           in: query
#           description: >
#             Attribute based filtering for subscription identifiers.
#           type: array
#           items:
#             type: string
#         - name: callbackUri.eq
#           in: query
#           description: >
#             Attribute based filtering for the subscription's call back URIs.
#           type: array
#           items:
#             type: string
#         - name: filter.indicatorIds.cont
#           in: query
#           description: >
#             Attribute based filtering for indicator identifiers.
#           type: array
#           items:
#             type: string
#         - name: filter.vnfInstanceSubscriptionFilter.vnfdIds.cont
#           in: query
#           description: >
#             Attribute based filtering for VNFD identifiers.
#           type: array
#           items:
#             type: string
#         - name: filter.vnfInstanceSubscriptionFilter.vnfProductsFromProviders.vnfProvider.eq
#           in: query
#           description: >
#             Attribute based filtering for VNF providers.
#           type: array
#           items:
#             type: string
#         - name: filter.vnfInstanceSubscriptionFilter.vnfProductsFromProviders.vnfProducts.vnfProductName.eq
#           in: query
#           description: >
#             Attribute based filtering for VNF product name.
#           type: array
#           items:
#             type: string
#         - name: filter.vnfInstanceSubscriptionFilter.vnfProductsFromProviders.vnfProducts.versions.vnfSoftwareVersion.cont
#           in: query
#           description: >
#             Attribute based filtering for VNF software versions.
#           type: array
#           items:
#             type: string
#         - name: filter.vnfInstanceSubscriptionFilter.vnfProductsFromProviders.vnfProducts.versions.vnfdVersion.cont
#           in: query
#           description: >
#             Attribute based filtering for VNFD versions.
#           type: array
#           items:
#             type: string
#         - name: filter.vnfInstanceSubscriptionFilter.vnfInstanceIds.cont
#           in: query
#           description: >
#             Attribute based filtering for VNF instance identifiers.
#           type: array
#           items:
#             type: string
#         - name: filter.vnfInstanceSubscriptionFilter.vnfInstanceNames.cont
#           in: query
#           description: >
#             Attribute based filtering for VNF instance names.
#           type: array
#           items:
#             type: string
        parameters:
          - name: filter
            description: >
              Attribute-based filtering expression according to clause 4.3.2.
              The EM shall and the VNF may support receiving this parameter as part
              of the URI query string. The VNFM may supply this parameter.
              All attribute names that appear in the VnfIndicatorSubscription data
              type and in data types referenced from it shall be supported in the filter expression.
              If receiving, this parameter is not supported, a 400 Bad Request response shall
              be returned (see table 8.4.5.3.2-2).

              EXAMPLE
              objects
              obj1: {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]}
              obj2: {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]}

              Request 1:
              GET …/container

              Response 1:
              [
                  {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]},
                  {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]}
              ]

              Request 2:
              GET …/container?filter=(eq.weight,100)

              Response 2:
              [
                  {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]}
              ]
            #Request 2 in EXAMPLE from clause 4.3.2 probably wrong, since "," should be used after opOne (eq), "." is used
            in: query
            required: false
            type: string
          - name: nextpage_opaque_marker
            description: >
              Marker to obtain the next page of a paged response. Shall be supported by the EM
              if the EM supports alternative 2 (paging) according to clause 4.7.2.1 for this resource.
            in: query
            required: false
            type: string
        responses:
          200:
            description: >