Commit a7dd7d90 authored by moscatelli's avatar moscatelli
Browse files

SOL002_65: filters implemented in Subscriptions GET

parent 43980361
Pipeline #433 passed with stage
in 0 seconds
...@@ -130,100 +130,52 @@ paths: ...@@ -130,100 +130,52 @@ paths:
of that response. of that response.
type: string type: string
required: true required: true
- name: filter
description: >
Attribute-based filtering expression according to clause 4.3.2.
The VNFM shall support receiving this parameter as part of the URI query string.
The EM/VNF shall support receiving filtering parameters as part of the URI query string.
The VNFM may supply filtering parameters.
All attribute names that appear in the VnfIndicator data type and in data types referenced
from it shall be supported in attribute-based filtering parameters.
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/VNF
if the EM/VNF supports alternative 2 (paging) according to clause 4.7.2.1 for this resource.
in: query
required: false
type: string
get: get:
summary: Query multiple indicators related to a VNF instance. summary: Query multiple indicators related to a VNF instance.
description: > description: >
Get a list of indicators related to a specific VNF instance. Support of attribute based filtering via query parameters. Get a list of indicators related to a specific VNF instance. Support of attribute based filtering via query parameters.
# parameters: parameters:
# - name: id.eq - name: filter
# in: query description: >
# description: Attribute based filtering for indicator identifer as specified in VNFD. Attribute-based filtering expression according to clause 4.3.2.
# type: array The VNFM shall support receiving this parameter as part of the URI query string.
# items: The EM/VNF shall support receiving filtering parameters as part of the URI query string.
# type: string The VNFM may supply filtering parameters.
# - name: name.eq All attribute names that appear in the VnfIndicator data type and in data types referenced
# in: query from it shall be supported in attribute-based filtering parameters.
# description: Attribute based filtering for indicator name as specified in VNFD.
# type: array EXAMPLE
# items: objects
# type: string obj1: {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]}
# - name: value.eq obj2: {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]}
# in: query
# description: Attribute based filtering for indicator value equality. Request 1:
# type: array GET …/container
# items:
# type: string Response 1:
# - name: value.neq [
# in: query {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]},
# description: Attribute based filtering for indicator value unequality. {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]}
# type: array ]
# items:
# type: string Request 2:
# - name: value.gt GET …/container?filter=(eq.weight,100)
# in: query
# description: Attribute based filtering for indicator value greater than. Response 2:
# type: array [
# items: {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]}
# type: string ]
# - name: value.gte #Request 2 in EXAMPLE from clause 4.3.2 probably wrong, since "," should be used after opOne (eq), "." is used
# in: query in: query
# description: Attribute based filtering for indicator value greater then or equal. required: false
# type: array type: string
# items: - name: nextpage_opaque_marker
# type: string description: >
# - name: value.lt Marker to obtain the next page of a paged response. Shall be supported by the EM/VNF
# in: query if the EM/VNF supports alternative 2 (paging) according to clause 4.7.2.1 for this resource.
# description: Attribute based filtering for indicator value less than. in: query
# type: array required: false
# items: type: string
# type: string
# - name: value.lte
# in: query
# description: Attribute based filtering for indicator value less than or equal.
# type: array
# items:
# type: string
responses: responses:
200: 200:
description: > description: >
...@@ -379,77 +331,49 @@ paths: ...@@ -379,77 +331,49 @@ paths:
The GET method queries the list of active subscriptions of the functional block 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. that invokes the method. It can be used e.g. for resynchronization after error situations.
# parameters: parameters:
# - name: id.eq - name: filter
# in: query description: >
# description: > Attribute-based filtering expression according to clause 4.3.2.
# Attribute based filtering for subscription identifiers. The EM shall and the VNF may support receiving this parameter as part
# type: array of the URI query string. The VNFM may supply this parameter.
# items: All attribute names that appear in the VnfIndicatorSubscription data
# type: string type and in data types referenced from it shall be supported in the filter expression.
# - name: callbackUri.eq If receiving, this parameter is not supported, a 400 Bad Request response shall
# in: query be returned (see table 8.4.5.3.2-2).
# description: >
# Attribute based filtering for the subscription's call back URIs. EXAMPLE
# type: array objects
# items: obj1: {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]}
# type: string obj2: {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]}
# - name: filter.indicatorIds.cont
# in: query Request 1:
# description: > GET …/container
# Attribute based filtering for indicator identifiers.
# type: array Response 1:
# items: [
# type: string {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]},
# - name: filter.vnfInstanceSubscriptionFilter.vnfdIds.cont {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]}
# in: query ]
# description: >
# Attribute based filtering for VNFD identifiers. Request 2:
# type: array GET …/container?filter=(eq.weight,100)
# items:
# type: string Response 2:
# - name: filter.vnfInstanceSubscriptionFilter.vnfProductsFromProviders.vnfProvider.eq [
# in: query {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]}
# description: > ]
# Attribute based filtering for VNF providers. #Request 2 in EXAMPLE from clause 4.3.2 probably wrong, since "," should be used after opOne (eq), "." is used
# type: array in: query
# items: required: false
# type: string type: string
# - name: filter.vnfInstanceSubscriptionFilter.vnfProductsFromProviders.vnfProducts.vnfProductName.eq - name: nextpage_opaque_marker
# in: query description: >
# description: > Marker to obtain the next page of a paged response. Shall be supported by the EM
# Attribute based filtering for VNF product name. if the EM supports alternative 2 (paging) according to clause 4.7.2.1 for this resource.
# type: array in: query
# items: required: false
# type: string 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
responses: responses:
200: 200:
description: > description: >
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment