Update API doc and custom query doc
[aai/aai-common.git] / docs / AAI REST API Documentation / customQueries.rst
1 .. contents::
2    :depth: 3
3 ..
4 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
5 .. http://creativecommons.org/licenses/by/4.0
6
7 \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_
8
9 ====================
10  AAI Custom Queries
11 ====================
12
13 Overview
14 ========
15
16 Before You Start!
17 -----------------
18
19 It's important that you engage the AAI team before using these
20 queries. We're are actively evolving our schema, queries, and other
21 things in AAI. Queries and query parameters may change or be removed
22 in the future. It's important that, at the very least, we know who is
23 using which queries so we can be cautious of changes in the
24 future. And we can help you find the best way to get the data you
25 need.
26
27 Getting Started with the Custom Query API
28 -----------------------------------------
29
30 To execute a custom query, a client will perform a PUT on the query
31 API and include a payload indicating the starting node and the query
32 to be run. While the example below is for v11, this can be called in
33 any version v11 or higher. The version dictates which release's REST
34 API version the output will be based on.
35
36 API URI
37 =======
38
39 .. code::
40
41    PUT /aai/v$/query?format={format}
42
43 When calling the query API, the client must specify the output format
44 as a query string. The currently available output formats are below,
45 along with examples.
46
47
48 count
49 -----
50
51 Provides an count of the objects returned in the query.
52
53 .. code::
54
55    PUT /aai/v$/query?format=count
56
57 Example reponse
58
59 .. code-block:: json
60
61    {
62      "results": [
63        {
64          "pnf": 4,
65          "p-interface": 5,
66          "l-interface": 3,
67          "pserver": 1
68        }
69      ]
70    }
71
72 id 
73 --- 
74
75 Provides an array of objects containing resource-type (AAI's node
76 type; i.e., pnf) and a URI using the vertex ID from AAI's graph.
77
78 .. code::
79
80    PUT /aai/v$/query?format=id
81
82 Example Response
83    
84 .. code-block:: json
85
86    {
87      "results": [
88        {
89          "resource-type": "complex",
90          "resource-link": "/aai/v1/resources/id/8159312"
91        },
92        {
93          "resource-type": "complex",
94          "resource-link": "/aai/v1/resources/id/389256"
95        }
96      ]
97    }
98
99 pathed
100 ------
101
102 Provides an array of objects containing resource-type (AAIs node type;
103 i.e., pnf) and a URI using the AAI REST API pathed URIs
104
105 .. code::
106
107    PUT /aai/v$/query?format=pathed
108
109 Example Response
110    
111 .. code-block:: json
112
113    {
114      "results": [
115        {
116          "resource-type": "complex",
117          "resource-link": "/aai/v1/cloud-infrastructure/complexes/complex/complex1"
118        },
119        {
120          "resource-type": "complex",
121          "resource-link": "/aai/v1/cloud-infrastructure/complexes/complex/complex1"
122        }
123      ]
124    }
125
126 resource
127 --------
128
129 Provides each object in the results array in the same format as AAI's
130 REST API with depth = 1 (first level children and cousin
131 relationships).
132
133 .. code::
134
135    PUT /aai/v$/query?format=resource
136
137
138 Example Response
139
140 .. code-block:: json
141
142    {
143        "results": [
144            {
145                "complex": {
146                    "city": "Anywhere",
147                    "complex-name": "complex-mccomplexface",
148                    "country": "USA",
149                    "data-center-code": "CHG",
150                    "latitude": "30.123456",
151                    "longitude": "-78.135344",
152                    "physical-location-id": "complextest1",
153                    "physical-location-type": "lab",
154                    "postal-code": "90210",
155                    "region": "West",
156                    "relationship-list": {
157                        "relationship": [
158                            {
159                                "related-link": "/aai/v1/network/zones/zone/zone1",
160                                "related-to": "zone",
161                                "related-to-property": [
162                                    {
163                                        "property-key": "zone.zone-name",
164                                        "property-value": "zone-name1"
165                                    }
166                                ],
167                                "relationship-data": [
168                                    {
169                                        "relationship-key": "zone.zone-id",
170                                        "relationship-value": "zone1"
171                                    }
172                                ],
173                                "relationship-label": "org.onap.relationships.inventory.LocatedIn"
174                            },
175                            {
176                                "related-link": "/aai/v1/cloud-infrastructure/cloud-regions/cloud-region/Cloud-Region/Region1",
177                                "related-to": "cloud-region",
178                                "related-to-property": [
179                                    {
180                                        "property-key": "cloud-region.owner-defined-type"
181                                    }
182                                ],
183                                "relationship-data": [
184                                    {
185                                        "relationship-key": "cloud-region.cloud-owner",
186                                        "relationship-value": "Cloud-Region"
187                                    },
188                                    {
189                                        "relationship-key": "cloud-region.cloud-region-id",
190                                        "relationship-value": "Region1"
191                                    }
192                                ],
193                                "relationship-label": "org.onap.relationships.inventory.LocatedIn"
194                            }
195                        ]
196                    },
197                    "resource-version": "1531233769164",
198                    "state": "CA",
199                    "street1": "100 Main St",
200                    "street2": "C3-3W03"
201                }
202            }
203        ]
204    }
205
206 resource_and_uri
207 ----------------
208
209 Provides each object in the results array in the same format as AAI’s
210 REST API with depth = 1 (first level children and cousin
211 relationships) plus the pathed url for the result object in AAI.
212
213 .. code::
214
215    PUT /aai/v$/query?format=resource_and_url
216
217 Example Response
218
219 .. code-block:: json
220
221   {
222       "results": [
223           {
224               "complex": {
225                   "city": "Anywhere",
226                   "complex-name": "complex-mccomplexface",
227                   "country": "USA",
228                   "data-center-code": "CHG",
229                   "latitude": "30.123456",
230                   "longitude": "-78.135344",
231                   "physical-location-id": "complextest1",
232                   "physical-location-type": "lab",
233                   "postal-code": "90210",
234                   "region": "West",
235                   "relationship-list": {
236                       "relationship": [
237                           {
238                               "related-link": "/aai/v1/network/zones/zone/zone1",
239                               "related-to": "zone",
240                               "related-to-property": [
241                                   {
242                                       "property-key": "zone.zone-name",
243                                       "property-value": "zone-name1"
244                                   }
245                               ],
246                               "relationship-data": [
247                                   {
248                                       "relationship-key": "zone.zone-id",
249                                       "relationship-value": "zone1"
250                                   }
251                               ],
252                               "relationship-label": "org.onap.relationships.inventory.LocatedIn"
253                           },
254                           {
255                               "related-link": "/aai/v1/cloud-infrastructure/cloud-regions/cloud-region/Cloud-Region/Region1",
256                               "related-to": "cloud-region",
257                               "related-to-property": [
258                                   {
259                                       "property-key": "cloud-region.owner-defined-type"
260                                   }
261                               ],
262                               "relationship-data": [
263                                   {
264                                       "relationship-key": "cloud-region.cloud-owner",
265                                       "relationship-value": "Cloud-REgion"
266                                   },
267                                   {
268                                       "relationship-key": "cloud-region.cloud-region-id",
269                                       "relationship-value": "Region1"
270                                   }
271                               ],
272                               "relationship-label": "org.onap.relationships.inventory.LocatedIn"
273                           }
274                       ]
275                   },
276                   "resource-version": "1531233769164",
277                   "state": "CA",
278                   "street1": "100 Main St",
279                   "street2": "C3-3W03"
280               },
281               "url": "/aai/v11/cloud-infrastructure/complexes/complex/complextest1"
282           }
283       ]
284   }
285
286 simple
287 ------
288
289 Provides each result object in a simplified format. The node-type,
290 graph vertex id, pathed url, object properties, and directly related
291 objects in the graph are all returned. Both direct parent/child
292 objects and cousin objects are included in the related-to array.
293
294 .. code::
295
296    PUT /aai/v$/query?format=simple
297
298 Example Response
299
300 .. code-block:: json
301
302    {
303        "results": [
304            {
305                "id": "81924184",
306                "node-type": "complex",
307                "properties": {
308                    "city": "Anywhere",
309                    "complex-name": "complex-mccomplexface",
310                    "country": "USA",
311                    "data-center-code": "CHG",
312                    "latitude": "30.123456",
313                    "longitude": "-78.135344",
314                    "physical-location-id": "complextest1",
315                    "physical-location-type": "lab",
316                    "postal-code": "90210",
317                    "region": "West",
318                    "resource-version": "1531233769164",
319                    "state": "CA",
320                    "street1": "100 Main St",
321                    "street2": "C3-3W03"
322                },
323                "related-to": [
324                    {
325                        "id": "40968400",
326                        "node-type": "zone",
327                        "relationship-label": "org.onap.relationships.inventory.LocatedIn",
328                        "url": "/aai/v1/network/zones/zone/zone1"
329                    },
330                    {
331                        "id": "122884184",
332                        "node-type": "cloud-region",
333                        "relationship-label": "org.onap.relationships.inventory.LocatedIn",
334                        "url": "/aai/v1/cloud-infrastructure/cloud-regions/cloud-region/Cloud-Region/Region1"
335                    },
336                    {
337                        "id": "122884296",
338                        "node-type": "rack",
339                        "relationship-label": "org.onap.relationships.inventory.LocatedIn",
340                        "url": "/aai/v1/cloud-infrastructure/complexes/complex/complextest1/racks/rack/rackname1-1test"
341                    }
342                ],
343                "url": "/aai/v1/cloud-infrastructure/complexes/complex/complextest1"
344            }
345        ]
346    }
347
348 graphson
349 --------
350
351 Provides the results using the graphson standard.
352
353 .. code::
354
355    PUT /aai/v$/query?format=graphson
356
357 Example Response
358
359 .. code-block:: json
360
361    {
362        "results": [
363            {
364                "id": 81924184,
365                "inE": {
366                    "org.onap.relationships.inventory.LocatedIn": [
367                        {
368                            "id": "oeioq-oe3f4-74l-1crx3s",
369                            "outV": 40968400,
370                            "properties": {
371                                "aai-uuid": "9e75af3d-aa7f-4e8e-a7eb-32d8096f03cc",
372                                "contains-other-v": "NONE",
373                                "delete-other-v": "NONE",
374                                "prevent-delete": "IN",
375                                "private": false
376                            }
377                        },
378                        {
379                            "id": "216a6j-215u1k-74l-1crx3s",
380                            "outV": 122884184,
381                            "properties": {
382                                "aai-uuid": "4b3693be-b399-4355-8747-4ea2bb298dff",
383                                "contains-other-v": "NONE",
384                                "delete-other-v": "NONE",
385                                "prevent-delete": "IN",
386                                "private": false
387                            }
388                        },
389                        {
390                            "id": "215xjt-215u4o-74l-1crx3s",
391                            "outV": 122884296,
392                            "properties": {
393                                "aai-uuid": "958b8e10-6c42-4145-9cc1-76f50bb3e513",
394                                "contains-other-v": "IN",
395                                "delete-other-v": "IN",
396                                "prevent-delete": "NONE",
397                                "private": false
398                            }
399                        }
400                    ]
401                },
402                "label": "vertex",
403                "properties": {
404                    "aai-created-ts": [
405                        {
406                            "id": "1crvgr-1crx3s-6bk5",
407                            "value": 1531231973518
408                        }
409                    ],
410                    "aai-last-mod-ts": [
411                        {
412                            "id": "215vkb-1crx3s-6dxh",
413                            "value": 1531233769164
414                        }
415                    ],
416                    "aai-node-type": [
417                        {
418                            "id": "215urv-1crx3s-69z9",
419                            "value": "complex"
420                        }
421                    ],
422                    "aai-uri": [
423                        {
424                            "id": "1crxfv-1crx3s-6gat",
425                            "value": "/cloud-infrastructure/complexes/complex/complextest1"
426                        }
427                    ],
428                    "aai-uuid": [
429                        {
430                            "id": "1crvuz-1crx3s-1ybp",
431                            "value": "3959ceca-3a89-4e92-a2ff-073b6f409303"
432                        }
433                    ],
434                    "city": [
435                        {
436                            "id": "1cs0zv-1crx3s-4irp",
437                            "value": "Beverley Hills"
438                        }
439                    ],
440                    "complex-name": [
441                        {
442                            "id": "215wcr-1crx3s-4d8l",
443                            "value": "chcil"
444                        }
445                    ],
446                    "country": [
447                        {
448                            "id": "1cs26j-1crx3s-4l51",
449                            "value": "USA"
450                        }
451                    ],
452                    "data-center-code": [
453                        {
454                            "id": "215ssr-1crx3s-4bnp",
455                            "value": "CHG"
456                        }
457                    ],
458                    "last-mod-source-of-truth": [
459                        {
460                            "id": "215vyj-1crx3s-696t",
461                            "value": "aai-AppId"
462                        }
463                    ],
464                    "latitude": [
465                        {
466                            "id": "1cs2yz-1crx3s-4mpx",
467                            "value": "30.123456"
468                        }
469                    ],
470                    "longitude": [
471                        {
472                            "id": "1cs3d7-1crx3s-4nid",
473                            "value": "-174.135344"
474                        }
475                    ],
476                    "physical-location-id": [
477                        {
478                            "id": "1crzez-1crx3s-4a2t",
479                            "value": "complextest1"
480                        }
481                    ],
482                    "physical-location-type": [
483                        {
484                            "id": "1crzt7-1crx3s-4ged",
485                            "value": "lab"
486                        }
487                    ],
488                    "postal-code": [
489                        {
490                            "id": "1cs1sb-1crx3s-4kcl",
491                            "value": "90210"
492                        }
493                    ],
494                    "region": [
495                        {
496                            "id": "1cs2kr-1crx3s-4lxh",
497                            "value": "West"
498                        }
499                    ],
500                    "resource-version": [
501                        {
502                            "id": "215v63-1crx3s-glh",
503                            "value": "1531233769164"
504                        }
505                    ],
506                    "source-of-truth": [
507                        {
508                            "id": "1crv2j-1crx3s-6epx",
509                            "value": "foo"
510                        }
511                    ],
512                    "state": [
513                        {
514                            "id": "1cs1e3-1crx3s-4jk5",
515                            "value": "CA"
516                        }
517                    ],
518                    "street1": [
519                        {
520                            "id": "1cs07f-1crx3s-4h6t",
521                            "value": "100 Main St"
522                        }
523                    ],
524                    "street2": [
525                        {
526                            "id": "1cs0ln-1crx3s-4hz9",
527                            "value": "Room 101"
528                        }
529                    ]
530                }
531            }
532        ]
533    }
534
535 Optional Query Parameters
536 -------------------------
537
538 depth
539 ~~~~~
540
541 You can pass the depth query parameter to specify how many levels of
542 children/grandchildren to return. The default depth is 1.
543
544 .. code::
545   
546    PUT /aai/v$/query?format={resource OR resource_and_url}}&depth=0
547
548 nodesOnly
549 ~~~~~~~~~
550
551 You can pass the nodesOnly query parameter to have the output only
552 contain the object properties with no relationships.
553
554 .. code:: 
555
556    PUT /aai/v$/query?format={format}&nodesOnly=true
557
558 subgraph
559 ~~~~~~~~
560
561 You can pass a subgraph query parameter that determines the behavior
562 of the output.  Using subgraph=prune returns all of the objects from
563 the query and only the edges between those objects. Using
564 subgraph=star returns all of the objects from the query plus all of
565 the objects they relate to.
566
567 The default is subgraph=star
568
569 .. code::
570
571    PUT /aai/v$/query?format={format}&subgraph={subgraph}
572
573 Payload
574 -------
575
576 Typically the query payload will include both a "start" and a "query"
577 portion. The "start" can indicate one or more starting nodes in the
578 graph. If multiple nodes are specified, the result will contain the
579 query results for all of the start nodes. The "query" indicates the
580 name of the query to be run and also takes query parameters depending
581 on the query. Please reference the page for each specific saved query
582 for how it should be used, but keep in mind that any URI can be used
583 in the start parameter as long as it provides the same object
584 types. **Note: The start URI must adhere to standard percent-encoding
585 rules to properly account for special characters.**
586
587 .. code-block:: json
588
589    {
590      "start" : ["{namespace}/{resource}"],
591      "query" : "query/{query-name}"
592    }
593
594 There also the option to pass a "start" to the query API with no
595 specified query. This will return the input node(s) in the format
596 requested.
597
598 .. code-block:: json
599
600    {
601        "start" : ["{namespace}/{resource}"]
602    }
603
604 Switching to Custom Query from Named Query
605 ==========================================
606
607 You can find the custom query intended to replace the named query you
608 are using by searching this page (ctrl + f) for either the named query
609 name or the named query uuid. Suggested query parameters to use to
610 receive output in the closest format to the named query output are
611 also provided.
612
613 Available Queries
614 =================
615
616 access-service-fromServiceInstance
617 ----------------------------------
618
619 The "**access-service-fromServiceInstance**" query allows a client to
620 provide A&AI a global-customer-id a service-type for a
621 service-subscription, and a service-instance-id to retrieve
622 service-subscription, customer, forwarding-path, configuration, evc,
623 forwarder, forwarder-evc, p-interface, pnf, lag-interface, and
624 logical-link of link-type LAG.
625
626 availabilityZoneAndComplex-fromCloudRegion
627 ------------------------------------------
628
629   The "**availabilityZoneAndComplex-fromCloudRegion**" query allows a client
630   to provide A&AI a cloud-owner and cloud-region-id to retrieve the
631   availability-zones and complex.
632
633 cloud-region-and-source-FromConfiguration
634 -----------------------------------------
635
636   The "**cloud-region-and-source-FromConfiguration**" query allows a client
637   to provide A&AI with a configuration-id and retrieve the source
638   cloud-region and source vnf..  Query needs to be submitted using
639   format=simple&nodesOnly=true
640
641 cloudRegion-fromCountry
642 -----------------------
643
644   The "cloudRegion-fromCountry" query allows a client to provide A&AI
645   with a country and retrieve all appropriate cloud-regions.
646
647 cloudRegion-fromCountryCloudRegionVersion
648 -----------------------------------------
649
650   The "**cloudRegion-fromCountryCloudRegionVersion**" query allows a client
651   to provide A&AI with a country code and cloud-region-version and
652   returns the appropriate cloud-regions.
653
654 cloudRegion-fromNfType
655 ----------------------
656
657   The "cloudRegion-fromNfType" query allows a client to provide A&AI
658   with an nf-type and returns the cloud-regions running those vnfs.
659
660 cloudRegion-fromNfTypeVendorVersion
661 -----------------------------------
662
663   The "**cloudRegion-fromNfTypeVendorVersion**" query allows a client to
664   provide A&AI with an nf-type, application-vendor, and optional
665   application-version and retrieve the cloud-regions.
666
667 cloud-region-fromVnf
668 --------------------
669
670   The "**cloud-region-fromVnf**" query allows a client to provide A&AI
671   with a vnf-id and retrieves the tenant, cloud-region, and cloud-owner.
672
673 cloud-region-sites
674 ------------------
675
676   The "**cloud-region-sites**" query allows a client to provide A&AI
677   with a cloud-owner and retrieves the cloud-regions having that owner
678   and all of the complexes containing those cloud-regions.
679
680 cluster-topology
681 ----------------
682
683   The "**cluster-topology**" query allows a client to quickly retrieve
684   the topology of a given cluster/pnf.
685
686 colocated-devices
687 -----------------
688
689   The "**colocated-devices**" query allows a client to provide A&AI a
690   physical server and retrieves all other physical devices in the same
691   location along with details on their physical interfaces and links.
692
693 complex-fromVnf
694 ---------------
695
696   The "**complex-fromVnf**" query allows a client to provide A&AI a vnf
697   name or ID to retrieve the generic-vnf, pserver, complex, licenses,
698   and entitlements.
699
700 count-vnf-byVnfType
701 -------------------
702
703   The "**count-vnf-byVnfType**" query allows a client to get a list of
704   the number of generic-vnfs for each vnf type.  Format must be set to
705   "console", otherwise no data will be displayed.
706
707 destination-FromConfiguration
708 -----------------------------
709
710   The "**destination-FromConfiguration**" query allows a client to
711   provide A&AI with a configuration-id and retrieve the destination vnf
712   or pnf..  Query needs to be submitted using
713   format=simple&nodesOnly=true
714
715 fabric-information-fromVnf
716 --------------------------
717
718   The fabric-information-fromVnf query will retrieve fabric information
719   for a given VNF.
720
721 fn-topology
722 -----------
723
724   The "**fn-topology**" query allows a client to provide A&AI
725   service-instance-id or line-of-business-name then return vnf, vnfc,
726   vserver, pserver, pnf.
727
728 generic-vnfFromModelbyRegion
729 ----------------------------
730
731   The "**generic-vnfFromModelbyRegion**" query allows a client to
732   provide A&AI with a global-customer-id, service-type, model
733   parameters, and cloud-region-id and retrieves the related
734   generic-vnfs.
735
736 getComplexByPNFName
737 -------------------
738
739   The "**getComplexByPnfName**" query allows a client to provide A&AI a
740   PNF and retrieve the PNF details and its location.  This query is
741   meant to replace the named query "getComplexByPnfName", which had
742   named query uuid "d27ccfea-7098-42d7-a4cd-bbddb37bf205". The format
743   closest to the original query can be achieved with
744   ?format=resource&depth=0&nodesOnly=true
745
746 getComplexFromHostname
747 ----------------------
748
749   The "**getComplexFromHostname**" query allows a client to provide A&AI
750   a pserver and retrieve the pserver details and its location.  This
751   query is meant to replace the named query "dhv-complex-by-hostname",
752   which had named query uuid "670a94e9-874f-4087-8501-62d4d289c519". The
753   format closest to the original query can be achieved with
754   ?format=simple
755
756 getCustomerVPNBondingServiceDetails
757 -----------------------------------
758
759   The "**getCustomerVPNBondingServiceDetails**" query that takes
760   customer (customer.global-customer-id) and service-type as input and
761   return customer VPN Bonding service details.
762
763 getDHVLogicalLink
764 -----------------
765
766   The "**getDHVLogicalLink**" query allows a client to provide A&AI a
767   VNF and retrieve its interface and link details.  This query is meant
768   to replace the named query "logical-link-by-vnf-name", which had named
769   query uuid "47e5e7c7-719e-45af-b96f-0c15fa0691b9". The format closest
770   to the original query can be achieved with
771   ?format=simple&nodes-only=true
772
773 getL3networkCloudRegionByNetworkRole
774 ------------------------------------
775
776   The "**getL3networkCloudRegionByNetworkRole**" query allows a client
777   to provide A&AI a Network Role value and retrieve all L3 networks,
778   their connected VNFs, VMs, Tenants and Cloud Regions.  This query is
779   meant to replace the named query
780   "l3network-cloud-region-by-network-role", which had named query uuid
781   "96e54642-c0e1-4aa2-af53-e37c623b8d01". The format closest to the
782   original query can be achieved with
783   ?format=simple&depth=0&nodesOnly=true
784
785 getLogicalLinkByCloudRegionId
786 -----------------------------
787
788   The "**getLogicalLinkByCloudRegionId**" query allows a client to
789   provide A&AI a Cloud Region and retrieve its Links in that region.
790   This query is meant to replace the named query
791   "getLogicalLinkByCloudRegionId", which had named query uuid
792   "25096aa7-bc97-4ece-8a81-41dd28cd0f7d". The format closest to the
793   original query can be achieved with
794   ?format=simple&depth=0&nodesOnly=true
795
796 getNetworks
797 -----------
798
799   The getNetworks query will retrieve l3-networks for a given
800   network-role, cloud-region and owning-entity
801
802 getNetworksByServiceInstance
803 ----------------------------
804
805   The "**getNetworksByServiceInstance**" query allows a client to return
806   provider networks with associated vlan-tags and tenant networks with
807   associated vlan-tags by service-instance-id.
808
809 getPinterfacePhysicalLinkBySvcInstId
810 ------------------------------------
811
812   The "**getPinterfacePhysicalLinkBySvcInstId**" query allows a client
813   to provide A&AI a Service Instance and retrieves the related VNFs,
814   VMs, Physical Server(s), Physical Interfaces and Links.  This query is
815   meant to replace the named query
816   "pinterface-physical-link-by-service-instance-id", which had named
817   query uuid "75d55786-200b-49fd-92d7-1393e755d693". The format closest
818   to the original query can be achieved with
819   ?format=resource&depth=0&nodesOnly=true
820
821 getRouterRoadmTailSummary
822 -------------------------
823
824   The "**getRouterRoadmTailSummary**" query allows a client to provide
825   A&AI a PNF and retrieve its Physical Interfaces, Links, related PNFs
826   and their Physical Interfaces, Service Instance(s), Service
827   Subscriptions and Customers.  This query is meant to replace the named
828   query "GetRouterRoadmTailSummary", which had named query uuid
829   "cbf22b8a-f29a-4b9b-a466-a878095b258a". The format closest to the
830   original query can be achieved with ?format=resource_and_url&depth=0
831
832 getServiceTopology
833 ------------------
834
835   The "**getServiceTopology**" query allows a client to provide A&AI
836   with a service-instance and retrieve the generic-vnfs, vlans,
837   vservers, l-interfaces, pservers, complexes, and
838   allotted-resources. It then finds any service-instances attached to
839   the allotted-resources and retrieves the above values for those
840   service-instances except for pservers, complexes, and
841   allotted-resources. The client must provide a path to the
842   service-instance from customer and service-subscription.  This query
843   is meant to replace the named query "dhv-service-topology-2", which
844   had named query uuid "09236f18-a9d2-4468-9086-464b8385b706". The
845   format closest to this original query can be found with
846   format=simple&depth=0&nodesOnly=true
847
848 getSvcSubscriberModelInfo
849 -------------------------
850
851   The "**getSvcSubscriberModelInfo**" query allows a client to provide
852   A&AI a service-instance or a list of service-instances and retrieve
853   the human readable model name and model version.  This query is meant
854   to replace the named query "get-service-instance-model-info", which
855   had named query uuid "6e806bc2-8f9b-4534-bb68-be91267ff6c8".
856
857 getVNFVpnBondingServiceDetails
858 ------------------------------
859
860   The "**getVNFVpnBondingServiceDetails**" query that takes customer
861   (customer.global-customer-id) and service-type as input and return
862   customer VPN Bonding service details.
863
864 images-fromCloudRegionNfType
865 ----------------------------
866
867   The "**images-fromCloudRegionNfType**" query allows a client to
868   provide A&AI with a cloud-region-id and nf-type and retrieve all
869   related images.
870
871 instance-groups-byCloudRegion
872 -----------------------------
873
874   The "**instance-groups-byCloudRegion**" query allows the user to get
875   all instance-groups by cloud-region-id and filter by instance-group
876   type/role/function.
877
878
879 ips-networks-fromVnf
880 --------------------
881
882   The "**ips-networks-fromVnf**" query allows a client to provide A&AI
883   one or more VNFs and retrieve various data all associated VIP and
884   fixed IPs and their related networks.
885
886 l3-networks-by-cloud-region-network-role
887 ----------------------------------------
888
889   The "**l3-networks-by-cloud-region-network-role**" query retrieves
890   l3-networks for a given cloud-region-id, tenant.tenant-id (Optional)
891   and network-role.
892
893
894 linked-devices
895 --------------
896
897   The "**linked-devices**" query allows a client to provide A&AI a
898   generic-vnf, vserver, or newvce and retrieve all connected
899   generic-vnfs, vservers, and newvces.
900
901 locationNetTypeNetRole-fromCloudRegion
902 --------------------------------------
903
904   The "**locationNetTypeNetRole-fromCloudRegion**" query allows a client
905   to provide A&AI with a cloud-region-id and returns the cloud-region,
906   complex, and l3-networks.
907
908 network-collection-ByServiceInstance
909 ------------------------------------
910
911   The "**network-collection-ByServiceInstance**" query returns the
912   service-instance and associated collection, instance-group and
913   associated l3-networks for a given service-instance-id.
914
915 network-name-fromNetwork-role
916 -----------------------------
917
918   The "** network-name-fromNetwork-role**" query allows a client to
919   provide A&AI with a cloud-owner and cloud-region-id and retrieves the
920   related l3-networks and network-policies.
921
922 nfType-fromCloudRegion
923 ----------------------
924
925   The "**nfType-fromCloudRegion**" query allows a client to provide A&AI
926   with a cloud-region-id and returns a list of all generic-vnfs with an
927   nf-type.
928
929 owning-entity-fromService-instance
930 ----------------------------------
931
932   The "**owning-entity-fromService-instance**" query allows a client to
933   provide A&AI with a service-instance-id and retrieves the
934   owning-entity.
935
936 pending-topology-detail
937 -----------------------
938
939   The "**pending-topology-detail**" query allows a client to provide
940   A&AI a generic as input and returns the generic-vnf, platform(s),
941   line(s)-of-business, owning-entity, project, vnfc(s), vnfc ip
942   address(es), vip ip addresses subnet(s), and l3-networks.
943
944 pnf-fromModel-byRegion
945 ----------------------
946
947   The "**pnf-fromModel-byRegion**" query allows a client to provide A&AI
948   with a cloud-region, equip-vendor, equip-model, model-invariant-id of
949   service-instance, model-version-id of service-instance and retrieves
950   the pnf.
951
952 pnf-topology
953 ------------
954
955   The "**pnf-topology**" query allows a client to provide A&AI a D1
956   Device, using the hostname, and retrieve data related to that device
957   and its connected uCPE and/or other D1 device. This includes data
958   about the D1 device itself (the pnf, and location) as well as about a
959   connected uCPE (the pserver, interfaces and physical links used for
960   the connection) and/or other D1 device (the pnf, interfaces and
961   physical links used for the connection).
962
963 pserver-fromConfiguration
964 -------------------------
965
966   The "**pserver-fromConfiguration**" query allows a client to provide
967   A&AI with a configuration-id and retrieves the configuration and
968   related l-interfaces, pservers, and generic-vnfs.
969
970 pserver-fromConfigurationFilterInterfaceId
971 ------------------------------------------
972
973   The "**pserver-fromConfigurationFilterInterfaceId**" query allows a
974   client to provide A&AI with a configuration-id and interface-id and
975   retrieves the configuration, l-interface, and related pservers, and
976   generic-vnfs.
977
978 pservers-fromVnf
979 ----------------
980
981   The "**pservers-fromVnf**" query allows a client to provide A&AI a vNF
982   and retrieve all of the pservers hosting that vNF.
983
984 pservers-withNoComplex
985 ----------------------
986
987   The "**pservers-withNoComplex**" query allows a client to get a list
988   of pservers that have no edge to any complex.  Format must be set to
989   "console", otherwise no data will be displayed.
990
991 related-to
992 ----------
993
994   The "**related-to**" query allows a client to provide A&AI any
995   starting node and request all related nodes of a requested node-type.
996
997 service-fromPserverandSubsName
998 ------------------------------
999
1000   The "**service-fromPServerandSubsName**" query allows a client to
1001   provide A&AI a hostname and subscriber name, then return service
1002   instance and service subscription information.
1003
1004 serviceModels-byDistributionStatus
1005 ----------------------------------
1006
1007   The "**serviceModels-byDistributionStatus**" query allows a client to
1008   provide A&AI with a distribution-status and optional
1009   model-invariant-id and retrieve the model and model-ver.
1010
1011 service-sites
1012 -------------
1013
1014   The "**service-sites**" query allows a client to provide A&AI a
1015   service type and a customer id to retrieve the service-instances,
1016   cloud regions, generic-vnfs, and complexes.
1017
1018 service-topology
1019 ----------------
1020
1021   The "**service-topology**" query allows a client to provide A&AI with
1022   a service-instance and retrieve the generic-vnfs, connected tenants,
1023   vservers, vnfcs, pservers, and their interfaces.  This query is
1024   intended to use with format=resource_and_url and depth=0, using the
1025   node urls to identify parent-child relationships.
1026
1027 site-l3network-cloudRegion
1028 --------------------------
1029
1030   The "**site-l3network-cloudRegion**" query allows a client to provide
1031   A&AI with a physical-location-id and returns the network-role,
1032   country, cloud-region-id and cloud-region-version in that location.
1033
1034 sites-byCloudRegionId
1035 ---------------------
1036
1037   The "**sites-byCloudRegionId**" query allows a client to provide A&AI
1038   with a cloud-region-id and an optional cloud-region-version and
1039   returns the appropriate complexes.
1040
1041 sites-byCountryFilterCloudRegionId
1042 ----------------------------------
1043
1044   The "**sites-byCountryFilterCloudRegionId**" query allows a client to
1045   provide A&AI with a 3-digit country code and cloud-region-id to
1046   retrieve the appropriate complexes.
1047
1048 sites-byCountryFilterCloudRegionVer
1049 -----------------------------------
1050
1051   The "**sites-byCountryFilterCloudRegionVer**" query allows a client to
1052   provide A&AI with a 3-digit country code and cloud-region-version
1053   number to retrieve the appropriate complexes.
1054
1055 so-request-vfModule
1056 -------------------
1057
1058   The "**so-request-vfModule**" query allows a client to provide A&AI a
1059   vf-module then return all the reference objects needed to send SO an
1060   orchestration request.
1061
1062 spaas-topology-fromServiceInstance
1063 ----------------------------------
1064
1065   The "**spaas-topology-fromServiceInstance**" query allows a client to
1066   provide A&AI global-custom-id and service-type, then return vertical
1067   topology for overlay and underlay information.
1068
1069 topology-detail
1070 ---------------
1071
1072   The "**topology-detail**" query allows a client to provide A&AI a
1073   generic-vnf as input and returns the generic-vnf, platform(s),
1074   line(s)-of-business, owning-entity, project, vnfc(s), vserver(s),
1075   vserver l-interface(s), ip address(es), subnet(s), l3-networks,
1076   cloud-region and complex.
1077
1078 topology-detail-fromVnf
1079 -----------------------
1080
1081   The "**topology-detail-fromVnf**" query allows a client to provide
1082   A&AI with a service-id of a VNF and retrieve various data related to
1083   that VNF. This includes data about the VNF itself (the generic-vnf),
1084   the related vnfc, the related vserver (along with the tenant,
1085   cloud-region, image and flavor) and the related pserver (along with
1086   the complex) as done in the topology-summary query. In addition, this
1087   query returns availability-zone, service-instance, l-interface,
1088   l3-interface-ipv4-address-list, l3-interface-ipv6-address-list, and
1089   volume-group.
1090
1091 topology-detail-fromVserver
1092 ---------------------------
1093
1094   The "**topology-detail-fromVserver**" query allows a client to provide
1095   A&AI a vserver as input and returns the generic-vnf, platform(s),
1096   line(s)-of-business, owning-entity, project, vnfc(s), vserver(s),
1097   vserver l-interface(s), ip address(es), subnet(s), l3-networks,
1098   cloud-region and complex. Updated in 1806 to return the following
1099   additional objects: pserver, availability-zone, tenant, image, flavor,
1100   virtual-data-center, vf-module, and volume-group.
1101
1102 topology-fromCloudRegionIdandServiceId
1103 --------------------------------------
1104
1105   The "**topology-fromCloudRegionIdandServiceId**" query allows a client
1106   to provide A&AI cloud-owner, cloud-region-id and service-id, then
1107   return topology related to the service id.
1108
1109 topology-summary
1110 ----------------
1111
1112   The "**topology-summary**" query allows a client to provide A&AI one
1113   or more VNFs and retrieve various data related to that VNF. This
1114   includes data about the VNF itself (the generic-vnf), the related
1115   vnfc, the related vserver (along with the tenant, cloud-region, image
1116   and flavor) and the related pserver (along with the complex).
1117
1118 topology-summary-fromCloudRegion
1119 --------------------------------
1120
1121   The "**topology-summary-fromCloudRegion**" query allows a client to
1122   provide A&AI a cloud region and retrieve a summary of the topology
1123   within that cloud region including the tenants, VMs, VNFs and physical
1124   servers.
1125
1126 topology-summary-fromTenant
1127 ---------------------------
1128
1129   The "**topology-summary-fromTenant**" query allows a client to provide
1130   A&AI a tenant and retrieve a summary of the topology within that
1131   tenant including VMs, VNFs and physical servers and the containing
1132   cloud region.
1133
1134 ucpe-instance
1135 -------------
1136
1137   The "**ucpe-instance**" query allows a client to provide A&AI a
1138   physical server or physical network device, using the hostname, and
1139   retrieve the device and the complex it is located in. This includes
1140   the pserver or pnf itself and the complex.
1141
1142 ucpe-topology
1143 -------------
1144
1145   The "**ucpe-topology**" query allows a client to provide A&AI a uCPE
1146   physical server, using the hostname, and retrieve various data related
1147   to that uCPE. This includes data about the uCPE itself (the pserver,
1148   location, interfaces, hosted vnfs, service instances, service
1149   subscriptions and customer) as well as about a connected physical D1
1150   device (the pnf, interfaces and physical links).
1151
1152 vfModule-fromServiceInstance
1153 ----------------------------
1154
1155   The "**vfModule-fromServiceInstance**" query allows a client to
1156   provide A&AI a service-instance-id to retrieve vf-module only.
1157  
1158 vnf-instances-fromServiceInstancebyModelVersion
1159 -----------------------------------------------
1160
1161   The "**vnf-instances-fromServiceInstancebyModelVersion**" query allows
1162   a client to provide A&AI a list of service-instances for a customer
1163   and service-type and return the generic-vnfs using a particular
1164   model-version-id.
1165
1166 vnfs-fromPserver
1167 ----------------
1168
1169   The "**vnfs-fromPserver**" query allows a client to provide A&AI with
1170   a pserver hostname and retrieve the generic-vnfs related to it. This
1171   query also supports pre-filtering the vnf results.
1172
1173 vnfs-fromServiceInstance
1174 ------------------------
1175
1176   The "**vnfs-fromServiceInstance**" query allows a client to provide
1177   A&AI a service-instance and retrieve the related VNFs.
1178
1179 vnfs-vlans-fromServiceInstance
1180 ------------------------------
1181
1182   The "**vnfs-vlans-fromServiceInstance**" query allows a client to
1183   provide A&AI a service-instance id, then return associated vnfs and
1184   corresponding VLAN ID assignment information for each VNF that is
1185   associated to the VNF.
1186
1187 vnf-topology-fromServiceInstance
1188 --------------------------------
1189
1190   The "**vnf-topology-fromServiceInstance**" query allows a client to
1191   provide A&AI a service-instance and retrieve much of the topology
1192   related to it. The related VNF, vservers and pserver, along with any
1193   IP addresses and l3-networks on the VNF or vserver, the
1194   service-instance and allotted-resource, the tenant and cloud region.
1195
1196 vnf-topology-fromVfModule
1197 -------------------------
1198
1199   The "**vnf-topology-fromVfModule**" query allows a client to provide
1200   A&AI a vf-module and retrieve much of the topology related to it. The
1201   related VNF, vservers and pserver, along with any IP addresses and
1202   l3-networks on the VNF or vserver, the service-instance and
1203   allotted-resource, the tenant and cloud region.
1204
1205 vnf-topology-fromVnf
1206 --------------------
1207
1208   The "**vnf-topology-fromVnf**" query allows a client to provide A&AI a
1209   generic-vnf and retrieve much of the topology related to it. The
1210   related VNF, vservers and pserver, along with any IP addresses and
1211   l3-networks on the VNF or vserver, the service-instance and
1212   allotted-resource, the tenant and cloud region.
1213
1214 vnf-to-service-instance
1215 -----------------------
1216
1217   The "**vnf-to-service-instance**" query allows a client to provide
1218   A&AI a VNF and retrieve the related Service Instance and ALL VNFs
1219   within that instance.  This query is meant to replace the named query
1220   "vnf-to-service-instance", which had named query uuid
1221   "a93ac487-409c-4e8c-9e5f-334ae8f99087".
1222
1223 vserver-fromInstanceGroup
1224 -------------------------
1225
1226   The "**vserver-fromInstanceGroup**" query allows a client to provide
1227   A&AI a instance-group.id to retrieve VNF and vserver information.
1228
1229 vserver-fromVnf
1230 ---------------
1231
1232   The "**vserver-fromVnf**" query allows a client to provide A&AI with a
1233   vnf-id and nfc-function of the vnfc and retrieves the vserver, vnfc,
1234   and l-interface.
1235
1236 vserverlogicallink-frompServer
1237 ------------------------------
1238
1239   The "**vserverlogicallink-frompServer**" query allows a client to
1240   provide A&AI a hostname, then return logical link of vserver from the
1241   compute node.
1242
1243 vservers-fromPserver-tree
1244 -------------------------
1245
1246   The "**vservers-fromPserver-tree**" query allows a client to provide
1247   A&AI one or more pservers and retrieve each pserver with the vservers
1248   it hosts nested under it in the output.