AAIService Named Query
Wiki Markup |
---|
Named-Query is one of the query types supported by AAI Service. |
The template of the JSON request is: |
template?...
template*
\{
"query-parameters": |
...
...
\{
"named-query-uuid": "<query-uuid>" |
...
\}
\},
"instance-filters": |
...
...
The
\[
\]
\}
\}
The instance-filter template is: |
template?...
template*
\{
"<resource-name>": |
...
\{
"<resource-id>": "<id-value>" |
...
...
Sample JSON named-query request |
?...
...
...
\{
"named-query-uuid": "75d55786-200b-49fd-92d7-1393e755d693" |
...
\}
\},
"instance-filters": |
...
...
\[
\{
"service-instance": |
...
\{
"service-instance-id": "service-instance-id-value" |
...
Converting JSON request to DirectedGraph node
...
Wiki Markup |
---|
When creating the DG node, the developer needs to pass filter data to the request. Named query is identified by named query UUID. Each query requires instance-filters to be provided to execute. |
To add a filter to the DG node, add an attribute to the SvcLogicContext. |
The format of the attribute name is : <prefix> + instance-filters.instance-filter\[<offset of the filter>\] .<resource identifier> |
After adding filter entry, you must specify size of filter array using following format of the attribute name: <prefix> + instance-filters.instance-filter_length |
*named-query call (sample) |
?...
*
<set>
<parameter name="namedQueryData.instance-filters.instance-filter\[0\].l3-network.network-role" value="$some-value"/> |
...
<parameter name="namedQueryData.instance-filters.instance-filter_length" value="1"/> |
...
...
...
plugin="org.openecomp.sdnc.sli.aai.AAIService" |
...
...
...
'$\{named-query-uuid\}' AND prefix = 'namedQueryData' |
...
...
...
Step-by-step guide
- Obtain named query uuid for the query you are working with, from the SE.
- Set parameters in the SvcLogicContext:
- namedQueryData.query-parameters.named-query.named-query-uuid - Note: uuid needs to be set in both key and in SvcLogicContext using this property name
Wiki Markup |
---|
Filters - filters are set using prefix: namedQueryData.instance-filters.instance-filter\[n\] followed by resource name + '.' + id |
- namedQueryData.instance-filters.instance-filter_length - specifies number of filters
- data prefix value "namedQueryData" was chosen for this example and can be changed as long as it is also updated in the key string.
Please keep in mind that named-query API currently supports requests for "logical-link", "pnf", "l3-network" and "service-instance".
If your project requires support for other types in the filter, please contact Richard (rt0525) with the request information that needs to be supported by named-query.
Related articles
AAIService Named Query