Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

AAIService Named Query

Wiki Markup
Named-Query is one of the query types supported by AAI  Service.
 
The template of the JSON request is:
*named-query JSON template*
\{
  "query-parameters": \{
    "named-query": \{
      "named-query-uuid": "<query-uuid>"
    \}
  \},
  "instance-filters": \{
    "instance-filter": \[
      
    \]
  \}
\}
The instance-filter template is:
*instance-filter template*
\{
  "<resource-name>": \{
    "<resource-id>": "<id-value>"
  \}
\} 
Sample JSON named-query request 
\{
  "query-parameters": \{
    "named-query": \{
      "named-query-uuid": "75d55786-200b-49fd-92d7-1393e755d693"
    \}
  \},
  "instance-filters": \{
    "instance-filter": \[
      \{
        "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"/>
</set>
<get-resource 
              plugin="org.openecomp.sdnc.sli.aai.AAIService" 
              resource="named-query"
              key="named-query-uuid = '$\{named-query-uuid\}' AND prefix = 'namedQueryData' "
              local-only="false" 
              pfx="vnfProfile" />
 

Step-by-step guide

  1. Obtain named query uuid for the query you are working with, from the SE.
  2. Set parameters in the SvcLogicContext:
    1. namedQueryData.query-parameters.named-query.named-query-uuid  - Note: uuid needs to be set in both key and in SvcLogicContext using this property name
    2. Wiki Markup
      Filters -  filters are set using prefix: namedQueryData.instance-filters.instance-filter\[n\] followed by resource name + '.' + id

    3. namedQueryData.instance-filters.instance-filter_length - specifies number of filters
    4. 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.

  • Page:

AAIService Named Query