From: JohnKeeney Date: Tue, 9 Jul 2024 17:49:32 +0000 (+0100) Subject: Add additional API documentation X-Git-Tag: 0.1.0~32 X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F69%2F13169%2F2;p=smo%2Fteiv.git Add additional API documentation Issue-ID: SMO-155 Change-Id: I943d950ea14f7eb6b57167d5d94c742a58cf687b Signed-off-by: JohnKeeney --- diff --git a/.gitignore b/.gitignore index 3569c70..3d1a99f 100644 --- a/.gitignore +++ b/.gitignore @@ -22,7 +22,6 @@ target /.metadata/ **/.sts4-cache **/.java-version -index.html **/.openapi-generator .openapi-generator-ignore yang-parser/src/main/resources/modules/*.yang @@ -31,6 +30,9 @@ yang-parser/src/test/resources/_orig-modules/_3gpp*.yang yang-parser/src/test/resources/_orig-modules/iana*.yang pgsql-schema-generator/src/test/resources/generate-defaults/import/*.yang teiv/src/main/resources/models/import/*.yang - +teiv/src/main/resources/v1/README.md +teiv/src/main/resources/v1/index.html +teiv/src/main/resources/v1/html/ +teiv/src/main/resources/v1/topology-exposure-inventory-openapi.json .tox docs/_build \ No newline at end of file diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 10a0cdb..57f686f 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -26,7 +26,12 @@ build: os: ubuntu-22.04 tools: python: "3.11" - + jobs: + post_build: + - cp -v docs/offeredapis/html/index.html $READTHEDOCS_OUTPUT/html/offeredapis/html + - cp -v docs/offeredapis/index.html $READTHEDOCS_OUTPUT/html/offeredapis/ + - cp -v docs/offeredapis/topology-exposure-inventory-openapi.yaml $READTHEDOCS_OUTPUT/html/offeredapis/ + - cp -v docs/offeredapis/topology-exposure-inventory-openapi.json $READTHEDOCS_OUTPUT/html/offeredapis/ python: install: - requirements: docs/requirements-docs.txt diff --git a/docs/_static/swagger.png b/docs/_static/swagger.png new file mode 100644 index 0000000..f5a9e0c Binary files /dev/null and b/docs/_static/swagger.png differ diff --git a/docs/_static/yaml_logo.png b/docs/_static/yaml_logo.png new file mode 100644 index 0000000..0492eb4 Binary files /dev/null and b/docs/_static/yaml_logo.png differ diff --git a/docs/api-documentation.rst b/docs/api-documentation.rst index a2b2f7b..c30bc4f 100644 --- a/docs/api-documentation.rst +++ b/docs/api-documentation.rst @@ -5,7 +5,37 @@ .. _api: -APIs -==== +Offered APIs +============ + +API Table +--------- + +.. |swagger-icon| image:: ./_static/swagger.png + :width: 40px + +.. |yaml-icon| image:: ./_static/yaml_logo.png + :width: 40px + + +.. csv-table:: + :header: "API name", "|swagger-icon|", "|yaml-icon|" + :widths: 10,5, 5 + + "Topology Exposure & Inventory Service API (NBI)", ":download:`link <./offeredapis/topology-exposure-inventory-openapi.json>`", ":download:`link <./offeredapis/topology-exposure-inventory-openapi.yaml>`" + +.. _pms_api: + +Topology Exposure & Inventory Service API +----------------------------------------- + +The Topology Exposure & Inventory Service API is described in more detail in: + +* `Topology Exposure & Inventory Service API (html) (1) <./offeredapis/topology-exposure-inventory-openapi.html>`_ +* `Topology Exposure & Inventory Service API (html) (2) <./offeredapis/index.html>`_ +* `Topology Exposure & Inventory Service API (html) (3) <./offeredapis/html/index.html>`_ + +Topology Exposure & Inventory Service API (Summary) +.................................................... .. openapi:: ../teiv/src/main/resources/v1/topology-exposure-inventory-openapi.yaml diff --git a/docs/conf.py b/docs/conf.py index 02fef9f..8b5c044 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -27,5 +27,24 @@ author = "ORAN" extensions = [ 'sphinx.ext.autosectionlabel', - 'sphinxcontrib.openapi' + 'sphinxcontrib.openapi', + 'sphinxcontrib.redoc' +] + +redoc = [ + { + 'name': 'Topology Exposure & Inventory Service API', + 'page': 'offeredapis/topology-exposure-inventory-openapi', + 'spec': './offeredapis/topology-exposure-inventory-openapi.yaml', + 'embed': True, + } +] +html_extra_path = [ +] + +linkcheck_ignore = [ + r'http://localhost:\d+/', + './offeredapis/topology-exposure-inventory-openapi.html', #Generated file that doesn't exist at link check. + './offeredapis/index.html', #Generated file that doesn't exist at link check. + './offeredapis/html/index.html' #Generated file that doesn't exist at link check. ] diff --git a/docs/offeredapis/html/index.html b/docs/offeredapis/html/index.html new file mode 100644 index 0000000..43de4a8 --- /dev/null +++ b/docs/offeredapis/html/index.html @@ -0,0 +1,20951 @@ + + + + + Topology and Inventory API + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+

Topology and Inventory API

+
+
+
+ +
+
+

Classifiers

+
+
+
+

updateClassifier

+

Update entities and/or relationships with classifier(s).

+
+
+
+

+

Update entities and/or relationships with classifier(s).

+

+
+
/classifiers
+

+

Usage and SDK Samples

+

+ + +
+
+
curl -X PUT \
+ -H "Accept: application/problem+json" \
+ -H "Content-Type: application/json" \
+ "https://localhost/topology-inventory/v1alpha11/classifiers" \
+ -d '{
+  "classifier" : [ "classifier", "classifier" ],
+  "relationshipIds" : [ "relationshipIds", "relationshipIds" ],
+  "operation" : "merge",
+  "entityIds" : [ "entityIds", "entityIds" ]
+}'
+
+
+
+
import org.openapitools.client.*;
+import org.openapitools.client.auth.*;
+import org.openapitools.client.model.*;
+import org.openapitools.client.api.ClassifiersApi;
+
+import java.io.File;
+import java.util.*;
+
+public class ClassifiersApiExample {
+    public static void main(String[] args) {
+
+        // Create an instance of the API class
+        ClassifiersApi apiInstance = new ClassifiersApi();
+        String accept = application/json; // String | 
+        String contentType = application/json; // String | 
+        Classifier classifier = ; // Classifier | 
+
+        try {
+            apiInstance.updateClassifier(accept, contentType, classifier);
+        } catch (ApiException e) {
+            System.err.println("Exception when calling ClassifiersApi#updateClassifier");
+            e.printStackTrace();
+        }
+    }
+}
+
+
+ +
+
import 'package:openapi/api.dart';
+
+final api_instance = DefaultApi();
+
+final String accept = new String(); // String | 
+final String contentType = new String(); // String | 
+final Classifier classifier = new Classifier(); // Classifier | 
+
+try {
+    final result = await api_instance.updateClassifier(accept, contentType, classifier);
+    print(result);
+} catch (e) {
+    print('Exception when calling DefaultApi->updateClassifier: $e\n');
+}
+
+
+
+ +
+
import org.openapitools.client.api.ClassifiersApi;
+
+public class ClassifiersApiExample {
+    public static void main(String[] args) {
+        ClassifiersApi apiInstance = new ClassifiersApi();
+        String accept = application/json; // String | 
+        String contentType = application/json; // String | 
+        Classifier classifier = ; // Classifier | 
+
+        try {
+            apiInstance.updateClassifier(accept, contentType, classifier);
+        } catch (ApiException e) {
+            System.err.println("Exception when calling ClassifiersApi#updateClassifier");
+            e.printStackTrace();
+        }
+    }
+}
+
+ +
+

+
+// Create an instance of the API class
+ClassifiersApi *apiInstance = [[ClassifiersApi alloc] init];
+String *accept = application/json; //  (default to application/json)
+String *contentType = application/json; //  (default to application/json)
+Classifier *classifier = ; // 
+
+// Update entities and/or relationships with classifier(s).
+[apiInstance updateClassifierWith:accept
+    contentType:contentType
+    classifier:classifier
+              completionHandler: ^(NSError* error) {
+    if (error) {
+        NSLog(@"Error: %@", error);
+    }
+}];
+
+
+ +
+
var TopologyAndInventoryApi = require('topology_and_inventory_api');
+
+// Create an instance of the API class
+var api = new TopologyAndInventoryApi.ClassifiersApi()
+var accept = application/json; // {String} 
+var contentType = application/json; // {String} 
+var classifier = ; // {Classifier} 
+
+var callback = function(error, data, response) {
+  if (error) {
+    console.error(error);
+  } else {
+    console.log('API called successfully.');
+  }
+};
+api.updateClassifier(accept, contentType, classifier, callback);
+
+
+ + +
+
using System;
+using System.Diagnostics;
+using Org.OpenAPITools.Api;
+using Org.OpenAPITools.Client;
+using Org.OpenAPITools.Model;
+
+namespace Example
+{
+    public class updateClassifierExample
+    {
+        public void main()
+        {
+
+            // Create an instance of the API class
+            var apiInstance = new ClassifiersApi();
+            var accept = application/json;  // String |  (default to application/json)
+            var contentType = application/json;  // String |  (default to application/json)
+            var classifier = new Classifier(); // Classifier | 
+
+            try {
+                // Update entities and/or relationships with classifier(s).
+                apiInstance.updateClassifier(accept, contentType, classifier);
+            } catch (Exception e) {
+                Debug.Print("Exception when calling ClassifiersApi.updateClassifier: " + e.Message );
+            }
+        }
+    }
+}
+
+
+ +
+
<?php
+require_once(__DIR__ . '/vendor/autoload.php');
+
+// Create an instance of the API class
+$api_instance = new OpenAPITools\Client\Api\ClassifiersApi();
+$accept = application/json; // String | 
+$contentType = application/json; // String | 
+$classifier = ; // Classifier | 
+
+try {
+    $api_instance->updateClassifier($accept, $contentType, $classifier);
+} catch (Exception $e) {
+    echo 'Exception when calling ClassifiersApi->updateClassifier: ', $e->getMessage(), PHP_EOL;
+}
+?>
+
+ +
+
use Data::Dumper;
+use WWW::OPenAPIClient::Configuration;
+use WWW::OPenAPIClient::ClassifiersApi;
+
+# Create an instance of the API class
+my $api_instance = WWW::OPenAPIClient::ClassifiersApi->new();
+my $accept = application/json; # String | 
+my $contentType = application/json; # String | 
+my $classifier = WWW::OPenAPIClient::Object::Classifier->new(); # Classifier | 
+
+eval {
+    $api_instance->updateClassifier(accept => $accept, contentType => $contentType, classifier => $classifier);
+};
+if ($@) {
+    warn "Exception when calling ClassifiersApi->updateClassifier: $@\n";
+}
+
+ +
+
from __future__ import print_statement
+import time
+import openapi_client
+from openapi_client.rest import ApiException
+from pprint import pprint
+
+# Create an instance of the API class
+api_instance = openapi_client.ClassifiersApi()
+accept = application/json # String |  (default to application/json)
+contentType = application/json # String |  (default to application/json)
+classifier =  # Classifier | 
+
+try:
+    # Update entities and/or relationships with classifier(s).
+    api_instance.update_classifier(accept, contentType, classifier)
+except ApiException as e:
+    print("Exception when calling ClassifiersApi->updateClassifier: %s\n" % e)
+
+ +
+
extern crate ClassifiersApi;
+
+pub fn main() {
+    let accept = application/json; // String
+    let contentType = application/json; // String
+    let classifier = ; // Classifier
+
+    let mut context = ClassifiersApi::Context::default();
+    let result = client.updateClassifier(accept, contentType, classifier, &context).wait();
+
+    println!("{:?}", result);
+}
+
+
+
+ +

Scopes

+ + +
+ +

Parameters

+ + +
Header parameters
+ + + + + + + + + + + + + +
NameDescription
Accept* + + +
+
+
+ + String + + +
+
+ Required +
+
+
+
Content-Type* + + +
+
+
+ + String + + +
+
+ Required +
+
+
+
+ +
Body parameters
+ + + + + + + + + +
NameDescription
classifier * +

+ +
+
+ + + +

Responses

+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+
+
+
+
+
+

Collections

+
+
+
+

createCollection

+

Create a collection.

+
+
+
+

+

Create a collection.

+

+
+
/collections
+

+

Usage and SDK Samples

+

+ + +
+
+
curl -X POST \
+ -H "Accept: application/json,application/problem+json" \
+ -H "Content-Type: application/json" \
+ "https://localhost/topology-inventory/v1alpha11/collections" \
+ -d '{
+  "criteria" : {
+    "resourceInstances" : [ "resourceInstances", "resourceInstances" ]
+  },
+  "collectionName" : "collectionName"
+}'
+
+
+
+
import org.openapitools.client.*;
+import org.openapitools.client.auth.*;
+import org.openapitools.client.model.*;
+import org.openapitools.client.api.CollectionsApi;
+
+import java.io.File;
+import java.util.*;
+
+public class CollectionsApiExample {
+    public static void main(String[] args) {
+
+        // Create an instance of the API class
+        CollectionsApi apiInstance = new CollectionsApi();
+        String accept = application/json; // String | 
+        String contentType = application/json; // String | 
+        Collection collection = ; // Collection | 
+
+        try {
+            CollectionResponse result = apiInstance.createCollection(accept, contentType, collection);
+            System.out.println(result);
+        } catch (ApiException e) {
+            System.err.println("Exception when calling CollectionsApi#createCollection");
+            e.printStackTrace();
+        }
+    }
+}
+
+
+ +
+
import 'package:openapi/api.dart';
+
+final api_instance = DefaultApi();
+
+final String accept = new String(); // String | 
+final String contentType = new String(); // String | 
+final Collection collection = new Collection(); // Collection | 
+
+try {
+    final result = await api_instance.createCollection(accept, contentType, collection);
+    print(result);
+} catch (e) {
+    print('Exception when calling DefaultApi->createCollection: $e\n');
+}
+
+
+
+ +
+
import org.openapitools.client.api.CollectionsApi;
+
+public class CollectionsApiExample {
+    public static void main(String[] args) {
+        CollectionsApi apiInstance = new CollectionsApi();
+        String accept = application/json; // String | 
+        String contentType = application/json; // String | 
+        Collection collection = ; // Collection | 
+
+        try {
+            CollectionResponse result = apiInstance.createCollection(accept, contentType, collection);
+            System.out.println(result);
+        } catch (ApiException e) {
+            System.err.println("Exception when calling CollectionsApi#createCollection");
+            e.printStackTrace();
+        }
+    }
+}
+
+ +
+

+
+// Create an instance of the API class
+CollectionsApi *apiInstance = [[CollectionsApi alloc] init];
+String *accept = application/json; //  (default to application/json)
+String *contentType = application/json; //  (default to application/json)
+Collection *collection = ; // 
+
+// Create a collection.
+[apiInstance createCollectionWith:accept
+    contentType:contentType
+    collection:collection
+              completionHandler: ^(CollectionResponse output, NSError* error) {
+    if (output) {
+        NSLog(@"%@", output);
+    }
+    if (error) {
+        NSLog(@"Error: %@", error);
+    }
+}];
+
+
+ +
+
var TopologyAndInventoryApi = require('topology_and_inventory_api');
+
+// Create an instance of the API class
+var api = new TopologyAndInventoryApi.CollectionsApi()
+var accept = application/json; // {String} 
+var contentType = application/json; // {String} 
+var collection = ; // {Collection} 
+
+var callback = function(error, data, response) {
+  if (error) {
+    console.error(error);
+  } else {
+    console.log('API called successfully. Returned data: ' + data);
+  }
+};
+api.createCollection(accept, contentType, collection, callback);
+
+
+ + +
+
using System;
+using System.Diagnostics;
+using Org.OpenAPITools.Api;
+using Org.OpenAPITools.Client;
+using Org.OpenAPITools.Model;
+
+namespace Example
+{
+    public class createCollectionExample
+    {
+        public void main()
+        {
+
+            // Create an instance of the API class
+            var apiInstance = new CollectionsApi();
+            var accept = application/json;  // String |  (default to application/json)
+            var contentType = application/json;  // String |  (default to application/json)
+            var collection = new Collection(); // Collection | 
+
+            try {
+                // Create a collection.
+                CollectionResponse result = apiInstance.createCollection(accept, contentType, collection);
+                Debug.WriteLine(result);
+            } catch (Exception e) {
+                Debug.Print("Exception when calling CollectionsApi.createCollection: " + e.Message );
+            }
+        }
+    }
+}
+
+
+ +
+
<?php
+require_once(__DIR__ . '/vendor/autoload.php');
+
+// Create an instance of the API class
+$api_instance = new OpenAPITools\Client\Api\CollectionsApi();
+$accept = application/json; // String | 
+$contentType = application/json; // String | 
+$collection = ; // Collection | 
+
+try {
+    $result = $api_instance->createCollection($accept, $contentType, $collection);
+    print_r($result);
+} catch (Exception $e) {
+    echo 'Exception when calling CollectionsApi->createCollection: ', $e->getMessage(), PHP_EOL;
+}
+?>
+
+ +
+
use Data::Dumper;
+use WWW::OPenAPIClient::Configuration;
+use WWW::OPenAPIClient::CollectionsApi;
+
+# Create an instance of the API class
+my $api_instance = WWW::OPenAPIClient::CollectionsApi->new();
+my $accept = application/json; # String | 
+my $contentType = application/json; # String | 
+my $collection = WWW::OPenAPIClient::Object::Collection->new(); # Collection | 
+
+eval {
+    my $result = $api_instance->createCollection(accept => $accept, contentType => $contentType, collection => $collection);
+    print Dumper($result);
+};
+if ($@) {
+    warn "Exception when calling CollectionsApi->createCollection: $@\n";
+}
+
+ +
+
from __future__ import print_statement
+import time
+import openapi_client
+from openapi_client.rest import ApiException
+from pprint import pprint
+
+# Create an instance of the API class
+api_instance = openapi_client.CollectionsApi()
+accept = application/json # String |  (default to application/json)
+contentType = application/json # String |  (default to application/json)
+collection =  # Collection | 
+
+try:
+    # Create a collection.
+    api_response = api_instance.create_collection(accept, contentType, collection)
+    pprint(api_response)
+except ApiException as e:
+    print("Exception when calling CollectionsApi->createCollection: %s\n" % e)
+
+ +
+
extern crate CollectionsApi;
+
+pub fn main() {
+    let accept = application/json; // String
+    let contentType = application/json; // String
+    let collection = ; // Collection
+
+    let mut context = CollectionsApi::Context::default();
+    let result = client.createCollection(accept, contentType, collection, &context).wait();
+
+    println!("{:?}", result);
+}
+
+
+
+ +

Scopes

+ + +
+ +

Parameters

+ + +
Header parameters
+ + + + + + + + + + + + + +
NameDescription
Accept* + + +
+
+
+ + String + + +
+
+ Required +
+
+
+
Content-Type* + + +
+
+
+ + String + + +
+
+ Required +
+
+
+
+ +
Body parameters
+ + + + + + + + + +
NameDescription
collection * +

+ +
+
+ + + +

Responses

+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+
+
+
+
+
+
+

deleteCollection

+

Delete a collection with specified id.

+
+
+
+

+

Delete a collection with specified id.

+

+
+
/collections/{collectionId}
+

+

Usage and SDK Samples

+

+ + +
+
+
curl -X DELETE \
+ -H "Accept: application/problem+json" \
+ "https://localhost/topology-inventory/v1alpha11/collections/{collectionId}"
+
+
+
+
import org.openapitools.client.*;
+import org.openapitools.client.auth.*;
+import org.openapitools.client.model.*;
+import org.openapitools.client.api.CollectionsApi;
+
+import java.io.File;
+import java.util.*;
+
+public class CollectionsApiExample {
+    public static void main(String[] args) {
+
+        // Create an instance of the API class
+        CollectionsApi apiInstance = new CollectionsApi();
+        String accept = application/json; // String | 
+        String collectionId = collectionId_example; // String | 
+
+        try {
+            apiInstance.deleteCollection(accept, collectionId);
+        } catch (ApiException e) {
+            System.err.println("Exception when calling CollectionsApi#deleteCollection");
+            e.printStackTrace();
+        }
+    }
+}
+
+
+ +
+
import 'package:openapi/api.dart';
+
+final api_instance = DefaultApi();
+
+final String accept = new String(); // String | 
+final String collectionId = new String(); // String | 
+
+try {
+    final result = await api_instance.deleteCollection(accept, collectionId);
+    print(result);
+} catch (e) {
+    print('Exception when calling DefaultApi->deleteCollection: $e\n');
+}
+
+
+
+ +
+
import org.openapitools.client.api.CollectionsApi;
+
+public class CollectionsApiExample {
+    public static void main(String[] args) {
+        CollectionsApi apiInstance = new CollectionsApi();
+        String accept = application/json; // String | 
+        String collectionId = collectionId_example; // String | 
+
+        try {
+            apiInstance.deleteCollection(accept, collectionId);
+        } catch (ApiException e) {
+            System.err.println("Exception when calling CollectionsApi#deleteCollection");
+            e.printStackTrace();
+        }
+    }
+}
+
+ +
+

+
+// Create an instance of the API class
+CollectionsApi *apiInstance = [[CollectionsApi alloc] init];
+String *accept = application/json; //  (default to application/json)
+String *collectionId = collectionId_example; //  (default to null)
+
+// Delete a collection with specified id.
+[apiInstance deleteCollectionWith:accept
+    collectionId:collectionId
+              completionHandler: ^(NSError* error) {
+    if (error) {
+        NSLog(@"Error: %@", error);
+    }
+}];
+
+
+ +
+
var TopologyAndInventoryApi = require('topology_and_inventory_api');
+
+// Create an instance of the API class
+var api = new TopologyAndInventoryApi.CollectionsApi()
+var accept = application/json; // {String} 
+var collectionId = collectionId_example; // {String} 
+
+var callback = function(error, data, response) {
+  if (error) {
+    console.error(error);
+  } else {
+    console.log('API called successfully.');
+  }
+};
+api.deleteCollection(accept, collectionId, callback);
+
+
+ + +
+
using System;
+using System.Diagnostics;
+using Org.OpenAPITools.Api;
+using Org.OpenAPITools.Client;
+using Org.OpenAPITools.Model;
+
+namespace Example
+{
+    public class deleteCollectionExample
+    {
+        public void main()
+        {
+
+            // Create an instance of the API class
+            var apiInstance = new CollectionsApi();
+            var accept = application/json;  // String |  (default to application/json)
+            var collectionId = collectionId_example;  // String |  (default to null)
+
+            try {
+                // Delete a collection with specified id.
+                apiInstance.deleteCollection(accept, collectionId);
+            } catch (Exception e) {
+                Debug.Print("Exception when calling CollectionsApi.deleteCollection: " + e.Message );
+            }
+        }
+    }
+}
+
+
+ +
+
<?php
+require_once(__DIR__ . '/vendor/autoload.php');
+
+// Create an instance of the API class
+$api_instance = new OpenAPITools\Client\Api\CollectionsApi();
+$accept = application/json; // String | 
+$collectionId = collectionId_example; // String | 
+
+try {
+    $api_instance->deleteCollection($accept, $collectionId);
+} catch (Exception $e) {
+    echo 'Exception when calling CollectionsApi->deleteCollection: ', $e->getMessage(), PHP_EOL;
+}
+?>
+
+ +
+
use Data::Dumper;
+use WWW::OPenAPIClient::Configuration;
+use WWW::OPenAPIClient::CollectionsApi;
+
+# Create an instance of the API class
+my $api_instance = WWW::OPenAPIClient::CollectionsApi->new();
+my $accept = application/json; # String | 
+my $collectionId = collectionId_example; # String | 
+
+eval {
+    $api_instance->deleteCollection(accept => $accept, collectionId => $collectionId);
+};
+if ($@) {
+    warn "Exception when calling CollectionsApi->deleteCollection: $@\n";
+}
+
+ +
+
from __future__ import print_statement
+import time
+import openapi_client
+from openapi_client.rest import ApiException
+from pprint import pprint
+
+# Create an instance of the API class
+api_instance = openapi_client.CollectionsApi()
+accept = application/json # String |  (default to application/json)
+collectionId = collectionId_example # String |  (default to null)
+
+try:
+    # Delete a collection with specified id.
+    api_instance.delete_collection(accept, collectionId)
+except ApiException as e:
+    print("Exception when calling CollectionsApi->deleteCollection: %s\n" % e)
+
+ +
+
extern crate CollectionsApi;
+
+pub fn main() {
+    let accept = application/json; // String
+    let collectionId = collectionId_example; // String
+
+    let mut context = CollectionsApi::Context::default();
+    let result = client.deleteCollection(accept, collectionId, &context).wait();
+
+    println!("{:?}", result);
+}
+
+
+
+ +

Scopes

+ + +
+ +

Parameters

+ +
Path parameters
+ + + + + + + + + +
NameDescription
collectionId* + + +
+
+
+ + String + + +
+
+ Required +
+
+
+
+ +
Header parameters
+ + + + + + + + + +
NameDescription
Accept* + + +
+
+
+ + String + + +
+
+ Required +
+
+
+
+ + + + +

Responses

+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+
+
+
+
+
+
+

getAllCollections

+

Get all collections.

+
+
+
+

+

Get all collections.

+

+
+
/collections
+

+

Usage and SDK Samples

+

+ + +
+
+
curl -X GET \
+ -H "Accept: application/json,application/problem+json" \
+ "https://localhost/topology-inventory/v1alpha11/collections?offset=56&limit=56"
+
+
+
+
import org.openapitools.client.*;
+import org.openapitools.client.auth.*;
+import org.openapitools.client.model.*;
+import org.openapitools.client.api.CollectionsApi;
+
+import java.io.File;
+import java.util.*;
+
+public class CollectionsApiExample {
+    public static void main(String[] args) {
+
+        // Create an instance of the API class
+        CollectionsApi apiInstance = new CollectionsApi();
+        String accept = application/json; // String | 
+        Integer offset = 56; // Integer | Pagination offset.
+        Integer limit = 56; // Integer | Result limiter.
+
+        try {
+            Collections result = apiInstance.getAllCollections(accept, offset, limit);
+            System.out.println(result);
+        } catch (ApiException e) {
+            System.err.println("Exception when calling CollectionsApi#getAllCollections");
+            e.printStackTrace();
+        }
+    }
+}
+
+
+ +
+
import 'package:openapi/api.dart';
+
+final api_instance = DefaultApi();
+
+final String accept = new String(); // String | 
+final Integer offset = new Integer(); // Integer | Pagination offset.
+final Integer limit = new Integer(); // Integer | Result limiter.
+
+try {
+    final result = await api_instance.getAllCollections(accept, offset, limit);
+    print(result);
+} catch (e) {
+    print('Exception when calling DefaultApi->getAllCollections: $e\n');
+}
+
+
+
+ +
+
import org.openapitools.client.api.CollectionsApi;
+
+public class CollectionsApiExample {
+    public static void main(String[] args) {
+        CollectionsApi apiInstance = new CollectionsApi();
+        String accept = application/json; // String | 
+        Integer offset = 56; // Integer | Pagination offset.
+        Integer limit = 56; // Integer | Result limiter.
+
+        try {
+            Collections result = apiInstance.getAllCollections(accept, offset, limit);
+            System.out.println(result);
+        } catch (ApiException e) {
+            System.err.println("Exception when calling CollectionsApi#getAllCollections");
+            e.printStackTrace();
+        }
+    }
+}
+
+ +
+

+
+// Create an instance of the API class
+CollectionsApi *apiInstance = [[CollectionsApi alloc] init];
+String *accept = application/json; //  (default to application/json)
+Integer *offset = 56; // Pagination offset. (optional) (default to 0)
+Integer *limit = 56; // Result limiter. (optional) (default to 500)
+
+// Get all collections.
+[apiInstance getAllCollectionsWith:accept
+    offset:offset
+    limit:limit
+              completionHandler: ^(Collections output, NSError* error) {
+    if (output) {
+        NSLog(@"%@", output);
+    }
+    if (error) {
+        NSLog(@"Error: %@", error);
+    }
+}];
+
+
+ +
+
var TopologyAndInventoryApi = require('topology_and_inventory_api');
+
+// Create an instance of the API class
+var api = new TopologyAndInventoryApi.CollectionsApi()
+var accept = application/json; // {String} 
+var opts = {
+  'offset': 56, // {Integer} Pagination offset.
+  'limit': 56 // {Integer} Result limiter.
+};
+
+var callback = function(error, data, response) {
+  if (error) {
+    console.error(error);
+  } else {
+    console.log('API called successfully. Returned data: ' + data);
+  }
+};
+api.getAllCollections(accept, opts, callback);
+
+
+ + +
+
using System;
+using System.Diagnostics;
+using Org.OpenAPITools.Api;
+using Org.OpenAPITools.Client;
+using Org.OpenAPITools.Model;
+
+namespace Example
+{
+    public class getAllCollectionsExample
+    {
+        public void main()
+        {
+
+            // Create an instance of the API class
+            var apiInstance = new CollectionsApi();
+            var accept = application/json;  // String |  (default to application/json)
+            var offset = 56;  // Integer | Pagination offset. (optional)  (default to 0)
+            var limit = 56;  // Integer | Result limiter. (optional)  (default to 500)
+
+            try {
+                // Get all collections.
+                Collections result = apiInstance.getAllCollections(accept, offset, limit);
+                Debug.WriteLine(result);
+            } catch (Exception e) {
+                Debug.Print("Exception when calling CollectionsApi.getAllCollections: " + e.Message );
+            }
+        }
+    }
+}
+
+
+ +
+
<?php
+require_once(__DIR__ . '/vendor/autoload.php');
+
+// Create an instance of the API class
+$api_instance = new OpenAPITools\Client\Api\CollectionsApi();
+$accept = application/json; // String | 
+$offset = 56; // Integer | Pagination offset.
+$limit = 56; // Integer | Result limiter.
+
+try {
+    $result = $api_instance->getAllCollections($accept, $offset, $limit);
+    print_r($result);
+} catch (Exception $e) {
+    echo 'Exception when calling CollectionsApi->getAllCollections: ', $e->getMessage(), PHP_EOL;
+}
+?>
+
+ +
+
use Data::Dumper;
+use WWW::OPenAPIClient::Configuration;
+use WWW::OPenAPIClient::CollectionsApi;
+
+# Create an instance of the API class
+my $api_instance = WWW::OPenAPIClient::CollectionsApi->new();
+my $accept = application/json; # String | 
+my $offset = 56; # Integer | Pagination offset.
+my $limit = 56; # Integer | Result limiter.
+
+eval {
+    my $result = $api_instance->getAllCollections(accept => $accept, offset => $offset, limit => $limit);
+    print Dumper($result);
+};
+if ($@) {
+    warn "Exception when calling CollectionsApi->getAllCollections: $@\n";
+}
+
+ +
+
from __future__ import print_statement
+import time
+import openapi_client
+from openapi_client.rest import ApiException
+from pprint import pprint
+
+# Create an instance of the API class
+api_instance = openapi_client.CollectionsApi()
+accept = application/json # String |  (default to application/json)
+offset = 56 # Integer | Pagination offset. (optional) (default to 0)
+limit = 56 # Integer | Result limiter. (optional) (default to 500)
+
+try:
+    # Get all collections.
+    api_response = api_instance.get_all_collections(accept, offset=offset, limit=limit)
+    pprint(api_response)
+except ApiException as e:
+    print("Exception when calling CollectionsApi->getAllCollections: %s\n" % e)
+
+ +
+
extern crate CollectionsApi;
+
+pub fn main() {
+    let accept = application/json; // String
+    let offset = 56; // Integer
+    let limit = 56; // Integer
+
+    let mut context = CollectionsApi::Context::default();
+    let result = client.getAllCollections(accept, offset, limit, &context).wait();
+
+    println!("{:?}", result);
+}
+
+
+
+ +

Scopes

+ + +
+ +

Parameters

+ + +
Header parameters
+ + + + + + + + + +
NameDescription
Accept* + + +
+
+
+ + String + + +
+
+ Required +
+
+
+
+ + + +
Query parameters
+ + + + + + + + + + + + + +
NameDescription
offset + + +
+
+
+ + Integer + + +
+Pagination offset. +
+
+
+
+
limit + + +
+
+
+ + Integer + + +
+Result limiter. +
+
+
+
+
+ +

Responses

+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+
+
+
+
+
+
+

getCollection

+

Get a collection with specified id.

+
+
+
+

+

Get a collection with specified id.

+

+
+
/collections/{collectionId}
+

+

Usage and SDK Samples

+

+ + +
+
+
curl -X GET \
+ -H "Accept: application/json,application/problem+json" \
+ "https://localhost/topology-inventory/v1alpha11/collections/{collectionId}"
+
+
+
+
import org.openapitools.client.*;
+import org.openapitools.client.auth.*;
+import org.openapitools.client.model.*;
+import org.openapitools.client.api.CollectionsApi;
+
+import java.io.File;
+import java.util.*;
+
+public class CollectionsApiExample {
+    public static void main(String[] args) {
+
+        // Create an instance of the API class
+        CollectionsApi apiInstance = new CollectionsApi();
+        String accept = application/json; // String | 
+        String collectionId = collectionId_example; // String | 
+
+        try {
+            CollectionResponse result = apiInstance.getCollection(accept, collectionId);
+            System.out.println(result);
+        } catch (ApiException e) {
+            System.err.println("Exception when calling CollectionsApi#getCollection");
+            e.printStackTrace();
+        }
+    }
+}
+
+
+ +
+
import 'package:openapi/api.dart';
+
+final api_instance = DefaultApi();
+
+final String accept = new String(); // String | 
+final String collectionId = new String(); // String | 
+
+try {
+    final result = await api_instance.getCollection(accept, collectionId);
+    print(result);
+} catch (e) {
+    print('Exception when calling DefaultApi->getCollection: $e\n');
+}
+
+
+
+ +
+
import org.openapitools.client.api.CollectionsApi;
+
+public class CollectionsApiExample {
+    public static void main(String[] args) {
+        CollectionsApi apiInstance = new CollectionsApi();
+        String accept = application/json; // String | 
+        String collectionId = collectionId_example; // String | 
+
+        try {
+            CollectionResponse result = apiInstance.getCollection(accept, collectionId);
+            System.out.println(result);
+        } catch (ApiException e) {
+            System.err.println("Exception when calling CollectionsApi#getCollection");
+            e.printStackTrace();
+        }
+    }
+}
+
+ +
+

+
+// Create an instance of the API class
+CollectionsApi *apiInstance = [[CollectionsApi alloc] init];
+String *accept = application/json; //  (default to application/json)
+String *collectionId = collectionId_example; //  (default to null)
+
+// Get a collection with specified id.
+[apiInstance getCollectionWith:accept
+    collectionId:collectionId
+              completionHandler: ^(CollectionResponse output, NSError* error) {
+    if (output) {
+        NSLog(@"%@", output);
+    }
+    if (error) {
+        NSLog(@"Error: %@", error);
+    }
+}];
+
+
+ +
+
var TopologyAndInventoryApi = require('topology_and_inventory_api');
+
+// Create an instance of the API class
+var api = new TopologyAndInventoryApi.CollectionsApi()
+var accept = application/json; // {String} 
+var collectionId = collectionId_example; // {String} 
+
+var callback = function(error, data, response) {
+  if (error) {
+    console.error(error);
+  } else {
+    console.log('API called successfully. Returned data: ' + data);
+  }
+};
+api.getCollection(accept, collectionId, callback);
+
+
+ + +
+
using System;
+using System.Diagnostics;
+using Org.OpenAPITools.Api;
+using Org.OpenAPITools.Client;
+using Org.OpenAPITools.Model;
+
+namespace Example
+{
+    public class getCollectionExample
+    {
+        public void main()
+        {
+
+            // Create an instance of the API class
+            var apiInstance = new CollectionsApi();
+            var accept = application/json;  // String |  (default to application/json)
+            var collectionId = collectionId_example;  // String |  (default to null)
+
+            try {
+                // Get a collection with specified id.
+                CollectionResponse result = apiInstance.getCollection(accept, collectionId);
+                Debug.WriteLine(result);
+            } catch (Exception e) {
+                Debug.Print("Exception when calling CollectionsApi.getCollection: " + e.Message );
+            }
+        }
+    }
+}
+
+
+ +
+
<?php
+require_once(__DIR__ . '/vendor/autoload.php');
+
+// Create an instance of the API class
+$api_instance = new OpenAPITools\Client\Api\CollectionsApi();
+$accept = application/json; // String | 
+$collectionId = collectionId_example; // String | 
+
+try {
+    $result = $api_instance->getCollection($accept, $collectionId);
+    print_r($result);
+} catch (Exception $e) {
+    echo 'Exception when calling CollectionsApi->getCollection: ', $e->getMessage(), PHP_EOL;
+}
+?>
+
+ +
+
use Data::Dumper;
+use WWW::OPenAPIClient::Configuration;
+use WWW::OPenAPIClient::CollectionsApi;
+
+# Create an instance of the API class
+my $api_instance = WWW::OPenAPIClient::CollectionsApi->new();
+my $accept = application/json; # String | 
+my $collectionId = collectionId_example; # String | 
+
+eval {
+    my $result = $api_instance->getCollection(accept => $accept, collectionId => $collectionId);
+    print Dumper($result);
+};
+if ($@) {
+    warn "Exception when calling CollectionsApi->getCollection: $@\n";
+}
+
+ +
+
from __future__ import print_statement
+import time
+import openapi_client
+from openapi_client.rest import ApiException
+from pprint import pprint
+
+# Create an instance of the API class
+api_instance = openapi_client.CollectionsApi()
+accept = application/json # String |  (default to application/json)
+collectionId = collectionId_example # String |  (default to null)
+
+try:
+    # Get a collection with specified id.
+    api_response = api_instance.get_collection(accept, collectionId)
+    pprint(api_response)
+except ApiException as e:
+    print("Exception when calling CollectionsApi->getCollection: %s\n" % e)
+
+ +
+
extern crate CollectionsApi;
+
+pub fn main() {
+    let accept = application/json; // String
+    let collectionId = collectionId_example; // String
+
+    let mut context = CollectionsApi::Context::default();
+    let result = client.getCollection(accept, collectionId, &context).wait();
+
+    println!("{:?}", result);
+}
+
+
+
+ +

Scopes

+ + +
+ +

Parameters

+ +
Path parameters
+ + + + + + + + + +
NameDescription
collectionId* + + +
+
+
+ + String + + +
+
+ Required +
+
+
+
+ +
Header parameters
+ + + + + + + + + +
NameDescription
Accept* + + +
+
+
+ + String + + +
+
+ Required +
+
+
+
+ + + + +

Responses

+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+
+
+
+
+
+
+

updateCollection

+

Update a collection.

+
+
+
+

+

Update a collection.

+

+
+
/collections/{collectionId}
+

+

Usage and SDK Samples

+

+ + +
+
+
curl -X PUT \
+ -H "Accept: application/problem+json" \
+ -H "Content-Type: application/json" \
+ "https://localhost/topology-inventory/v1alpha11/collections/{collectionId}" \
+ -d '{
+  "criteria" : {
+    "resourceInstances" : [ "resourceInstances", "resourceInstances" ]
+  },
+  "collectionName" : "collectionName"
+}'
+
+
+
+
import org.openapitools.client.*;
+import org.openapitools.client.auth.*;
+import org.openapitools.client.model.*;
+import org.openapitools.client.api.CollectionsApi;
+
+import java.io.File;
+import java.util.*;
+
+public class CollectionsApiExample {
+    public static void main(String[] args) {
+
+        // Create an instance of the API class
+        CollectionsApi apiInstance = new CollectionsApi();
+        String accept = application/json; // String | 
+        String contentType = application/json; // String | 
+        String collectionId = collectionId_example; // String | 
+        Collection collection = ; // Collection | 
+
+        try {
+            apiInstance.updateCollection(accept, contentType, collectionId, collection);
+        } catch (ApiException e) {
+            System.err.println("Exception when calling CollectionsApi#updateCollection");
+            e.printStackTrace();
+        }
+    }
+}
+
+
+ +
+
import 'package:openapi/api.dart';
+
+final api_instance = DefaultApi();
+
+final String accept = new String(); // String | 
+final String contentType = new String(); // String | 
+final String collectionId = new String(); // String | 
+final Collection collection = new Collection(); // Collection | 
+
+try {
+    final result = await api_instance.updateCollection(accept, contentType, collectionId, collection);
+    print(result);
+} catch (e) {
+    print('Exception when calling DefaultApi->updateCollection: $e\n');
+}
+
+
+
+ +
+
import org.openapitools.client.api.CollectionsApi;
+
+public class CollectionsApiExample {
+    public static void main(String[] args) {
+        CollectionsApi apiInstance = new CollectionsApi();
+        String accept = application/json; // String | 
+        String contentType = application/json; // String | 
+        String collectionId = collectionId_example; // String | 
+        Collection collection = ; // Collection | 
+
+        try {
+            apiInstance.updateCollection(accept, contentType, collectionId, collection);
+        } catch (ApiException e) {
+            System.err.println("Exception when calling CollectionsApi#updateCollection");
+            e.printStackTrace();
+        }
+    }
+}
+
+ +
+

+
+// Create an instance of the API class
+CollectionsApi *apiInstance = [[CollectionsApi alloc] init];
+String *accept = application/json; //  (default to application/json)
+String *contentType = application/json; //  (default to application/json)
+String *collectionId = collectionId_example; //  (default to null)
+Collection *collection = ; // 
+
+// Update a collection.
+[apiInstance updateCollectionWith:accept
+    contentType:contentType
+    collectionId:collectionId
+    collection:collection
+              completionHandler: ^(NSError* error) {
+    if (error) {
+        NSLog(@"Error: %@", error);
+    }
+}];
+
+
+ +
+
var TopologyAndInventoryApi = require('topology_and_inventory_api');
+
+// Create an instance of the API class
+var api = new TopologyAndInventoryApi.CollectionsApi()
+var accept = application/json; // {String} 
+var contentType = application/json; // {String} 
+var collectionId = collectionId_example; // {String} 
+var collection = ; // {Collection} 
+
+var callback = function(error, data, response) {
+  if (error) {
+    console.error(error);
+  } else {
+    console.log('API called successfully.');
+  }
+};
+api.updateCollection(accept, contentType, collectionId, collection, callback);
+
+
+ + +
+
using System;
+using System.Diagnostics;
+using Org.OpenAPITools.Api;
+using Org.OpenAPITools.Client;
+using Org.OpenAPITools.Model;
+
+namespace Example
+{
+    public class updateCollectionExample
+    {
+        public void main()
+        {
+
+            // Create an instance of the API class
+            var apiInstance = new CollectionsApi();
+            var accept = application/json;  // String |  (default to application/json)
+            var contentType = application/json;  // String |  (default to application/json)
+            var collectionId = collectionId_example;  // String |  (default to null)
+            var collection = new Collection(); // Collection | 
+
+            try {
+                // Update a collection.
+                apiInstance.updateCollection(accept, contentType, collectionId, collection);
+            } catch (Exception e) {
+                Debug.Print("Exception when calling CollectionsApi.updateCollection: " + e.Message );
+            }
+        }
+    }
+}
+
+
+ +
+
<?php
+require_once(__DIR__ . '/vendor/autoload.php');
+
+// Create an instance of the API class
+$api_instance = new OpenAPITools\Client\Api\CollectionsApi();
+$accept = application/json; // String | 
+$contentType = application/json; // String | 
+$collectionId = collectionId_example; // String | 
+$collection = ; // Collection | 
+
+try {
+    $api_instance->updateCollection($accept, $contentType, $collectionId, $collection);
+} catch (Exception $e) {
+    echo 'Exception when calling CollectionsApi->updateCollection: ', $e->getMessage(), PHP_EOL;
+}
+?>
+
+ +
+
use Data::Dumper;
+use WWW::OPenAPIClient::Configuration;
+use WWW::OPenAPIClient::CollectionsApi;
+
+# Create an instance of the API class
+my $api_instance = WWW::OPenAPIClient::CollectionsApi->new();
+my $accept = application/json; # String | 
+my $contentType = application/json; # String | 
+my $collectionId = collectionId_example; # String | 
+my $collection = WWW::OPenAPIClient::Object::Collection->new(); # Collection | 
+
+eval {
+    $api_instance->updateCollection(accept => $accept, contentType => $contentType, collectionId => $collectionId, collection => $collection);
+};
+if ($@) {
+    warn "Exception when calling CollectionsApi->updateCollection: $@\n";
+}
+
+ +
+
from __future__ import print_statement
+import time
+import openapi_client
+from openapi_client.rest import ApiException
+from pprint import pprint
+
+# Create an instance of the API class
+api_instance = openapi_client.CollectionsApi()
+accept = application/json # String |  (default to application/json)
+contentType = application/json # String |  (default to application/json)
+collectionId = collectionId_example # String |  (default to null)
+collection =  # Collection | 
+
+try:
+    # Update a collection.
+    api_instance.update_collection(accept, contentType, collectionId, collection)
+except ApiException as e:
+    print("Exception when calling CollectionsApi->updateCollection: %s\n" % e)
+
+ +
+
extern crate CollectionsApi;
+
+pub fn main() {
+    let accept = application/json; // String
+    let contentType = application/json; // String
+    let collectionId = collectionId_example; // String
+    let collection = ; // Collection
+
+    let mut context = CollectionsApi::Context::default();
+    let result = client.updateCollection(accept, contentType, collectionId, collection, &context).wait();
+
+    println!("{:?}", result);
+}
+
+
+
+ +

Scopes

+ + +
+ +

Parameters

+ +
Path parameters
+ + + + + + + + + +
NameDescription
collectionId* + + +
+
+
+ + String + + +
+
+ Required +
+
+
+
+ +
Header parameters
+ + + + + + + + + + + + + +
NameDescription
Accept* + + +
+
+
+ + String + + +
+
+ Required +
+
+
+
Content-Type* + + +
+
+
+ + String + + +
+
+ Required +
+
+
+
+ +
Body parameters
+ + + + + + + + + +
NameDescription
collection * +

+ +
+
+ + + +

Responses

+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+
+
+
+
+
+

Decorators

+
+
+
+

updateDecorator

+

Update entities and/or relationships with decorator(s).

+
+
+
+

+

Update entities and/or relationships with decorator(s).

+

+
+
/decorators
+

+

Usage and SDK Samples

+

+ + +
+
+
curl -X PUT \
+ -H "Accept: application/problem+json" \
+ -H "Content-Type: application/json" \
+ "https://localhost/topology-inventory/v1alpha11/decorators" \
+ -d '{
+  "decorators" : {
+    "key" : "decorators"
+  },
+  "relationshipIds" : [ "relationshipIds", "relationshipIds" ],
+  "operation" : "merge",
+  "entityIds" : [ "entityIds", "entityIds" ]
+}'
+
+
+
+
import org.openapitools.client.*;
+import org.openapitools.client.auth.*;
+import org.openapitools.client.model.*;
+import org.openapitools.client.api.DecoratorsApi;
+
+import java.io.File;
+import java.util.*;
+
+public class DecoratorsApiExample {
+    public static void main(String[] args) {
+
+        // Create an instance of the API class
+        DecoratorsApi apiInstance = new DecoratorsApi();
+        String accept = application/json; // String | 
+        String contentType = application/json; // String | 
+        Decorator decorator = ; // Decorator | 
+
+        try {
+            apiInstance.updateDecorator(accept, contentType, decorator);
+        } catch (ApiException e) {
+            System.err.println("Exception when calling DecoratorsApi#updateDecorator");
+            e.printStackTrace();
+        }
+    }
+}
+
+
+ +
+
import 'package:openapi/api.dart';
+
+final api_instance = DefaultApi();
+
+final String accept = new String(); // String | 
+final String contentType = new String(); // String | 
+final Decorator decorator = new Decorator(); // Decorator | 
+
+try {
+    final result = await api_instance.updateDecorator(accept, contentType, decorator);
+    print(result);
+} catch (e) {
+    print('Exception when calling DefaultApi->updateDecorator: $e\n');
+}
+
+
+
+ +
+
import org.openapitools.client.api.DecoratorsApi;
+
+public class DecoratorsApiExample {
+    public static void main(String[] args) {
+        DecoratorsApi apiInstance = new DecoratorsApi();
+        String accept = application/json; // String | 
+        String contentType = application/json; // String | 
+        Decorator decorator = ; // Decorator | 
+
+        try {
+            apiInstance.updateDecorator(accept, contentType, decorator);
+        } catch (ApiException e) {
+            System.err.println("Exception when calling DecoratorsApi#updateDecorator");
+            e.printStackTrace();
+        }
+    }
+}
+
+ +
+

+
+// Create an instance of the API class
+DecoratorsApi *apiInstance = [[DecoratorsApi alloc] init];
+String *accept = application/json; //  (default to application/json)
+String *contentType = application/json; //  (default to application/json)
+Decorator *decorator = ; // 
+
+// Update entities and/or relationships with decorator(s).
+[apiInstance updateDecoratorWith:accept
+    contentType:contentType
+    decorator:decorator
+              completionHandler: ^(NSError* error) {
+    if (error) {
+        NSLog(@"Error: %@", error);
+    }
+}];
+
+
+ +
+
var TopologyAndInventoryApi = require('topology_and_inventory_api');
+
+// Create an instance of the API class
+var api = new TopologyAndInventoryApi.DecoratorsApi()
+var accept = application/json; // {String} 
+var contentType = application/json; // {String} 
+var decorator = ; // {Decorator} 
+
+var callback = function(error, data, response) {
+  if (error) {
+    console.error(error);
+  } else {
+    console.log('API called successfully.');
+  }
+};
+api.updateDecorator(accept, contentType, decorator, callback);
+
+
+ + +
+
using System;
+using System.Diagnostics;
+using Org.OpenAPITools.Api;
+using Org.OpenAPITools.Client;
+using Org.OpenAPITools.Model;
+
+namespace Example
+{
+    public class updateDecoratorExample
+    {
+        public void main()
+        {
+
+            // Create an instance of the API class
+            var apiInstance = new DecoratorsApi();
+            var accept = application/json;  // String |  (default to application/json)
+            var contentType = application/json;  // String |  (default to application/json)
+            var decorator = new Decorator(); // Decorator | 
+
+            try {
+                // Update entities and/or relationships with decorator(s).
+                apiInstance.updateDecorator(accept, contentType, decorator);
+            } catch (Exception e) {
+                Debug.Print("Exception when calling DecoratorsApi.updateDecorator: " + e.Message );
+            }
+        }
+    }
+}
+
+
+ +
+
<?php
+require_once(__DIR__ . '/vendor/autoload.php');
+
+// Create an instance of the API class
+$api_instance = new OpenAPITools\Client\Api\DecoratorsApi();
+$accept = application/json; // String | 
+$contentType = application/json; // String | 
+$decorator = ; // Decorator | 
+
+try {
+    $api_instance->updateDecorator($accept, $contentType, $decorator);
+} catch (Exception $e) {
+    echo 'Exception when calling DecoratorsApi->updateDecorator: ', $e->getMessage(), PHP_EOL;
+}
+?>
+
+ +
+
use Data::Dumper;
+use WWW::OPenAPIClient::Configuration;
+use WWW::OPenAPIClient::DecoratorsApi;
+
+# Create an instance of the API class
+my $api_instance = WWW::OPenAPIClient::DecoratorsApi->new();
+my $accept = application/json; # String | 
+my $contentType = application/json; # String | 
+my $decorator = WWW::OPenAPIClient::Object::Decorator->new(); # Decorator | 
+
+eval {
+    $api_instance->updateDecorator(accept => $accept, contentType => $contentType, decorator => $decorator);
+};
+if ($@) {
+    warn "Exception when calling DecoratorsApi->updateDecorator: $@\n";
+}
+
+ +
+
from __future__ import print_statement
+import time
+import openapi_client
+from openapi_client.rest import ApiException
+from pprint import pprint
+
+# Create an instance of the API class
+api_instance = openapi_client.DecoratorsApi()
+accept = application/json # String |  (default to application/json)
+contentType = application/json # String |  (default to application/json)
+decorator =  # Decorator | 
+
+try:
+    # Update entities and/or relationships with decorator(s).
+    api_instance.update_decorator(accept, contentType, decorator)
+except ApiException as e:
+    print("Exception when calling DecoratorsApi->updateDecorator: %s\n" % e)
+
+ +
+
extern crate DecoratorsApi;
+
+pub fn main() {
+    let accept = application/json; // String
+    let contentType = application/json; // String
+    let decorator = ; // Decorator
+
+    let mut context = DecoratorsApi::Context::default();
+    let result = client.updateDecorator(accept, contentType, decorator, &context).wait();
+
+    println!("{:?}", result);
+}
+
+
+
+ +

Scopes

+ + +
+ +

Parameters

+ + +
Header parameters
+ + + + + + + + + + + + + +
NameDescription
Accept* + + +
+
+
+ + String + + +
+
+ Required +
+
+
+
Content-Type* + + +
+
+
+ + String + + +
+
+ Required +
+
+
+
+ +
Body parameters
+ + + + + + + + + +
NameDescription
decorator * +

+ +
+
+ + + +

Responses

+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+
+
+
+
+
+

EntitiesAndRelationships

+
+
+
+

getAllDomains

+

Get all the available topology domains.

+
+
+
+

+

Get all the available topology domains.

+

+
+
/domains
+

+

Usage and SDK Samples

+

+ + +
+
+
curl -X GET \
+ -H "Accept: application/json,application/problem+json" \
+ "https://localhost/topology-inventory/v1alpha11/domains?offset=56&limit=56"
+
+
+
+
import org.openapitools.client.*;
+import org.openapitools.client.auth.*;
+import org.openapitools.client.model.*;
+import org.openapitools.client.api.EntitiesAndRelationshipsApi;
+
+import java.io.File;
+import java.util.*;
+
+public class EntitiesAndRelationshipsApiExample {
+    public static void main(String[] args) {
+
+        // Create an instance of the API class
+        EntitiesAndRelationshipsApi apiInstance = new EntitiesAndRelationshipsApi();
+        String accept = application/json; // String | 
+        Integer offset = 56; // Integer | Pagination offset.
+        Integer limit = 56; // Integer | Result limiter.
+
+        try {
+            Domains result = apiInstance.getAllDomains(accept, offset, limit);
+            System.out.println(result);
+        } catch (ApiException e) {
+            System.err.println("Exception when calling EntitiesAndRelationshipsApi#getAllDomains");
+            e.printStackTrace();
+        }
+    }
+}
+
+
+ +
+
import 'package:openapi/api.dart';
+
+final api_instance = DefaultApi();
+
+final String accept = new String(); // String | 
+final Integer offset = new Integer(); // Integer | Pagination offset.
+final Integer limit = new Integer(); // Integer | Result limiter.
+
+try {
+    final result = await api_instance.getAllDomains(accept, offset, limit);
+    print(result);
+} catch (e) {
+    print('Exception when calling DefaultApi->getAllDomains: $e\n');
+}
+
+
+
+ +
+
import org.openapitools.client.api.EntitiesAndRelationshipsApi;
+
+public class EntitiesAndRelationshipsApiExample {
+    public static void main(String[] args) {
+        EntitiesAndRelationshipsApi apiInstance = new EntitiesAndRelationshipsApi();
+        String accept = application/json; // String | 
+        Integer offset = 56; // Integer | Pagination offset.
+        Integer limit = 56; // Integer | Result limiter.
+
+        try {
+            Domains result = apiInstance.getAllDomains(accept, offset, limit);
+            System.out.println(result);
+        } catch (ApiException e) {
+            System.err.println("Exception when calling EntitiesAndRelationshipsApi#getAllDomains");
+            e.printStackTrace();
+        }
+    }
+}
+
+ +
+

+
+// Create an instance of the API class
+EntitiesAndRelationshipsApi *apiInstance = [[EntitiesAndRelationshipsApi alloc] init];
+String *accept = application/json; //  (default to application/json)
+Integer *offset = 56; // Pagination offset. (optional) (default to 0)
+Integer *limit = 56; // Result limiter. (optional) (default to 500)
+
+// Get all the available topology domains.
+[apiInstance getAllDomainsWith:accept
+    offset:offset
+    limit:limit
+              completionHandler: ^(Domains output, NSError* error) {
+    if (output) {
+        NSLog(@"%@", output);
+    }
+    if (error) {
+        NSLog(@"Error: %@", error);
+    }
+}];
+
+
+ +
+
var TopologyAndInventoryApi = require('topology_and_inventory_api');
+
+// Create an instance of the API class
+var api = new TopologyAndInventoryApi.EntitiesAndRelationshipsApi()
+var accept = application/json; // {String} 
+var opts = {
+  'offset': 56, // {Integer} Pagination offset.
+  'limit': 56 // {Integer} Result limiter.
+};
+
+var callback = function(error, data, response) {
+  if (error) {
+    console.error(error);
+  } else {
+    console.log('API called successfully. Returned data: ' + data);
+  }
+};
+api.getAllDomains(accept, opts, callback);
+
+
+ + +
+
using System;
+using System.Diagnostics;
+using Org.OpenAPITools.Api;
+using Org.OpenAPITools.Client;
+using Org.OpenAPITools.Model;
+
+namespace Example
+{
+    public class getAllDomainsExample
+    {
+        public void main()
+        {
+
+            // Create an instance of the API class
+            var apiInstance = new EntitiesAndRelationshipsApi();
+            var accept = application/json;  // String |  (default to application/json)
+            var offset = 56;  // Integer | Pagination offset. (optional)  (default to 0)
+            var limit = 56;  // Integer | Result limiter. (optional)  (default to 500)
+
+            try {
+                // Get all the available topology domains.
+                Domains result = apiInstance.getAllDomains(accept, offset, limit);
+                Debug.WriteLine(result);
+            } catch (Exception e) {
+                Debug.Print("Exception when calling EntitiesAndRelationshipsApi.getAllDomains: " + e.Message );
+            }
+        }
+    }
+}
+
+
+ +
+
<?php
+require_once(__DIR__ . '/vendor/autoload.php');
+
+// Create an instance of the API class
+$api_instance = new OpenAPITools\Client\Api\EntitiesAndRelationshipsApi();
+$accept = application/json; // String | 
+$offset = 56; // Integer | Pagination offset.
+$limit = 56; // Integer | Result limiter.
+
+try {
+    $result = $api_instance->getAllDomains($accept, $offset, $limit);
+    print_r($result);
+} catch (Exception $e) {
+    echo 'Exception when calling EntitiesAndRelationshipsApi->getAllDomains: ', $e->getMessage(), PHP_EOL;
+}
+?>
+
+ +
+
use Data::Dumper;
+use WWW::OPenAPIClient::Configuration;
+use WWW::OPenAPIClient::EntitiesAndRelationshipsApi;
+
+# Create an instance of the API class
+my $api_instance = WWW::OPenAPIClient::EntitiesAndRelationshipsApi->new();
+my $accept = application/json; # String | 
+my $offset = 56; # Integer | Pagination offset.
+my $limit = 56; # Integer | Result limiter.
+
+eval {
+    my $result = $api_instance->getAllDomains(accept => $accept, offset => $offset, limit => $limit);
+    print Dumper($result);
+};
+if ($@) {
+    warn "Exception when calling EntitiesAndRelationshipsApi->getAllDomains: $@\n";
+}
+
+ +
+
from __future__ import print_statement
+import time
+import openapi_client
+from openapi_client.rest import ApiException
+from pprint import pprint
+
+# Create an instance of the API class
+api_instance = openapi_client.EntitiesAndRelationshipsApi()
+accept = application/json # String |  (default to application/json)
+offset = 56 # Integer | Pagination offset. (optional) (default to 0)
+limit = 56 # Integer | Result limiter. (optional) (default to 500)
+
+try:
+    # Get all the available topology domains.
+    api_response = api_instance.get_all_domains(accept, offset=offset, limit=limit)
+    pprint(api_response)
+except ApiException as e:
+    print("Exception when calling EntitiesAndRelationshipsApi->getAllDomains: %s\n" % e)
+
+ +
+
extern crate EntitiesAndRelationshipsApi;
+
+pub fn main() {
+    let accept = application/json; // String
+    let offset = 56; // Integer
+    let limit = 56; // Integer
+
+    let mut context = EntitiesAndRelationshipsApi::Context::default();
+    let result = client.getAllDomains(accept, offset, limit, &context).wait();
+
+    println!("{:?}", result);
+}
+
+
+
+ +

Scopes

+ + +
+ +

Parameters

+ + +
Header parameters
+ + + + + + + + + +
NameDescription
Accept* + + +
+
+
+ + String + + +
+
+ Required +
+
+
+
+ + + +
Query parameters
+ + + + + + + + + + + + + +
NameDescription
offset + + +
+
+
+ + Integer + + +
+Pagination offset. +
+
+
+
+
limit + + +
+
+
+ + Integer + + +
+Result limiter. +
+
+
+
+
+ +

Responses

+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+
+
+
+
+
+
+

getAllRelationshipsForEntityId

+

Get all relationships for entity type name with specified id. Specified id represents the entity instance.

+
+
+
+

+

Get all relationships for entity type name with specified id. Specified id represents the entity instance.

+

+
+
/domains/{domainName}/entity-types/{entityTypeName}/entities/{entityId}/relationships
+

+

Usage and SDK Samples

+

+ + +
+
+
curl -X GET \
+ -H "Accept: application/json,application/problem+json" \
+ "https://localhost/topology-inventory/v1alpha11/domains/{domainName}/entity-types/{entityTypeName}/entities/{entityId}/relationships?offset=56&limit=56"
+
+
+
+
import org.openapitools.client.*;
+import org.openapitools.client.auth.*;
+import org.openapitools.client.model.*;
+import org.openapitools.client.api.EntitiesAndRelationshipsApi;
+
+import java.io.File;
+import java.util.*;
+
+public class EntitiesAndRelationshipsApiExample {
+    public static void main(String[] args) {
+
+        // Create an instance of the API class
+        EntitiesAndRelationshipsApi apiInstance = new EntitiesAndRelationshipsApi();
+        String accept = application/json; // String | 
+        String domainName = domainName_example; // String | domain name
+        String entityTypeName = entityTypeName_example; // String | 
+        String entityId = entityId_example; // String | 
+        Integer offset = 56; // Integer | Pagination offset.
+        Integer limit = 56; // Integer | Result limiter.
+
+        try {
+            RelationshipsResponseMessage result = apiInstance.getAllRelationshipsForEntityId(accept, domainName, entityTypeName, entityId, offset, limit);
+            System.out.println(result);
+        } catch (ApiException e) {
+            System.err.println("Exception when calling EntitiesAndRelationshipsApi#getAllRelationshipsForEntityId");
+            e.printStackTrace();
+        }
+    }
+}
+
+
+ +
+
import 'package:openapi/api.dart';
+
+final api_instance = DefaultApi();
+
+final String accept = new String(); // String | 
+final String domainName = new String(); // String | domain name
+final String entityTypeName = new String(); // String | 
+final String entityId = new String(); // String | 
+final Integer offset = new Integer(); // Integer | Pagination offset.
+final Integer limit = new Integer(); // Integer | Result limiter.
+
+try {
+    final result = await api_instance.getAllRelationshipsForEntityId(accept, domainName, entityTypeName, entityId, offset, limit);
+    print(result);
+} catch (e) {
+    print('Exception when calling DefaultApi->getAllRelationshipsForEntityId: $e\n');
+}
+
+
+
+ +
+
import org.openapitools.client.api.EntitiesAndRelationshipsApi;
+
+public class EntitiesAndRelationshipsApiExample {
+    public static void main(String[] args) {
+        EntitiesAndRelationshipsApi apiInstance = new EntitiesAndRelationshipsApi();
+        String accept = application/json; // String | 
+        String domainName = domainName_example; // String | domain name
+        String entityTypeName = entityTypeName_example; // String | 
+        String entityId = entityId_example; // String | 
+        Integer offset = 56; // Integer | Pagination offset.
+        Integer limit = 56; // Integer | Result limiter.
+
+        try {
+            RelationshipsResponseMessage result = apiInstance.getAllRelationshipsForEntityId(accept, domainName, entityTypeName, entityId, offset, limit);
+            System.out.println(result);
+        } catch (ApiException e) {
+            System.err.println("Exception when calling EntitiesAndRelationshipsApi#getAllRelationshipsForEntityId");
+            e.printStackTrace();
+        }
+    }
+}
+
+ +
+

+
+// Create an instance of the API class
+EntitiesAndRelationshipsApi *apiInstance = [[EntitiesAndRelationshipsApi alloc] init];
+String *accept = application/json; //  (default to application/json)
+String *domainName = domainName_example; // domain name (default to null)
+String *entityTypeName = entityTypeName_example; //  (default to null)
+String *entityId = entityId_example; //  (default to null)
+Integer *offset = 56; // Pagination offset. (optional) (default to 0)
+Integer *limit = 56; // Result limiter. (optional) (default to 500)
+
+// Get all relationships for entity type name with specified id. Specified id represents the entity instance.
+[apiInstance getAllRelationshipsForEntityIdWith:accept
+    domainName:domainName
+    entityTypeName:entityTypeName
+    entityId:entityId
+    offset:offset
+    limit:limit
+              completionHandler: ^(RelationshipsResponseMessage output, NSError* error) {
+    if (output) {
+        NSLog(@"%@", output);
+    }
+    if (error) {
+        NSLog(@"Error: %@", error);
+    }
+}];
+
+
+ +
+
var TopologyAndInventoryApi = require('topology_and_inventory_api');
+
+// Create an instance of the API class
+var api = new TopologyAndInventoryApi.EntitiesAndRelationshipsApi()
+var accept = application/json; // {String} 
+var domainName = domainName_example; // {String} domain name
+var entityTypeName = entityTypeName_example; // {String} 
+var entityId = entityId_example; // {String} 
+var opts = {
+  'offset': 56, // {Integer} Pagination offset.
+  'limit': 56 // {Integer} Result limiter.
+};
+
+var callback = function(error, data, response) {
+  if (error) {
+    console.error(error);
+  } else {
+    console.log('API called successfully. Returned data: ' + data);
+  }
+};
+api.getAllRelationshipsForEntityId(accept, domainName, entityTypeName, entityId, opts, callback);
+
+
+ + +
+
using System;
+using System.Diagnostics;
+using Org.OpenAPITools.Api;
+using Org.OpenAPITools.Client;
+using Org.OpenAPITools.Model;
+
+namespace Example
+{
+    public class getAllRelationshipsForEntityIdExample
+    {
+        public void main()
+        {
+
+            // Create an instance of the API class
+            var apiInstance = new EntitiesAndRelationshipsApi();
+            var accept = application/json;  // String |  (default to application/json)
+            var domainName = domainName_example;  // String | domain name (default to null)
+            var entityTypeName = entityTypeName_example;  // String |  (default to null)
+            var entityId = entityId_example;  // String |  (default to null)
+            var offset = 56;  // Integer | Pagination offset. (optional)  (default to 0)
+            var limit = 56;  // Integer | Result limiter. (optional)  (default to 500)
+
+            try {
+                // Get all relationships for entity type name with specified id. Specified id represents the entity instance.
+                RelationshipsResponseMessage result = apiInstance.getAllRelationshipsForEntityId(accept, domainName, entityTypeName, entityId, offset, limit);
+                Debug.WriteLine(result);
+            } catch (Exception e) {
+                Debug.Print("Exception when calling EntitiesAndRelationshipsApi.getAllRelationshipsForEntityId: " + e.Message );
+            }
+        }
+    }
+}
+
+
+ +
+
<?php
+require_once(__DIR__ . '/vendor/autoload.php');
+
+// Create an instance of the API class
+$api_instance = new OpenAPITools\Client\Api\EntitiesAndRelationshipsApi();
+$accept = application/json; // String | 
+$domainName = domainName_example; // String | domain name
+$entityTypeName = entityTypeName_example; // String | 
+$entityId = entityId_example; // String | 
+$offset = 56; // Integer | Pagination offset.
+$limit = 56; // Integer | Result limiter.
+
+try {
+    $result = $api_instance->getAllRelationshipsForEntityId($accept, $domainName, $entityTypeName, $entityId, $offset, $limit);
+    print_r($result);
+} catch (Exception $e) {
+    echo 'Exception when calling EntitiesAndRelationshipsApi->getAllRelationshipsForEntityId: ', $e->getMessage(), PHP_EOL;
+}
+?>
+
+ +
+
use Data::Dumper;
+use WWW::OPenAPIClient::Configuration;
+use WWW::OPenAPIClient::EntitiesAndRelationshipsApi;
+
+# Create an instance of the API class
+my $api_instance = WWW::OPenAPIClient::EntitiesAndRelationshipsApi->new();
+my $accept = application/json; # String | 
+my $domainName = domainName_example; # String | domain name
+my $entityTypeName = entityTypeName_example; # String | 
+my $entityId = entityId_example; # String | 
+my $offset = 56; # Integer | Pagination offset.
+my $limit = 56; # Integer | Result limiter.
+
+eval {
+    my $result = $api_instance->getAllRelationshipsForEntityId(accept => $accept, domainName => $domainName, entityTypeName => $entityTypeName, entityId => $entityId, offset => $offset, limit => $limit);
+    print Dumper($result);
+};
+if ($@) {
+    warn "Exception when calling EntitiesAndRelationshipsApi->getAllRelationshipsForEntityId: $@\n";
+}
+
+ +
+
from __future__ import print_statement
+import time
+import openapi_client
+from openapi_client.rest import ApiException
+from pprint import pprint
+
+# Create an instance of the API class
+api_instance = openapi_client.EntitiesAndRelationshipsApi()
+accept = application/json # String |  (default to application/json)
+domainName = domainName_example # String | domain name (default to null)
+entityTypeName = entityTypeName_example # String |  (default to null)
+entityId = entityId_example # String |  (default to null)
+offset = 56 # Integer | Pagination offset. (optional) (default to 0)
+limit = 56 # Integer | Result limiter. (optional) (default to 500)
+
+try:
+    # Get all relationships for entity type name with specified id. Specified id represents the entity instance.
+    api_response = api_instance.get_all_relationships_for_entity_id(accept, domainName, entityTypeName, entityId, offset=offset, limit=limit)
+    pprint(api_response)
+except ApiException as e:
+    print("Exception when calling EntitiesAndRelationshipsApi->getAllRelationshipsForEntityId: %s\n" % e)
+
+ +
+
extern crate EntitiesAndRelationshipsApi;
+
+pub fn main() {
+    let accept = application/json; // String
+    let domainName = domainName_example; // String
+    let entityTypeName = entityTypeName_example; // String
+    let entityId = entityId_example; // String
+    let offset = 56; // Integer
+    let limit = 56; // Integer
+
+    let mut context = EntitiesAndRelationshipsApi::Context::default();
+    let result = client.getAllRelationshipsForEntityId(accept, domainName, entityTypeName, entityId, offset, limit, &context).wait();
+
+    println!("{:?}", result);
+}
+
+
+
+ +

Scopes

+ + +
+ +

Parameters

+ +
Path parameters
+ + + + + + + + + + + + + + + + + +
NameDescription
domainName* + + +
+
+
+ + String + + +
+domain name +
+
+
+ Required +
+
+
+
entityTypeName* + + +
+
+
+ + String + + +
+
+ Required +
+
+
+
entityId* + + +
+
+
+ + String + + +
+
+ Required +
+
+
+
+ +
Header parameters
+ + + + + + + + + +
NameDescription
Accept* + + +
+
+
+ + String + + +
+
+ Required +
+
+
+
+ + + +
Query parameters
+ + + + + + + + + + + + + +
NameDescription
offset + + +
+
+
+ + Integer + + +
+Pagination offset. +
+
+
+
+
limit + + +
+
+
+ + Integer + + +
+Result limiter. +
+
+
+
+
+ +

Responses

+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+
+
+
+
+
+
+

getEntitiesByDomain

+

Get entities by domain

+
+
+
+

+

Get topology entities by domain, using specified targetFilter as mandatory query parameter.

+

+
+
/domains/{domainName}/entities
+

+

Usage and SDK Samples

+

+ + +
+
+
curl -X GET \
+ -H "Accept: application/json,application/problem+json" \
+ "https://localhost/topology-inventory/v1alpha11/domains/{domainName}/entities?targetFilter=/attributes(nCI,nRPCI)&scopeFilter=/attributes[@nRTAC=310"]&offset=56&limit=56"
+
+
+
+
import org.openapitools.client.*;
+import org.openapitools.client.auth.*;
+import org.openapitools.client.model.*;
+import org.openapitools.client.api.EntitiesAndRelationshipsApi;
+
+import java.io.File;
+import java.util.*;
+
+public class EntitiesAndRelationshipsApiExample {
+    public static void main(String[] args) {
+
+        // Create an instance of the API class
+        EntitiesAndRelationshipsApi apiInstance = new EntitiesAndRelationshipsApi();
+        String accept = application/json; // String | 
+        String domainName = domainName_example; // String | domain name
+        String targetFilter = /attributes(nCI,nRPCI); // String | Use *targetFilter* to specify the entity type and attributes to be returned in the REST response. The value for *targetFilter* can also be a list of entity types and attributes.
+        String scopeFilter = /attributes[@nRTAC=310"]; // String | Use *scopeFilter* to specify the attributes to match on. The value for *scopeFilter* can also be a list of entity types and attributes. scopeFilter returns a boolean.
+        Integer offset = 56; // Integer | Pagination offset.
+        Integer limit = 56; // Integer | Result limiter.
+
+        try {
+            EntitiesResponseMessage result = apiInstance.getEntitiesByDomain(accept, domainName, targetFilter, scopeFilter, offset, limit);
+            System.out.println(result);
+        } catch (ApiException e) {
+            System.err.println("Exception when calling EntitiesAndRelationshipsApi#getEntitiesByDomain");
+            e.printStackTrace();
+        }
+    }
+}
+
+
+ +
+
import 'package:openapi/api.dart';
+
+final api_instance = DefaultApi();
+
+final String accept = new String(); // String | 
+final String domainName = new String(); // String | domain name
+final String targetFilter = new String(); // String | Use *targetFilter* to specify the entity type and attributes to be returned in the REST response. The value for *targetFilter* can also be a list of entity types and attributes.
+final String scopeFilter = new String(); // String | Use *scopeFilter* to specify the attributes to match on. The value for *scopeFilter* can also be a list of entity types and attributes. scopeFilter returns a boolean.
+final Integer offset = new Integer(); // Integer | Pagination offset.
+final Integer limit = new Integer(); // Integer | Result limiter.
+
+try {
+    final result = await api_instance.getEntitiesByDomain(accept, domainName, targetFilter, scopeFilter, offset, limit);
+    print(result);
+} catch (e) {
+    print('Exception when calling DefaultApi->getEntitiesByDomain: $e\n');
+}
+
+
+
+ +
+
import org.openapitools.client.api.EntitiesAndRelationshipsApi;
+
+public class EntitiesAndRelationshipsApiExample {
+    public static void main(String[] args) {
+        EntitiesAndRelationshipsApi apiInstance = new EntitiesAndRelationshipsApi();
+        String accept = application/json; // String | 
+        String domainName = domainName_example; // String | domain name
+        String targetFilter = /attributes(nCI,nRPCI); // String | Use *targetFilter* to specify the entity type and attributes to be returned in the REST response. The value for *targetFilter* can also be a list of entity types and attributes.
+        String scopeFilter = /attributes[@nRTAC=310"]; // String | Use *scopeFilter* to specify the attributes to match on. The value for *scopeFilter* can also be a list of entity types and attributes. scopeFilter returns a boolean.
+        Integer offset = 56; // Integer | Pagination offset.
+        Integer limit = 56; // Integer | Result limiter.
+
+        try {
+            EntitiesResponseMessage result = apiInstance.getEntitiesByDomain(accept, domainName, targetFilter, scopeFilter, offset, limit);
+            System.out.println(result);
+        } catch (ApiException e) {
+            System.err.println("Exception when calling EntitiesAndRelationshipsApi#getEntitiesByDomain");
+            e.printStackTrace();
+        }
+    }
+}
+
+ +
+

+
+// Create an instance of the API class
+EntitiesAndRelationshipsApi *apiInstance = [[EntitiesAndRelationshipsApi alloc] init];
+String *accept = application/json; //  (default to application/json)
+String *domainName = domainName_example; // domain name (default to null)
+String *targetFilter = /attributes(nCI,nRPCI); // Use *targetFilter* to specify the entity type and attributes to be returned in the REST response. The value for *targetFilter* can also be a list of entity types and attributes. (optional) (default to null)
+String *scopeFilter = /attributes[@nRTAC=310"]; // Use *scopeFilter* to specify the attributes to match on. The value for *scopeFilter* can also be a list of entity types and attributes. scopeFilter returns a boolean. (optional) (default to null)
+Integer *offset = 56; // Pagination offset. (optional) (default to 0)
+Integer *limit = 56; // Result limiter. (optional) (default to 500)
+
+// Get entities by domain
+[apiInstance getEntitiesByDomainWith:accept
+    domainName:domainName
+    targetFilter:targetFilter
+    scopeFilter:scopeFilter
+    offset:offset
+    limit:limit
+              completionHandler: ^(EntitiesResponseMessage output, NSError* error) {
+    if (output) {
+        NSLog(@"%@", output);
+    }
+    if (error) {
+        NSLog(@"Error: %@", error);
+    }
+}];
+
+
+ +
+
var TopologyAndInventoryApi = require('topology_and_inventory_api');
+
+// Create an instance of the API class
+var api = new TopologyAndInventoryApi.EntitiesAndRelationshipsApi()
+var accept = application/json; // {String} 
+var domainName = domainName_example; // {String} domain name
+var opts = {
+  'targetFilter': /attributes(nCI,nRPCI), // {String} Use *targetFilter* to specify the entity type and attributes to be returned in the REST response. The value for *targetFilter* can also be a list of entity types and attributes.
+  'scopeFilter': /attributes[@nRTAC=310"], // {String} Use *scopeFilter* to specify the attributes to match on. The value for *scopeFilter* can also be a list of entity types and attributes. scopeFilter returns a boolean.
+  'offset': 56, // {Integer} Pagination offset.
+  'limit': 56 // {Integer} Result limiter.
+};
+
+var callback = function(error, data, response) {
+  if (error) {
+    console.error(error);
+  } else {
+    console.log('API called successfully. Returned data: ' + data);
+  }
+};
+api.getEntitiesByDomain(accept, domainName, opts, callback);
+
+
+ + +
+
using System;
+using System.Diagnostics;
+using Org.OpenAPITools.Api;
+using Org.OpenAPITools.Client;
+using Org.OpenAPITools.Model;
+
+namespace Example
+{
+    public class getEntitiesByDomainExample
+    {
+        public void main()
+        {
+
+            // Create an instance of the API class
+            var apiInstance = new EntitiesAndRelationshipsApi();
+            var accept = application/json;  // String |  (default to application/json)
+            var domainName = domainName_example;  // String | domain name (default to null)
+            var targetFilter = /attributes(nCI,nRPCI);  // String | Use *targetFilter* to specify the entity type and attributes to be returned in the REST response. The value for *targetFilter* can also be a list of entity types and attributes. (optional)  (default to null)
+            var scopeFilter = /attributes[@nRTAC=310"];  // String | Use *scopeFilter* to specify the attributes to match on. The value for *scopeFilter* can also be a list of entity types and attributes. scopeFilter returns a boolean. (optional)  (default to null)
+            var offset = 56;  // Integer | Pagination offset. (optional)  (default to 0)
+            var limit = 56;  // Integer | Result limiter. (optional)  (default to 500)
+
+            try {
+                // Get entities by domain
+                EntitiesResponseMessage result = apiInstance.getEntitiesByDomain(accept, domainName, targetFilter, scopeFilter, offset, limit);
+                Debug.WriteLine(result);
+            } catch (Exception e) {
+                Debug.Print("Exception when calling EntitiesAndRelationshipsApi.getEntitiesByDomain: " + e.Message );
+            }
+        }
+    }
+}
+
+
+ +
+
<?php
+require_once(__DIR__ . '/vendor/autoload.php');
+
+// Create an instance of the API class
+$api_instance = new OpenAPITools\Client\Api\EntitiesAndRelationshipsApi();
+$accept = application/json; // String | 
+$domainName = domainName_example; // String | domain name
+$targetFilter = /attributes(nCI,nRPCI); // String | Use *targetFilter* to specify the entity type and attributes to be returned in the REST response. The value for *targetFilter* can also be a list of entity types and attributes.
+$scopeFilter = /attributes[@nRTAC=310"]; // String | Use *scopeFilter* to specify the attributes to match on. The value for *scopeFilter* can also be a list of entity types and attributes. scopeFilter returns a boolean.
+$offset = 56; // Integer | Pagination offset.
+$limit = 56; // Integer | Result limiter.
+
+try {
+    $result = $api_instance->getEntitiesByDomain($accept, $domainName, $targetFilter, $scopeFilter, $offset, $limit);
+    print_r($result);
+} catch (Exception $e) {
+    echo 'Exception when calling EntitiesAndRelationshipsApi->getEntitiesByDomain: ', $e->getMessage(), PHP_EOL;
+}
+?>
+
+ +
+
use Data::Dumper;
+use WWW::OPenAPIClient::Configuration;
+use WWW::OPenAPIClient::EntitiesAndRelationshipsApi;
+
+# Create an instance of the API class
+my $api_instance = WWW::OPenAPIClient::EntitiesAndRelationshipsApi->new();
+my $accept = application/json; # String | 
+my $domainName = domainName_example; # String | domain name
+my $targetFilter = /attributes(nCI,nRPCI); # String | Use *targetFilter* to specify the entity type and attributes to be returned in the REST response. The value for *targetFilter* can also be a list of entity types and attributes.
+my $scopeFilter = /attributes[@nRTAC=310"]; # String | Use *scopeFilter* to specify the attributes to match on. The value for *scopeFilter* can also be a list of entity types and attributes. scopeFilter returns a boolean.
+my $offset = 56; # Integer | Pagination offset.
+my $limit = 56; # Integer | Result limiter.
+
+eval {
+    my $result = $api_instance->getEntitiesByDomain(accept => $accept, domainName => $domainName, targetFilter => $targetFilter, scopeFilter => $scopeFilter, offset => $offset, limit => $limit);
+    print Dumper($result);
+};
+if ($@) {
+    warn "Exception when calling EntitiesAndRelationshipsApi->getEntitiesByDomain: $@\n";
+}
+
+ +
+
from __future__ import print_statement
+import time
+import openapi_client
+from openapi_client.rest import ApiException
+from pprint import pprint
+
+# Create an instance of the API class
+api_instance = openapi_client.EntitiesAndRelationshipsApi()
+accept = application/json # String |  (default to application/json)
+domainName = domainName_example # String | domain name (default to null)
+targetFilter = /attributes(nCI,nRPCI) # String | Use *targetFilter* to specify the entity type and attributes to be returned in the REST response. The value for *targetFilter* can also be a list of entity types and attributes. (optional) (default to null)
+scopeFilter = /attributes[@nRTAC=310"] # String | Use *scopeFilter* to specify the attributes to match on. The value for *scopeFilter* can also be a list of entity types and attributes. scopeFilter returns a boolean. (optional) (default to null)
+offset = 56 # Integer | Pagination offset. (optional) (default to 0)
+limit = 56 # Integer | Result limiter. (optional) (default to 500)
+
+try:
+    # Get entities by domain
+    api_response = api_instance.get_entities_by_domain(accept, domainName, targetFilter=targetFilter, scopeFilter=scopeFilter, offset=offset, limit=limit)
+    pprint(api_response)
+except ApiException as e:
+    print("Exception when calling EntitiesAndRelationshipsApi->getEntitiesByDomain: %s\n" % e)
+
+ +
+
extern crate EntitiesAndRelationshipsApi;
+
+pub fn main() {
+    let accept = application/json; // String
+    let domainName = domainName_example; // String
+    let targetFilter = /attributes(nCI,nRPCI); // String
+    let scopeFilter = /attributes[@nRTAC=310"]; // String
+    let offset = 56; // Integer
+    let limit = 56; // Integer
+
+    let mut context = EntitiesAndRelationshipsApi::Context::default();
+    let result = client.getEntitiesByDomain(accept, domainName, targetFilter, scopeFilter, offset, limit, &context).wait();
+
+    println!("{:?}", result);
+}
+
+
+
+ +

Scopes

+ + +
+ +

Parameters

+ +
Path parameters
+ + + + + + + + + +
NameDescription
domainName* + + +
+
+
+ + String + + +
+domain name +
+
+
+ Required +
+
+
+
+ +
Header parameters
+ + + + + + + + + +
NameDescription
Accept* + + +
+
+
+ + String + + +
+
+ Required +
+
+
+
+ + + +
Query parameters
+ + + + + + + + + + + + + + + + + + + + + +
NameDescription
targetFilter + + +
+
+
+ + String + + +
+Use *targetFilter* to specify the entity type and attributes to be returned in the REST response. The value for *targetFilter* can also be a list of entity types and attributes. +
+
+
+
+
scopeFilter + + +
+
+
+ + String + + +
+Use *scopeFilter* to specify the attributes to match on. The value for *scopeFilter* can also be a list of entity types and attributes. scopeFilter returns a boolean. +
+
+
+
+
offset + + +
+
+
+ + Integer + + +
+Pagination offset. +
+
+
+
+
limit + + +
+
+
+ + Integer + + +
+Result limiter. +
+
+
+
+
+ +

Responses

+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+
+
+
+
+
+
+

getRelationshipById

+

Get relationship with specified id. Specified id represents the relationship instance.

+
+
+
+

+

Get relationship with specified id. Specified id represents the relationship instance.

+

+
+
/domains/{domainName}/relationship-types/{relationshipTypeName}/relationships/{relationshipId}
+

+

Usage and SDK Samples

+

+ + +
+
+
curl -X GET \
+ -H "Accept: application/yang.data+json,application/problem+json" \
+ "https://localhost/topology-inventory/v1alpha11/domains/{domainName}/relationship-types/{relationshipTypeName}/relationships/{relationshipId}"
+
+
+
+
import org.openapitools.client.*;
+import org.openapitools.client.auth.*;
+import org.openapitools.client.model.*;
+import org.openapitools.client.api.EntitiesAndRelationshipsApi;
+
+import java.io.File;
+import java.util.*;
+
+public class EntitiesAndRelationshipsApiExample {
+    public static void main(String[] args) {
+
+        // Create an instance of the API class
+        EntitiesAndRelationshipsApi apiInstance = new EntitiesAndRelationshipsApi();
+        String accept = application/json; // String | 
+        String domainName = domainName_example; // String | domain name
+        String relationshipTypeName = NRCELLDU_USES_NRSECTORCARRIER; // String | 
+        String relationshipId = relationshipId_example; // String | 
+
+        try {
+            Object result = apiInstance.getRelationshipById(accept, domainName, relationshipTypeName, relationshipId);
+            System.out.println(result);
+        } catch (ApiException e) {
+            System.err.println("Exception when calling EntitiesAndRelationshipsApi#getRelationshipById");
+            e.printStackTrace();
+        }
+    }
+}
+
+
+ +
+
import 'package:openapi/api.dart';
+
+final api_instance = DefaultApi();
+
+final String accept = new String(); // String | 
+final String domainName = new String(); // String | domain name
+final String relationshipTypeName = new String(); // String | 
+final String relationshipId = new String(); // String | 
+
+try {
+    final result = await api_instance.getRelationshipById(accept, domainName, relationshipTypeName, relationshipId);
+    print(result);
+} catch (e) {
+    print('Exception when calling DefaultApi->getRelationshipById: $e\n');
+}
+
+
+
+ +
+
import org.openapitools.client.api.EntitiesAndRelationshipsApi;
+
+public class EntitiesAndRelationshipsApiExample {
+    public static void main(String[] args) {
+        EntitiesAndRelationshipsApi apiInstance = new EntitiesAndRelationshipsApi();
+        String accept = application/json; // String | 
+        String domainName = domainName_example; // String | domain name
+        String relationshipTypeName = NRCELLDU_USES_NRSECTORCARRIER; // String | 
+        String relationshipId = relationshipId_example; // String | 
+
+        try {
+            Object result = apiInstance.getRelationshipById(accept, domainName, relationshipTypeName, relationshipId);
+            System.out.println(result);
+        } catch (ApiException e) {
+            System.err.println("Exception when calling EntitiesAndRelationshipsApi#getRelationshipById");
+            e.printStackTrace();
+        }
+    }
+}
+
+ +
+

+
+// Create an instance of the API class
+EntitiesAndRelationshipsApi *apiInstance = [[EntitiesAndRelationshipsApi alloc] init];
+String *accept = application/json; //  (default to application/json)
+String *domainName = domainName_example; // domain name (default to null)
+String *relationshipTypeName = NRCELLDU_USES_NRSECTORCARRIER; //  (default to null)
+String *relationshipId = relationshipId_example; //  (default to null)
+
+// Get relationship with specified id. Specified id represents the relationship instance.
+[apiInstance getRelationshipByIdWith:accept
+    domainName:domainName
+    relationshipTypeName:relationshipTypeName
+    relationshipId:relationshipId
+              completionHandler: ^(Object output, NSError* error) {
+    if (output) {
+        NSLog(@"%@", output);
+    }
+    if (error) {
+        NSLog(@"Error: %@", error);
+    }
+}];
+
+
+ +
+
var TopologyAndInventoryApi = require('topology_and_inventory_api');
+
+// Create an instance of the API class
+var api = new TopologyAndInventoryApi.EntitiesAndRelationshipsApi()
+var accept = application/json; // {String} 
+var domainName = domainName_example; // {String} domain name
+var relationshipTypeName = NRCELLDU_USES_NRSECTORCARRIER; // {String} 
+var relationshipId = relationshipId_example; // {String} 
+
+var callback = function(error, data, response) {
+  if (error) {
+    console.error(error);
+  } else {
+    console.log('API called successfully. Returned data: ' + data);
+  }
+};
+api.getRelationshipById(accept, domainName, relationshipTypeName, relationshipId, callback);
+
+
+ + +
+
using System;
+using System.Diagnostics;
+using Org.OpenAPITools.Api;
+using Org.OpenAPITools.Client;
+using Org.OpenAPITools.Model;
+
+namespace Example
+{
+    public class getRelationshipByIdExample
+    {
+        public void main()
+        {
+
+            // Create an instance of the API class
+            var apiInstance = new EntitiesAndRelationshipsApi();
+            var accept = application/json;  // String |  (default to application/json)
+            var domainName = domainName_example;  // String | domain name (default to null)
+            var relationshipTypeName = NRCELLDU_USES_NRSECTORCARRIER;  // String |  (default to null)
+            var relationshipId = relationshipId_example;  // String |  (default to null)
+
+            try {
+                // Get relationship with specified id. Specified id represents the relationship instance.
+                Object result = apiInstance.getRelationshipById(accept, domainName, relationshipTypeName, relationshipId);
+                Debug.WriteLine(result);
+            } catch (Exception e) {
+                Debug.Print("Exception when calling EntitiesAndRelationshipsApi.getRelationshipById: " + e.Message );
+            }
+        }
+    }
+}
+
+
+ +
+
<?php
+require_once(__DIR__ . '/vendor/autoload.php');
+
+// Create an instance of the API class
+$api_instance = new OpenAPITools\Client\Api\EntitiesAndRelationshipsApi();
+$accept = application/json; // String | 
+$domainName = domainName_example; // String | domain name
+$relationshipTypeName = NRCELLDU_USES_NRSECTORCARRIER; // String | 
+$relationshipId = relationshipId_example; // String | 
+
+try {
+    $result = $api_instance->getRelationshipById($accept, $domainName, $relationshipTypeName, $relationshipId);
+    print_r($result);
+} catch (Exception $e) {
+    echo 'Exception when calling EntitiesAndRelationshipsApi->getRelationshipById: ', $e->getMessage(), PHP_EOL;
+}
+?>
+
+ +
+
use Data::Dumper;
+use WWW::OPenAPIClient::Configuration;
+use WWW::OPenAPIClient::EntitiesAndRelationshipsApi;
+
+# Create an instance of the API class
+my $api_instance = WWW::OPenAPIClient::EntitiesAndRelationshipsApi->new();
+my $accept = application/json; # String | 
+my $domainName = domainName_example; # String | domain name
+my $relationshipTypeName = NRCELLDU_USES_NRSECTORCARRIER; # String | 
+my $relationshipId = relationshipId_example; # String | 
+
+eval {
+    my $result = $api_instance->getRelationshipById(accept => $accept, domainName => $domainName, relationshipTypeName => $relationshipTypeName, relationshipId => $relationshipId);
+    print Dumper($result);
+};
+if ($@) {
+    warn "Exception when calling EntitiesAndRelationshipsApi->getRelationshipById: $@\n";
+}
+
+ +
+
from __future__ import print_statement
+import time
+import openapi_client
+from openapi_client.rest import ApiException
+from pprint import pprint
+
+# Create an instance of the API class
+api_instance = openapi_client.EntitiesAndRelationshipsApi()
+accept = application/json # String |  (default to application/json)
+domainName = domainName_example # String | domain name (default to null)
+relationshipTypeName = NRCELLDU_USES_NRSECTORCARRIER # String |  (default to null)
+relationshipId = relationshipId_example # String |  (default to null)
+
+try:
+    # Get relationship with specified id. Specified id represents the relationship instance.
+    api_response = api_instance.get_relationship_by_id(accept, domainName, relationshipTypeName, relationshipId)
+    pprint(api_response)
+except ApiException as e:
+    print("Exception when calling EntitiesAndRelationshipsApi->getRelationshipById: %s\n" % e)
+
+ +
+
extern crate EntitiesAndRelationshipsApi;
+
+pub fn main() {
+    let accept = application/json; // String
+    let domainName = domainName_example; // String
+    let relationshipTypeName = NRCELLDU_USES_NRSECTORCARRIER; // String
+    let relationshipId = relationshipId_example; // String
+
+    let mut context = EntitiesAndRelationshipsApi::Context::default();
+    let result = client.getRelationshipById(accept, domainName, relationshipTypeName, relationshipId, &context).wait();
+
+    println!("{:?}", result);
+}
+
+
+
+ +

Scopes

+ + +
+ +

Parameters

+ +
Path parameters
+ + + + + + + + + + + + + + + + + +
NameDescription
domainName* + + +
+
+
+ + String + + +
+domain name +
+
+
+ Required +
+
+
+
relationshipTypeName* + + +
+
+
+ + String + + +
+
+ Required +
+
+
+
relationshipId* + + +
+
+
+ + String + + +
+
+ Required +
+
+
+
+ +
Header parameters
+ + + + + + + + + +
NameDescription
Accept* + + +
+
+
+ + String + + +
+
+ Required +
+
+
+
+ + + + +

Responses

+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+
+
+
+
+
+
+

getRelationshipsByType

+

Get topology relationships of a specific relationship type name.

+
+
+
+

+

Get topology relationships of a specific relationship type name.

+

+
+
/domains/{domainName}/relationship-types/{relationshipTypeName}/relationships
+

+

Usage and SDK Samples

+

+ + +
+
+
curl -X GET \
+ -H "Accept: application/json,application/problem+json" \
+ "https://localhost/topology-inventory/v1alpha11/domains/{domainName}/relationship-types/{relationshipTypeName}/relationships?targetFilter=/attributes(nCI,nRPCI)&scopeFilter=/attributes[@nRTAC=310"]&offset=56&limit=56"
+
+
+
+
import org.openapitools.client.*;
+import org.openapitools.client.auth.*;
+import org.openapitools.client.model.*;
+import org.openapitools.client.api.EntitiesAndRelationshipsApi;
+
+import java.io.File;
+import java.util.*;
+
+public class EntitiesAndRelationshipsApiExample {
+    public static void main(String[] args) {
+
+        // Create an instance of the API class
+        EntitiesAndRelationshipsApi apiInstance = new EntitiesAndRelationshipsApi();
+        String accept = application/json; // String | 
+        String domainName = domainName_example; // String | domain name
+        String relationshipTypeName = NRCELLDU_USES_NRSECTORCARRIER; // String | 
+        String targetFilter = /attributes(nCI,nRPCI); // String | Use *targetFilter* to specify the entity type and attributes to be returned in the REST response. The value for *targetFilter* can also be a list of entity types and attributes.
+        String scopeFilter = /attributes[@nRTAC=310"]; // String | Use *scopeFilter* to specify the attributes to match on. The value for *scopeFilter* can also be a list of entity types and attributes. scopeFilter returns a boolean.
+        Integer offset = 56; // Integer | Pagination offset.
+        Integer limit = 56; // Integer | Result limiter.
+
+        try {
+            RelationshipsResponseMessage result = apiInstance.getRelationshipsByType(accept, domainName, relationshipTypeName, targetFilter, scopeFilter, offset, limit);
+            System.out.println(result);
+        } catch (ApiException e) {
+            System.err.println("Exception when calling EntitiesAndRelationshipsApi#getRelationshipsByType");
+            e.printStackTrace();
+        }
+    }
+}
+
+
+ +
+
import 'package:openapi/api.dart';
+
+final api_instance = DefaultApi();
+
+final String accept = new String(); // String | 
+final String domainName = new String(); // String | domain name
+final String relationshipTypeName = new String(); // String | 
+final String targetFilter = new String(); // String | Use *targetFilter* to specify the entity type and attributes to be returned in the REST response. The value for *targetFilter* can also be a list of entity types and attributes.
+final String scopeFilter = new String(); // String | Use *scopeFilter* to specify the attributes to match on. The value for *scopeFilter* can also be a list of entity types and attributes. scopeFilter returns a boolean.
+final Integer offset = new Integer(); // Integer | Pagination offset.
+final Integer limit = new Integer(); // Integer | Result limiter.
+
+try {
+    final result = await api_instance.getRelationshipsByType(accept, domainName, relationshipTypeName, targetFilter, scopeFilter, offset, limit);
+    print(result);
+} catch (e) {
+    print('Exception when calling DefaultApi->getRelationshipsByType: $e\n');
+}
+
+
+
+ +
+
import org.openapitools.client.api.EntitiesAndRelationshipsApi;
+
+public class EntitiesAndRelationshipsApiExample {
+    public static void main(String[] args) {
+        EntitiesAndRelationshipsApi apiInstance = new EntitiesAndRelationshipsApi();
+        String accept = application/json; // String | 
+        String domainName = domainName_example; // String | domain name
+        String relationshipTypeName = NRCELLDU_USES_NRSECTORCARRIER; // String | 
+        String targetFilter = /attributes(nCI,nRPCI); // String | Use *targetFilter* to specify the entity type and attributes to be returned in the REST response. The value for *targetFilter* can also be a list of entity types and attributes.
+        String scopeFilter = /attributes[@nRTAC=310"]; // String | Use *scopeFilter* to specify the attributes to match on. The value for *scopeFilter* can also be a list of entity types and attributes. scopeFilter returns a boolean.
+        Integer offset = 56; // Integer | Pagination offset.
+        Integer limit = 56; // Integer | Result limiter.
+
+        try {
+            RelationshipsResponseMessage result = apiInstance.getRelationshipsByType(accept, domainName, relationshipTypeName, targetFilter, scopeFilter, offset, limit);
+            System.out.println(result);
+        } catch (ApiException e) {
+            System.err.println("Exception when calling EntitiesAndRelationshipsApi#getRelationshipsByType");
+            e.printStackTrace();
+        }
+    }
+}
+
+ +
+

+
+// Create an instance of the API class
+EntitiesAndRelationshipsApi *apiInstance = [[EntitiesAndRelationshipsApi alloc] init];
+String *accept = application/json; //  (default to application/json)
+String *domainName = domainName_example; // domain name (default to null)
+String *relationshipTypeName = NRCELLDU_USES_NRSECTORCARRIER; //  (default to null)
+String *targetFilter = /attributes(nCI,nRPCI); // Use *targetFilter* to specify the entity type and attributes to be returned in the REST response. The value for *targetFilter* can also be a list of entity types and attributes. (optional) (default to null)
+String *scopeFilter = /attributes[@nRTAC=310"]; // Use *scopeFilter* to specify the attributes to match on. The value for *scopeFilter* can also be a list of entity types and attributes. scopeFilter returns a boolean. (optional) (default to null)
+Integer *offset = 56; // Pagination offset. (optional) (default to 0)
+Integer *limit = 56; // Result limiter. (optional) (default to 500)
+
+// Get topology relationships of a specific relationship type name.
+[apiInstance getRelationshipsByTypeWith:accept
+    domainName:domainName
+    relationshipTypeName:relationshipTypeName
+    targetFilter:targetFilter
+    scopeFilter:scopeFilter
+    offset:offset
+    limit:limit
+              completionHandler: ^(RelationshipsResponseMessage output, NSError* error) {
+    if (output) {
+        NSLog(@"%@", output);
+    }
+    if (error) {
+        NSLog(@"Error: %@", error);
+    }
+}];
+
+
+ +
+
var TopologyAndInventoryApi = require('topology_and_inventory_api');
+
+// Create an instance of the API class
+var api = new TopologyAndInventoryApi.EntitiesAndRelationshipsApi()
+var accept = application/json; // {String} 
+var domainName = domainName_example; // {String} domain name
+var relationshipTypeName = NRCELLDU_USES_NRSECTORCARRIER; // {String} 
+var opts = {
+  'targetFilter': /attributes(nCI,nRPCI), // {String} Use *targetFilter* to specify the entity type and attributes to be returned in the REST response. The value for *targetFilter* can also be a list of entity types and attributes.
+  'scopeFilter': /attributes[@nRTAC=310"], // {String} Use *scopeFilter* to specify the attributes to match on. The value for *scopeFilter* can also be a list of entity types and attributes. scopeFilter returns a boolean.
+  'offset': 56, // {Integer} Pagination offset.
+  'limit': 56 // {Integer} Result limiter.
+};
+
+var callback = function(error, data, response) {
+  if (error) {
+    console.error(error);
+  } else {
+    console.log('API called successfully. Returned data: ' + data);
+  }
+};
+api.getRelationshipsByType(accept, domainName, relationshipTypeName, opts, callback);
+
+
+ + +
+
using System;
+using System.Diagnostics;
+using Org.OpenAPITools.Api;
+using Org.OpenAPITools.Client;
+using Org.OpenAPITools.Model;
+
+namespace Example
+{
+    public class getRelationshipsByTypeExample
+    {
+        public void main()
+        {
+
+            // Create an instance of the API class
+            var apiInstance = new EntitiesAndRelationshipsApi();
+            var accept = application/json;  // String |  (default to application/json)
+            var domainName = domainName_example;  // String | domain name (default to null)
+            var relationshipTypeName = NRCELLDU_USES_NRSECTORCARRIER;  // String |  (default to null)
+            var targetFilter = /attributes(nCI,nRPCI);  // String | Use *targetFilter* to specify the entity type and attributes to be returned in the REST response. The value for *targetFilter* can also be a list of entity types and attributes. (optional)  (default to null)
+            var scopeFilter = /attributes[@nRTAC=310"];  // String | Use *scopeFilter* to specify the attributes to match on. The value for *scopeFilter* can also be a list of entity types and attributes. scopeFilter returns a boolean. (optional)  (default to null)
+            var offset = 56;  // Integer | Pagination offset. (optional)  (default to 0)
+            var limit = 56;  // Integer | Result limiter. (optional)  (default to 500)
+
+            try {
+                // Get topology relationships of a specific relationship type name.
+                RelationshipsResponseMessage result = apiInstance.getRelationshipsByType(accept, domainName, relationshipTypeName, targetFilter, scopeFilter, offset, limit);
+                Debug.WriteLine(result);
+            } catch (Exception e) {
+                Debug.Print("Exception when calling EntitiesAndRelationshipsApi.getRelationshipsByType: " + e.Message );
+            }
+        }
+    }
+}
+
+
+ +
+
<?php
+require_once(__DIR__ . '/vendor/autoload.php');
+
+// Create an instance of the API class
+$api_instance = new OpenAPITools\Client\Api\EntitiesAndRelationshipsApi();
+$accept = application/json; // String | 
+$domainName = domainName_example; // String | domain name
+$relationshipTypeName = NRCELLDU_USES_NRSECTORCARRIER; // String | 
+$targetFilter = /attributes(nCI,nRPCI); // String | Use *targetFilter* to specify the entity type and attributes to be returned in the REST response. The value for *targetFilter* can also be a list of entity types and attributes.
+$scopeFilter = /attributes[@nRTAC=310"]; // String | Use *scopeFilter* to specify the attributes to match on. The value for *scopeFilter* can also be a list of entity types and attributes. scopeFilter returns a boolean.
+$offset = 56; // Integer | Pagination offset.
+$limit = 56; // Integer | Result limiter.
+
+try {
+    $result = $api_instance->getRelationshipsByType($accept, $domainName, $relationshipTypeName, $targetFilter, $scopeFilter, $offset, $limit);
+    print_r($result);
+} catch (Exception $e) {
+    echo 'Exception when calling EntitiesAndRelationshipsApi->getRelationshipsByType: ', $e->getMessage(), PHP_EOL;
+}
+?>
+
+ +
+
use Data::Dumper;
+use WWW::OPenAPIClient::Configuration;
+use WWW::OPenAPIClient::EntitiesAndRelationshipsApi;
+
+# Create an instance of the API class
+my $api_instance = WWW::OPenAPIClient::EntitiesAndRelationshipsApi->new();
+my $accept = application/json; # String | 
+my $domainName = domainName_example; # String | domain name
+my $relationshipTypeName = NRCELLDU_USES_NRSECTORCARRIER; # String | 
+my $targetFilter = /attributes(nCI,nRPCI); # String | Use *targetFilter* to specify the entity type and attributes to be returned in the REST response. The value for *targetFilter* can also be a list of entity types and attributes.
+my $scopeFilter = /attributes[@nRTAC=310"]; # String | Use *scopeFilter* to specify the attributes to match on. The value for *scopeFilter* can also be a list of entity types and attributes. scopeFilter returns a boolean.
+my $offset = 56; # Integer | Pagination offset.
+my $limit = 56; # Integer | Result limiter.
+
+eval {
+    my $result = $api_instance->getRelationshipsByType(accept => $accept, domainName => $domainName, relationshipTypeName => $relationshipTypeName, targetFilter => $targetFilter, scopeFilter => $scopeFilter, offset => $offset, limit => $limit);
+    print Dumper($result);
+};
+if ($@) {
+    warn "Exception when calling EntitiesAndRelationshipsApi->getRelationshipsByType: $@\n";
+}
+
+ +
+
from __future__ import print_statement
+import time
+import openapi_client
+from openapi_client.rest import ApiException
+from pprint import pprint
+
+# Create an instance of the API class
+api_instance = openapi_client.EntitiesAndRelationshipsApi()
+accept = application/json # String |  (default to application/json)
+domainName = domainName_example # String | domain name (default to null)
+relationshipTypeName = NRCELLDU_USES_NRSECTORCARRIER # String |  (default to null)
+targetFilter = /attributes(nCI,nRPCI) # String | Use *targetFilter* to specify the entity type and attributes to be returned in the REST response. The value for *targetFilter* can also be a list of entity types and attributes. (optional) (default to null)
+scopeFilter = /attributes[@nRTAC=310"] # String | Use *scopeFilter* to specify the attributes to match on. The value for *scopeFilter* can also be a list of entity types and attributes. scopeFilter returns a boolean. (optional) (default to null)
+offset = 56 # Integer | Pagination offset. (optional) (default to 0)
+limit = 56 # Integer | Result limiter. (optional) (default to 500)
+
+try:
+    # Get topology relationships of a specific relationship type name.
+    api_response = api_instance.get_relationships_by_type(accept, domainName, relationshipTypeName, targetFilter=targetFilter, scopeFilter=scopeFilter, offset=offset, limit=limit)
+    pprint(api_response)
+except ApiException as e:
+    print("Exception when calling EntitiesAndRelationshipsApi->getRelationshipsByType: %s\n" % e)
+
+ +
+
extern crate EntitiesAndRelationshipsApi;
+
+pub fn main() {
+    let accept = application/json; // String
+    let domainName = domainName_example; // String
+    let relationshipTypeName = NRCELLDU_USES_NRSECTORCARRIER; // String
+    let targetFilter = /attributes(nCI,nRPCI); // String
+    let scopeFilter = /attributes[@nRTAC=310"]; // String
+    let offset = 56; // Integer
+    let limit = 56; // Integer
+
+    let mut context = EntitiesAndRelationshipsApi::Context::default();
+    let result = client.getRelationshipsByType(accept, domainName, relationshipTypeName, targetFilter, scopeFilter, offset, limit, &context).wait();
+
+    println!("{:?}", result);
+}
+
+
+
+ +

Scopes

+ + +
+ +

Parameters

+ +
Path parameters
+ + + + + + + + + + + + + +
NameDescription
domainName* + + +
+
+
+ + String + + +
+domain name +
+
+
+ Required +
+
+
+
relationshipTypeName* + + +
+
+
+ + String + + +
+
+ Required +
+
+
+
+ +
Header parameters
+ + + + + + + + + +
NameDescription
Accept* + + +
+
+
+ + String + + +
+
+ Required +
+
+
+
+ + + +
Query parameters
+ + + + + + + + + + + + + + + + + + + + + +
NameDescription
targetFilter + + +
+
+
+ + String + + +
+Use *targetFilter* to specify the entity type and attributes to be returned in the REST response. The value for *targetFilter* can also be a list of entity types and attributes. +
+
+
+
+
scopeFilter + + +
+
+
+ + String + + +
+Use *scopeFilter* to specify the attributes to match on. The value for *scopeFilter* can also be a list of entity types and attributes. scopeFilter returns a boolean. +
+
+
+
+
offset + + +
+
+
+ + Integer + + +
+Pagination offset. +
+
+
+
+
limit + + +
+
+
+ + Integer + + +
+Result limiter. +
+
+
+
+
+ +

Responses

+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+
+
+
+
+
+
+

getTopologyByEntityTypeName

+

Get all topology entities of a specific entity type.

+
+
+
+

+

Get all topology entities of a specific entity type.

+

+
+
/domains/{domainName}/entity-types/{entityTypeName}/entities
+

+

Usage and SDK Samples

+

+ + +
+
+
curl -X GET \
+ -H "Accept: application/json,application/problem+json" \
+ "https://localhost/topology-inventory/v1alpha11/domains/{domainName}/entity-types/{entityTypeName}/entities?targetFilter=/attributes(nCI,nRPCI)&scopeFilter=/attributes[@nRTAC=310"]&offset=56&limit=56"
+
+
+
+
import org.openapitools.client.*;
+import org.openapitools.client.auth.*;
+import org.openapitools.client.model.*;
+import org.openapitools.client.api.EntitiesAndRelationshipsApi;
+
+import java.io.File;
+import java.util.*;
+
+public class EntitiesAndRelationshipsApiExample {
+    public static void main(String[] args) {
+
+        // Create an instance of the API class
+        EntitiesAndRelationshipsApi apiInstance = new EntitiesAndRelationshipsApi();
+        String accept = application/json; // String | 
+        String domainName = domainName_example; // String | domain name
+        String entityTypeName = entityTypeName_example; // String | 
+        String targetFilter = /attributes(nCI,nRPCI); // String | Use *targetFilter* to specify the entity type and attributes to be returned in the REST response. The value for *targetFilter* can also be a list of entity types and attributes.
+        String scopeFilter = /attributes[@nRTAC=310"]; // String | Use *scopeFilter* to specify the attributes to match on. The value for *scopeFilter* can also be a list of entity types and attributes. scopeFilter returns a boolean.
+        Integer offset = 56; // Integer | Pagination offset.
+        Integer limit = 56; // Integer | Result limiter.
+
+        try {
+            EntitiesResponseMessage result = apiInstance.getTopologyByEntityTypeName(accept, domainName, entityTypeName, targetFilter, scopeFilter, offset, limit);
+            System.out.println(result);
+        } catch (ApiException e) {
+            System.err.println("Exception when calling EntitiesAndRelationshipsApi#getTopologyByEntityTypeName");
+            e.printStackTrace();
+        }
+    }
+}
+
+
+ +
+
import 'package:openapi/api.dart';
+
+final api_instance = DefaultApi();
+
+final String accept = new String(); // String | 
+final String domainName = new String(); // String | domain name
+final String entityTypeName = new String(); // String | 
+final String targetFilter = new String(); // String | Use *targetFilter* to specify the entity type and attributes to be returned in the REST response. The value for *targetFilter* can also be a list of entity types and attributes.
+final String scopeFilter = new String(); // String | Use *scopeFilter* to specify the attributes to match on. The value for *scopeFilter* can also be a list of entity types and attributes. scopeFilter returns a boolean.
+final Integer offset = new Integer(); // Integer | Pagination offset.
+final Integer limit = new Integer(); // Integer | Result limiter.
+
+try {
+    final result = await api_instance.getTopologyByEntityTypeName(accept, domainName, entityTypeName, targetFilter, scopeFilter, offset, limit);
+    print(result);
+} catch (e) {
+    print('Exception when calling DefaultApi->getTopologyByEntityTypeName: $e\n');
+}
+
+
+
+ +
+
import org.openapitools.client.api.EntitiesAndRelationshipsApi;
+
+public class EntitiesAndRelationshipsApiExample {
+    public static void main(String[] args) {
+        EntitiesAndRelationshipsApi apiInstance = new EntitiesAndRelationshipsApi();
+        String accept = application/json; // String | 
+        String domainName = domainName_example; // String | domain name
+        String entityTypeName = entityTypeName_example; // String | 
+        String targetFilter = /attributes(nCI,nRPCI); // String | Use *targetFilter* to specify the entity type and attributes to be returned in the REST response. The value for *targetFilter* can also be a list of entity types and attributes.
+        String scopeFilter = /attributes[@nRTAC=310"]; // String | Use *scopeFilter* to specify the attributes to match on. The value for *scopeFilter* can also be a list of entity types and attributes. scopeFilter returns a boolean.
+        Integer offset = 56; // Integer | Pagination offset.
+        Integer limit = 56; // Integer | Result limiter.
+
+        try {
+            EntitiesResponseMessage result = apiInstance.getTopologyByEntityTypeName(accept, domainName, entityTypeName, targetFilter, scopeFilter, offset, limit);
+            System.out.println(result);
+        } catch (ApiException e) {
+            System.err.println("Exception when calling EntitiesAndRelationshipsApi#getTopologyByEntityTypeName");
+            e.printStackTrace();
+        }
+    }
+}
+
+ +
+

+
+// Create an instance of the API class
+EntitiesAndRelationshipsApi *apiInstance = [[EntitiesAndRelationshipsApi alloc] init];
+String *accept = application/json; //  (default to application/json)
+String *domainName = domainName_example; // domain name (default to null)
+String *entityTypeName = entityTypeName_example; //  (default to null)
+String *targetFilter = /attributes(nCI,nRPCI); // Use *targetFilter* to specify the entity type and attributes to be returned in the REST response. The value for *targetFilter* can also be a list of entity types and attributes. (optional) (default to null)
+String *scopeFilter = /attributes[@nRTAC=310"]; // Use *scopeFilter* to specify the attributes to match on. The value for *scopeFilter* can also be a list of entity types and attributes. scopeFilter returns a boolean. (optional) (default to null)
+Integer *offset = 56; // Pagination offset. (optional) (default to 0)
+Integer *limit = 56; // Result limiter. (optional) (default to 500)
+
+// Get all topology entities of a specific entity type.
+[apiInstance getTopologyByEntityTypeNameWith:accept
+    domainName:domainName
+    entityTypeName:entityTypeName
+    targetFilter:targetFilter
+    scopeFilter:scopeFilter
+    offset:offset
+    limit:limit
+              completionHandler: ^(EntitiesResponseMessage output, NSError* error) {
+    if (output) {
+        NSLog(@"%@", output);
+    }
+    if (error) {
+        NSLog(@"Error: %@", error);
+    }
+}];
+
+
+ +
+
var TopologyAndInventoryApi = require('topology_and_inventory_api');
+
+// Create an instance of the API class
+var api = new TopologyAndInventoryApi.EntitiesAndRelationshipsApi()
+var accept = application/json; // {String} 
+var domainName = domainName_example; // {String} domain name
+var entityTypeName = entityTypeName_example; // {String} 
+var opts = {
+  'targetFilter': /attributes(nCI,nRPCI), // {String} Use *targetFilter* to specify the entity type and attributes to be returned in the REST response. The value for *targetFilter* can also be a list of entity types and attributes.
+  'scopeFilter': /attributes[@nRTAC=310"], // {String} Use *scopeFilter* to specify the attributes to match on. The value for *scopeFilter* can also be a list of entity types and attributes. scopeFilter returns a boolean.
+  'offset': 56, // {Integer} Pagination offset.
+  'limit': 56 // {Integer} Result limiter.
+};
+
+var callback = function(error, data, response) {
+  if (error) {
+    console.error(error);
+  } else {
+    console.log('API called successfully. Returned data: ' + data);
+  }
+};
+api.getTopologyByEntityTypeName(accept, domainName, entityTypeName, opts, callback);
+
+
+ + +
+
using System;
+using System.Diagnostics;
+using Org.OpenAPITools.Api;
+using Org.OpenAPITools.Client;
+using Org.OpenAPITools.Model;
+
+namespace Example
+{
+    public class getTopologyByEntityTypeNameExample
+    {
+        public void main()
+        {
+
+            // Create an instance of the API class
+            var apiInstance = new EntitiesAndRelationshipsApi();
+            var accept = application/json;  // String |  (default to application/json)
+            var domainName = domainName_example;  // String | domain name (default to null)
+            var entityTypeName = entityTypeName_example;  // String |  (default to null)
+            var targetFilter = /attributes(nCI,nRPCI);  // String | Use *targetFilter* to specify the entity type and attributes to be returned in the REST response. The value for *targetFilter* can also be a list of entity types and attributes. (optional)  (default to null)
+            var scopeFilter = /attributes[@nRTAC=310"];  // String | Use *scopeFilter* to specify the attributes to match on. The value for *scopeFilter* can also be a list of entity types and attributes. scopeFilter returns a boolean. (optional)  (default to null)
+            var offset = 56;  // Integer | Pagination offset. (optional)  (default to 0)
+            var limit = 56;  // Integer | Result limiter. (optional)  (default to 500)
+
+            try {
+                // Get all topology entities of a specific entity type.
+                EntitiesResponseMessage result = apiInstance.getTopologyByEntityTypeName(accept, domainName, entityTypeName, targetFilter, scopeFilter, offset, limit);
+                Debug.WriteLine(result);
+            } catch (Exception e) {
+                Debug.Print("Exception when calling EntitiesAndRelationshipsApi.getTopologyByEntityTypeName: " + e.Message );
+            }
+        }
+    }
+}
+
+
+ +
+
<?php
+require_once(__DIR__ . '/vendor/autoload.php');
+
+// Create an instance of the API class
+$api_instance = new OpenAPITools\Client\Api\EntitiesAndRelationshipsApi();
+$accept = application/json; // String | 
+$domainName = domainName_example; // String | domain name
+$entityTypeName = entityTypeName_example; // String | 
+$targetFilter = /attributes(nCI,nRPCI); // String | Use *targetFilter* to specify the entity type and attributes to be returned in the REST response. The value for *targetFilter* can also be a list of entity types and attributes.
+$scopeFilter = /attributes[@nRTAC=310"]; // String | Use *scopeFilter* to specify the attributes to match on. The value for *scopeFilter* can also be a list of entity types and attributes. scopeFilter returns a boolean.
+$offset = 56; // Integer | Pagination offset.
+$limit = 56; // Integer | Result limiter.
+
+try {
+    $result = $api_instance->getTopologyByEntityTypeName($accept, $domainName, $entityTypeName, $targetFilter, $scopeFilter, $offset, $limit);
+    print_r($result);
+} catch (Exception $e) {
+    echo 'Exception when calling EntitiesAndRelationshipsApi->getTopologyByEntityTypeName: ', $e->getMessage(), PHP_EOL;
+}
+?>
+
+ +
+
use Data::Dumper;
+use WWW::OPenAPIClient::Configuration;
+use WWW::OPenAPIClient::EntitiesAndRelationshipsApi;
+
+# Create an instance of the API class
+my $api_instance = WWW::OPenAPIClient::EntitiesAndRelationshipsApi->new();
+my $accept = application/json; # String | 
+my $domainName = domainName_example; # String | domain name
+my $entityTypeName = entityTypeName_example; # String | 
+my $targetFilter = /attributes(nCI,nRPCI); # String | Use *targetFilter* to specify the entity type and attributes to be returned in the REST response. The value for *targetFilter* can also be a list of entity types and attributes.
+my $scopeFilter = /attributes[@nRTAC=310"]; # String | Use *scopeFilter* to specify the attributes to match on. The value for *scopeFilter* can also be a list of entity types and attributes. scopeFilter returns a boolean.
+my $offset = 56; # Integer | Pagination offset.
+my $limit = 56; # Integer | Result limiter.
+
+eval {
+    my $result = $api_instance->getTopologyByEntityTypeName(accept => $accept, domainName => $domainName, entityTypeName => $entityTypeName, targetFilter => $targetFilter, scopeFilter => $scopeFilter, offset => $offset, limit => $limit);
+    print Dumper($result);
+};
+if ($@) {
+    warn "Exception when calling EntitiesAndRelationshipsApi->getTopologyByEntityTypeName: $@\n";
+}
+
+ +
+
from __future__ import print_statement
+import time
+import openapi_client
+from openapi_client.rest import ApiException
+from pprint import pprint
+
+# Create an instance of the API class
+api_instance = openapi_client.EntitiesAndRelationshipsApi()
+accept = application/json # String |  (default to application/json)
+domainName = domainName_example # String | domain name (default to null)
+entityTypeName = entityTypeName_example # String |  (default to null)
+targetFilter = /attributes(nCI,nRPCI) # String | Use *targetFilter* to specify the entity type and attributes to be returned in the REST response. The value for *targetFilter* can also be a list of entity types and attributes. (optional) (default to null)
+scopeFilter = /attributes[@nRTAC=310"] # String | Use *scopeFilter* to specify the attributes to match on. The value for *scopeFilter* can also be a list of entity types and attributes. scopeFilter returns a boolean. (optional) (default to null)
+offset = 56 # Integer | Pagination offset. (optional) (default to 0)
+limit = 56 # Integer | Result limiter. (optional) (default to 500)
+
+try:
+    # Get all topology entities of a specific entity type.
+    api_response = api_instance.get_topology_by_entity_type_name(accept, domainName, entityTypeName, targetFilter=targetFilter, scopeFilter=scopeFilter, offset=offset, limit=limit)
+    pprint(api_response)
+except ApiException as e:
+    print("Exception when calling EntitiesAndRelationshipsApi->getTopologyByEntityTypeName: %s\n" % e)
+
+ +
+
extern crate EntitiesAndRelationshipsApi;
+
+pub fn main() {
+    let accept = application/json; // String
+    let domainName = domainName_example; // String
+    let entityTypeName = entityTypeName_example; // String
+    let targetFilter = /attributes(nCI,nRPCI); // String
+    let scopeFilter = /attributes[@nRTAC=310"]; // String
+    let offset = 56; // Integer
+    let limit = 56; // Integer
+
+    let mut context = EntitiesAndRelationshipsApi::Context::default();
+    let result = client.getTopologyByEntityTypeName(accept, domainName, entityTypeName, targetFilter, scopeFilter, offset, limit, &context).wait();
+
+    println!("{:?}", result);
+}
+
+
+
+ +

Scopes

+ + +
+ +

Parameters

+ +
Path parameters
+ + + + + + + + + + + + + +
NameDescription
domainName* + + +
+
+
+ + String + + +
+domain name +
+
+
+ Required +
+
+
+
entityTypeName* + + +
+
+
+ + String + + +
+
+ Required +
+
+
+
+ +
Header parameters
+ + + + + + + + + +
NameDescription
Accept* + + +
+
+
+ + String + + +
+
+ Required +
+
+
+
+ + + +
Query parameters
+ + + + + + + + + + + + + + + + + + + + + +
NameDescription
targetFilter + + +
+
+
+ + String + + +
+Use *targetFilter* to specify the entity type and attributes to be returned in the REST response. The value for *targetFilter* can also be a list of entity types and attributes. +
+
+
+
+
scopeFilter + + +
+
+
+ + String + + +
+Use *scopeFilter* to specify the attributes to match on. The value for *scopeFilter* can also be a list of entity types and attributes. scopeFilter returns a boolean. +
+
+
+
+
offset + + +
+
+
+ + Integer + + +
+Pagination offset. +
+
+
+
+
limit + + +
+
+
+ + Integer + + +
+Result limiter. +
+
+
+
+
+ +

Responses

+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+
+
+
+
+
+
+

getTopologyById

+

Get topology for entity type name with specified id. Specified id represents the entity instance.

+
+
+
+

+

Get topology for entity type name with specified id. Specified id represents the entity instance.

+

+
+
/domains/{domainName}/entity-types/{entityTypeName}/entities/{entityId}
+

+

Usage and SDK Samples

+

+ + +
+
+
curl -X GET \
+ -H "Accept: application/yang.data+json,application/problem+json" \
+ "https://localhost/topology-inventory/v1alpha11/domains/{domainName}/entity-types/{entityTypeName}/entities/{entityId}"
+
+
+
+
import org.openapitools.client.*;
+import org.openapitools.client.auth.*;
+import org.openapitools.client.model.*;
+import org.openapitools.client.api.EntitiesAndRelationshipsApi;
+
+import java.io.File;
+import java.util.*;
+
+public class EntitiesAndRelationshipsApiExample {
+    public static void main(String[] args) {
+
+        // Create an instance of the API class
+        EntitiesAndRelationshipsApi apiInstance = new EntitiesAndRelationshipsApi();
+        String accept = application/json; // String | 
+        String domainName = domainName_example; // String | domain name
+        String entityTypeName = entityTypeName_example; // String | 
+        String entityId = entityId_example; // String | 
+
+        try {
+            Object result = apiInstance.getTopologyById(accept, domainName, entityTypeName, entityId);
+            System.out.println(result);
+        } catch (ApiException e) {
+            System.err.println("Exception when calling EntitiesAndRelationshipsApi#getTopologyById");
+            e.printStackTrace();
+        }
+    }
+}
+
+
+ +
+
import 'package:openapi/api.dart';
+
+final api_instance = DefaultApi();
+
+final String accept = new String(); // String | 
+final String domainName = new String(); // String | domain name
+final String entityTypeName = new String(); // String | 
+final String entityId = new String(); // String | 
+
+try {
+    final result = await api_instance.getTopologyById(accept, domainName, entityTypeName, entityId);
+    print(result);
+} catch (e) {
+    print('Exception when calling DefaultApi->getTopologyById: $e\n');
+}
+
+
+
+ +
+
import org.openapitools.client.api.EntitiesAndRelationshipsApi;
+
+public class EntitiesAndRelationshipsApiExample {
+    public static void main(String[] args) {
+        EntitiesAndRelationshipsApi apiInstance = new EntitiesAndRelationshipsApi();
+        String accept = application/json; // String | 
+        String domainName = domainName_example; // String | domain name
+        String entityTypeName = entityTypeName_example; // String | 
+        String entityId = entityId_example; // String | 
+
+        try {
+            Object result = apiInstance.getTopologyById(accept, domainName, entityTypeName, entityId);
+            System.out.println(result);
+        } catch (ApiException e) {
+            System.err.println("Exception when calling EntitiesAndRelationshipsApi#getTopologyById");
+            e.printStackTrace();
+        }
+    }
+}
+
+ +
+

+
+// Create an instance of the API class
+EntitiesAndRelationshipsApi *apiInstance = [[EntitiesAndRelationshipsApi alloc] init];
+String *accept = application/json; //  (default to application/json)
+String *domainName = domainName_example; // domain name (default to null)
+String *entityTypeName = entityTypeName_example; //  (default to null)
+String *entityId = entityId_example; //  (default to null)
+
+// Get topology for entity type name with specified id. Specified id represents the entity instance.
+[apiInstance getTopologyByIdWith:accept
+    domainName:domainName
+    entityTypeName:entityTypeName
+    entityId:entityId
+              completionHandler: ^(Object output, NSError* error) {
+    if (output) {
+        NSLog(@"%@", output);
+    }
+    if (error) {
+        NSLog(@"Error: %@", error);
+    }
+}];
+
+
+ +
+
var TopologyAndInventoryApi = require('topology_and_inventory_api');
+
+// Create an instance of the API class
+var api = new TopologyAndInventoryApi.EntitiesAndRelationshipsApi()
+var accept = application/json; // {String} 
+var domainName = domainName_example; // {String} domain name
+var entityTypeName = entityTypeName_example; // {String} 
+var entityId = entityId_example; // {String} 
+
+var callback = function(error, data, response) {
+  if (error) {
+    console.error(error);
+  } else {
+    console.log('API called successfully. Returned data: ' + data);
+  }
+};
+api.getTopologyById(accept, domainName, entityTypeName, entityId, callback);
+
+
+ + +
+
using System;
+using System.Diagnostics;
+using Org.OpenAPITools.Api;
+using Org.OpenAPITools.Client;
+using Org.OpenAPITools.Model;
+
+namespace Example
+{
+    public class getTopologyByIdExample
+    {
+        public void main()
+        {
+
+            // Create an instance of the API class
+            var apiInstance = new EntitiesAndRelationshipsApi();
+            var accept = application/json;  // String |  (default to application/json)
+            var domainName = domainName_example;  // String | domain name (default to null)
+            var entityTypeName = entityTypeName_example;  // String |  (default to null)
+            var entityId = entityId_example;  // String |  (default to null)
+
+            try {
+                // Get topology for entity type name with specified id. Specified id represents the entity instance.
+                Object result = apiInstance.getTopologyById(accept, domainName, entityTypeName, entityId);
+                Debug.WriteLine(result);
+            } catch (Exception e) {
+                Debug.Print("Exception when calling EntitiesAndRelationshipsApi.getTopologyById: " + e.Message );
+            }
+        }
+    }
+}
+
+
+ +
+
<?php
+require_once(__DIR__ . '/vendor/autoload.php');
+
+// Create an instance of the API class
+$api_instance = new OpenAPITools\Client\Api\EntitiesAndRelationshipsApi();
+$accept = application/json; // String | 
+$domainName = domainName_example; // String | domain name
+$entityTypeName = entityTypeName_example; // String | 
+$entityId = entityId_example; // String | 
+
+try {
+    $result = $api_instance->getTopologyById($accept, $domainName, $entityTypeName, $entityId);
+    print_r($result);
+} catch (Exception $e) {
+    echo 'Exception when calling EntitiesAndRelationshipsApi->getTopologyById: ', $e->getMessage(), PHP_EOL;
+}
+?>
+
+ +
+
use Data::Dumper;
+use WWW::OPenAPIClient::Configuration;
+use WWW::OPenAPIClient::EntitiesAndRelationshipsApi;
+
+# Create an instance of the API class
+my $api_instance = WWW::OPenAPIClient::EntitiesAndRelationshipsApi->new();
+my $accept = application/json; # String | 
+my $domainName = domainName_example; # String | domain name
+my $entityTypeName = entityTypeName_example; # String | 
+my $entityId = entityId_example; # String | 
+
+eval {
+    my $result = $api_instance->getTopologyById(accept => $accept, domainName => $domainName, entityTypeName => $entityTypeName, entityId => $entityId);
+    print Dumper($result);
+};
+if ($@) {
+    warn "Exception when calling EntitiesAndRelationshipsApi->getTopologyById: $@\n";
+}
+
+ +
+
from __future__ import print_statement
+import time
+import openapi_client
+from openapi_client.rest import ApiException
+from pprint import pprint
+
+# Create an instance of the API class
+api_instance = openapi_client.EntitiesAndRelationshipsApi()
+accept = application/json # String |  (default to application/json)
+domainName = domainName_example # String | domain name (default to null)
+entityTypeName = entityTypeName_example # String |  (default to null)
+entityId = entityId_example # String |  (default to null)
+
+try:
+    # Get topology for entity type name with specified id. Specified id represents the entity instance.
+    api_response = api_instance.get_topology_by_id(accept, domainName, entityTypeName, entityId)
+    pprint(api_response)
+except ApiException as e:
+    print("Exception when calling EntitiesAndRelationshipsApi->getTopologyById: %s\n" % e)
+
+ +
+
extern crate EntitiesAndRelationshipsApi;
+
+pub fn main() {
+    let accept = application/json; // String
+    let domainName = domainName_example; // String
+    let entityTypeName = entityTypeName_example; // String
+    let entityId = entityId_example; // String
+
+    let mut context = EntitiesAndRelationshipsApi::Context::default();
+    let result = client.getTopologyById(accept, domainName, entityTypeName, entityId, &context).wait();
+
+    println!("{:?}", result);
+}
+
+
+
+ +

Scopes

+ + +
+ +

Parameters

+ +
Path parameters
+ + + + + + + + + + + + + + + + + +
NameDescription
domainName* + + +
+
+
+ + String + + +
+domain name +
+
+
+ Required +
+
+
+
entityTypeName* + + +
+
+
+ + String + + +
+
+ Required +
+
+
+
entityId* + + +
+
+
+ + String + + +
+
+ Required +
+
+
+
+ +
Header parameters
+ + + + + + + + + +
NameDescription
Accept* + + +
+
+
+ + String + + +
+
+ Required +
+
+
+
+ + + + +

Responses

+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+
+
+
+
+
+
+

getTopologyEntityTypes

+

Get all the available topology entity types in domain name.

+
+
+
+

+

Get all the available topology entity types in domain name.

+

+
+
/domains/{domainName}/entity-types
+

+

Usage and SDK Samples

+

+ + +
+
+
curl -X GET \
+ -H "Accept: application/json,application/problem+json" \
+ "https://localhost/topology-inventory/v1alpha11/domains/{domainName}/entity-types?offset=56&limit=56"
+
+
+
+
import org.openapitools.client.*;
+import org.openapitools.client.auth.*;
+import org.openapitools.client.model.*;
+import org.openapitools.client.api.EntitiesAndRelationshipsApi;
+
+import java.io.File;
+import java.util.*;
+
+public class EntitiesAndRelationshipsApiExample {
+    public static void main(String[] args) {
+
+        // Create an instance of the API class
+        EntitiesAndRelationshipsApi apiInstance = new EntitiesAndRelationshipsApi();
+        String accept = application/json; // String | 
+        String domainName = domainName_example; // String | domain name
+        Integer offset = 56; // Integer | Pagination offset.
+        Integer limit = 56; // Integer | Result limiter.
+
+        try {
+            EntityTypes result = apiInstance.getTopologyEntityTypes(accept, domainName, offset, limit);
+            System.out.println(result);
+        } catch (ApiException e) {
+            System.err.println("Exception when calling EntitiesAndRelationshipsApi#getTopologyEntityTypes");
+            e.printStackTrace();
+        }
+    }
+}
+
+
+ +
+
import 'package:openapi/api.dart';
+
+final api_instance = DefaultApi();
+
+final String accept = new String(); // String | 
+final String domainName = new String(); // String | domain name
+final Integer offset = new Integer(); // Integer | Pagination offset.
+final Integer limit = new Integer(); // Integer | Result limiter.
+
+try {
+    final result = await api_instance.getTopologyEntityTypes(accept, domainName, offset, limit);
+    print(result);
+} catch (e) {
+    print('Exception when calling DefaultApi->getTopologyEntityTypes: $e\n');
+}
+
+
+
+ +
+
import org.openapitools.client.api.EntitiesAndRelationshipsApi;
+
+public class EntitiesAndRelationshipsApiExample {
+    public static void main(String[] args) {
+        EntitiesAndRelationshipsApi apiInstance = new EntitiesAndRelationshipsApi();
+        String accept = application/json; // String | 
+        String domainName = domainName_example; // String | domain name
+        Integer offset = 56; // Integer | Pagination offset.
+        Integer limit = 56; // Integer | Result limiter.
+
+        try {
+            EntityTypes result = apiInstance.getTopologyEntityTypes(accept, domainName, offset, limit);
+            System.out.println(result);
+        } catch (ApiException e) {
+            System.err.println("Exception when calling EntitiesAndRelationshipsApi#getTopologyEntityTypes");
+            e.printStackTrace();
+        }
+    }
+}
+
+ +
+

+
+// Create an instance of the API class
+EntitiesAndRelationshipsApi *apiInstance = [[EntitiesAndRelationshipsApi alloc] init];
+String *accept = application/json; //  (default to application/json)
+String *domainName = domainName_example; // domain name (default to null)
+Integer *offset = 56; // Pagination offset. (optional) (default to 0)
+Integer *limit = 56; // Result limiter. (optional) (default to 500)
+
+// Get all the available topology entity types in domain name.
+[apiInstance getTopologyEntityTypesWith:accept
+    domainName:domainName
+    offset:offset
+    limit:limit
+              completionHandler: ^(EntityTypes output, NSError* error) {
+    if (output) {
+        NSLog(@"%@", output);
+    }
+    if (error) {
+        NSLog(@"Error: %@", error);
+    }
+}];
+
+
+ +
+
var TopologyAndInventoryApi = require('topology_and_inventory_api');
+
+// Create an instance of the API class
+var api = new TopologyAndInventoryApi.EntitiesAndRelationshipsApi()
+var accept = application/json; // {String} 
+var domainName = domainName_example; // {String} domain name
+var opts = {
+  'offset': 56, // {Integer} Pagination offset.
+  'limit': 56 // {Integer} Result limiter.
+};
+
+var callback = function(error, data, response) {
+  if (error) {
+    console.error(error);
+  } else {
+    console.log('API called successfully. Returned data: ' + data);
+  }
+};
+api.getTopologyEntityTypes(accept, domainName, opts, callback);
+
+
+ + +
+
using System;
+using System.Diagnostics;
+using Org.OpenAPITools.Api;
+using Org.OpenAPITools.Client;
+using Org.OpenAPITools.Model;
+
+namespace Example
+{
+    public class getTopologyEntityTypesExample
+    {
+        public void main()
+        {
+
+            // Create an instance of the API class
+            var apiInstance = new EntitiesAndRelationshipsApi();
+            var accept = application/json;  // String |  (default to application/json)
+            var domainName = domainName_example;  // String | domain name (default to null)
+            var offset = 56;  // Integer | Pagination offset. (optional)  (default to 0)
+            var limit = 56;  // Integer | Result limiter. (optional)  (default to 500)
+
+            try {
+                // Get all the available topology entity types in domain name.
+                EntityTypes result = apiInstance.getTopologyEntityTypes(accept, domainName, offset, limit);
+                Debug.WriteLine(result);
+            } catch (Exception e) {
+                Debug.Print("Exception when calling EntitiesAndRelationshipsApi.getTopologyEntityTypes: " + e.Message );
+            }
+        }
+    }
+}
+
+
+ +
+
<?php
+require_once(__DIR__ . '/vendor/autoload.php');
+
+// Create an instance of the API class
+$api_instance = new OpenAPITools\Client\Api\EntitiesAndRelationshipsApi();
+$accept = application/json; // String | 
+$domainName = domainName_example; // String | domain name
+$offset = 56; // Integer | Pagination offset.
+$limit = 56; // Integer | Result limiter.
+
+try {
+    $result = $api_instance->getTopologyEntityTypes($accept, $domainName, $offset, $limit);
+    print_r($result);
+} catch (Exception $e) {
+    echo 'Exception when calling EntitiesAndRelationshipsApi->getTopologyEntityTypes: ', $e->getMessage(), PHP_EOL;
+}
+?>
+
+ +
+
use Data::Dumper;
+use WWW::OPenAPIClient::Configuration;
+use WWW::OPenAPIClient::EntitiesAndRelationshipsApi;
+
+# Create an instance of the API class
+my $api_instance = WWW::OPenAPIClient::EntitiesAndRelationshipsApi->new();
+my $accept = application/json; # String | 
+my $domainName = domainName_example; # String | domain name
+my $offset = 56; # Integer | Pagination offset.
+my $limit = 56; # Integer | Result limiter.
+
+eval {
+    my $result = $api_instance->getTopologyEntityTypes(accept => $accept, domainName => $domainName, offset => $offset, limit => $limit);
+    print Dumper($result);
+};
+if ($@) {
+    warn "Exception when calling EntitiesAndRelationshipsApi->getTopologyEntityTypes: $@\n";
+}
+
+ +
+
from __future__ import print_statement
+import time
+import openapi_client
+from openapi_client.rest import ApiException
+from pprint import pprint
+
+# Create an instance of the API class
+api_instance = openapi_client.EntitiesAndRelationshipsApi()
+accept = application/json # String |  (default to application/json)
+domainName = domainName_example # String | domain name (default to null)
+offset = 56 # Integer | Pagination offset. (optional) (default to 0)
+limit = 56 # Integer | Result limiter. (optional) (default to 500)
+
+try:
+    # Get all the available topology entity types in domain name.
+    api_response = api_instance.get_topology_entity_types(accept, domainName, offset=offset, limit=limit)
+    pprint(api_response)
+except ApiException as e:
+    print("Exception when calling EntitiesAndRelationshipsApi->getTopologyEntityTypes: %s\n" % e)
+
+ +
+
extern crate EntitiesAndRelationshipsApi;
+
+pub fn main() {
+    let accept = application/json; // String
+    let domainName = domainName_example; // String
+    let offset = 56; // Integer
+    let limit = 56; // Integer
+
+    let mut context = EntitiesAndRelationshipsApi::Context::default();
+    let result = client.getTopologyEntityTypes(accept, domainName, offset, limit, &context).wait();
+
+    println!("{:?}", result);
+}
+
+
+
+ +

Scopes

+ + +
+ +

Parameters

+ +
Path parameters
+ + + + + + + + + +
NameDescription
domainName* + + +
+
+
+ + String + + +
+domain name +
+
+
+ Required +
+
+
+
+ +
Header parameters
+ + + + + + + + + +
NameDescription
Accept* + + +
+
+
+ + String + + +
+
+ Required +
+
+
+
+ + + +
Query parameters
+ + + + + + + + + + + + + +
NameDescription
offset + + +
+
+
+ + Integer + + +
+Pagination offset. +
+
+
+
+
limit + + +
+
+
+ + Integer + + +
+Result limiter. +
+
+
+
+
+ +

Responses

+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+
+
+
+
+
+
+

getTopologyRelationshipTypes

+

Get all the available topology relationship types.

+
+
+
+

+

Get all the available topology relationship types.

+

+
+
/domains/{domainName}/relationship-types
+

+

Usage and SDK Samples

+

+ + +
+
+
curl -X GET \
+ -H "Accept: application/json,application/problem+json" \
+ "https://localhost/topology-inventory/v1alpha11/domains/{domainName}/relationship-types?offset=56&limit=56"
+
+
+
+
import org.openapitools.client.*;
+import org.openapitools.client.auth.*;
+import org.openapitools.client.model.*;
+import org.openapitools.client.api.EntitiesAndRelationshipsApi;
+
+import java.io.File;
+import java.util.*;
+
+public class EntitiesAndRelationshipsApiExample {
+    public static void main(String[] args) {
+
+        // Create an instance of the API class
+        EntitiesAndRelationshipsApi apiInstance = new EntitiesAndRelationshipsApi();
+        String accept = application/json; // String | 
+        String domainName = domainName_example; // String | domain name
+        Integer offset = 56; // Integer | Pagination offset.
+        Integer limit = 56; // Integer | Result limiter.
+
+        try {
+            RelationshipTypes result = apiInstance.getTopologyRelationshipTypes(accept, domainName, offset, limit);
+            System.out.println(result);
+        } catch (ApiException e) {
+            System.err.println("Exception when calling EntitiesAndRelationshipsApi#getTopologyRelationshipTypes");
+            e.printStackTrace();
+        }
+    }
+}
+
+
+ +
+
import 'package:openapi/api.dart';
+
+final api_instance = DefaultApi();
+
+final String accept = new String(); // String | 
+final String domainName = new String(); // String | domain name
+final Integer offset = new Integer(); // Integer | Pagination offset.
+final Integer limit = new Integer(); // Integer | Result limiter.
+
+try {
+    final result = await api_instance.getTopologyRelationshipTypes(accept, domainName, offset, limit);
+    print(result);
+} catch (e) {
+    print('Exception when calling DefaultApi->getTopologyRelationshipTypes: $e\n');
+}
+
+
+
+ +
+
import org.openapitools.client.api.EntitiesAndRelationshipsApi;
+
+public class EntitiesAndRelationshipsApiExample {
+    public static void main(String[] args) {
+        EntitiesAndRelationshipsApi apiInstance = new EntitiesAndRelationshipsApi();
+        String accept = application/json; // String | 
+        String domainName = domainName_example; // String | domain name
+        Integer offset = 56; // Integer | Pagination offset.
+        Integer limit = 56; // Integer | Result limiter.
+
+        try {
+            RelationshipTypes result = apiInstance.getTopologyRelationshipTypes(accept, domainName, offset, limit);
+            System.out.println(result);
+        } catch (ApiException e) {
+            System.err.println("Exception when calling EntitiesAndRelationshipsApi#getTopologyRelationshipTypes");
+            e.printStackTrace();
+        }
+    }
+}
+
+ +
+

+
+// Create an instance of the API class
+EntitiesAndRelationshipsApi *apiInstance = [[EntitiesAndRelationshipsApi alloc] init];
+String *accept = application/json; //  (default to application/json)
+String *domainName = domainName_example; // domain name (default to null)
+Integer *offset = 56; // Pagination offset. (optional) (default to 0)
+Integer *limit = 56; // Result limiter. (optional) (default to 500)
+
+// Get all the available topology relationship types.
+[apiInstance getTopologyRelationshipTypesWith:accept
+    domainName:domainName
+    offset:offset
+    limit:limit
+              completionHandler: ^(RelationshipTypes output, NSError* error) {
+    if (output) {
+        NSLog(@"%@", output);
+    }
+    if (error) {
+        NSLog(@"Error: %@", error);
+    }
+}];
+
+
+ +
+
var TopologyAndInventoryApi = require('topology_and_inventory_api');
+
+// Create an instance of the API class
+var api = new TopologyAndInventoryApi.EntitiesAndRelationshipsApi()
+var accept = application/json; // {String} 
+var domainName = domainName_example; // {String} domain name
+var opts = {
+  'offset': 56, // {Integer} Pagination offset.
+  'limit': 56 // {Integer} Result limiter.
+};
+
+var callback = function(error, data, response) {
+  if (error) {
+    console.error(error);
+  } else {
+    console.log('API called successfully. Returned data: ' + data);
+  }
+};
+api.getTopologyRelationshipTypes(accept, domainName, opts, callback);
+
+
+ + +
+
using System;
+using System.Diagnostics;
+using Org.OpenAPITools.Api;
+using Org.OpenAPITools.Client;
+using Org.OpenAPITools.Model;
+
+namespace Example
+{
+    public class getTopologyRelationshipTypesExample
+    {
+        public void main()
+        {
+
+            // Create an instance of the API class
+            var apiInstance = new EntitiesAndRelationshipsApi();
+            var accept = application/json;  // String |  (default to application/json)
+            var domainName = domainName_example;  // String | domain name (default to null)
+            var offset = 56;  // Integer | Pagination offset. (optional)  (default to 0)
+            var limit = 56;  // Integer | Result limiter. (optional)  (default to 500)
+
+            try {
+                // Get all the available topology relationship types.
+                RelationshipTypes result = apiInstance.getTopologyRelationshipTypes(accept, domainName, offset, limit);
+                Debug.WriteLine(result);
+            } catch (Exception e) {
+                Debug.Print("Exception when calling EntitiesAndRelationshipsApi.getTopologyRelationshipTypes: " + e.Message );
+            }
+        }
+    }
+}
+
+
+ +
+
<?php
+require_once(__DIR__ . '/vendor/autoload.php');
+
+// Create an instance of the API class
+$api_instance = new OpenAPITools\Client\Api\EntitiesAndRelationshipsApi();
+$accept = application/json; // String | 
+$domainName = domainName_example; // String | domain name
+$offset = 56; // Integer | Pagination offset.
+$limit = 56; // Integer | Result limiter.
+
+try {
+    $result = $api_instance->getTopologyRelationshipTypes($accept, $domainName, $offset, $limit);
+    print_r($result);
+} catch (Exception $e) {
+    echo 'Exception when calling EntitiesAndRelationshipsApi->getTopologyRelationshipTypes: ', $e->getMessage(), PHP_EOL;
+}
+?>
+
+ +
+
use Data::Dumper;
+use WWW::OPenAPIClient::Configuration;
+use WWW::OPenAPIClient::EntitiesAndRelationshipsApi;
+
+# Create an instance of the API class
+my $api_instance = WWW::OPenAPIClient::EntitiesAndRelationshipsApi->new();
+my $accept = application/json; # String | 
+my $domainName = domainName_example; # String | domain name
+my $offset = 56; # Integer | Pagination offset.
+my $limit = 56; # Integer | Result limiter.
+
+eval {
+    my $result = $api_instance->getTopologyRelationshipTypes(accept => $accept, domainName => $domainName, offset => $offset, limit => $limit);
+    print Dumper($result);
+};
+if ($@) {
+    warn "Exception when calling EntitiesAndRelationshipsApi->getTopologyRelationshipTypes: $@\n";
+}
+
+ +
+
from __future__ import print_statement
+import time
+import openapi_client
+from openapi_client.rest import ApiException
+from pprint import pprint
+
+# Create an instance of the API class
+api_instance = openapi_client.EntitiesAndRelationshipsApi()
+accept = application/json # String |  (default to application/json)
+domainName = domainName_example # String | domain name (default to null)
+offset = 56 # Integer | Pagination offset. (optional) (default to 0)
+limit = 56 # Integer | Result limiter. (optional) (default to 500)
+
+try:
+    # Get all the available topology relationship types.
+    api_response = api_instance.get_topology_relationship_types(accept, domainName, offset=offset, limit=limit)
+    pprint(api_response)
+except ApiException as e:
+    print("Exception when calling EntitiesAndRelationshipsApi->getTopologyRelationshipTypes: %s\n" % e)
+
+ +
+
extern crate EntitiesAndRelationshipsApi;
+
+pub fn main() {
+    let accept = application/json; // String
+    let domainName = domainName_example; // String
+    let offset = 56; // Integer
+    let limit = 56; // Integer
+
+    let mut context = EntitiesAndRelationshipsApi::Context::default();
+    let result = client.getTopologyRelationshipTypes(accept, domainName, offset, limit, &context).wait();
+
+    println!("{:?}", result);
+}
+
+
+
+ +

Scopes

+ + +
+ +

Parameters

+ +
Path parameters
+ + + + + + + + + +
NameDescription
domainName* + + +
+
+
+ + String + + +
+domain name +
+
+
+ Required +
+
+
+
+ +
Header parameters
+ + + + + + + + + +
NameDescription
Accept* + + +
+
+
+ + String + + +
+
+ Required +
+
+
+
+ + + +
Query parameters
+ + + + + + + + + + + + + +
NameDescription
offset + + +
+
+
+ + Integer + + +
+Pagination offset. +
+
+
+
+
limit + + +
+
+
+ + Integer + + +
+Result limiter. +
+
+
+
+
+ +

Responses

+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+
+
+
+
+
+

GeoQuery

+
+
+
+

geoQueryTopologyAcrossDomains

+

Geo query topology entity or entities across topology domains.

+
+
+
+

+

Geo query topology entity or entities across topology domains.

+

+
+
/geo-queries
+

+

Usage and SDK Samples

+

+ + +
+
+
curl -X POST \
+ -H "Accept: application/json,application/problem+json" \
+ -H "Content-Type: application/json" \
+ "https://localhost/topology-inventory/v1alpha11/geo-queries?offset=56&limit=56" \
+ -d '{
+  "query" : "query"
+}'
+
+
+
+
import org.openapitools.client.*;
+import org.openapitools.client.auth.*;
+import org.openapitools.client.model.*;
+import org.openapitools.client.api.GeoQueryApi;
+
+import java.io.File;
+import java.util.*;
+
+public class GeoQueryApiExample {
+    public static void main(String[] args) {
+
+        // Create an instance of the API class
+        GeoQueryApi apiInstance = new GeoQueryApi();
+        String accept = application/json; // String | 
+        String contentType = application/json; // String | 
+        QueryMessage queryMessage = ; // QueryMessage | 
+        Integer offset = 56; // Integer | Pagination offset.
+        Integer limit = 56; // Integer | Result limiter.
+
+        try {
+            Object result = apiInstance.geoQueryTopologyAcrossDomains(accept, contentType, queryMessage, offset, limit);
+            System.out.println(result);
+        } catch (ApiException e) {
+            System.err.println("Exception when calling GeoQueryApi#geoQueryTopologyAcrossDomains");
+            e.printStackTrace();
+        }
+    }
+}
+
+
+ +
+
import 'package:openapi/api.dart';
+
+final api_instance = DefaultApi();
+
+final String accept = new String(); // String | 
+final String contentType = new String(); // String | 
+final QueryMessage queryMessage = new QueryMessage(); // QueryMessage | 
+final Integer offset = new Integer(); // Integer | Pagination offset.
+final Integer limit = new Integer(); // Integer | Result limiter.
+
+try {
+    final result = await api_instance.geoQueryTopologyAcrossDomains(accept, contentType, queryMessage, offset, limit);
+    print(result);
+} catch (e) {
+    print('Exception when calling DefaultApi->geoQueryTopologyAcrossDomains: $e\n');
+}
+
+
+
+ +
+
import org.openapitools.client.api.GeoQueryApi;
+
+public class GeoQueryApiExample {
+    public static void main(String[] args) {
+        GeoQueryApi apiInstance = new GeoQueryApi();
+        String accept = application/json; // String | 
+        String contentType = application/json; // String | 
+        QueryMessage queryMessage = ; // QueryMessage | 
+        Integer offset = 56; // Integer | Pagination offset.
+        Integer limit = 56; // Integer | Result limiter.
+
+        try {
+            Object result = apiInstance.geoQueryTopologyAcrossDomains(accept, contentType, queryMessage, offset, limit);
+            System.out.println(result);
+        } catch (ApiException e) {
+            System.err.println("Exception when calling GeoQueryApi#geoQueryTopologyAcrossDomains");
+            e.printStackTrace();
+        }
+    }
+}
+
+ +
+

+
+// Create an instance of the API class
+GeoQueryApi *apiInstance = [[GeoQueryApi alloc] init];
+String *accept = application/json; //  (default to application/json)
+String *contentType = application/json; //  (default to application/json)
+QueryMessage *queryMessage = ; // 
+Integer *offset = 56; // Pagination offset. (optional) (default to 0)
+Integer *limit = 56; // Result limiter. (optional) (default to 500)
+
+// Geo query topology entity or entities  across topology domains.
+[apiInstance geoQueryTopologyAcrossDomainsWith:accept
+    contentType:contentType
+    queryMessage:queryMessage
+    offset:offset
+    limit:limit
+              completionHandler: ^(Object output, NSError* error) {
+    if (output) {
+        NSLog(@"%@", output);
+    }
+    if (error) {
+        NSLog(@"Error: %@", error);
+    }
+}];
+
+
+ +
+
var TopologyAndInventoryApi = require('topology_and_inventory_api');
+
+// Create an instance of the API class
+var api = new TopologyAndInventoryApi.GeoQueryApi()
+var accept = application/json; // {String} 
+var contentType = application/json; // {String} 
+var queryMessage = ; // {QueryMessage} 
+var opts = {
+  'offset': 56, // {Integer} Pagination offset.
+  'limit': 56 // {Integer} Result limiter.
+};
+
+var callback = function(error, data, response) {
+  if (error) {
+    console.error(error);
+  } else {
+    console.log('API called successfully. Returned data: ' + data);
+  }
+};
+api.geoQueryTopologyAcrossDomains(accept, contentType, queryMessage, opts, callback);
+
+
+ + +
+
using System;
+using System.Diagnostics;
+using Org.OpenAPITools.Api;
+using Org.OpenAPITools.Client;
+using Org.OpenAPITools.Model;
+
+namespace Example
+{
+    public class geoQueryTopologyAcrossDomainsExample
+    {
+        public void main()
+        {
+
+            // Create an instance of the API class
+            var apiInstance = new GeoQueryApi();
+            var accept = application/json;  // String |  (default to application/json)
+            var contentType = application/json;  // String |  (default to application/json)
+            var queryMessage = new QueryMessage(); // QueryMessage | 
+            var offset = 56;  // Integer | Pagination offset. (optional)  (default to 0)
+            var limit = 56;  // Integer | Result limiter. (optional)  (default to 500)
+
+            try {
+                // Geo query topology entity or entities  across topology domains.
+                Object result = apiInstance.geoQueryTopologyAcrossDomains(accept, contentType, queryMessage, offset, limit);
+                Debug.WriteLine(result);
+            } catch (Exception e) {
+                Debug.Print("Exception when calling GeoQueryApi.geoQueryTopologyAcrossDomains: " + e.Message );
+            }
+        }
+    }
+}
+
+
+ +
+
<?php
+require_once(__DIR__ . '/vendor/autoload.php');
+
+// Create an instance of the API class
+$api_instance = new OpenAPITools\Client\Api\GeoQueryApi();
+$accept = application/json; // String | 
+$contentType = application/json; // String | 
+$queryMessage = ; // QueryMessage | 
+$offset = 56; // Integer | Pagination offset.
+$limit = 56; // Integer | Result limiter.
+
+try {
+    $result = $api_instance->geoQueryTopologyAcrossDomains($accept, $contentType, $queryMessage, $offset, $limit);
+    print_r($result);
+} catch (Exception $e) {
+    echo 'Exception when calling GeoQueryApi->geoQueryTopologyAcrossDomains: ', $e->getMessage(), PHP_EOL;
+}
+?>
+
+ +
+
use Data::Dumper;
+use WWW::OPenAPIClient::Configuration;
+use WWW::OPenAPIClient::GeoQueryApi;
+
+# Create an instance of the API class
+my $api_instance = WWW::OPenAPIClient::GeoQueryApi->new();
+my $accept = application/json; # String | 
+my $contentType = application/json; # String | 
+my $queryMessage = WWW::OPenAPIClient::Object::QueryMessage->new(); # QueryMessage | 
+my $offset = 56; # Integer | Pagination offset.
+my $limit = 56; # Integer | Result limiter.
+
+eval {
+    my $result = $api_instance->geoQueryTopologyAcrossDomains(accept => $accept, contentType => $contentType, queryMessage => $queryMessage, offset => $offset, limit => $limit);
+    print Dumper($result);
+};
+if ($@) {
+    warn "Exception when calling GeoQueryApi->geoQueryTopologyAcrossDomains: $@\n";
+}
+
+ +
+
from __future__ import print_statement
+import time
+import openapi_client
+from openapi_client.rest import ApiException
+from pprint import pprint
+
+# Create an instance of the API class
+api_instance = openapi_client.GeoQueryApi()
+accept = application/json # String |  (default to application/json)
+contentType = application/json # String |  (default to application/json)
+queryMessage =  # QueryMessage | 
+offset = 56 # Integer | Pagination offset. (optional) (default to 0)
+limit = 56 # Integer | Result limiter. (optional) (default to 500)
+
+try:
+    # Geo query topology entity or entities  across topology domains.
+    api_response = api_instance.geo_query_topology_across_domains(accept, contentType, queryMessage, offset=offset, limit=limit)
+    pprint(api_response)
+except ApiException as e:
+    print("Exception when calling GeoQueryApi->geoQueryTopologyAcrossDomains: %s\n" % e)
+
+ +
+
extern crate GeoQueryApi;
+
+pub fn main() {
+    let accept = application/json; // String
+    let contentType = application/json; // String
+    let queryMessage = ; // QueryMessage
+    let offset = 56; // Integer
+    let limit = 56; // Integer
+
+    let mut context = GeoQueryApi::Context::default();
+    let result = client.geoQueryTopologyAcrossDomains(accept, contentType, queryMessage, offset, limit, &context).wait();
+
+    println!("{:?}", result);
+}
+
+
+
+ +

Scopes

+ + +
+ +

Parameters

+ + +
Header parameters
+ + + + + + + + + + + + + +
NameDescription
Accept* + + +
+
+
+ + String + + +
+
+ Required +
+
+
+
Content-Type* + + +
+
+
+ + String + + +
+
+ Required +
+
+
+
+ +
Body parameters
+ + + + + + + + + +
NameDescription
queryMessage * +

+ +
+
+ + +
Query parameters
+ + + + + + + + + + + + + +
NameDescription
offset + + +
+
+
+ + Integer + + +
+Pagination offset. +
+
+
+
+
limit + + +
+
+
+ + Integer + + +
+Result limiter. +
+
+
+
+
+ +

Responses

+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+
+
+
+
+
+

Schemas

+
+
+
+

createSchema

+

Create a new schema.

+
+
+
+

+

Create a new schema.

+

+
+
/schemas
+

+

Usage and SDK Samples

+

+ + +
+
+
curl -X POST \
+ -H "Accept: application/problem+json" \
+ -H "Content-Type: multipart/form-data" \
+ "https://localhost/topology-inventory/v1alpha11/schemas"
+
+
+
+
import org.openapitools.client.*;
+import org.openapitools.client.auth.*;
+import org.openapitools.client.model.*;
+import org.openapitools.client.api.SchemasApi;
+
+import java.io.File;
+import java.util.*;
+
+public class SchemasApiExample {
+    public static void main(String[] args) {
+
+        // Create an instance of the API class
+        SchemasApi apiInstance = new SchemasApi();
+        String accept = application/json; // String | 
+        String contentType = application/json; // String | 
+        File file = BINARY_DATA_HERE; // File | multipartFile
+
+        try {
+            apiInstance.createSchema(accept, contentType, file);
+        } catch (ApiException e) {
+            System.err.println("Exception when calling SchemasApi#createSchema");
+            e.printStackTrace();
+        }
+    }
+}
+
+
+ +
+
import 'package:openapi/api.dart';
+
+final api_instance = DefaultApi();
+
+final String accept = new String(); // String | 
+final String contentType = new String(); // String | 
+final File file = new File(); // File | multipartFile
+
+try {
+    final result = await api_instance.createSchema(accept, contentType, file);
+    print(result);
+} catch (e) {
+    print('Exception when calling DefaultApi->createSchema: $e\n');
+}
+
+
+
+ +
+
import org.openapitools.client.api.SchemasApi;
+
+public class SchemasApiExample {
+    public static void main(String[] args) {
+        SchemasApi apiInstance = new SchemasApi();
+        String accept = application/json; // String | 
+        String contentType = application/json; // String | 
+        File file = BINARY_DATA_HERE; // File | multipartFile
+
+        try {
+            apiInstance.createSchema(accept, contentType, file);
+        } catch (ApiException e) {
+            System.err.println("Exception when calling SchemasApi#createSchema");
+            e.printStackTrace();
+        }
+    }
+}
+
+ +
+

+
+// Create an instance of the API class
+SchemasApi *apiInstance = [[SchemasApi alloc] init];
+String *accept = application/json; //  (default to application/json)
+String *contentType = application/json; //  (default to application/json)
+File *file = BINARY_DATA_HERE; // multipartFile (default to null)
+
+// Create a new schema.
+[apiInstance createSchemaWith:accept
+    contentType:contentType
+    file:file
+              completionHandler: ^(NSError* error) {
+    if (error) {
+        NSLog(@"Error: %@", error);
+    }
+}];
+
+
+ +
+
var TopologyAndInventoryApi = require('topology_and_inventory_api');
+
+// Create an instance of the API class
+var api = new TopologyAndInventoryApi.SchemasApi()
+var accept = application/json; // {String} 
+var contentType = application/json; // {String} 
+var file = BINARY_DATA_HERE; // {File} multipartFile
+
+var callback = function(error, data, response) {
+  if (error) {
+    console.error(error);
+  } else {
+    console.log('API called successfully.');
+  }
+};
+api.createSchema(accept, contentType, file, callback);
+
+
+ + +
+
using System;
+using System.Diagnostics;
+using Org.OpenAPITools.Api;
+using Org.OpenAPITools.Client;
+using Org.OpenAPITools.Model;
+
+namespace Example
+{
+    public class createSchemaExample
+    {
+        public void main()
+        {
+
+            // Create an instance of the API class
+            var apiInstance = new SchemasApi();
+            var accept = application/json;  // String |  (default to application/json)
+            var contentType = application/json;  // String |  (default to application/json)
+            var file = BINARY_DATA_HERE;  // File | multipartFile (default to null)
+
+            try {
+                // Create a new schema.
+                apiInstance.createSchema(accept, contentType, file);
+            } catch (Exception e) {
+                Debug.Print("Exception when calling SchemasApi.createSchema: " + e.Message );
+            }
+        }
+    }
+}
+
+
+ +
+
<?php
+require_once(__DIR__ . '/vendor/autoload.php');
+
+// Create an instance of the API class
+$api_instance = new OpenAPITools\Client\Api\SchemasApi();
+$accept = application/json; // String | 
+$contentType = application/json; // String | 
+$file = BINARY_DATA_HERE; // File | multipartFile
+
+try {
+    $api_instance->createSchema($accept, $contentType, $file);
+} catch (Exception $e) {
+    echo 'Exception when calling SchemasApi->createSchema: ', $e->getMessage(), PHP_EOL;
+}
+?>
+
+ +
+
use Data::Dumper;
+use WWW::OPenAPIClient::Configuration;
+use WWW::OPenAPIClient::SchemasApi;
+
+# Create an instance of the API class
+my $api_instance = WWW::OPenAPIClient::SchemasApi->new();
+my $accept = application/json; # String | 
+my $contentType = application/json; # String | 
+my $file = BINARY_DATA_HERE; # File | multipartFile
+
+eval {
+    $api_instance->createSchema(accept => $accept, contentType => $contentType, file => $file);
+};
+if ($@) {
+    warn "Exception when calling SchemasApi->createSchema: $@\n";
+}
+
+ +
+
from __future__ import print_statement
+import time
+import openapi_client
+from openapi_client.rest import ApiException
+from pprint import pprint
+
+# Create an instance of the API class
+api_instance = openapi_client.SchemasApi()
+accept = application/json # String |  (default to application/json)
+contentType = application/json # String |  (default to application/json)
+file = BINARY_DATA_HERE # File | multipartFile (default to null)
+
+try:
+    # Create a new schema.
+    api_instance.create_schema(accept, contentType, file)
+except ApiException as e:
+    print("Exception when calling SchemasApi->createSchema: %s\n" % e)
+
+ +
+
extern crate SchemasApi;
+
+pub fn main() {
+    let accept = application/json; // String
+    let contentType = application/json; // String
+    let file = BINARY_DATA_HERE; // File
+
+    let mut context = SchemasApi::Context::default();
+    let result = client.createSchema(accept, contentType, file, &context).wait();
+
+    println!("{:?}", result);
+}
+
+
+
+ +

Scopes

+ + +
+ +

Parameters

+ + +
Header parameters
+ + + + + + + + + + + + + +
NameDescription
Accept* + + +
+
+
+ + String + + +
+
+ Required +
+
+
+
Content-Type* + + +
+
+
+ + String + + +
+
+ Required +
+
+
+
+ + +
Form parameters
+ + + + + + + + + +
NameDescription
file* + + +
+
+
+ + File + + + (binary) + + +
+multipartFile +
+
+
+ Required +
+
+
+
+ + +

Responses

+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+
+
+
+
+
+
+

deleteSchema

+

Delete a schema.

+
+
+
+

+

Delete a schema.

+

+
+
/schemas/{schemaName}
+

+

Usage and SDK Samples

+

+ + +
+
+
curl -X DELETE \
+ -H "Accept: application/problem+json" \
+ "https://localhost/topology-inventory/v1alpha11/schemas/{schemaName}"
+
+
+
+
import org.openapitools.client.*;
+import org.openapitools.client.auth.*;
+import org.openapitools.client.model.*;
+import org.openapitools.client.api.SchemasApi;
+
+import java.io.File;
+import java.util.*;
+
+public class SchemasApiExample {
+    public static void main(String[] args) {
+
+        // Create an instance of the API class
+        SchemasApi apiInstance = new SchemasApi();
+        String accept = application/json; // String | 
+        String schemaName = schemaName_example; // String | 
+
+        try {
+            apiInstance.deleteSchema(accept, schemaName);
+        } catch (ApiException e) {
+            System.err.println("Exception when calling SchemasApi#deleteSchema");
+            e.printStackTrace();
+        }
+    }
+}
+
+
+ +
+
import 'package:openapi/api.dart';
+
+final api_instance = DefaultApi();
+
+final String accept = new String(); // String | 
+final String schemaName = new String(); // String | 
+
+try {
+    final result = await api_instance.deleteSchema(accept, schemaName);
+    print(result);
+} catch (e) {
+    print('Exception when calling DefaultApi->deleteSchema: $e\n');
+}
+
+
+
+ +
+
import org.openapitools.client.api.SchemasApi;
+
+public class SchemasApiExample {
+    public static void main(String[] args) {
+        SchemasApi apiInstance = new SchemasApi();
+        String accept = application/json; // String | 
+        String schemaName = schemaName_example; // String | 
+
+        try {
+            apiInstance.deleteSchema(accept, schemaName);
+        } catch (ApiException e) {
+            System.err.println("Exception when calling SchemasApi#deleteSchema");
+            e.printStackTrace();
+        }
+    }
+}
+
+ +
+

+
+// Create an instance of the API class
+SchemasApi *apiInstance = [[SchemasApi alloc] init];
+String *accept = application/json; //  (default to application/json)
+String *schemaName = schemaName_example; //  (default to o-ran-smo-teiv-ran)
+
+// Delete a schema.
+[apiInstance deleteSchemaWith:accept
+    schemaName:schemaName
+              completionHandler: ^(NSError* error) {
+    if (error) {
+        NSLog(@"Error: %@", error);
+    }
+}];
+
+
+ +
+
var TopologyAndInventoryApi = require('topology_and_inventory_api');
+
+// Create an instance of the API class
+var api = new TopologyAndInventoryApi.SchemasApi()
+var accept = application/json; // {String} 
+var schemaName = schemaName_example; // {String} 
+
+var callback = function(error, data, response) {
+  if (error) {
+    console.error(error);
+  } else {
+    console.log('API called successfully.');
+  }
+};
+api.deleteSchema(accept, schemaName, callback);
+
+
+ + +
+
using System;
+using System.Diagnostics;
+using Org.OpenAPITools.Api;
+using Org.OpenAPITools.Client;
+using Org.OpenAPITools.Model;
+
+namespace Example
+{
+    public class deleteSchemaExample
+    {
+        public void main()
+        {
+
+            // Create an instance of the API class
+            var apiInstance = new SchemasApi();
+            var accept = application/json;  // String |  (default to application/json)
+            var schemaName = schemaName_example;  // String |  (default to o-ran-smo-teiv-ran)
+
+            try {
+                // Delete a schema.
+                apiInstance.deleteSchema(accept, schemaName);
+            } catch (Exception e) {
+                Debug.Print("Exception when calling SchemasApi.deleteSchema: " + e.Message );
+            }
+        }
+    }
+}
+
+
+ +
+
<?php
+require_once(__DIR__ . '/vendor/autoload.php');
+
+// Create an instance of the API class
+$api_instance = new OpenAPITools\Client\Api\SchemasApi();
+$accept = application/json; // String | 
+$schemaName = schemaName_example; // String | 
+
+try {
+    $api_instance->deleteSchema($accept, $schemaName);
+} catch (Exception $e) {
+    echo 'Exception when calling SchemasApi->deleteSchema: ', $e->getMessage(), PHP_EOL;
+}
+?>
+
+ +
+
use Data::Dumper;
+use WWW::OPenAPIClient::Configuration;
+use WWW::OPenAPIClient::SchemasApi;
+
+# Create an instance of the API class
+my $api_instance = WWW::OPenAPIClient::SchemasApi->new();
+my $accept = application/json; # String | 
+my $schemaName = schemaName_example; # String | 
+
+eval {
+    $api_instance->deleteSchema(accept => $accept, schemaName => $schemaName);
+};
+if ($@) {
+    warn "Exception when calling SchemasApi->deleteSchema: $@\n";
+}
+
+ +
+
from __future__ import print_statement
+import time
+import openapi_client
+from openapi_client.rest import ApiException
+from pprint import pprint
+
+# Create an instance of the API class
+api_instance = openapi_client.SchemasApi()
+accept = application/json # String |  (default to application/json)
+schemaName = schemaName_example # String |  (default to o-ran-smo-teiv-ran)
+
+try:
+    # Delete a schema.
+    api_instance.delete_schema(accept, schemaName)
+except ApiException as e:
+    print("Exception when calling SchemasApi->deleteSchema: %s\n" % e)
+
+ +
+
extern crate SchemasApi;
+
+pub fn main() {
+    let accept = application/json; // String
+    let schemaName = schemaName_example; // String
+
+    let mut context = SchemasApi::Context::default();
+    let result = client.deleteSchema(accept, schemaName, &context).wait();
+
+    println!("{:?}", result);
+}
+
+
+
+ +

Scopes

+ + +
+ +

Parameters

+ +
Path parameters
+ + + + + + + + + +
NameDescription
schemaName* + + +
+
+
+ + String + + +
+
+ Required +
+
+
+
+ +
Header parameters
+ + + + + + + + + +
NameDescription
Accept* + + +
+
+
+ + String + + +
+
+ Required +
+
+
+
+ + + + +

Responses

+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+
+
+
+
+
+
+

getSchemaByName

+

Get the model schema.

+
+
+
+

+

Get the model schema by name.

+

+
+
/schemas/{schemaName}/content
+

+

Usage and SDK Samples

+

+ + +
+
+
curl -X GET \
+ -H "Accept: text/plain,application/problem+json" \
+ "https://localhost/topology-inventory/v1alpha11/schemas/{schemaName}/content"
+
+
+
+
import org.openapitools.client.*;
+import org.openapitools.client.auth.*;
+import org.openapitools.client.model.*;
+import org.openapitools.client.api.SchemasApi;
+
+import java.io.File;
+import java.util.*;
+
+public class SchemasApiExample {
+    public static void main(String[] args) {
+
+        // Create an instance of the API class
+        SchemasApi apiInstance = new SchemasApi();
+        String accept = application/json; // String | 
+        String schemaName = schemaName_example; // String | 
+
+        try {
+            'String' result = apiInstance.getSchemaByName(accept, schemaName);
+            System.out.println(result);
+        } catch (ApiException e) {
+            System.err.println("Exception when calling SchemasApi#getSchemaByName");
+            e.printStackTrace();
+        }
+    }
+}
+
+
+ +
+
import 'package:openapi/api.dart';
+
+final api_instance = DefaultApi();
+
+final String accept = new String(); // String | 
+final String schemaName = new String(); // String | 
+
+try {
+    final result = await api_instance.getSchemaByName(accept, schemaName);
+    print(result);
+} catch (e) {
+    print('Exception when calling DefaultApi->getSchemaByName: $e\n');
+}
+
+
+
+ +
+
import org.openapitools.client.api.SchemasApi;
+
+public class SchemasApiExample {
+    public static void main(String[] args) {
+        SchemasApi apiInstance = new SchemasApi();
+        String accept = application/json; // String | 
+        String schemaName = schemaName_example; // String | 
+
+        try {
+            'String' result = apiInstance.getSchemaByName(accept, schemaName);
+            System.out.println(result);
+        } catch (ApiException e) {
+            System.err.println("Exception when calling SchemasApi#getSchemaByName");
+            e.printStackTrace();
+        }
+    }
+}
+
+ +
+

+
+// Create an instance of the API class
+SchemasApi *apiInstance = [[SchemasApi alloc] init];
+String *accept = application/json; //  (default to application/json)
+String *schemaName = schemaName_example; //  (default to o-ran-smo-teiv-ran)
+
+// Get the model schema.
+[apiInstance getSchemaByNameWith:accept
+    schemaName:schemaName
+              completionHandler: ^('String' output, NSError* error) {
+    if (output) {
+        NSLog(@"%@", output);
+    }
+    if (error) {
+        NSLog(@"Error: %@", error);
+    }
+}];
+
+
+ +
+
var TopologyAndInventoryApi = require('topology_and_inventory_api');
+
+// Create an instance of the API class
+var api = new TopologyAndInventoryApi.SchemasApi()
+var accept = application/json; // {String} 
+var schemaName = schemaName_example; // {String} 
+
+var callback = function(error, data, response) {
+  if (error) {
+    console.error(error);
+  } else {
+    console.log('API called successfully. Returned data: ' + data);
+  }
+};
+api.getSchemaByName(accept, schemaName, callback);
+
+
+ + +
+
using System;
+using System.Diagnostics;
+using Org.OpenAPITools.Api;
+using Org.OpenAPITools.Client;
+using Org.OpenAPITools.Model;
+
+namespace Example
+{
+    public class getSchemaByNameExample
+    {
+        public void main()
+        {
+
+            // Create an instance of the API class
+            var apiInstance = new SchemasApi();
+            var accept = application/json;  // String |  (default to application/json)
+            var schemaName = schemaName_example;  // String |  (default to o-ran-smo-teiv-ran)
+
+            try {
+                // Get the model schema.
+                'String' result = apiInstance.getSchemaByName(accept, schemaName);
+                Debug.WriteLine(result);
+            } catch (Exception e) {
+                Debug.Print("Exception when calling SchemasApi.getSchemaByName: " + e.Message );
+            }
+        }
+    }
+}
+
+
+ +
+
<?php
+require_once(__DIR__ . '/vendor/autoload.php');
+
+// Create an instance of the API class
+$api_instance = new OpenAPITools\Client\Api\SchemasApi();
+$accept = application/json; // String | 
+$schemaName = schemaName_example; // String | 
+
+try {
+    $result = $api_instance->getSchemaByName($accept, $schemaName);
+    print_r($result);
+} catch (Exception $e) {
+    echo 'Exception when calling SchemasApi->getSchemaByName: ', $e->getMessage(), PHP_EOL;
+}
+?>
+
+ +
+
use Data::Dumper;
+use WWW::OPenAPIClient::Configuration;
+use WWW::OPenAPIClient::SchemasApi;
+
+# Create an instance of the API class
+my $api_instance = WWW::OPenAPIClient::SchemasApi->new();
+my $accept = application/json; # String | 
+my $schemaName = schemaName_example; # String | 
+
+eval {
+    my $result = $api_instance->getSchemaByName(accept => $accept, schemaName => $schemaName);
+    print Dumper($result);
+};
+if ($@) {
+    warn "Exception when calling SchemasApi->getSchemaByName: $@\n";
+}
+
+ +
+
from __future__ import print_statement
+import time
+import openapi_client
+from openapi_client.rest import ApiException
+from pprint import pprint
+
+# Create an instance of the API class
+api_instance = openapi_client.SchemasApi()
+accept = application/json # String |  (default to application/json)
+schemaName = schemaName_example # String |  (default to o-ran-smo-teiv-ran)
+
+try:
+    # Get the model schema.
+    api_response = api_instance.get_schema_by_name(accept, schemaName)
+    pprint(api_response)
+except ApiException as e:
+    print("Exception when calling SchemasApi->getSchemaByName: %s\n" % e)
+
+ +
+
extern crate SchemasApi;
+
+pub fn main() {
+    let accept = application/json; // String
+    let schemaName = schemaName_example; // String
+
+    let mut context = SchemasApi::Context::default();
+    let result = client.getSchemaByName(accept, schemaName, &context).wait();
+
+    println!("{:?}", result);
+}
+
+
+
+ +

Scopes

+ + +
+ +

Parameters

+ +
Path parameters
+ + + + + + + + + +
NameDescription
schemaName* + + +
+
+
+ + String + + +
+
+ Required +
+
+
+
+ +
Header parameters
+ + + + + + + + + +
NameDescription
Accept* + + +
+
+
+ + String + + +
+
+ Required +
+
+
+
+ + + + +

Responses

+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+
+
+
+
+
+
+

getSchemas

+

Get a list of all schemas.

+
+
+
+

+

Get a list of all schemas.

+

+
+
/schemas
+

+

Usage and SDK Samples

+

+ + +
+
+
curl -X GET \
+ -H "Accept: application/json,application/problem+json" \
+ "https://localhost/topology-inventory/v1alpha11/schemas?domain=ran&offset=56&limit=56"
+
+
+
+
import org.openapitools.client.*;
+import org.openapitools.client.auth.*;
+import org.openapitools.client.model.*;
+import org.openapitools.client.api.SchemasApi;
+
+import java.io.File;
+import java.util.*;
+
+public class SchemasApiExample {
+    public static void main(String[] args) {
+
+        // Create an instance of the API class
+        SchemasApi apiInstance = new SchemasApi();
+        String accept = application/json; // String | 
+        String domain = ran; // String | 
+        Integer offset = 56; // Integer | Pagination offset.
+        Integer limit = 56; // Integer | Result limiter.
+
+        try {
+            SchemaList result = apiInstance.getSchemas(accept, domain, offset, limit);
+            System.out.println(result);
+        } catch (ApiException e) {
+            System.err.println("Exception when calling SchemasApi#getSchemas");
+            e.printStackTrace();
+        }
+    }
+}
+
+
+ +
+
import 'package:openapi/api.dart';
+
+final api_instance = DefaultApi();
+
+final String accept = new String(); // String | 
+final String domain = new String(); // String | 
+final Integer offset = new Integer(); // Integer | Pagination offset.
+final Integer limit = new Integer(); // Integer | Result limiter.
+
+try {
+    final result = await api_instance.getSchemas(accept, domain, offset, limit);
+    print(result);
+} catch (e) {
+    print('Exception when calling DefaultApi->getSchemas: $e\n');
+}
+
+
+
+ +
+
import org.openapitools.client.api.SchemasApi;
+
+public class SchemasApiExample {
+    public static void main(String[] args) {
+        SchemasApi apiInstance = new SchemasApi();
+        String accept = application/json; // String | 
+        String domain = ran; // String | 
+        Integer offset = 56; // Integer | Pagination offset.
+        Integer limit = 56; // Integer | Result limiter.
+
+        try {
+            SchemaList result = apiInstance.getSchemas(accept, domain, offset, limit);
+            System.out.println(result);
+        } catch (ApiException e) {
+            System.err.println("Exception when calling SchemasApi#getSchemas");
+            e.printStackTrace();
+        }
+    }
+}
+
+ +
+

+
+// Create an instance of the API class
+SchemasApi *apiInstance = [[SchemasApi alloc] init];
+String *accept = application/json; //  (default to application/json)
+String *domain = ran; //  (optional) (default to null)
+Integer *offset = 56; // Pagination offset. (optional) (default to 0)
+Integer *limit = 56; // Result limiter. (optional) (default to 500)
+
+// Get a list of all schemas.
+[apiInstance getSchemasWith:accept
+    domain:domain
+    offset:offset
+    limit:limit
+              completionHandler: ^(SchemaList output, NSError* error) {
+    if (output) {
+        NSLog(@"%@", output);
+    }
+    if (error) {
+        NSLog(@"Error: %@", error);
+    }
+}];
+
+
+ +
+
var TopologyAndInventoryApi = require('topology_and_inventory_api');
+
+// Create an instance of the API class
+var api = new TopologyAndInventoryApi.SchemasApi()
+var accept = application/json; // {String} 
+var opts = {
+  'domain': ran, // {String} 
+  'offset': 56, // {Integer} Pagination offset.
+  'limit': 56 // {Integer} Result limiter.
+};
+
+var callback = function(error, data, response) {
+  if (error) {
+    console.error(error);
+  } else {
+    console.log('API called successfully. Returned data: ' + data);
+  }
+};
+api.getSchemas(accept, opts, callback);
+
+
+ + +
+
using System;
+using System.Diagnostics;
+using Org.OpenAPITools.Api;
+using Org.OpenAPITools.Client;
+using Org.OpenAPITools.Model;
+
+namespace Example
+{
+    public class getSchemasExample
+    {
+        public void main()
+        {
+
+            // Create an instance of the API class
+            var apiInstance = new SchemasApi();
+            var accept = application/json;  // String |  (default to application/json)
+            var domain = ran;  // String |  (optional)  (default to null)
+            var offset = 56;  // Integer | Pagination offset. (optional)  (default to 0)
+            var limit = 56;  // Integer | Result limiter. (optional)  (default to 500)
+
+            try {
+                // Get a list of all schemas.
+                SchemaList result = apiInstance.getSchemas(accept, domain, offset, limit);
+                Debug.WriteLine(result);
+            } catch (Exception e) {
+                Debug.Print("Exception when calling SchemasApi.getSchemas: " + e.Message );
+            }
+        }
+    }
+}
+
+
+ +
+
<?php
+require_once(__DIR__ . '/vendor/autoload.php');
+
+// Create an instance of the API class
+$api_instance = new OpenAPITools\Client\Api\SchemasApi();
+$accept = application/json; // String | 
+$domain = ran; // String | 
+$offset = 56; // Integer | Pagination offset.
+$limit = 56; // Integer | Result limiter.
+
+try {
+    $result = $api_instance->getSchemas($accept, $domain, $offset, $limit);
+    print_r($result);
+} catch (Exception $e) {
+    echo 'Exception when calling SchemasApi->getSchemas: ', $e->getMessage(), PHP_EOL;
+}
+?>
+
+ +
+
use Data::Dumper;
+use WWW::OPenAPIClient::Configuration;
+use WWW::OPenAPIClient::SchemasApi;
+
+# Create an instance of the API class
+my $api_instance = WWW::OPenAPIClient::SchemasApi->new();
+my $accept = application/json; # String | 
+my $domain = ran; # String | 
+my $offset = 56; # Integer | Pagination offset.
+my $limit = 56; # Integer | Result limiter.
+
+eval {
+    my $result = $api_instance->getSchemas(accept => $accept, domain => $domain, offset => $offset, limit => $limit);
+    print Dumper($result);
+};
+if ($@) {
+    warn "Exception when calling SchemasApi->getSchemas: $@\n";
+}
+
+ +
+
from __future__ import print_statement
+import time
+import openapi_client
+from openapi_client.rest import ApiException
+from pprint import pprint
+
+# Create an instance of the API class
+api_instance = openapi_client.SchemasApi()
+accept = application/json # String |  (default to application/json)
+domain = ran # String |  (optional) (default to null)
+offset = 56 # Integer | Pagination offset. (optional) (default to 0)
+limit = 56 # Integer | Result limiter. (optional) (default to 500)
+
+try:
+    # Get a list of all schemas.
+    api_response = api_instance.get_schemas(accept, domain=domain, offset=offset, limit=limit)
+    pprint(api_response)
+except ApiException as e:
+    print("Exception when calling SchemasApi->getSchemas: %s\n" % e)
+
+ +
+
extern crate SchemasApi;
+
+pub fn main() {
+    let accept = application/json; // String
+    let domain = ran; // String
+    let offset = 56; // Integer
+    let limit = 56; // Integer
+
+    let mut context = SchemasApi::Context::default();
+    let result = client.getSchemas(accept, domain, offset, limit, &context).wait();
+
+    println!("{:?}", result);
+}
+
+
+
+ +

Scopes

+ + +
+ +

Parameters

+ + +
Header parameters
+ + + + + + + + + +
NameDescription
Accept* + + +
+
+
+ + String + + +
+
+ Required +
+
+
+
+ + + +
Query parameters
+ + + + + + + + + + + + + + + + + +
NameDescription
domain + + +
+
+
+ + String + + +
+
+
+
offset + + +
+
+
+ + Integer + + +
+Pagination offset. +
+
+
+
+
limit + + +
+
+
+ + Integer + + +
+Result limiter. +
+
+
+
+
+ +

Responses

+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+

+

+ + + + + + +
+
+
+ +
+ +
+
+
+
+
+
+
+ +
+
+
+ + + + + + + + + + + + + + diff --git a/docs/offeredapis/index.html b/docs/offeredapis/index.html new file mode 100644 index 0000000..831b217 --- /dev/null +++ b/docs/offeredapis/index.html @@ -0,0 +1,2521 @@ + + + + Topology and Inventory API + + + +

Topology and Inventory API

+

Topology and Inventory data is the information that represents entities in a telecommunications network and the relationships between them that provide insight into a particular aspect of the network of importance to specific use cases. Topology and Inventory data can be derived from inventory, configuration, or other data.

+

Topology and Inventory supports several topology domains. A domain is a grouping of network topology entities which handles topology data.

+

Entities are enabling the modelling and storage of complex network infrastructure and relationships.

+

Relationships are a uni-directional connection between two entities, one of which is the originating side (A-side) and the other is the terminating side (B-side). The order of the sides matters since it defines the relationship itself which must be unique

+

Topology and Inventory API provides the capabilities to fetch topology data. Using the filtering options, it is possible to define more specific query requests.

+

Querying simple entities

+

EntityType is used as the root of the queries (from here referred as RootObject). Every other object, either targetFilter or scopeFilter, has to relate to the RootObject. The queries are constructed starting from the RootObject and all other objects are joined to it. If there is no connection between the RootObject and the other object(s), the query will not get constructed. The RootObject still can be retrieved and filtered using the /attributes.

+

| USE CASE | ENTITY TYPE | TARGET FILTER | SCOPE FILTER | QUERY RESULT | +|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------------|:----------------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------------------------|:------------------------------------------------------------------------------------------------------------------| +| To return the ids for all instances of the entityType used in the query. |  GNBDUFunction | | | All ids of every GNBDUFunction | +| To return all attributes of every instance of the entityType used in the query. |  GNBDUFunction |  /attributes | | All GNBDUFunctions with every attribute | +| To return every instance of the entityType used in the query, but only the attribute that was defined in the targetFilter parameter.
Note: The attribute must be a valid field of the object. |  GNBDUFunction |  /attributes(gNBId)
   OR
/attributes/gNBId | | All FDNs of every GNBDUFunction | +| To return every instance of the entityType used in the query, but only the attributes that were defined in the targetFilter parameter.
Case 1: The attributes must be separated by a comma "," in case of using parenthesis "()".
Case 2: The attributes must be separated by a semicolon ";" in case of using slash "/".
Note: The attributes must be valid targetFilter of the object. |  GNBDUFunction |  /attributes(gNBId, gNBIdLength)
   OR
/attributes/gNBId; /attributes/gNBIdLength | | All Ids and FDNs of every GNBDUFunction | +| To return the ids for all instances of the entityType used in the query, that matches the given attribute in the scopeFilter parameter.
Note: The attribute must be a valid field of the object. |  GNBDUFunction | | /attributes[contains (@fdn, "/SubNetwork=Ireland/")] | Unique set of ids of GNBDUFunctions, where fdn contains "SubNetwork=Ireland" | +| To return the ids for all instances of the entityType used in the query, that matches the given attributes in the scopeFilter parameter.
Note: the entityType and the object in the scopeFilter parameter must match, and the attributes must be valid field or fields of the object. The attributes must be separated by a comma ",". |  GNBDUFunction | | /attributes[@gNBIdLength=3 and @gNBId=111] | Unique set of ids of GNBDUFunctions, where the gNBIdLength equals 3 and the gNBId equals 111 | +| To return the ids for all instances of the entityType used in the query, that satisfies every condition in one of the tags in the scopeFilter parameter. A tag is a complete unit of scopeFilter parameter surrounded by square brackets.
Note: The attributes must be valid field or fields of the object. |  GNBDUFunction | | /attributes[@gNBIdLength=3 and @gNBId=111]
   OR
/attributes[@gNBIdLength=3 and @gNBId=112] | Unique set of ids of GNBDUFunctions, where where the gNBIdLength equals 3 and the gNBId is either 111 or 112 |

+

Querying connected entities

+

It is possible to get information about directly connected objects as well. If entityType is present in the targetFilter parameter, the query provides information about that entityType itself.

+

| USE CASE | ENTITY TYPE | TARGET FILTER | SCOPE FILTER | QUERY RESULT | +|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------|-------------------------------------|-----------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------| +| To return the ids for all instances of the entityType in the targetFilter parameter, if they are directly related to the queried entityType. |  GNBDUFunction |  /NRCellDU | | Unique set of ids of NRCellDUs that relates to GNBDUFunctions directly with any relationship type | +| To return the ids for all instances of the entityTypes in the targetFilter parameter, if they are directly related to the entityType. |  GNBDUFunction |  /NRCellDU ;  /NRSectorCarrier | | Unique set of ids of NRCellDUs and NRSectorCarriers that relates to GNBDUFunctions directly with any relationship type | +| To return the ids for all instances of the queried entityType that has one or more direct relationships with the entityType specified in the scopeFilter parameter. |  GNBDUFunction | | /AntennaCapability | Unique set of ids of GNBDUFunctions that are directly related to AntennaCapability with any relationship type | +| To return the ids for all instances of the queried entityType that has one or more direct relationships with at least one of the entityTypes specified in the scopeFilter parameter. |  GNBDUFunction | | /AntennaCapability
   OR
/NRCellDU | Unique set of ids of GNBDUFunctions that are directly related to AntennaCapability or NRCellDU with any relationship type |

+
+ +
Contact Info: team@openapitools.org
+
Version: 0.11.0
+
BasePath:/topology-inventory/v1alpha11
+
Copyright (C) 2024 Ericsson, Modifications Copyright (C) 2024 OpenInfra Foundation Europe. All rights reserved.
+
http://www.apache.org/licenses/LICENSE-2.0
+

Access

+ +

Methods

+ [ Jump to Models ] + +

Table of Contents

+
+

Classifiers

+ +

Collections

+ +

Decorators

+ +

EntitiesAndRelationships

+ +

GeoQuery

+ +

Schemas

+ + +

Classifiers

+
+
+ Up +
put /classifiers
+
Update entities and/or relationships with classifier(s). (updateClassifier)
+
Update entities and/or relationships with classifier(s).
+ + +

Consumes

+ This API call consumes the following media types via the Content-Type request header: +
    +
  • application/json
  • +
+ +

Request body

+
+
Classifier Classifier (required)
+ +
Body Parameter
+ +
+ +

Request headers

+
+
Accept (required)
+ +
Header Parameter — default: application/json
+
Content-Type (required)
+ +
Header Parameter — default: application/json
+ +
+ + + + + + +

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+ +

Produces

+ This API call produces the following media types according to the Accept request header; + the media type will be conveyed by the Content-Type response header. +
    +
  • application/problem+json
  • +
+ +

Responses

+

204

+ No Content + +

400

+ Bad Request + ErrorMessage +

401

+ Unauthorized + ErrorMessage +

403

+ Forbidden + ErrorMessage +

409

+ Conflict + ErrorMessage +

500

+ Internal Server Error + ErrorMessage +
+
+

Collections

+
+
+ Up +
post /collections
+
Create a collection. (createCollection)
+
Create a collection.
+ + +

Consumes

+ This API call consumes the following media types via the Content-Type request header: +
    +
  • application/json
  • +
+ +

Request body

+
+
Collection Collection (required)
+ +
Body Parameter
+ +
+ +

Request headers

+
+
Accept (required)
+ +
Header Parameter — default: application/json
+
Content-Type (required)
+ +
Header Parameter — default: application/json
+ +
+ + + +

Return type

+ + + + +

Example data

+
Content-Type: application/json
+
{
+  "criteria" : {
+    "resourceInstances" : [ "resourceInstances", "resourceInstances" ]
+  },
+  "id" : "id",
+  "collectionName" : "collectionName"
+}
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+ +

Produces

+ This API call produces the following media types according to the Accept request header; + the media type will be conveyed by the Content-Type response header. +
    +
  • application/json
  • +
  • application/problem+json
  • +
+ +

Responses

+

201

+ Created + CollectionResponse +

400

+ Bad Request + ErrorMessage +

401

+ Unauthorized + ErrorMessage +

403

+ Forbidden + ErrorMessage +

409

+ Conflict + ErrorMessage +

500

+ Internal Server Error + ErrorMessage +
+
+
+
+ Up +
delete /collections/{collectionId}
+
Delete a collection with specified id. (deleteCollection)
+
Delete a collection with specified id.
+ +

Path parameters

+
+
collectionId (required)
+ +
Path Parameter — default: null
+
+ + + +

Request headers

+
+
Accept (required)
+ +
Header Parameter — default: application/json
+ +
+ + + + + + +

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+ +

Produces

+ This API call produces the following media types according to the Accept request header; + the media type will be conveyed by the Content-Type response header. +
    +
  • application/problem+json
  • +
+ +

Responses

+

204

+ No Content + +

400

+ Bad Request + ErrorMessage +

401

+ Unauthorized + ErrorMessage +

403

+ Forbidden + ErrorMessage +

404

+ Not Found + ErrorMessage +

500

+ Internal Server Error + ErrorMessage +
+
+
+
+ Up +
get /collections
+
Get all collections. (getAllCollections)
+
Get all collections.
+ + + + +

Request headers

+
+
Accept (required)
+ +
Header Parameter — default: application/json
+ +
+ +

Query parameters

+
+
offset (optional)
+ +
Query Parameter — Pagination offset. default: 0
limit (optional)
+ +
Query Parameter — Result limiter. default: 500
+
+ + +

Return type

+
+ Collections + +
+ + + +

Example data

+
Content-Type: application/json
+
{
+  "next" : {
+    "href" : "href"
+  },
+  "last" : {
+    "href" : "href"
+  },
+  "prev" : {
+    "href" : "href"
+  },
+  "self" : {
+    "href" : "href"
+  },
+  "totalCount" : 0,
+  "items" : [ {
+    "criteria" : {
+      "resourceInstances" : [ "resourceInstances", "resourceInstances" ]
+    },
+    "id" : "id",
+    "collectionName" : "collectionName"
+  }, {
+    "criteria" : {
+      "resourceInstances" : [ "resourceInstances", "resourceInstances" ]
+    },
+    "id" : "id",
+    "collectionName" : "collectionName"
+  } ],
+  "first" : {
+    "href" : "href"
+  }
+}
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+ +

Produces

+ This API call produces the following media types according to the Accept request header; + the media type will be conveyed by the Content-Type response header. +
    +
  • application/json
  • +
  • application/problem+json
  • +
+ +

Responses

+

200

+ OK + Collections +

204

+ No Content + +

400

+ Bad Request + ErrorMessage +

401

+ Unauthorized + ErrorMessage +

403

+ Forbidden + ErrorMessage +

500

+ Internal Server Error + ErrorMessage +
+
+
+
+ Up +
get /collections/{collectionId}
+
Get a collection with specified id. (getCollection)
+
Get a collection with specified id.
+ +

Path parameters

+
+
collectionId (required)
+ +
Path Parameter — default: null
+
+ + + +

Request headers

+
+
Accept (required)
+ +
Header Parameter — default: application/json
+ +
+ + + +

Return type

+ + + + +

Example data

+
Content-Type: application/json
+
{
+  "criteria" : {
+    "resourceInstances" : [ "resourceInstances", "resourceInstances" ]
+  },
+  "id" : "id",
+  "collectionName" : "collectionName"
+}
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+ +

Produces

+ This API call produces the following media types according to the Accept request header; + the media type will be conveyed by the Content-Type response header. +
    +
  • application/json
  • +
  • application/problem+json
  • +
+ +

Responses

+

200

+ OK + CollectionResponse +

400

+ Bad Request + ErrorMessage +

401

+ Unauthorized + ErrorMessage +

403

+ Forbidden + ErrorMessage +

404

+ Not Found + ErrorMessage +

500

+ Internal Server Error + ErrorMessage +
+
+
+
+ Up +
put /collections/{collectionId}
+
Update a collection. (updateCollection)
+
Update a collection.
+ +

Path parameters

+
+
collectionId (required)
+ +
Path Parameter — default: null
+
+ +

Consumes

+ This API call consumes the following media types via the Content-Type request header: +
    +
  • application/json
  • +
+ +

Request body

+
+
Collection Collection (required)
+ +
Body Parameter
+ +
+ +

Request headers

+
+
Accept (required)
+ +
Header Parameter — default: application/json
+
Content-Type (required)
+ +
Header Parameter — default: application/json
+ +
+ + + + + + +

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+ +

Produces

+ This API call produces the following media types according to the Accept request header; + the media type will be conveyed by the Content-Type response header. +
    +
  • application/problem+json
  • +
+ +

Responses

+

204

+ No Content + +

400

+ Bad Request + ErrorMessage +

401

+ Unauthorized + ErrorMessage +

403

+ Forbidden + ErrorMessage +

409

+ Conflict + ErrorMessage +

500

+ Internal Server Error + ErrorMessage +
+
+

Decorators

+
+
+ Up +
put /decorators
+
Update entities and/or relationships with decorator(s). (updateDecorator)
+
Update entities and/or relationships with decorator(s).
+ + +

Consumes

+ This API call consumes the following media types via the Content-Type request header: +
    +
  • application/json
  • +
+ +

Request body

+
+
Decorator Decorator (required)
+ +
Body Parameter
+ +
+ +

Request headers

+
+
Accept (required)
+ +
Header Parameter — default: application/json
+
Content-Type (required)
+ +
Header Parameter — default: application/json
+ +
+ + + + + + +

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+ +

Produces

+ This API call produces the following media types according to the Accept request header; + the media type will be conveyed by the Content-Type response header. +
    +
  • application/problem+json
  • +
+ +

Responses

+

204

+ No Content + +

400

+ Bad Request + ErrorMessage +

401

+ Unauthorized + ErrorMessage +

403

+ Forbidden + ErrorMessage +

409

+ Conflict + ErrorMessage +

500

+ Internal Server Error + ErrorMessage +
+
+

EntitiesAndRelationships

+
+
+ Up +
get /domains
+
Get all the available topology domains. (getAllDomains)
+
Get all the available topology domains.
+ + + + +

Request headers

+
+
Accept (required)
+ +
Header Parameter — default: application/json
+ +
+ +

Query parameters

+
+
offset (optional)
+ +
Query Parameter — Pagination offset. default: 0
limit (optional)
+ +
Query Parameter — Result limiter. default: 500
+
+ + +

Return type

+
+ Domains + +
+ + + +

Example data

+
Content-Type: application/json
+
{
+  "next" : {
+    "href" : "href"
+  },
+  "last" : {
+    "href" : "href"
+  },
+  "prev" : {
+    "href" : "href"
+  },
+  "self" : {
+    "href" : "href"
+  },
+  "totalCount" : 0,
+  "items" : [ {
+    "name" : "name",
+    "entityTypes" : {
+      "href" : "href"
+    },
+    "relationshipTypes" : {
+      "href" : "href"
+    }
+  }, {
+    "name" : "name",
+    "entityTypes" : {
+      "href" : "href"
+    },
+    "relationshipTypes" : {
+      "href" : "href"
+    }
+  } ],
+  "first" : {
+    "href" : "href"
+  }
+}
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+ +

Produces

+ This API call produces the following media types according to the Accept request header; + the media type will be conveyed by the Content-Type response header. +
    +
  • application/json
  • +
  • application/problem+json
  • +
+ +

Responses

+

200

+ OK + Domains +

400

+ Bad Request + ErrorMessage +

401

+ Unauthorized + ErrorMessage +

403

+ Forbidden + ErrorMessage +

500

+ Internal Server Error + ErrorMessage +
+
+
+
+ Up +
get /domains/{domainName}/entity-types/{entityTypeName}/entities/{entityId}/relationships
+
Get all relationships for entity type name with specified id. Specified id represents the entity instance. (getAllRelationshipsForEntityId)
+
Get all relationships for entity type name with specified id. Specified id represents the entity instance.
+ +

Path parameters

+
+
domainName (required)
+ +
Path Parameter — domain name default: null
entityTypeName (required)
+ +
Path Parameter — default: null
entityId (required)
+ +
Path Parameter — default: null
+
+ + + +

Request headers

+
+
Accept (required)
+ +
Header Parameter — default: application/json
+ +
+ +

Query parameters

+
+
offset (optional)
+ +
Query Parameter — Pagination offset. default: 0
limit (optional)
+ +
Query Parameter — Result limiter. default: 500
+
+ + +

Return type

+ + + + +

Example data

+
Content-Type: application/json
+
{
+  "next" : {
+    "href" : "href"
+  },
+  "last" : {
+    "href" : "href"
+  },
+  "prev" : {
+    "href" : "href"
+  },
+  "self" : {
+    "href" : "href"
+  },
+  "totalCount" : 0,
+  "items" : [ "{}", "{}" ],
+  "first" : {
+    "href" : "href"
+  }
+}
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+ +

Produces

+ This API call produces the following media types according to the Accept request header; + the media type will be conveyed by the Content-Type response header. +
    +
  • application/json
  • +
  • application/problem+json
  • +
+ +

Responses

+

200

+ OK + RelationshipsResponseMessage +

400

+ Bad Request + ErrorMessage +

401

+ Unauthorized + ErrorMessage +

403

+ Forbidden + ErrorMessage +

404

+ Not Found + ErrorMessage +

500

+ Internal Server Error + ErrorMessage +
+
+
+
+ Up +
get /domains/{domainName}/entities
+
Get entities by domain (getEntitiesByDomain)
+
Get topology entities by domain, using specified targetFilter as mandatory query parameter.
+ +

Path parameters

+
+
domainName (required)
+ +
Path Parameter — domain name default: null
+
+ + + +

Request headers

+
+
Accept (required)
+ +
Header Parameter — default: application/json
+ +
+ +

Query parameters

+
+
targetFilter (optional)
+ +
Query Parameter — Use targetFilter to specify the entity type and attributes to be returned in the REST response. The value for targetFilter can also be a list of entity types and attributes. default: null
scopeFilter (optional)
+ +
Query Parameter — Use scopeFilter to specify the attributes to match on. The value for scopeFilter can also be a list of entity types and attributes. scopeFilter returns a boolean. default: null
offset (optional)
+ +
Query Parameter — Pagination offset. default: 0
limit (optional)
+ +
Query Parameter — Result limiter. default: 500
+
+ + +

Return type

+ + + + +

Example data

+
Content-Type: application/json
+
{
+  "next" : {
+    "href" : "href"
+  },
+  "last" : {
+    "href" : "href"
+  },
+  "prev" : {
+    "href" : "href"
+  },
+  "self" : {
+    "href" : "href"
+  },
+  "totalCount" : 0,
+  "items" : [ "{}", "{}" ],
+  "first" : {
+    "href" : "href"
+  }
+}
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+ +

Produces

+ This API call produces the following media types according to the Accept request header; + the media type will be conveyed by the Content-Type response header. +
    +
  • application/json
  • +
  • application/problem+json
  • +
+ +

Responses

+

200

+ OK + EntitiesResponseMessage +

400

+ Bad Request + ErrorMessage +

401

+ Unauthorized + ErrorMessage +

403

+ Forbidden + ErrorMessage +

500

+ Internal Server Error + ErrorMessage +
+
+
+
+ Up +
get /domains/{domainName}/relationship-types/{relationshipTypeName}/relationships/{relationshipId}
+
Get relationship with specified id. Specified id represents the relationship instance. (getRelationshipById)
+
Get relationship with specified id. Specified id represents the relationship instance.
+ +

Path parameters

+
+
domainName (required)
+ +
Path Parameter — domain name default: null
relationshipTypeName (required)
+ +
Path Parameter — default: null
relationshipId (required)
+ +
Path Parameter — default: null
+
+ + + +

Request headers

+
+
Accept (required)
+ +
Header Parameter — default: application/json
+ +
+ + + +

Return type

+
+ + Object +
+ + + +

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+ +

Produces

+ This API call produces the following media types according to the Accept request header; + the media type will be conveyed by the Content-Type response header. +
    +
  • application/yang.data+json
  • +
  • application/problem+json
  • +
+ +

Responses

+

200

+ OK + Object +

400

+ Bad Request + ErrorMessage +

401

+ Unauthorized + ErrorMessage +

403

+ Forbidden + ErrorMessage +

404

+ Not Found + ErrorMessage +

500

+ Internal Server Error + ErrorMessage +
+
+
+
+ Up +
get /domains/{domainName}/relationship-types/{relationshipTypeName}/relationships
+
Get topology relationships of a specific relationship type name. (getRelationshipsByType)
+
Get topology relationships of a specific relationship type name.
+ +

Path parameters

+
+
domainName (required)
+ +
Path Parameter — domain name default: null
relationshipTypeName (required)
+ +
Path Parameter — default: null
+
+ + + +

Request headers

+
+
Accept (required)
+ +
Header Parameter — default: application/json
+ +
+ +

Query parameters

+
+
targetFilter (optional)
+ +
Query Parameter — Use targetFilter to specify the entity type and attributes to be returned in the REST response. The value for targetFilter can also be a list of entity types and attributes. default: null
scopeFilter (optional)
+ +
Query Parameter — Use scopeFilter to specify the attributes to match on. The value for scopeFilter can also be a list of entity types and attributes. scopeFilter returns a boolean. default: null
offset (optional)
+ +
Query Parameter — Pagination offset. default: 0
limit (optional)
+ +
Query Parameter — Result limiter. default: 500
+
+ + +

Return type

+ + + + +

Example data

+
Content-Type: application/json
+
{
+  "next" : {
+    "href" : "href"
+  },
+  "last" : {
+    "href" : "href"
+  },
+  "prev" : {
+    "href" : "href"
+  },
+  "self" : {
+    "href" : "href"
+  },
+  "totalCount" : 0,
+  "items" : [ "{}", "{}" ],
+  "first" : {
+    "href" : "href"
+  }
+}
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+ +

Produces

+ This API call produces the following media types according to the Accept request header; + the media type will be conveyed by the Content-Type response header. +
    +
  • application/json
  • +
  • application/problem+json
  • +
+ +

Responses

+

200

+ OK + RelationshipsResponseMessage +

400

+ Bad Request + ErrorMessage +

401

+ Unauthorized + ErrorMessage +

403

+ Forbidden + ErrorMessage +

500

+ Internal Server Error + ErrorMessage +
+
+
+
+ Up +
get /domains/{domainName}/entity-types/{entityTypeName}/entities
+
Get all topology entities of a specific entity type. (getTopologyByEntityTypeName)
+
Get all topology entities of a specific entity type.
+ +

Path parameters

+
+
domainName (required)
+ +
Path Parameter — domain name default: null
entityTypeName (required)
+ +
Path Parameter — default: null
+
+ + + +

Request headers

+
+
Accept (required)
+ +
Header Parameter — default: application/json
+ +
+ +

Query parameters

+
+
targetFilter (optional)
+ +
Query Parameter — Use targetFilter to specify the entity type and attributes to be returned in the REST response. The value for targetFilter can also be a list of entity types and attributes. default: null
scopeFilter (optional)
+ +
Query Parameter — Use scopeFilter to specify the attributes to match on. The value for scopeFilter can also be a list of entity types and attributes. scopeFilter returns a boolean. default: null
offset (optional)
+ +
Query Parameter — Pagination offset. default: 0
limit (optional)
+ +
Query Parameter — Result limiter. default: 500
+
+ + +

Return type

+ + + + +

Example data

+
Content-Type: application/json
+
{
+  "next" : {
+    "href" : "href"
+  },
+  "last" : {
+    "href" : "href"
+  },
+  "prev" : {
+    "href" : "href"
+  },
+  "self" : {
+    "href" : "href"
+  },
+  "totalCount" : 0,
+  "items" : [ "{}", "{}" ],
+  "first" : {
+    "href" : "href"
+  }
+}
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+ +

Produces

+ This API call produces the following media types according to the Accept request header; + the media type will be conveyed by the Content-Type response header. +
    +
  • application/json
  • +
  • application/problem+json
  • +
+ +

Responses

+

200

+ OK + EntitiesResponseMessage +

400

+ Bad Request + ErrorMessage +

401

+ Unauthorized + ErrorMessage +

403

+ Forbidden + ErrorMessage +

500

+ Internal Server Error + ErrorMessage +
+
+
+
+ Up +
get /domains/{domainName}/entity-types/{entityTypeName}/entities/{entityId}
+
Get topology for entity type name with specified id. Specified id represents the entity instance. (getTopologyById)
+
Get topology for entity type name with specified id. Specified id represents the entity instance.
+ +

Path parameters

+
+
domainName (required)
+ +
Path Parameter — domain name default: null
entityTypeName (required)
+ +
Path Parameter — default: null
entityId (required)
+ +
Path Parameter — default: null
+
+ + + +

Request headers

+
+
Accept (required)
+ +
Header Parameter — default: application/json
+ +
+ + + +

Return type

+
+ + Object +
+ + + +

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+ +

Produces

+ This API call produces the following media types according to the Accept request header; + the media type will be conveyed by the Content-Type response header. +
    +
  • application/yang.data+json
  • +
  • application/problem+json
  • +
+ +

Responses

+

200

+ OK + Object +

400

+ Bad Request + ErrorMessage +

401

+ Unauthorized + ErrorMessage +

403

+ Forbidden + ErrorMessage +

404

+ Not Found + ErrorMessage +

500

+ Internal Server Error + ErrorMessage +
+
+
+
+ Up +
get /domains/{domainName}/entity-types
+
Get all the available topology entity types in domain name. (getTopologyEntityTypes)
+
Get all the available topology entity types in domain name.
+ +

Path parameters

+
+
domainName (required)
+ +
Path Parameter — domain name default: null
+
+ + + +

Request headers

+
+
Accept (required)
+ +
Header Parameter — default: application/json
+ +
+ +

Query parameters

+
+
offset (optional)
+ +
Query Parameter — Pagination offset. default: 0
limit (optional)
+ +
Query Parameter — Result limiter. default: 500
+
+ + +

Return type

+
+ EntityTypes + +
+ + + +

Example data

+
Content-Type: application/json
+
{
+  "next" : {
+    "href" : "href"
+  },
+  "last" : {
+    "href" : "href"
+  },
+  "prev" : {
+    "href" : "href"
+  },
+  "self" : {
+    "href" : "href"
+  },
+  "totalCount" : 0,
+  "items" : [ {
+    "entities" : {
+      "href" : "href"
+    },
+    "name" : "name"
+  }, {
+    "entities" : {
+      "href" : "href"
+    },
+    "name" : "name"
+  } ],
+  "first" : {
+    "href" : "href"
+  }
+}
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+ +

Produces

+ This API call produces the following media types according to the Accept request header; + the media type will be conveyed by the Content-Type response header. +
    +
  • application/json
  • +
  • application/problem+json
  • +
+ +

Responses

+

200

+ OK + EntityTypes +

400

+ Bad Request + ErrorMessage +

401

+ Unauthorized + ErrorMessage +

403

+ Forbidden + ErrorMessage +

500

+ Internal Server Error + ErrorMessage +
+
+
+
+ Up +
get /domains/{domainName}/relationship-types
+
Get all the available topology relationship types. (getTopologyRelationshipTypes)
+
Get all the available topology relationship types.
+ +

Path parameters

+
+
domainName (required)
+ +
Path Parameter — domain name default: null
+
+ + + +

Request headers

+
+
Accept (required)
+ +
Header Parameter — default: application/json
+ +
+ +

Query parameters

+
+
offset (optional)
+ +
Query Parameter — Pagination offset. default: 0
limit (optional)
+ +
Query Parameter — Result limiter. default: 500
+
+ + +

Return type

+ + + + +

Example data

+
Content-Type: application/json
+
{
+  "next" : {
+    "href" : "href"
+  },
+  "last" : {
+    "href" : "href"
+  },
+  "prev" : {
+    "href" : "href"
+  },
+  "self" : {
+    "href" : "href"
+  },
+  "totalCount" : 0,
+  "items" : [ {
+    "relationships" : {
+      "href" : "href"
+    },
+    "name" : "name"
+  }, {
+    "relationships" : {
+      "href" : "href"
+    },
+    "name" : "name"
+  } ],
+  "first" : {
+    "href" : "href"
+  }
+}
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+ +

Produces

+ This API call produces the following media types according to the Accept request header; + the media type will be conveyed by the Content-Type response header. +
    +
  • application/json
  • +
  • application/problem+json
  • +
+ +

Responses

+

200

+ OK + RelationshipTypes +

400

+ Bad Request + ErrorMessage +

401

+ Unauthorized + ErrorMessage +

403

+ Forbidden + ErrorMessage +

500

+ Internal Server Error + ErrorMessage +
+
+

GeoQuery

+
+
+ Up +
post /geo-queries
+
Geo query topology entity or entities across topology domains. (geoQueryTopologyAcrossDomains)
+
Geo query topology entity or entities across topology domains.
+ + +

Consumes

+ This API call consumes the following media types via the Content-Type request header: +
    +
  • application/json
  • +
+ +

Request body

+
+
QueryMessage QueryMessage (required)
+ +
Body Parameter
+ +
+ +

Request headers

+
+
Accept (required)
+ +
Header Parameter — default: application/json
+
Content-Type (required)
+ +
Header Parameter — default: application/json
+ +
+ +

Query parameters

+
+
offset (optional)
+ +
Query Parameter — Pagination offset. default: 0
limit (optional)
+ +
Query Parameter — Result limiter. default: 500
+
+ + +

Return type

+
+ + Object +
+ + + +

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+ +

Produces

+ This API call produces the following media types according to the Accept request header; + the media type will be conveyed by the Content-Type response header. +
    +
  • application/json
  • +
  • application/problem+json
  • +
+ +

Responses

+

200

+ OK + Object +

400

+ Bad Request + ErrorMessage +

401

+ Unauthorized + ErrorMessage +

403

+ Forbidden + ErrorMessage +

409

+ Conflict + ErrorMessage +

500

+ Internal Server Error + ErrorMessage +
+
+

Schemas

+
+
+ Up +
post /schemas
+
Create a new schema. (createSchema)
+
Create a new schema.
+ + +

Consumes

+ This API call consumes the following media types via the Content-Type request header: +
    +
  • multipart/form-data
  • +
+ + +

Request headers

+
+
Accept (required)
+ +
Header Parameter — default: application/json
+
Content-Type (required)
+ +
Header Parameter — default: application/json
+ +
+ + +

Form parameters

+
+
file (required)
+ +
Form Parameter — multipartFile default: null format: binary
+
+ + + + +

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+ +

Produces

+ This API call produces the following media types according to the Accept request header; + the media type will be conveyed by the Content-Type response header. +
    +
  • application/problem+json
  • +
+ +

Responses

+

201

+ Created without response body + +

400

+ Bad Request + ErrorMessage +

401

+ Unauthorized + ErrorMessage +

403

+ Forbidden + ErrorMessage +

409

+ Conflict + ErrorMessage +

500

+ Internal Server Error + ErrorMessage +
+
+
+
+ Up +
delete /schemas/{schemaName}
+
Delete a schema. (deleteSchema)
+
Delete a schema.
+ +

Path parameters

+
+
schemaName (required)
+ +
Path Parameter — default: o-ran-smo-teiv-ran
+
+ + + +

Request headers

+
+
Accept (required)
+ +
Header Parameter — default: application/json
+ +
+ + + + + + +

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+ +

Produces

+ This API call produces the following media types according to the Accept request header; + the media type will be conveyed by the Content-Type response header. +
    +
  • application/problem+json
  • +
+ +

Responses

+

204

+ No Content + +

400

+ Bad Request + ErrorMessage +

401

+ Unauthorized + ErrorMessage +

403

+ Forbidden + ErrorMessage +

500

+ Internal Server Error + ErrorMessage +
+
+
+
+ Up +
get /schemas/{schemaName}/content
+
Get the model schema. (getSchemaByName)
+
Get the model schema by name.
+ +

Path parameters

+
+
schemaName (required)
+ +
Path Parameter — default: o-ran-smo-teiv-ran
+
+ + + +

Request headers

+
+
Accept (required)
+ +
Header Parameter — default: application/json
+ +
+ + + +

Return type

+
+ + String +
+ + + +

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+ +

Produces

+ This API call produces the following media types according to the Accept request header; + the media type will be conveyed by the Content-Type response header. +
    +
  • text/plain
  • +
  • application/problem+json
  • +
+ +

Responses

+

200

+ OK + String +

400

+ Bad Request + ErrorMessage +

401

+ Unauthorized + ErrorMessage +

403

+ Forbidden + ErrorMessage +

404

+ Not Found + ErrorMessage +

500

+ Internal Server Error + ErrorMessage +
+
+
+
+ Up +
get /schemas
+
Get a list of all schemas. (getSchemas)
+
Get a list of all schemas.
+ + + + +

Request headers

+
+
Accept (required)
+ +
Header Parameter — default: application/json
+ +
+ +

Query parameters

+
+
domain (optional)
+ +
Query Parameter — default: null
offset (optional)
+ +
Query Parameter — Pagination offset. default: 0
limit (optional)
+ +
Query Parameter — Result limiter. default: 500
+
+ + +

Return type

+
+ SchemaList + +
+ + + +

Example data

+
Content-Type: application/json
+
{
+  "next" : {
+    "href" : "href"
+  },
+  "last" : {
+    "href" : "href"
+  },
+  "prev" : {
+    "href" : "href"
+  },
+  "self" : {
+    "href" : "href"
+  },
+  "totalCount" : 0,
+  "items" : [ {
+    "domain" : [ "domain", "domain" ],
+    "name" : "name",
+    "content" : {
+      "href" : "href"
+    },
+    "revision" : "revision"
+  }, {
+    "domain" : [ "domain", "domain" ],
+    "name" : "name",
+    "content" : {
+      "href" : "href"
+    },
+    "revision" : "revision"
+  } ],
+  "first" : {
+    "href" : "href"
+  }
+}
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+

Example data

+
Content-Type: application/problem+json
+
Custom MIME type example not yet supported: application/problem+json
+ +

Produces

+ This API call produces the following media types according to the Accept request header; + the media type will be conveyed by the Content-Type response header. +
    +
  • application/json
  • +
  • application/problem+json
  • +
+ +

Responses

+

200

+ OK + SchemaList +

400

+ Bad Request + ErrorMessage +

401

+ Unauthorized + ErrorMessage +

403

+ Forbidden + ErrorMessage +

500

+ Internal Server Error + ErrorMessage +
+
+ +

Models

+ [ Jump to Methods ] + +

Table of Contents

+
    +
  1. Classifier - Classifier
  2. +
  3. Collection -
  4. +
  5. CollectionResponse -
  6. +
  7. CollectionResponse_criteria -
  8. +
  9. Collections - Collections
  10. +
  11. Decorator - Decorator
  12. +
  13. Domains - Domains
  14. +
  15. Domains_items_inner -
  16. +
  17. DynamicSelection -
  18. +
  19. DynamicSelection_resourceQuery -
  20. +
  21. EntitiesResponseMessage - Entities
  22. +
  23. EntityTypes - EntityTypes
  24. +
  25. EntityTypes_items_inner -
  26. +
  27. ErrorMessage - Error
  28. +
  29. Href - Href
  30. +
  31. QueryMessage - Query
  32. +
  33. RelationshipTypes - RelationshipTypes
  34. +
  35. RelationshipTypes_items_inner -
  36. +
  37. RelationshipsResponseMessage - Relationships
  38. +
  39. Schema - Schema
  40. +
  41. SchemaList - Schemas
  42. +
  43. StaticSelection -
  44. +
  45. TopologySelection -
  46. +
+ +
+

Classifier - Classifier Up

+
+
+
operation (optional)
+
Enum:
+
merge
delete
+
classifier (optional)
+
entityIds (optional)
+
relationshipIds (optional)
+
+
+
+

Collection - Up

+
+
+
collectionName (optional)
+
criteria (optional)
+
+
+
+

CollectionResponse - Up

+
+
+
id (optional)
+
collectionName (optional)
+
criteria (optional)
+
+
+
+

CollectionResponse_criteria - Up

+
+
+
resourceInstances (optional)
+
resourceQuery (optional)
+
+
+
+

Collections - Collections Up

+
+
+
items (optional)
+
self (optional)
+
first (optional)
+
prev (optional)
+
next (optional)
+
last (optional)
+
totalCount (optional)
+
+
+
+

Decorator - Decorator Up

+
+
+
operation (optional)
+
Enum:
+
merge
delete
+
decorators (optional)
+
entityIds (optional)
+
relationshipIds (optional)
+
+
+
+

Domains - Domains Up

+
+
+
items (optional)
+
self (optional)
+
first (optional)
+
prev (optional)
+
next (optional)
+
last (optional)
+
totalCount (optional)
+
+
+
+

Domains_items_inner - Up

+
+
+
name (optional)
+
entityTypes (optional)
+
relationshipTypes (optional)
+
+
+
+

DynamicSelection - Up

+
+
+
resourceQuery (optional)
+
+
+
+

DynamicSelection_resourceQuery - Up

+
+
+
url
+
method (optional)
+
queryParams (optional)
+
requestBody (optional)
+
+
+
+

EntitiesResponseMessage - Entities Up

+
+
+
items (optional)
+
self (optional)
+
first (optional)
+
prev (optional)
+
next (optional)
+
last (optional)
+
totalCount (optional)
+
+
+
+

EntityTypes - EntityTypes Up

+
+
+
items (optional)
+
self (optional)
+
first (optional)
+
prev (optional)
+
next (optional)
+
last (optional)
+
totalCount (optional)
+
+
+
+

EntityTypes_items_inner - Up

+
+
+
name (optional)
+
entities (optional)
+
+
+
+

ErrorMessage - Error Up

+
+
+
status (optional)
+
message (optional)
+
details (optional)
+
+
+
+

Href - Href Up

+
+
+
href (optional)
String format: uri-template
+
+
+
+

QueryMessage - Query Up

+
+
+
query (optional)
+
+
+
+

RelationshipTypes - RelationshipTypes Up

+
+
+
items (optional)
+
self (optional)
+
first (optional)
+
prev (optional)
+
next (optional)
+
last (optional)
+
totalCount (optional)
+
+
+
+

RelationshipTypes_items_inner - Up

+
+
+
name (optional)
+
relationships (optional)
+
+
+
+

RelationshipsResponseMessage - Relationships Up

+
+
+
items (optional)
+
self (optional)
+
first (optional)
+
prev (optional)
+
next (optional)
+
last (optional)
+
totalCount (optional)
+
+
+
+

Schema - Schema Up

+
+
+
name (optional)
+
domain (optional)
+
revision (optional)
+
content (optional)
+
+
+
+

SchemaList - Schemas Up

+
+
+
items (optional)
+
self (optional)
+
first (optional)
+
prev (optional)
+
next (optional)
+
last (optional)
+
totalCount (optional)
+
+
+
+

StaticSelection - Up

+
+
+
resourceInstances (optional)
+
+
+
+

TopologySelection - Up

+
+
+
resourceInstances (optional)
+
resourceQuery (optional)
+
+
+ + diff --git a/docs/offeredapis/topology-exposure-inventory-openapi.json b/docs/offeredapis/topology-exposure-inventory-openapi.json new file mode 100644 index 0000000..9cb68f8 --- /dev/null +++ b/docs/offeredapis/topology-exposure-inventory-openapi.json @@ -0,0 +1,4048 @@ +{ + "openapi" : "3.0.2", + "info" : { + "description" : "Topology and Inventory data is the information that represents entities in a telecommunications network and the relationships between them that provide insight into a particular aspect of the network of importance to specific use cases. Topology and Inventory data can be derived from inventory, configuration, or other data.\n\nTopology and Inventory supports several topology domains. A domain is a grouping of network topology entities which handles topology data.\n\nEntities are enabling the modelling and storage of complex network infrastructure and relationships.\n\nRelationships are a uni-directional connection between two entities, one of which is the originating side (A-side) and the other is the terminating side (B-side). The order of the sides matters since it defines the relationship itself which must be unique\n\nTopology and Inventory API provides the capabilities to fetch topology data. Using the filtering options, it is possible to define more specific query requests.\n\n## Querying simple entities\nEntityType is used as the root of the queries (from here referred as RootObject). Every other object, either *targetFilter* or *scopeFilter*, has to relate to the RootObject. The queries are constructed starting from the RootObject and all other objects are joined to it. If there is no connection between the RootObject and the other object(s), the query will not get constructed. The RootObject still can be retrieved and filtered using the */attributes*.\n\n| USE CASE | ENTITY TYPE | TARGET FILTER | SCOPE FILTER | QUERY RESULT |\n|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------------|:----------------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------------------------|:------------------------------------------------------------------------------------------------------------------|\n| To return the ids for all instances of the entityType used in the query. |  GNBDUFunction | | | All ids of every GNBDUFunction |\n| To return all attributes of every instance of the entityType used in the query. |  GNBDUFunction |  /attributes | | All GNBDUFunctions with every attribute |\n| To return every instance of the entityType used in the query, but only the attribute that was defined in the *targetFilter* parameter.
Note: The attribute must be a valid field of the object. |  GNBDUFunction |  /attributes(gNBId)
   **OR**
/attributes/gNBId | | All FDNs of every GNBDUFunction |\n| To return every instance of the entityType used in the query, but only the attributes that were defined in the *targetFilter* parameter.
Case 1: The attributes must be separated by a comma \",\" in case of using parenthesis \"()\".
Case 2: The attributes must be separated by a semicolon \";\" in case of using slash \"/\".
Note: The attributes must be valid *targetFilter* of the object. |  GNBDUFunction |  /attributes(gNBId, gNBIdLength)
   **OR**
/attributes/gNBId; /attributes/gNBIdLength | | All Ids and FDNs of every GNBDUFunction |\n| To return the ids for all instances of the entityType used in the query, that matches the given attribute in the *scopeFilter* parameter.
Note: The attribute must be a valid field of the object. |  GNBDUFunction | | /attributes[contains (@fdn, \"/SubNetwork=Ireland/\")] | Unique set of ids of GNBDUFunctions, where fdn contains \"SubNetwork=Ireland\" |\n| To return the ids for all instances of the entityType used in the query, that matches the given attributes in the *scopeFilter* parameter.
Note: the entityType and the object in the *scopeFilter* parameter must match, and the attributes must be valid field or fields of the object. The attributes must be separated by a comma \",\". |  GNBDUFunction | | /attributes[@gNBIdLength=3 and @gNBId=111] | Unique set of ids of GNBDUFunctions, where the gNBIdLength equals 3 and the gNBId equals 111 |\n| To return the ids for all instances of the entityType used in the query, that satisfies every condition in one of the tags in the *scopeFilter* parameter. A tag is a complete unit of *scopeFilter* parameter surrounded by square brackets.
Note: The attributes must be valid field or fields of the object. |  GNBDUFunction | | /attributes[@gNBIdLength=3 and @gNBId=111]
   **OR**
/attributes[@gNBIdLength=3 and @gNBId=112] | Unique set of ids of GNBDUFunctions, where where the gNBIdLength equals 3 and the gNBId is either 111 or 112 |\n\n## Querying connected entities\nIt is possible to get information about directly connected objects as well. If entityType is present in the *targetFilter* parameter, the query provides information about that entityType itself.\n\n| USE CASE | ENTITY TYPE | TARGET FILTER | SCOPE FILTER | QUERY RESULT |\n|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------|-------------------------------------|-----------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------|\n| To return the ids for all instances of the entityType in the *targetFilter* parameter, if they are directly related to the queried entityType. |  GNBDUFunction |  /NRCellDU | | Unique set of ids of NRCellDUs that relates to GNBDUFunctions directly with any relationship type |\n| To return the ids for all instances of the entityTypes in the *targetFilter* parameter, if they are directly related to the entityType. |  GNBDUFunction |  /NRCellDU ;  /NRSectorCarrier | | Unique set of ids of NRCellDUs and NRSectorCarriers that relates to GNBDUFunctions directly with any relationship type |\n| To return the ids for all instances of the queried entityType that has one or more direct relationships with the entityType specified in the *scopeFilter* parameter. |  GNBDUFunction | | /AntennaCapability | Unique set of ids of GNBDUFunctions that are directly related to AntennaCapability with any relationship type |\n| To return the ids for all instances of the queried entityType that has one or more direct relationships with at least one of the entityTypes specified in the *scopeFilter* parameter. |  GNBDUFunction | | /AntennaCapability
   **OR**
/NRCellDU | Unique set of ids of GNBDUFunctions that are directly related to AntennaCapability or NRCellDU with any relationship type |\n", + "license" : { + "name" : "Copyright (C) 2024 Ericsson, Modifications Copyright (C) 2024 OpenInfra Foundation Europe. All rights reserved.", + "url" : "http://www.apache.org/licenses/LICENSE-2.0" + }, + "termsOfService" : "http://www.apache.org/licenses/LICENSE-2.0", + "title" : "Topology and Inventory API", + "version" : "0.11.0", + "x-api-id" : "52812f69-83ac-4dfa-b83a-1a1bdf2d49b8", + "x-audience" : "external-public" + }, + "servers" : [ { + "url" : "https://{host}/topology-inventory/v1alpha11", + "variables" : { + "host" : { + "default" : "localhost", + "description" : "Change this value to point to your custom host." + } + } + } ], + "tags" : [ { + "description" : "Provides the capability to retrieve topology and inventory entities and relationships.", + "name" : "Entities and relationships" + }, { + "description" : "Schemas are defined in YANG modeling language. A group of Yang schemas makes the topology and inventory model, which represents topology and inventory entities, their attributes, and their relationships. For more information on YANG modelling language, see [IETF Documentation](https://datatracker.ietf.org/doc/html/rfc6020).", + "name" : "Schemas" + }, { + "description" : "Provides the capability to perform geographical queries on topology entities.", + "name" : "Geo-query" + }, { + "description" : "Provides the capability to update or remove user-defined keywords or tags on entities and relationships.", + "name" : "Classifiers" + }, { + "description" : "Provides the capability to update or remove user-defined values on entities and relationships.", + "name" : "Decorators" + }, { + "description" : "Provides the capability to group topology entities of any type, with an appropriate description and other criteria.", + "name" : "Collections" + } ], + "paths" : { + "/domains" : { + "get" : { + "description" : "Get all the available topology domains.", + "operationId" : "getAllDomains", + "parameters" : [ { + "explode" : false, + "in" : "header", + "name" : "Accept", + "required" : true, + "schema" : { + "default" : "application/json", + "example" : "application/json", + "type" : "string" + }, + "style" : "simple" + }, { + "description" : "Pagination offset.", + "explode" : true, + "in" : "query", + "name" : "offset", + "required" : false, + "schema" : { + "default" : 0, + "minimum" : 0, + "type" : "integer" + }, + "style" : "form" + }, { + "description" : "Result limiter.", + "explode" : true, + "in" : "query", + "name" : "limit", + "required" : false, + "schema" : { + "default" : 500, + "maximum" : 500, + "minimum" : 1, + "type" : "integer" + }, + "style" : "form" + } ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "examples" : { + "domains" : { + "$ref" : "#/components/examples/DomainsResponseExample" + } + }, + "schema" : { + "$ref" : "#/components/schemas/Domains" + } + } + }, + "description" : "OK" + }, + "400" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "400", + "title" : "Bad Request", + "details" : "The provided request is not valid" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Bad Request" + }, + "401" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "401", + "title" : "Unauthorized request", + "details" : "This request is unauthorized" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Unauthorized" + }, + "403" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "403", + "title" : "Request Forbidden", + "details" : "This request is forbidden" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Forbidden" + }, + "500" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "500", + "title" : "Internal Server Error", + "details" : "Internal Server Error occurred" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Internal Server Error" + } + }, + "summary" : "Get all the available topology domains.", + "tags" : [ "Entities and relationships" ] + } + }, + "/domains/{domainName}/entity-types" : { + "get" : { + "description" : "Get all the available topology entity types in domain name.", + "operationId" : "getTopologyEntityTypes", + "parameters" : [ { + "explode" : false, + "in" : "header", + "name" : "Accept", + "required" : true, + "schema" : { + "default" : "application/json", + "example" : "application/json", + "type" : "string" + }, + "style" : "simple" + }, { + "description" : "domain name", + "explode" : false, + "in" : "path", + "name" : "domainName", + "required" : true, + "schema" : { + "type" : "string" + }, + "style" : "simple" + }, { + "description" : "Pagination offset.", + "explode" : true, + "in" : "query", + "name" : "offset", + "required" : false, + "schema" : { + "default" : 0, + "minimum" : 0, + "type" : "integer" + }, + "style" : "form" + }, { + "description" : "Result limiter.", + "explode" : true, + "in" : "query", + "name" : "limit", + "required" : false, + "schema" : { + "default" : 500, + "maximum" : 500, + "minimum" : 1, + "type" : "integer" + }, + "style" : "form" + } ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "examples" : { + "entityTypes" : { + "$ref" : "#/components/examples/EntityTypesResponseExample" + } + }, + "schema" : { + "$ref" : "#/components/schemas/EntityTypes" + } + } + }, + "description" : "OK" + }, + "400" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "400", + "title" : "Bad Request", + "details" : "The provided request is not valid" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Bad Request" + }, + "401" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "401", + "title" : "Unauthorized request", + "details" : "This request is unauthorized" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Unauthorized" + }, + "403" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "403", + "title" : "Request Forbidden", + "details" : "This request is forbidden" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Forbidden" + }, + "500" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "500", + "title" : "Internal Server Error", + "details" : "Internal Server Error occurred" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Internal Server Error" + } + }, + "summary" : "Get all the available topology entity types in domain name.", + "tags" : [ "Entities and relationships" ] + } + }, + "/domains/{domainName}/entity-types/{entityTypeName}/entities" : { + "get" : { + "description" : "Get all topology entities of a specific entity type.", + "operationId" : "getTopologyByEntityTypeName", + "parameters" : [ { + "explode" : false, + "in" : "header", + "name" : "Accept", + "required" : true, + "schema" : { + "default" : "application/json", + "example" : "application/json", + "type" : "string" + }, + "style" : "simple" + }, { + "description" : "domain name", + "explode" : false, + "in" : "path", + "name" : "domainName", + "required" : true, + "schema" : { + "type" : "string" + }, + "style" : "simple" + }, { + "explode" : false, + "in" : "path", + "name" : "entityTypeName", + "required" : true, + "schema" : { + "type" : "string" + }, + "style" : "simple" + }, { + "description" : "Use *targetFilter* to specify the entity type and attributes to be returned in the REST response. The value for *targetFilter* can also be a list of entity types and attributes.", + "examples" : { + "targetFilter" : { + "value" : "/attributes(nCI,nRPCI)" + } + }, + "explode" : true, + "in" : "query", + "name" : "targetFilter", + "required" : false, + "schema" : { + "type" : "string" + }, + "style" : "form" + }, { + "description" : "Use *scopeFilter* to specify the attributes to match on. The value for *scopeFilter* can also be a list of entity types and attributes. scopeFilter returns a boolean.", + "examples" : { + "scopeFilter" : { + "value" : "/attributes[@nRTAC=310\"]" + } + }, + "explode" : true, + "in" : "query", + "name" : "scopeFilter", + "required" : false, + "schema" : { + "type" : "string" + }, + "style" : "form" + }, { + "description" : "Pagination offset.", + "explode" : true, + "in" : "query", + "name" : "offset", + "required" : false, + "schema" : { + "default" : 0, + "minimum" : 0, + "type" : "integer" + }, + "style" : "form" + }, { + "description" : "Result limiter.", + "explode" : true, + "in" : "query", + "name" : "limit", + "required" : false, + "schema" : { + "default" : 500, + "maximum" : 500, + "minimum" : 1, + "type" : "integer" + }, + "style" : "form" + } ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "examples" : { + "entities" : { + "$ref" : "#/components/examples/EntitiesResponseExample" + } + }, + "schema" : { + "$ref" : "#/components/schemas/EntitiesResponseMessage" + } + } + }, + "description" : "OK" + }, + "400" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "400", + "title" : "Bad Request", + "details" : "The provided request is not valid" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Bad Request" + }, + "401" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "401", + "title" : "Unauthorized request", + "details" : "This request is unauthorized" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Unauthorized" + }, + "403" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "403", + "title" : "Request Forbidden", + "details" : "This request is forbidden" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Forbidden" + }, + "500" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "500", + "title" : "Internal Server Error", + "details" : "Internal Server Error occurred" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Internal Server Error" + } + }, + "summary" : "Get all topology entities of a specific entity type.", + "tags" : [ "Entities and relationships" ] + } + }, + "/domains/{domainName}/entity-types/{entityTypeName}/entities/{entityId}" : { + "get" : { + "description" : "Get topology for entity type name with specified id. Specified id represents the entity instance.", + "operationId" : "getTopologyById", + "parameters" : [ { + "explode" : false, + "in" : "header", + "name" : "Accept", + "required" : true, + "schema" : { + "default" : "application/json", + "example" : "application/json", + "type" : "string" + }, + "style" : "simple" + }, { + "description" : "domain name", + "explode" : false, + "in" : "path", + "name" : "domainName", + "required" : true, + "schema" : { + "type" : "string" + }, + "style" : "simple" + }, { + "explode" : false, + "in" : "path", + "name" : "entityTypeName", + "required" : true, + "schema" : { + "type" : "string" + }, + "style" : "simple" + }, { + "explode" : false, + "in" : "path", + "name" : "entityId", + "required" : true, + "schema" : { + "type" : "string" + }, + "style" : "simple" + } ], + "responses" : { + "200" : { + "content" : { + "application/yang.data+json" : { + "examples" : { + "entity" : { + "$ref" : "#/components/examples/EntityResponseExample" + } + }, + "schema" : { + "description" : "Refer to yang model for schema definition", + "type" : "object" + } + } + }, + "description" : "OK" + }, + "400" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "400", + "title" : "Bad Request", + "details" : "The provided request is not valid" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Bad Request" + }, + "401" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "401", + "title" : "Unauthorized request", + "details" : "This request is unauthorized" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Unauthorized" + }, + "403" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "403", + "title" : "Request Forbidden", + "details" : "This request is forbidden" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Forbidden" + }, + "404" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "404", + "title" : "Resource Not Found", + "details" : "The requested resource is not found" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Not Found" + }, + "500" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "500", + "title" : "Internal Server Error", + "details" : "Internal Server Error occurred" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Internal Server Error" + } + }, + "summary" : "Get topology for entity type name with specified id. Specified id represents the entity instance.", + "tags" : [ "Entities and relationships" ] + } + }, + "/domains/{domainName}/entity-types/{entityTypeName}/entities/{entityId}/relationships" : { + "get" : { + "description" : "Get all relationships for entity type name with specified id. Specified id represents the entity instance.", + "operationId" : "getAllRelationshipsForEntityId", + "parameters" : [ { + "explode" : false, + "in" : "header", + "name" : "Accept", + "required" : true, + "schema" : { + "default" : "application/json", + "example" : "application/json", + "type" : "string" + }, + "style" : "simple" + }, { + "description" : "domain name", + "explode" : false, + "in" : "path", + "name" : "domainName", + "required" : true, + "schema" : { + "type" : "string" + }, + "style" : "simple" + }, { + "explode" : false, + "in" : "path", + "name" : "entityTypeName", + "required" : true, + "schema" : { + "type" : "string" + }, + "style" : "simple" + }, { + "explode" : false, + "in" : "path", + "name" : "entityId", + "required" : true, + "schema" : { + "type" : "string" + }, + "style" : "simple" + }, { + "description" : "Pagination offset.", + "explode" : true, + "in" : "query", + "name" : "offset", + "required" : false, + "schema" : { + "default" : 0, + "minimum" : 0, + "type" : "integer" + }, + "style" : "form" + }, { + "description" : "Result limiter.", + "explode" : true, + "in" : "query", + "name" : "limit", + "required" : false, + "schema" : { + "default" : 500, + "maximum" : 500, + "minimum" : 1, + "type" : "integer" + }, + "style" : "form" + } ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "examples" : { + "relationships" : { + "$ref" : "#/components/examples/RelationshipsResponseExample" + } + }, + "schema" : { + "$ref" : "#/components/schemas/RelationshipsResponseMessage" + } + } + }, + "description" : "OK" + }, + "400" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "400", + "title" : "Bad Request", + "details" : "The provided request is not valid" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Bad Request" + }, + "401" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "401", + "title" : "Unauthorized request", + "details" : "This request is unauthorized" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Unauthorized" + }, + "403" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "403", + "title" : "Request Forbidden", + "details" : "This request is forbidden" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Forbidden" + }, + "404" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "404", + "title" : "Resource Not Found", + "details" : "The requested resource is not found" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Not Found" + }, + "500" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "500", + "title" : "Internal Server Error", + "details" : "Internal Server Error occurred" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Internal Server Error" + } + }, + "summary" : "Get all relationships for entity type name with specified id. Specified id represents the entity instance.", + "tags" : [ "Entities and relationships" ] + } + }, + "/domains/{domainName}/relationship-types" : { + "get" : { + "description" : "Get all the available topology relationship types.", + "operationId" : "getTopologyRelationshipTypes", + "parameters" : [ { + "explode" : false, + "in" : "header", + "name" : "Accept", + "required" : true, + "schema" : { + "default" : "application/json", + "example" : "application/json", + "type" : "string" + }, + "style" : "simple" + }, { + "description" : "domain name", + "explode" : false, + "in" : "path", + "name" : "domainName", + "required" : true, + "schema" : { + "type" : "string" + }, + "style" : "simple" + }, { + "description" : "Pagination offset.", + "explode" : true, + "in" : "query", + "name" : "offset", + "required" : false, + "schema" : { + "default" : 0, + "minimum" : 0, + "type" : "integer" + }, + "style" : "form" + }, { + "description" : "Result limiter.", + "explode" : true, + "in" : "query", + "name" : "limit", + "required" : false, + "schema" : { + "default" : 500, + "maximum" : 500, + "minimum" : 1, + "type" : "integer" + }, + "style" : "form" + } ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "examples" : { + "relationshipTypes" : { + "$ref" : "#/components/examples/RelationshipTypesResponseExample" + } + }, + "schema" : { + "$ref" : "#/components/schemas/RelationshipTypes" + } + } + }, + "description" : "OK" + }, + "400" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "400", + "title" : "Bad Request", + "details" : "The provided request is not valid" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Bad Request" + }, + "401" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "401", + "title" : "Unauthorized request", + "details" : "This request is unauthorized" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Unauthorized" + }, + "403" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "403", + "title" : "Request Forbidden", + "details" : "This request is forbidden" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Forbidden" + }, + "500" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "500", + "title" : "Internal Server Error", + "details" : "Internal Server Error occurred" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Internal Server Error" + } + }, + "summary" : "Get all the available topology relationship types.", + "tags" : [ "Entities and relationships" ] + } + }, + "/domains/{domainName}/relationship-types/{relationshipTypeName}/relationships" : { + "get" : { + "description" : "Get topology relationships of a specific relationship type name.", + "operationId" : "getRelationshipsByType", + "parameters" : [ { + "explode" : false, + "in" : "header", + "name" : "Accept", + "required" : true, + "schema" : { + "default" : "application/json", + "example" : "application/json", + "type" : "string" + }, + "style" : "simple" + }, { + "description" : "domain name", + "explode" : false, + "in" : "path", + "name" : "domainName", + "required" : true, + "schema" : { + "type" : "string" + }, + "style" : "simple" + }, { + "explode" : false, + "in" : "path", + "name" : "relationshipTypeName", + "required" : true, + "schema" : { + "example" : "NRCELLDU_USES_NRSECTORCARRIER", + "type" : "string" + }, + "style" : "simple" + }, { + "description" : "Use *targetFilter* to specify the entity type and attributes to be returned in the REST response. The value for *targetFilter* can also be a list of entity types and attributes.", + "examples" : { + "targetFilter" : { + "value" : "/attributes(nCI,nRPCI)" + } + }, + "explode" : true, + "in" : "query", + "name" : "targetFilter", + "required" : false, + "schema" : { + "type" : "string" + }, + "style" : "form" + }, { + "description" : "Use *scopeFilter* to specify the attributes to match on. The value for *scopeFilter* can also be a list of entity types and attributes. scopeFilter returns a boolean.", + "examples" : { + "scopeFilter" : { + "value" : "/attributes[@nRTAC=310\"]" + } + }, + "explode" : true, + "in" : "query", + "name" : "scopeFilter", + "required" : false, + "schema" : { + "type" : "string" + }, + "style" : "form" + }, { + "description" : "Pagination offset.", + "explode" : true, + "in" : "query", + "name" : "offset", + "required" : false, + "schema" : { + "default" : 0, + "minimum" : 0, + "type" : "integer" + }, + "style" : "form" + }, { + "description" : "Result limiter.", + "explode" : true, + "in" : "query", + "name" : "limit", + "required" : false, + "schema" : { + "default" : 500, + "maximum" : 500, + "minimum" : 1, + "type" : "integer" + }, + "style" : "form" + } ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "examples" : { + "relationships" : { + "$ref" : "#/components/examples/RelationshipsResponseExample" + } + }, + "schema" : { + "$ref" : "#/components/schemas/RelationshipsResponseMessage" + } + } + }, + "description" : "OK" + }, + "400" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "400", + "title" : "Bad Request", + "details" : "The provided request is not valid" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Bad Request" + }, + "401" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "401", + "title" : "Unauthorized request", + "details" : "This request is unauthorized" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Unauthorized" + }, + "403" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "403", + "title" : "Request Forbidden", + "details" : "This request is forbidden" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Forbidden" + }, + "500" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "500", + "title" : "Internal Server Error", + "details" : "Internal Server Error occurred" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Internal Server Error" + } + }, + "summary" : "Get topology relationships of a specific relationship type name.", + "tags" : [ "Entities and relationships" ] + } + }, + "/domains/{domainName}/relationship-types/{relationshipTypeName}/relationships/{relationshipId}" : { + "get" : { + "description" : "Get relationship with specified id. Specified id represents the relationship instance.", + "operationId" : "getRelationshipById", + "parameters" : [ { + "explode" : false, + "in" : "header", + "name" : "Accept", + "required" : true, + "schema" : { + "default" : "application/json", + "example" : "application/json", + "type" : "string" + }, + "style" : "simple" + }, { + "description" : "domain name", + "explode" : false, + "in" : "path", + "name" : "domainName", + "required" : true, + "schema" : { + "type" : "string" + }, + "style" : "simple" + }, { + "explode" : false, + "in" : "path", + "name" : "relationshipTypeName", + "required" : true, + "schema" : { + "example" : "NRCELLDU_USES_NRSECTORCARRIER", + "type" : "string" + }, + "style" : "simple" + }, { + "explode" : false, + "in" : "path", + "name" : "relationshipId", + "required" : true, + "schema" : { + "type" : "string" + }, + "style" : "simple" + } ], + "responses" : { + "200" : { + "content" : { + "application/yang.data+json" : { + "examples" : { + "relationship" : { + "$ref" : "#/components/examples/RelationshipResponseExample" + } + }, + "schema" : { + "description" : "Refer to yang model for schema definition", + "type" : "object" + } + } + }, + "description" : "OK" + }, + "400" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "400", + "title" : "Bad Request", + "details" : "The provided request is not valid" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Bad Request" + }, + "401" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "401", + "title" : "Unauthorized request", + "details" : "This request is unauthorized" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Unauthorized" + }, + "403" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "403", + "title" : "Request Forbidden", + "details" : "This request is forbidden" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Forbidden" + }, + "404" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "404", + "title" : "Resource Not Found", + "details" : "The requested resource is not found" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Not Found" + }, + "500" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "500", + "title" : "Internal Server Error", + "details" : "Internal Server Error occurred" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Internal Server Error" + } + }, + "summary" : "Get relationship with specified id. Specified id represents the relationship instance.", + "tags" : [ "Entities and relationships" ] + } + }, + "/domains/{domainName}/entities" : { + "get" : { + "description" : "Get topology entities by domain, using specified targetFilter as mandatory query parameter.", + "operationId" : "getEntitiesByDomain", + "parameters" : [ { + "explode" : false, + "in" : "header", + "name" : "Accept", + "required" : true, + "schema" : { + "default" : "application/json", + "example" : "application/json", + "type" : "string" + }, + "style" : "simple" + }, { + "description" : "domain name", + "explode" : false, + "in" : "path", + "name" : "domainName", + "required" : true, + "schema" : { + "type" : "string" + }, + "style" : "simple" + }, { + "description" : "Use *targetFilter* to specify the entity type and attributes to be returned in the REST response. The value for *targetFilter* can also be a list of entity types and attributes.", + "examples" : { + "targetFilter" : { + "value" : "/attributes(nCI,nRPCI)" + } + }, + "explode" : true, + "in" : "query", + "name" : "targetFilter", + "required" : false, + "schema" : { + "type" : "string" + }, + "style" : "form" + }, { + "description" : "Use *scopeFilter* to specify the attributes to match on. The value for *scopeFilter* can also be a list of entity types and attributes. scopeFilter returns a boolean.", + "examples" : { + "scopeFilter" : { + "value" : "/attributes[@nRTAC=310\"]" + } + }, + "explode" : true, + "in" : "query", + "name" : "scopeFilter", + "required" : false, + "schema" : { + "type" : "string" + }, + "style" : "form" + }, { + "description" : "Pagination offset.", + "explode" : true, + "in" : "query", + "name" : "offset", + "required" : false, + "schema" : { + "default" : 0, + "minimum" : 0, + "type" : "integer" + }, + "style" : "form" + }, { + "description" : "Result limiter.", + "explode" : true, + "in" : "query", + "name" : "limit", + "required" : false, + "schema" : { + "default" : 500, + "maximum" : 500, + "minimum" : 1, + "type" : "integer" + }, + "style" : "form" + } ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "examples" : { + "entities" : { + "$ref" : "#/components/examples/EntitiesResponseExample" + } + }, + "schema" : { + "$ref" : "#/components/schemas/EntitiesResponseMessage" + } + } + }, + "description" : "OK" + }, + "400" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "400", + "title" : "Bad Request", + "details" : "The provided request is not valid" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Bad Request" + }, + "401" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "401", + "title" : "Unauthorized request", + "details" : "This request is unauthorized" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Unauthorized" + }, + "403" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "403", + "title" : "Request Forbidden", + "details" : "This request is forbidden" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Forbidden" + }, + "500" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "500", + "title" : "Internal Server Error", + "details" : "Internal Server Error occurred" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Internal Server Error" + } + }, + "summary" : "Get entities by domain", + "tags" : [ "Entities and relationships" ] + } + }, + "/schemas" : { + "get" : { + "description" : "Get a list of all schemas.", + "operationId" : "getSchemas", + "parameters" : [ { + "explode" : false, + "in" : "header", + "name" : "Accept", + "required" : true, + "schema" : { + "default" : "application/json", + "example" : "application/json", + "type" : "string" + }, + "style" : "simple" + }, { + "examples" : { + "domain" : { + "value" : "ran" + } + }, + "explode" : true, + "in" : "query", + "name" : "domain", + "required" : false, + "schema" : { + "type" : "string" + }, + "style" : "form" + }, { + "description" : "Pagination offset.", + "explode" : true, + "in" : "query", + "name" : "offset", + "required" : false, + "schema" : { + "default" : 0, + "minimum" : 0, + "type" : "integer" + }, + "style" : "form" + }, { + "description" : "Result limiter.", + "explode" : true, + "in" : "query", + "name" : "limit", + "required" : false, + "schema" : { + "default" : 500, + "maximum" : 500, + "minimum" : 1, + "type" : "integer" + }, + "style" : "form" + } ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "examples" : { + "schemas" : { + "$ref" : "#/components/examples/SchemasResponseExample" + } + }, + "schema" : { + "$ref" : "#/components/schemas/SchemaList" + } + } + }, + "description" : "OK" + }, + "400" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "400", + "title" : "Bad Request", + "details" : "The provided request is not valid" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Bad Request" + }, + "401" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "401", + "title" : "Unauthorized request", + "details" : "This request is unauthorized" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Unauthorized" + }, + "403" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "403", + "title" : "Request Forbidden", + "details" : "This request is forbidden" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Forbidden" + }, + "500" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "500", + "title" : "Internal Server Error", + "details" : "Internal Server Error occurred" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Internal Server Error" + } + }, + "summary" : "Get a list of all schemas.", + "tags" : [ "Schemas" ] + }, + "post" : { + "description" : "Create a new schema.", + "operationId" : "createSchema", + "parameters" : [ { + "explode" : false, + "in" : "header", + "name" : "Accept", + "required" : true, + "schema" : { + "default" : "application/json", + "example" : "application/json", + "type" : "string" + }, + "style" : "simple" + }, { + "explode" : false, + "in" : "header", + "name" : "Content-Type", + "required" : true, + "schema" : { + "default" : "application/json", + "example" : "application/json", + "type" : "string" + }, + "style" : "simple" + } ], + "requestBody" : { + "content" : { + "multipart/form-data" : { + "schema" : { + "$ref" : "#/components/schemas/MultipartFile" + } + } + }, + "required" : true + }, + "responses" : { + "201" : { + "description" : "Created without response body" + }, + "400" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "400", + "title" : "Bad Request", + "details" : "The provided request is not valid" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Bad Request" + }, + "401" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "401", + "title" : "Unauthorized request", + "details" : "This request is unauthorized" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Unauthorized" + }, + "403" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "403", + "title" : "Request Forbidden", + "details" : "This request is forbidden" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Forbidden" + }, + "409" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "409'", + "title" : "Conflicting request", + "details" : "The request cannot be processed as the resource is in use." + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Conflict" + }, + "500" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "500", + "title" : "Internal Server Error", + "details" : "Internal Server Error occurred" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Internal Server Error" + } + }, + "summary" : "Create a new schema.", + "tags" : [ "Schemas" ] + } + }, + "/schemas/{schemaName}/content" : { + "get" : { + "description" : "Get the model schema by name.", + "operationId" : "getSchemaByName", + "parameters" : [ { + "explode" : false, + "in" : "header", + "name" : "Accept", + "required" : true, + "schema" : { + "default" : "application/json", + "example" : "application/json", + "type" : "string" + }, + "style" : "simple" + }, { + "explode" : false, + "in" : "path", + "name" : "schemaName", + "required" : true, + "schema" : { + "default" : "o-ran-smo-teiv-ran", + "type" : "string" + }, + "style" : "simple" + } ], + "responses" : { + "200" : { + "content" : { + "text/plain" : { + "examples" : { + "schema" : { + "$ref" : "#/components/examples/SchemaResponseExample" + } + }, + "schema" : { + "type" : "string" + } + } + }, + "description" : "OK" + }, + "400" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "400", + "title" : "Bad Request", + "details" : "The provided request is not valid" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Bad Request" + }, + "401" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "401", + "title" : "Unauthorized request", + "details" : "This request is unauthorized" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Unauthorized" + }, + "403" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "403", + "title" : "Request Forbidden", + "details" : "This request is forbidden" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Forbidden" + }, + "404" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "404", + "title" : "Resource Not Found", + "details" : "The requested resource is not found" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Not Found" + }, + "500" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "500", + "title" : "Internal Server Error", + "details" : "Internal Server Error occurred" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Internal Server Error" + } + }, + "summary" : "Get the model schema.", + "tags" : [ "Schemas" ] + } + }, + "/schemas/{schemaName}" : { + "delete" : { + "description" : "Delete a schema.", + "operationId" : "deleteSchema", + "parameters" : [ { + "explode" : false, + "in" : "header", + "name" : "Accept", + "required" : true, + "schema" : { + "default" : "application/json", + "example" : "application/json", + "type" : "string" + }, + "style" : "simple" + }, { + "explode" : false, + "in" : "path", + "name" : "schemaName", + "required" : true, + "schema" : { + "default" : "o-ran-smo-teiv-ran", + "type" : "string" + }, + "style" : "simple" + } ], + "responses" : { + "204" : { + "content" : { }, + "description" : "No Content" + }, + "400" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "400", + "title" : "Bad Request", + "details" : "The provided request is not valid" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Bad Request" + }, + "401" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "401", + "title" : "Unauthorized request", + "details" : "This request is unauthorized" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Unauthorized" + }, + "403" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "403", + "title" : "Request Forbidden", + "details" : "This request is forbidden" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Forbidden" + }, + "500" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "500", + "title" : "Internal Server Error", + "details" : "Internal Server Error occurred" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Internal Server Error" + } + }, + "summary" : "Delete a schema.", + "tags" : [ "Schemas" ] + } + }, + "/geo-queries" : { + "post" : { + "description" : "Geo query topology entity or entities across topology domains.", + "operationId" : "geoQueryTopologyAcrossDomains", + "parameters" : [ { + "explode" : false, + "in" : "header", + "name" : "Accept", + "required" : true, + "schema" : { + "default" : "application/json", + "example" : "application/json", + "type" : "string" + }, + "style" : "simple" + }, { + "explode" : false, + "in" : "header", + "name" : "Content-Type", + "required" : true, + "schema" : { + "default" : "application/json", + "example" : "application/json", + "type" : "string" + }, + "style" : "simple" + }, { + "description" : "Pagination offset.", + "explode" : true, + "in" : "query", + "name" : "offset", + "required" : false, + "schema" : { + "default" : 0, + "minimum" : 0, + "type" : "integer" + }, + "style" : "form" + }, { + "description" : "Result limiter.", + "explode" : true, + "in" : "query", + "name" : "limit", + "required" : false, + "schema" : { + "default" : 500, + "maximum" : 500, + "minimum" : 1, + "type" : "integer" + }, + "style" : "form" + } ], + "requestBody" : { + "content" : { + "application/json" : { + "examples" : { + "geoQuery" : { + "$ref" : "#/components/examples/QueryMessageExample" + } + }, + "schema" : { + "$ref" : "#/components/schemas/QueryMessage" + } + } + }, + "required" : true + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "examples" : { + "geoQueryResponse" : { + "$ref" : "#/components/examples/QueryResponseExample" + } + }, + "schema" : { + "type" : "object" + } + } + }, + "description" : "OK" + }, + "400" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "400", + "title" : "Bad Request", + "details" : "The provided request is not valid" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Bad Request" + }, + "401" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "401", + "title" : "Unauthorized request", + "details" : "This request is unauthorized" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Unauthorized" + }, + "403" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "403", + "title" : "Request Forbidden", + "details" : "This request is forbidden" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Forbidden" + }, + "409" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "409'", + "title" : "Conflicting request", + "details" : "The request cannot be processed as the resource is in use." + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Conflict" + }, + "500" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "500", + "title" : "Internal Server Error", + "details" : "Internal Server Error occurred" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Internal Server Error" + } + }, + "summary" : "Geo query topology entity or entities across topology domains.", + "tags" : [ "Geo-query" ] + } + }, + "/classifiers" : { + "put" : { + "description" : "Update entities and/or relationships with classifier(s).", + "operationId" : "updateClassifier", + "parameters" : [ { + "explode" : false, + "in" : "header", + "name" : "Accept", + "required" : true, + "schema" : { + "default" : "application/json", + "example" : "application/json", + "type" : "string" + }, + "style" : "simple" + }, { + "explode" : false, + "in" : "header", + "name" : "Content-Type", + "required" : true, + "schema" : { + "default" : "application/json", + "example" : "application/json", + "type" : "string" + }, + "style" : "simple" + } ], + "requestBody" : { + "content" : { + "application/json" : { + "examples" : { + "classifier" : { + "$ref" : "#/components/examples/ClassifierExample" + } + }, + "schema" : { + "$ref" : "#/components/schemas/Classifier" + } + } + }, + "required" : true + }, + "responses" : { + "204" : { + "content" : { }, + "description" : "No Content" + }, + "400" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "400", + "title" : "Bad Request", + "details" : "The provided request is not valid" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Bad Request" + }, + "401" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "401", + "title" : "Unauthorized request", + "details" : "This request is unauthorized" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Unauthorized" + }, + "403" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "403", + "title" : "Request Forbidden", + "details" : "This request is forbidden" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Forbidden" + }, + "409" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "409'", + "title" : "Conflicting request", + "details" : "The request cannot be processed as the resource is in use." + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Conflict" + }, + "500" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "500", + "title" : "Internal Server Error", + "details" : "Internal Server Error occurred" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Internal Server Error" + } + }, + "summary" : "Update entities and/or relationships with classifier(s).", + "tags" : [ "Classifiers" ] + } + }, + "/decorators" : { + "put" : { + "description" : "Update entities and/or relationships with decorator(s).", + "operationId" : "updateDecorator", + "parameters" : [ { + "explode" : false, + "in" : "header", + "name" : "Accept", + "required" : true, + "schema" : { + "default" : "application/json", + "example" : "application/json", + "type" : "string" + }, + "style" : "simple" + }, { + "explode" : false, + "in" : "header", + "name" : "Content-Type", + "required" : true, + "schema" : { + "default" : "application/json", + "example" : "application/json", + "type" : "string" + }, + "style" : "simple" + } ], + "requestBody" : { + "content" : { + "application/json" : { + "examples" : { + "decorator" : { + "$ref" : "#/components/examples/DecoratorExample" + } + }, + "schema" : { + "$ref" : "#/components/schemas/Decorator" + } + } + }, + "required" : true + }, + "responses" : { + "204" : { + "content" : { }, + "description" : "No Content" + }, + "400" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "400", + "title" : "Bad Request", + "details" : "The provided request is not valid" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Bad Request" + }, + "401" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "401", + "title" : "Unauthorized request", + "details" : "This request is unauthorized" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Unauthorized" + }, + "403" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "403", + "title" : "Request Forbidden", + "details" : "This request is forbidden" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Forbidden" + }, + "409" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "409'", + "title" : "Conflicting request", + "details" : "The request cannot be processed as the resource is in use." + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Conflict" + }, + "500" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "500", + "title" : "Internal Server Error", + "details" : "Internal Server Error occurred" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Internal Server Error" + } + }, + "summary" : "Update entities and/or relationships with decorator(s).", + "tags" : [ "Decorators" ] + } + }, + "/collections" : { + "get" : { + "description" : "Get all collections.", + "operationId" : "getAllCollections", + "parameters" : [ { + "explode" : false, + "in" : "header", + "name" : "Accept", + "required" : true, + "schema" : { + "default" : "application/json", + "example" : "application/json", + "type" : "string" + }, + "style" : "simple" + }, { + "description" : "Pagination offset.", + "explode" : true, + "in" : "query", + "name" : "offset", + "required" : false, + "schema" : { + "default" : 0, + "minimum" : 0, + "type" : "integer" + }, + "style" : "form" + }, { + "description" : "Result limiter.", + "explode" : true, + "in" : "query", + "name" : "limit", + "required" : false, + "schema" : { + "default" : 500, + "maximum" : 500, + "minimum" : 1, + "type" : "integer" + }, + "style" : "form" + } ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "examples" : { + "collections" : { + "$ref" : "#/components/examples/CollectionsResponseExample" + } + }, + "schema" : { + "$ref" : "#/components/schemas/Collections" + } + } + }, + "description" : "OK" + }, + "204" : { + "content" : { }, + "description" : "No Content" + }, + "400" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "400", + "title" : "Bad Request", + "details" : "The provided request is not valid" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Bad Request" + }, + "401" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "401", + "title" : "Unauthorized request", + "details" : "This request is unauthorized" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Unauthorized" + }, + "403" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "403", + "title" : "Request Forbidden", + "details" : "This request is forbidden" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Forbidden" + }, + "500" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "500", + "title" : "Internal Server Error", + "details" : "Internal Server Error occurred" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Internal Server Error" + } + }, + "summary" : "Get all collections.", + "tags" : [ "Collections" ] + }, + "post" : { + "description" : "Create a collection.", + "operationId" : "createCollection", + "parameters" : [ { + "explode" : false, + "in" : "header", + "name" : "Accept", + "required" : true, + "schema" : { + "default" : "application/json", + "example" : "application/json", + "type" : "string" + }, + "style" : "simple" + }, { + "explode" : false, + "in" : "header", + "name" : "Content-Type", + "required" : true, + "schema" : { + "default" : "application/json", + "example" : "application/json", + "type" : "string" + }, + "style" : "simple" + } ], + "requestBody" : { + "content" : { + "application/json" : { + "examples" : { + "dynamicCollection" : { + "$ref" : "#/components/examples/DynamicCollectionExample" + }, + "staticCollection" : { + "$ref" : "#/components/examples/StaticCollectionExample" + } + }, + "schema" : { + "$ref" : "#/components/schemas/Collection" + } + } + }, + "required" : true + }, + "responses" : { + "201" : { + "content" : { + "application/json" : { + "examples" : { + "collection" : { + "$ref" : "#/components/examples/CollectionResponseExample" + } + }, + "schema" : { + "$ref" : "#/components/schemas/CollectionResponse" + } + } + }, + "description" : "Created" + }, + "400" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "400", + "title" : "Bad Request", + "details" : "The provided request is not valid" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Bad Request" + }, + "401" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "401", + "title" : "Unauthorized request", + "details" : "This request is unauthorized" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Unauthorized" + }, + "403" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "403", + "title" : "Request Forbidden", + "details" : "This request is forbidden" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Forbidden" + }, + "409" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "409'", + "title" : "Conflicting request", + "details" : "The request cannot be processed as the resource is in use." + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Conflict" + }, + "500" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "500", + "title" : "Internal Server Error", + "details" : "Internal Server Error occurred" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Internal Server Error" + } + }, + "summary" : "Create a collection.", + "tags" : [ "Collections" ] + } + }, + "/collections/{collectionId}" : { + "delete" : { + "description" : "Delete a collection with specified id.", + "operationId" : "deleteCollection", + "parameters" : [ { + "explode" : false, + "in" : "header", + "name" : "Accept", + "required" : true, + "schema" : { + "default" : "application/json", + "example" : "application/json", + "type" : "string" + }, + "style" : "simple" + }, { + "explode" : false, + "in" : "path", + "name" : "collectionId", + "required" : true, + "schema" : { + "type" : "string" + }, + "style" : "simple" + } ], + "responses" : { + "204" : { + "content" : { }, + "description" : "No Content" + }, + "400" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "400", + "title" : "Bad Request", + "details" : "The provided request is not valid" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Bad Request" + }, + "401" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "401", + "title" : "Unauthorized request", + "details" : "This request is unauthorized" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Unauthorized" + }, + "403" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "403", + "title" : "Request Forbidden", + "details" : "This request is forbidden" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Forbidden" + }, + "404" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "404", + "title" : "Resource Not Found", + "details" : "The requested resource is not found" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Not Found" + }, + "500" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "500", + "title" : "Internal Server Error", + "details" : "Internal Server Error occurred" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Internal Server Error" + } + }, + "summary" : "Delete a collection with specified id.", + "tags" : [ "Collections" ] + }, + "get" : { + "description" : "Get a collection with specified id.", + "operationId" : "getCollection", + "parameters" : [ { + "explode" : false, + "in" : "header", + "name" : "Accept", + "required" : true, + "schema" : { + "default" : "application/json", + "example" : "application/json", + "type" : "string" + }, + "style" : "simple" + }, { + "explode" : false, + "in" : "path", + "name" : "collectionId", + "required" : true, + "schema" : { + "type" : "string" + }, + "style" : "simple" + } ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "examples" : { + "collection" : { + "$ref" : "#/components/examples/CollectionResponseExample" + } + }, + "schema" : { + "$ref" : "#/components/schemas/CollectionResponse" + } + } + }, + "description" : "OK" + }, + "400" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "400", + "title" : "Bad Request", + "details" : "The provided request is not valid" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Bad Request" + }, + "401" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "401", + "title" : "Unauthorized request", + "details" : "This request is unauthorized" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Unauthorized" + }, + "403" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "403", + "title" : "Request Forbidden", + "details" : "This request is forbidden" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Forbidden" + }, + "404" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "404", + "title" : "Resource Not Found", + "details" : "The requested resource is not found" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Not Found" + }, + "500" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "500", + "title" : "Internal Server Error", + "details" : "Internal Server Error occurred" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Internal Server Error" + } + }, + "summary" : "Get a collection with specified id.", + "tags" : [ "Collections" ] + }, + "put" : { + "description" : "Update a collection.", + "operationId" : "updateCollection", + "parameters" : [ { + "explode" : false, + "in" : "header", + "name" : "Accept", + "required" : true, + "schema" : { + "default" : "application/json", + "example" : "application/json", + "type" : "string" + }, + "style" : "simple" + }, { + "explode" : false, + "in" : "header", + "name" : "Content-Type", + "required" : true, + "schema" : { + "default" : "application/json", + "example" : "application/json", + "type" : "string" + }, + "style" : "simple" + }, { + "explode" : false, + "in" : "path", + "name" : "collectionId", + "required" : true, + "schema" : { + "type" : "string" + }, + "style" : "simple" + } ], + "requestBody" : { + "content" : { + "application/json" : { + "examples" : { + "dynamicCollection" : { + "$ref" : "#/components/examples/DynamicCollectionExample" + }, + "staticCollection" : { + "$ref" : "#/components/examples/StaticCollectionExample" + } + }, + "schema" : { + "$ref" : "#/components/schemas/Collection" + } + } + }, + "required" : true + }, + "responses" : { + "204" : { + "content" : { }, + "description" : "No Content" + }, + "400" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "400", + "title" : "Bad Request", + "details" : "The provided request is not valid" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Bad Request" + }, + "401" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "401", + "title" : "Unauthorized request", + "details" : "This request is unauthorized" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Unauthorized" + }, + "403" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "403", + "title" : "Request Forbidden", + "details" : "This request is forbidden" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Forbidden" + }, + "409" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "409'", + "title" : "Conflicting request", + "details" : "The request cannot be processed as the resource is in use." + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Conflict" + }, + "500" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "500", + "title" : "Internal Server Error", + "details" : "Internal Server Error occurred" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Internal Server Error" + } + }, + "summary" : "Update a collection.", + "tags" : [ "Collections" ] + } + } + }, + "components" : { + "examples" : { + "ClassifierExample" : { + "value" : { + "operation" : "merge", + "classifiers" : [ "module-x:Outdoor", "module-y:Rural", "module-z:Weekend" ], + "entityIds" : [ "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1,NRCellDU=1", "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1,NRCellDU=2" ], + "relationshipIds" : [ "urn:sha512:TlJDZWxsRFU6U3ViTmV0d29yaz1FdXJvcGUsU3ViTmV0d29yaz1JcmV=" ] + } + }, + "DecoratorExample" : { + "value" : { + "operation" : "merge", + "decorators" : { + "module-x:location" : "Stockholm", + "module-y:vendor" : "Ericsson" + }, + "entityIds" : [ "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1,NRCellDU=1", "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1,NRCellDU=2" ], + "relationshipIds" : [ "urn:sha512:TlJDZWxsRFU6U3ViTmV0d29yaz1FdXJvcGUsU3ViTmV0d29yaz1JcmV=" ] + } + }, + "EntityResponseExample" : { + "value" : { + "o-ran-smo-teiv-ran:GNBDUFunction" : [ { + "id" : "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1", + "attributes" : { + "gNBDUId" : 11, + "dUpLMNId" : { + "mcc" : 110, + "mnc" : 210 + }, + "gNBId" : 21, + "gNBIdLength" : 2 + }, + "decorators" : { + "location" : "Stockholm" + }, + "classifiers" : [ "Rural" ], + "sourceIds" : [ "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1", "urn:cmHandle:395221E080CCF0FD1924103B15873814" ], + "metadata" : { + "trustLevel" : "RELIABLE" + } + } ] + } + }, + "EntitiesResponseExample" : { + "value" : { + "items" : [ { + "o-ran-smo-teiv-ran:NRCellDU" : [ { + "id" : "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1,NRCellDU=1", + "attributes" : { + "cellLocalId" : 4589, + "nCI" : 1, + "nRPCI" : 12, + "nRTAC" : 310 + }, + "decorators" : { + "location" : "Stockholm" + }, + "classifiers" : [ "Rural" ], + "sourceIds" : [ "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1,NRCellDU=1", "urn:cmHandle:395221E080CCF0FD1924103B15873814" ], + "metadata" : { + "trustLevel" : "RELIABLE" + } + } ] + }, { + "o-ran-smo-teiv-ran:NRCellDU" : [ { + "id" : "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1,NRCellDU=2", + "attributes" : { + "cellLocalId" : 4559, + "nRPCI" : 32, + "nRTAC" : 510 + }, + "decorators" : { + "location" : "Stockholm" + }, + "classifiers" : [ "Rural" ], + "sourceIds" : [ "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1,NRCellDU=2", "urn:cmHandle:395221E080CCF0FD1924103B15873814" ], + "metadata" : { + "trustLevel" : "RELIABLE" + } + } ] + } ], + "self" : { + "href" : "/domains/RAN/entity-types/NRCellDU/entities?offset=0&limit=500&targetFilter=attributes(nCI,nRPCI)&scopeFilter=/attributes[@nRTAC=310]" + }, + "first" : { + "href" : "/domains/RAN/entity-types/NRCellDU/entities?offset=0&limit=500&targetFilter=attributes(nCI,nRPCI)&scopeFilter=/attributes[@nRTAC=310]" + }, + "prev" : { + "href" : "/domains/RAN/entity-types/NRCellDU/entities?offset=0&limit=500&targetFilter=attributes(nCI,nRPCI)&scopeFilter=/attributes[@nRTAC=310]" + }, + "next" : { + "href" : "/domains/RAN/entity-types/NRCellDU/entities?offset=500&limit=500&targetFilter=attributes(nCI,nRPCI)&scopeFilter=/attributes[@nRTAC=310]" + }, + "last" : { + "href" : "/domains/RAN/entity-types/NRCellDU/entities?offset=678&limit=500&targetFilter=attributes(nCI,nRPCI)&scopeFilter=/attributes[@nRTAC=310]" + }, + "totalCount" : 12 + } + }, + "RelationshipResponseExample" : { + "value" : { + "o-ran-smo-teiv-ran:NRCELLDU_USES_NRSECTORCARRIER" : [ { + "id" : "urn:sha512:TlJDZWxsRFU6U3ViTmV0d29yaz1FdXJvcGUsU3ViTmV0d29yaz1JcmV=", + "aSide" : "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1,NRCellDU=1", + "bSide" : "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1,NRSectorCarrier=1", + "decorators" : { + "location" : "Stockholm" + }, + "classifiers" : [ "Rural" ], + "sourceIds" : [ ], + "metadata" : { + "trustLevel" : "RELIABLE" + } + } ] + } + }, + "RelationshipsResponseExample" : { + "value" : { + "items" : [ { + "o-ran-smo-teiv-ran:NRCELLDU_USES_NRSECTORCARRIER" : [ { + "id" : "urn:sha512:TlJDZWxsRFU6U3ViTmV0d29yaz1FdXJvcGUsU3ViTmV0d29yaz1JcmVs=", + "aSide" : "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1,NRCellDU=1", + "bSide" : "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1,NRSectorCarrier=1", + "decorators" : { + "location" : "Stockholm" + }, + "classifiers" : [ "Rural" ], + "sourceIds" : [ ], + "metadata" : { + "trustLevel" : "RELIABLE" + } + } ] + }, { + "o-ran-smo-teiv-ran:NRCELLDU_USES_NRSECTORCARRIER" : [ { + "id" : "urn:sha512:TlJDZWxsRFU6U3ViTmV0d29yaz1FdXJvcGUsU3ViTmV0d29yaz1JcmVsYW5kLE1lQ2=", + "aSide" : "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1,NRCellDU=2", + "bSide" : "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1,NRSectorCarrier=2", + "decorators" : { + "location" : "Stockholm" + }, + "classifiers" : [ "Rural" ], + "sourceIds" : [ ], + "metadata" : { + "trustLevel" : "RELIABLE" + } + } ] + } ], + "self" : { + "href" : "/domains/RAN/relationship-types/NRCELLDU_USES_NRSECTORCARRIER/relationships?offset=0&limit=500" + }, + "first" : { + "href" : "/domains/RAN/relationship-types/NRCELLDU_USES_NRSECTORCARRIER/relationships?offset=0&limit=500" + }, + "prev" : { + "href" : "/domains/RAN/relationship-types/NRCELLDU_USES_NRSECTORCARRIER/relationships?offset=0&limit=500" + }, + "next" : { + "href" : "/domains/RAN/relationship-types/NRCELLDU_USES_NRSECTORCARRIER/relationships?offset=500&limit=500" + }, + "last" : { + "href" : "/domains/RAN/relationship-types/NRCELLDU_USES_NRSECTORCARRIER/relationships?offset=678&limit=500" + }, + "totalCount" : 23 + } + }, + "EntityTypesResponseExample" : { + "value" : { + "items" : [ { + "name" : "GNBCUUPFunction", + "entities" : { + "href" : "/domains/RAN/entity-types/GNBCUUPFunction/entities" + } + }, { + "name" : "NRCellDU", + "entities" : { + "href" : "/domains/RAN/entity-types/NRCellDU/entities" + } + }, { + "name" : "GNBDUFunction", + "entities" : { + "href" : "/domains/RAN/entity-types/GNBDUFunction/entities" + } + } ], + "self" : { + "href" : "/domains/RAN/entity-types?offset=0&limit=500" + }, + "first" : { + "href" : "/domains/RAN/entity-types?offset=0&limit=500" + }, + "prev" : { + "href" : "/domains/RAN/entity-types?offset=0&limit=500" + }, + "next" : { + "href" : "/domains/RAN/entity-types?offset=500&limit=500" + }, + "last" : { + "href" : "/domains/RAN/entity-types?offset=678&limit=500" + }, + "totalCount" : 43 + } + }, + "RelationshipTypesResponseExample" : { + "value" : { + "items" : [ { + "name" : "MANAGEDELEMENT_MANAGES_GNBDUFUNCTION", + "relationships" : { + "href" : "/domains/RAN/relationship-types/MANAGEDELEMENT_MANAGES_GNBDUFUNCTION/relationships" + } + }, { + "name" : "GNBDUFUNCTION_PROVIDES_NRCELLDU", + "relationships" : { + "href" : "/domains/RAN/relationship-types/GNBDUFUNCTION_PROVIDES_NRCELLDU/relationships" + } + }, { + "name" : "NRCELLDU_USES_NRSECTORCARRIER", + "relationships" : { + "href" : "/domains/RAN/relationship-types/NRCELLDU_USES_NRSECTORCARRIER/relationships" + } + } ], + "self" : { + "href" : "/domains/RAN/relationship-types?offset=0&limit=500" + }, + "first" : { + "href" : "/domains/RAN/relationship-types?offset=0&limit=500" + }, + "prev" : { + "href" : "/domains/RAN/relationship-types?offset=0&limit=500" + }, + "next" : { + "href" : "/domains/RAN/relationship-types?offset=500&limit=500" + }, + "last" : { + "href" : "/domains/RAN/relationship-types?offset=678&limit=500" + }, + "totalCount" : 21 + } + }, + "DomainsResponseExample" : { + "value" : { + "items" : [ { + "name" : "RAN_CLOUD", + "entityTypes" : { + "href" : "/domains/CLOUD/entity-types" + }, + "relationshipTypes" : { + "href" : "/domains/CLOUD/relationship-types" + } + }, { + "name" : "RAN_OAM", + "entityTypes" : { + "href" : "/domains/OAM/entity-types" + }, + "relationshipTypes" : { + "href" : "/domains/OAM/relationship-types" + } + }, { + "name" : "RAN_LOGICAL", + "entityTypes" : { + "href" : "/domains/RAN/entity-types" + }, + "relationshipTypes" : { + "href" : "/domains/RAN/relationship-types" + } + } ], + "self" : { + "href" : "/domains?offset=0&limit=500" + }, + "first" : { + "href" : "/domains?offset=0&limit=500" + }, + "prev" : { + "href" : "/domains?offset=0&limit=500" + }, + "next" : { + "href" : "/domains?offset=500&limit=500" + }, + "last" : { + "href" : "/domains?offset=678&limit=500" + }, + "totalCount" : 343 + } + }, + "QueryMessageExample" : { + "value" : { + "query" : "WITH point({longitude: 12.78232, latitude: 56.7455}) AS p1, point({latitude: 56.7134, longitude: 12.79565}) AS p2 RETURN point.distance(p1, p2) AS distance" + } + }, + "QueryResponseExample" : { + "value" : { + "query" : "WITH point({longitude: 12.78232, latitude: 56.7455}) AS p1, point({latitude: 56.7134, longitude: 12.79565}) AS p2 RETURN point.distance(p1, p2) AS distance", + "response" : "distance : 2873.5" + } + }, + "StaticCollectionExample" : { + "value" : { + "collectionName" : "son-cell-filter-group-1", + "criteria" : { + "resourceInstances" : [ "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1,NRCellDU=1", "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1,NRCellDU=2", "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1,NRCellDU=3" ] + } + } + }, + "DynamicCollectionExample" : { + "value" : { + "collectionName" : "son-cell-filter-group-1", + "criteria" : { + "resourceQuery" : { + "url" : "/domains/RAN/entity-types/NRCellDU/entities", + "method" : "GET", + "queryParams" : { + "target:Filter" : "/attributes(cmId)", + "scopeFilter" : "/attributes[@nRTAC=310]" + }, + "requestBody" : "" + } + } + } + }, + "CollectionResponseExample" : { + "value" : { + "id" : "urn:oran:collection:/JHKJ4H5JH45345TB=", + "collectionName" : "son-cell-filter-group-1", + "criteria" : { + "resourceInstances" : [ "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1,NRCellDU=1", "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1,NRCellDU=2", "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1,NRCellDU=3" ] + } + } + }, + "CollectionsResponseExample" : { + "value" : { + "items" : [ { + "id" : "urn:topology:collection:/JHKJ4H5JH45345TB=", + "collectionName" : "son-cell-group-1", + "criteria" : { + "resourceInstances" : [ "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1,NRCellDU=1", "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1,NRCellDU=2", "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1,NRCellDU=3" ] + } + }, { + "id" : "urn:topology:collection:/DFJER77R6F7S9VD=", + "collectionName" : "son-cell-group-2", + "criteria" : { + "resourceInstances" : [ "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1,NRCellDU=4", "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1,NRCellDU=5", "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1,NRCellDU=6" ] + } + } ], + "self" : { + "href" : "/collections?offset=0&limit=500" + }, + "first" : { + "href" : "/collections?offset=0&limit=500" + }, + "prev" : { + "href" : "/collections?offset=0&limit=500" + }, + "next" : { + "href" : "/collections?offset=500&limit=500" + }, + "last" : { + "href" : "/collections?offset=678&limit=500" + }, + "totalCount" : 11 + } + }, + "SchemasResponseExample" : { + "value" : { + "items" : [ { + "name" : "o-ran-smo-teiv-ran", + "domain" : [ "RAN_LOGICAL" ], + "revision" : "2013-07-15", + "content" : { + "href" : "/schemas/o-ran-smo-teiv-ran/content" + } + }, { + "name" : "o-ran-smo-teiv-cloud", + "domain" : [ "RAN_CLOUD" ], + "revision" : "2021-05-19", + "content" : { + "href" : "/schemas/o-ran-smo-teiv-cloud/content" + } + }, { + "name" : "o-ran-smo-teiv-oam", + "domain" : [ "RAN_OAM'" ], + "revision" : "2021-05-19", + "content" : { + "href" : "/schemas/o-ran-smo-teiv-oam/content" + } + }, { + "name" : "o-ran-smo-teiv-common-yang-types", + "domain" : [ ], + "revision" : "2021-07-04", + "content" : { + "href" : "/schemas/o-ran-smo-teiv-common-yang-types/content" + } + }, { + "name" : "o-ran-smo-teiv-common-yang-extensions", + "domain" : [ ], + "revision" : "2021-07-04", + "content" : { + "href" : "/schemas/o-ran-smo-teiv-common-yang-extensions/content" + } + } ], + "self" : { + "href" : "/schemas?offset=0&limit=500" + }, + "first" : { + "href" : "/schemas?offset=0&limit=500" + }, + "prev" : { + "href" : "/schemas?offset=0&limit=500" + }, + "next" : { + "href" : "/schemas?offset=500&limit=500" + }, + "last" : { + "href" : "/schemas?offset=678&limit=500" + }, + "totalCount" : 14 + } + }, + "SchemaResponseExample" : { + "value" : "module stores {yang-version 1.1;namespace \"ietf-inet-types\";prefix module-references;revision \"2020-09-15\" {description\"Sample Model\";} typedef Mcc {type string;}typedef Mnc {type string;}grouping PLMNId {leaf mcc {type Mcc;}leaf mnc {type Mnc;}} container RAN_LOGICAL {leaf namespace {type string;}container GNBDUFunction {leaf eiid {type string;} leaf gNBDUId {type uint16;}leaf gNBID {type uint16;}leaf gNBIdLength {type uint16;}container dUpLMNId{description \"ToDo\";uses PLMNId;} }container GNBCUUPFunction {leaf eiid {type string;} leaf gNBID {type uint16;}leaf gNBIdLength {type uint16;}} container GNBCUCPFunction { leaf eiid {type string;} leaf gNBID {type uint16;}leaf gNBIdLength {type uint16;}leaf gNBCUName {type string;}container pLMNId{description \"ToDo\";uses PLMNId;} }container NRCellCU { leaf eiid {type string;} leaf cellLocalId {type uint16;}leaf nCI {type uint16;}leaf nRTAC {type uint16;}container plmnId{description \"ToDo\";uses PLMNId;} }container NRCellDU { leaf eiid {type string;} leaf cellLocalId {type uint16;}leaf nCI {type uint16;}leaf nRPCI {type uint16;}leaf nRTAC {type uint16;}}}}" + } + }, + "parameters" : { + "acceptInHeader" : { + "explode" : false, + "in" : "header", + "name" : "Accept", + "required" : true, + "schema" : { + "default" : "application/json", + "example" : "application/json", + "type" : "string" + }, + "style" : "simple" + }, + "contentTypeInHeader" : { + "explode" : false, + "in" : "header", + "name" : "Content-Type", + "required" : true, + "schema" : { + "default" : "application/json", + "example" : "application/json", + "type" : "string" + }, + "style" : "simple" + }, + "offsetParam" : { + "description" : "Pagination offset.", + "explode" : true, + "in" : "query", + "name" : "offset", + "required" : false, + "schema" : { + "default" : 0, + "minimum" : 0, + "type" : "integer" + }, + "style" : "form" + }, + "limitParam" : { + "description" : "Result limiter.", + "explode" : true, + "in" : "query", + "name" : "limit", + "required" : false, + "schema" : { + "default" : 500, + "maximum" : 500, + "minimum" : 1, + "type" : "integer" + }, + "style" : "form" + }, + "domainNameInPath" : { + "description" : "domain name", + "explode" : false, + "in" : "path", + "name" : "domainName", + "required" : true, + "schema" : { + "type" : "string" + }, + "style" : "simple" + }, + "schemaNameInPath" : { + "explode" : false, + "in" : "path", + "name" : "schemaName", + "required" : true, + "schema" : { + "default" : "o-ran-smo-teiv-ran", + "type" : "string" + }, + "style" : "simple" + }, + "collectionIdInPath" : { + "explode" : false, + "in" : "path", + "name" : "collectionId", + "required" : true, + "schema" : { + "type" : "string" + }, + "style" : "simple" + }, + "entityIdInPath" : { + "explode" : false, + "in" : "path", + "name" : "entityId", + "required" : true, + "schema" : { + "type" : "string" + }, + "style" : "simple" + }, + "relationshipIdInPath" : { + "explode" : false, + "in" : "path", + "name" : "relationshipId", + "required" : true, + "schema" : { + "type" : "string" + }, + "style" : "simple" + }, + "entityTypeNameInPath" : { + "explode" : false, + "in" : "path", + "name" : "entityTypeName", + "required" : true, + "schema" : { + "type" : "string" + }, + "style" : "simple" + }, + "relationshipTypeNameInPath" : { + "explode" : false, + "in" : "path", + "name" : "relationshipTypeName", + "required" : true, + "schema" : { + "example" : "NRCELLDU_USES_NRSECTORCARRIER", + "type" : "string" + }, + "style" : "simple" + }, + "domainOptionalInQuery" : { + "examples" : { + "domain" : { + "value" : "ran" + } + }, + "explode" : true, + "in" : "query", + "name" : "domain", + "required" : false, + "schema" : { + "type" : "string" + }, + "style" : "form" + }, + "targetFilterOptionalInQuery" : { + "description" : "Use *targetFilter* to specify the entity type and attributes to be returned in the REST response. The value for *targetFilter* can also be a list of entity types and attributes.", + "examples" : { + "targetFilter" : { + "value" : "/attributes(nCI,nRPCI)" + } + }, + "explode" : true, + "in" : "query", + "name" : "targetFilter", + "required" : false, + "schema" : { + "type" : "string" + }, + "style" : "form" + }, + "scopeFilterOptionalInQuery" : { + "description" : "Use *scopeFilter* to specify the attributes to match on. The value for *scopeFilter* can also be a list of entity types and attributes. scopeFilter returns a boolean.", + "examples" : { + "scopeFilter" : { + "value" : "/attributes[@nRTAC=310\"]" + } + }, + "explode" : true, + "in" : "query", + "name" : "scopeFilter", + "required" : false, + "schema" : { + "type" : "string" + }, + "style" : "form" + } + }, + "responses" : { + "NotFound" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "404", + "title" : "Resource Not Found", + "details" : "The requested resource is not found" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Not Found" + }, + "Unauthorized" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "401", + "title" : "Unauthorized request", + "details" : "This request is unauthorized" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Unauthorized" + }, + "Forbidden" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "403", + "title" : "Request Forbidden", + "details" : "This request is forbidden" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Forbidden" + }, + "BadRequest" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "400", + "title" : "Bad Request", + "details" : "The provided request is not valid" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Bad Request" + }, + "Conflict" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "409'", + "title" : "Conflicting request", + "details" : "The request cannot be processed as the resource is in use." + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Conflict" + }, + "Created" : { + "description" : "Created without response body" + }, + "InternalServerError" : { + "content" : { + "application/problem+json" : { + "example" : { + "status" : "500", + "title" : "Internal Server Error", + "details" : "Internal Server Error occurred" + }, + "schema" : { + "$ref" : "#/components/schemas/ErrorMessage" + } + } + }, + "description" : "Internal Server Error" + }, + "NoContent" : { + "content" : { }, + "description" : "No Content" + } + }, + "schemas" : { + "Classifier" : { + "properties" : { + "operation" : { + "enum" : [ "merge", "delete" ], + "type" : "string" + }, + "classifier" : { + "items" : { + "type" : "string" + }, + "type" : "array" + }, + "entityIds" : { + "items" : { + "type" : "string" + }, + "type" : "array" + }, + "relationshipIds" : { + "items" : { + "type" : "string" + }, + "type" : "array" + } + }, + "title" : "Classifier", + "type" : "object" + }, + "CollectionResponse" : { + "properties" : { + "id" : { + "type" : "string" + }, + "collectionName" : { + "type" : "string" + }, + "criteria" : { + "$ref" : "#/components/schemas/CollectionResponse_criteria" + } + }, + "type" : "object" + }, + "Collection" : { + "properties" : { + "collectionName" : { + "type" : "string" + }, + "criteria" : { + "$ref" : "#/components/schemas/TopologySelection" + } + }, + "type" : "object" + }, + "Collections" : { + "properties" : { + "items" : { + "items" : { + "$ref" : "#/components/schemas/CollectionResponse" + }, + "type" : "array" + }, + "self" : { + "$ref" : "#/components/schemas/Href" + }, + "first" : { + "$ref" : "#/components/schemas/Href" + }, + "prev" : { + "$ref" : "#/components/schemas/Href" + }, + "next" : { + "$ref" : "#/components/schemas/Href" + }, + "last" : { + "$ref" : "#/components/schemas/Href" + }, + "totalCount" : { + "type" : "integer" + } + }, + "title" : "Collections", + "type" : "object" + }, + "TopologySelection" : { + "oneOf" : [ { + "$ref" : "#/components/schemas/StaticSelection" + }, { + "$ref" : "#/components/schemas/DynamicSelection" + } ] + }, + "StaticSelection" : { + "properties" : { + "resourceInstances" : { + "items" : { + "type" : "string" + }, + "minItems" : 1, + "type" : "array" + } + }, + "type" : "object" + }, + "DynamicSelection" : { + "additionalProperties" : false, + "properties" : { + "resourceQuery" : { + "$ref" : "#/components/schemas/DynamicSelection_resourceQuery" + } + }, + "type" : "object" + }, + "Decorator" : { + "properties" : { + "operation" : { + "enum" : [ "merge", "delete" ], + "type" : "string" + }, + "decorators" : { + "additionalProperties" : { + "type" : "string" + }, + "type" : "object" + }, + "entityIds" : { + "items" : { + "type" : "string" + }, + "type" : "array" + }, + "relationshipIds" : { + "items" : { + "type" : "string" + }, + "type" : "array" + } + }, + "title" : "Decorator", + "type" : "object" + }, + "Domains" : { + "properties" : { + "items" : { + "items" : { + "$ref" : "#/components/schemas/Domains_items_inner" + }, + "type" : "array" + }, + "self" : { + "$ref" : "#/components/schemas/Href" + }, + "first" : { + "$ref" : "#/components/schemas/Href" + }, + "prev" : { + "$ref" : "#/components/schemas/Href" + }, + "next" : { + "$ref" : "#/components/schemas/Href" + }, + "last" : { + "$ref" : "#/components/schemas/Href" + }, + "totalCount" : { + "type" : "integer" + } + }, + "title" : "Domains", + "type" : "object" + }, + "EntityTypes" : { + "properties" : { + "items" : { + "items" : { + "$ref" : "#/components/schemas/EntityTypes_items_inner" + }, + "type" : "array" + }, + "self" : { + "$ref" : "#/components/schemas/Href" + }, + "first" : { + "$ref" : "#/components/schemas/Href" + }, + "prev" : { + "$ref" : "#/components/schemas/Href" + }, + "next" : { + "$ref" : "#/components/schemas/Href" + }, + "last" : { + "$ref" : "#/components/schemas/Href" + }, + "totalCount" : { + "type" : "integer" + } + }, + "title" : "EntityTypes", + "type" : "object" + }, + "EntitiesResponseMessage" : { + "properties" : { + "items" : { + "items" : { + "description" : "Refer to yang model for schema definition of topology entities", + "type" : "object" + }, + "type" : "array" + }, + "self" : { + "$ref" : "#/components/schemas/Href" + }, + "first" : { + "$ref" : "#/components/schemas/Href" + }, + "prev" : { + "$ref" : "#/components/schemas/Href" + }, + "next" : { + "$ref" : "#/components/schemas/Href" + }, + "last" : { + "$ref" : "#/components/schemas/Href" + }, + "totalCount" : { + "type" : "integer" + } + }, + "title" : "Entities", + "type" : "object" + }, + "RelationshipTypes" : { + "properties" : { + "items" : { + "items" : { + "$ref" : "#/components/schemas/RelationshipTypes_items_inner" + }, + "type" : "array" + }, + "self" : { + "$ref" : "#/components/schemas/Href" + }, + "first" : { + "$ref" : "#/components/schemas/Href" + }, + "prev" : { + "$ref" : "#/components/schemas/Href" + }, + "next" : { + "$ref" : "#/components/schemas/Href" + }, + "last" : { + "$ref" : "#/components/schemas/Href" + }, + "totalCount" : { + "type" : "integer" + } + }, + "title" : "RelationshipTypes", + "type" : "object" + }, + "RelationshipsResponseMessage" : { + "properties" : { + "items" : { + "items" : { + "description" : "Refer to yang model for schema definition of topology relationships", + "type" : "object" + }, + "type" : "array" + }, + "self" : { + "$ref" : "#/components/schemas/Href" + }, + "first" : { + "$ref" : "#/components/schemas/Href" + }, + "prev" : { + "$ref" : "#/components/schemas/Href" + }, + "next" : { + "$ref" : "#/components/schemas/Href" + }, + "last" : { + "$ref" : "#/components/schemas/Href" + }, + "totalCount" : { + "type" : "integer" + } + }, + "title" : "Relationships", + "type" : "object" + }, + "ErrorMessage" : { + "properties" : { + "status" : { + "type" : "string" + }, + "message" : { + "type" : "string" + }, + "details" : { + "type" : "string" + } + }, + "title" : "Error", + "type" : "object" + }, + "Href" : { + "properties" : { + "href" : { + "format" : "uri-template", + "type" : "string" + } + }, + "title" : "Href", + "type" : "object" + }, + "MultipartFile" : { + "properties" : { + "file" : { + "description" : "multipartFile", + "format" : "binary", + "type" : "string" + } + }, + "required" : [ "file" ], + "type" : "object" + }, + "QueryMessage" : { + "properties" : { + "query" : { + "type" : "string" + } + }, + "title" : "Query", + "type" : "object" + }, + "Schema" : { + "properties" : { + "name" : { + "type" : "string" + }, + "domain" : { + "items" : { + "type" : "string" + }, + "type" : "array" + }, + "revision" : { + "type" : "string" + }, + "content" : { + "$ref" : "#/components/schemas/Href" + } + }, + "title" : "Schema", + "type" : "object" + }, + "SchemaList" : { + "properties" : { + "items" : { + "items" : { + "$ref" : "#/components/schemas/Schema" + }, + "type" : "array" + }, + "self" : { + "$ref" : "#/components/schemas/Href" + }, + "first" : { + "$ref" : "#/components/schemas/Href" + }, + "prev" : { + "$ref" : "#/components/schemas/Href" + }, + "next" : { + "$ref" : "#/components/schemas/Href" + }, + "last" : { + "$ref" : "#/components/schemas/Href" + }, + "totalCount" : { + "type" : "integer" + } + }, + "title" : "Schemas", + "type" : "object" + }, + "CollectionResponse_criteria" : { + "oneOf" : [ { + "$ref" : "#/components/schemas/StaticSelection" + }, { + "$ref" : "#/components/schemas/DynamicSelection" + } ] + }, + "DynamicSelection_resourceQuery" : { + "properties" : { + "url" : { + "type" : "string" + }, + "method" : { + "type" : "string" + }, + "queryParams" : { + "type" : "object" + }, + "requestBody" : { + "type" : "object" + } + }, + "required" : [ "url" ], + "type" : "object" + }, + "Domains_items_inner" : { + "properties" : { + "name" : { + "type" : "string" + }, + "entityTypes" : { + "$ref" : "#/components/schemas/Href" + }, + "relationshipTypes" : { + "$ref" : "#/components/schemas/Href" + } + } + }, + "EntityTypes_items_inner" : { + "properties" : { + "name" : { + "type" : "string" + }, + "entities" : { + "$ref" : "#/components/schemas/Href" + } + }, + "type" : "object" + }, + "RelationshipTypes_items_inner" : { + "properties" : { + "name" : { + "type" : "string" + }, + "relationships" : { + "$ref" : "#/components/schemas/Href" + } + }, + "type" : "object" + } + } + } +} \ No newline at end of file diff --git a/docs/offeredapis/topology-exposure-inventory-openapi.yaml b/docs/offeredapis/topology-exposure-inventory-openapi.yaml new file mode 100644 index 0000000..a885dcc --- /dev/null +++ b/docs/offeredapis/topology-exposure-inventory-openapi.yaml @@ -0,0 +1,1686 @@ +# +# ============LICENSE_START======================================================= +# Copyright (C) 2024 Ericsson +# Modifications Copyright (C) 2024 OpenInfra Foundation Europe +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 +# ============LICENSE_END========================================================= +# + +openapi: 3.0.2 +info: + x-api-id: 52812f69-83ac-4dfa-b83a-1a1bdf2d49b8 + x-audience: external-public + description: | + Topology and Inventory data is the information that represents entities in a telecommunications network and the relationships between them that provide insight into a particular aspect of the network of importance to specific use cases. Topology and Inventory data can be derived from inventory, configuration, or other data. + + Topology and Inventory supports several topology domains. A domain is a grouping of network topology entities which handles topology data. + + Entities are enabling the modelling and storage of complex network infrastructure and relationships. + + Relationships are a uni-directional connection between two entities, one of which is the originating side (A-side) and the other is the terminating side (B-side). The order of the sides matters since it defines the relationship itself which must be unique + + Topology and Inventory API provides the capabilities to fetch topology data. Using the filtering options, it is possible to define more specific query requests. + + ## Querying simple entities + EntityType is used as the root of the queries (from here referred as RootObject). Every other object, either *targetFilter* or *scopeFilter*, has to relate to the RootObject. The queries are constructed starting from the RootObject and all other objects are joined to it. If there is no connection between the RootObject and the other object(s), the query will not get constructed. The RootObject still can be retrieved and filtered using the */attributes*. + + | USE CASE | ENTITY TYPE | TARGET FILTER | SCOPE FILTER | QUERY RESULT | + |:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------------|:----------------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------------------------|:------------------------------------------------------------------------------------------------------------------| + | To return the ids for all instances of the entityType used in the query. |  GNBDUFunction | | | All ids of every GNBDUFunction | + | To return all attributes of every instance of the entityType used in the query. |  GNBDUFunction |  /attributes | | All GNBDUFunctions with every attribute | + | To return every instance of the entityType used in the query, but only the attribute that was defined in the *targetFilter* parameter.
Note: The attribute must be a valid field of the object. |  GNBDUFunction |  /attributes(gNBId)
   **OR**
/attributes/gNBId | | All FDNs of every GNBDUFunction | + | To return every instance of the entityType used in the query, but only the attributes that were defined in the *targetFilter* parameter.
Case 1: The attributes must be separated by a comma "," in case of using parenthesis "()".
Case 2: The attributes must be separated by a semicolon ";" in case of using slash "/".
Note: The attributes must be valid *targetFilter* of the object. |  GNBDUFunction |  /attributes(gNBId, gNBIdLength)
   **OR**
/attributes/gNBId; /attributes/gNBIdLength | | All Ids and FDNs of every GNBDUFunction | + | To return the ids for all instances of the entityType used in the query, that matches the given attribute in the *scopeFilter* parameter.
Note: The attribute must be a valid field of the object. |  GNBDUFunction | | /attributes[contains (@fdn, "/SubNetwork=Ireland/")] | Unique set of ids of GNBDUFunctions, where fdn contains "SubNetwork=Ireland" | + | To return the ids for all instances of the entityType used in the query, that matches the given attributes in the *scopeFilter* parameter.
Note: the entityType and the object in the *scopeFilter* parameter must match, and the attributes must be valid field or fields of the object. The attributes must be separated by a comma ",". |  GNBDUFunction | | /attributes[@gNBIdLength=3 and @gNBId=111] | Unique set of ids of GNBDUFunctions, where the gNBIdLength equals 3 and the gNBId equals 111 | + | To return the ids for all instances of the entityType used in the query, that satisfies every condition in one of the tags in the *scopeFilter* parameter. A tag is a complete unit of *scopeFilter* parameter surrounded by square brackets.
Note: The attributes must be valid field or fields of the object. |  GNBDUFunction | | /attributes[@gNBIdLength=3 and @gNBId=111]
   **OR**
/attributes[@gNBIdLength=3 and @gNBId=112] | Unique set of ids of GNBDUFunctions, where where the gNBIdLength equals 3 and the gNBId is either 111 or 112 | + + ## Querying connected entities + It is possible to get information about directly connected objects as well. If entityType is present in the *targetFilter* parameter, the query provides information about that entityType itself. + + | USE CASE | ENTITY TYPE | TARGET FILTER | SCOPE FILTER | QUERY RESULT | + |-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------|-------------------------------------|-----------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------| + | To return the ids for all instances of the entityType in the *targetFilter* parameter, if they are directly related to the queried entityType. |  GNBDUFunction |  /NRCellDU | | Unique set of ids of NRCellDUs that relates to GNBDUFunctions directly with any relationship type | + | To return the ids for all instances of the entityTypes in the *targetFilter* parameter, if they are directly related to the entityType. |  GNBDUFunction |  /NRCellDU ;  /NRSectorCarrier | | Unique set of ids of NRCellDUs and NRSectorCarriers that relates to GNBDUFunctions directly with any relationship type | + | To return the ids for all instances of the queried entityType that has one or more direct relationships with the entityType specified in the *scopeFilter* parameter. |  GNBDUFunction | | /AntennaCapability | Unique set of ids of GNBDUFunctions that are directly related to AntennaCapability with any relationship type | + | To return the ids for all instances of the queried entityType that has one or more direct relationships with at least one of the entityTypes specified in the *scopeFilter* parameter. |  GNBDUFunction | | /AntennaCapability
   **OR**
/NRCellDU | Unique set of ids of GNBDUFunctions that are directly related to AntennaCapability or NRCellDU with any relationship type | + + version: 0.11.0 + title: Topology and Inventory API + license: + name: Copyright (C) 2024 Ericsson, Modifications Copyright (C) 2024 OpenInfra Foundation Europe. All rights reserved. + url: http://www.apache.org/licenses/LICENSE-2.0 + termsOfService: http://www.apache.org/licenses/LICENSE-2.0 + +tags: + - name: Entities and relationships + description: "Provides the capability to retrieve topology and inventory entities and relationships." + - name: Schemas + description: "Schemas are defined in YANG modeling language. A group of Yang schemas makes the topology and inventory model, which represents topology and inventory entities, their attributes, and their relationships. For more information on YANG modelling language, see [IETF Documentation](https://datatracker.ietf.org/doc/html/rfc6020)." + - name: Geo-query + description: "Provides the capability to perform geographical queries on topology entities." + - name: Classifiers + description: "Provides the capability to update or remove user-defined keywords or tags on entities and relationships." + - name: Decorators + description: "Provides the capability to update or remove user-defined values on entities and relationships." + - name: Collections + description: "Provides the capability to group topology entities of any type, with an appropriate description and other criteria." + +servers: + - url: https://{host}/topology-inventory/v1alpha11 + variables: + host: + default: localhost + description: Change this value to point to your custom host. + +paths: + /domains: + get: + description: Get all the available topology domains. + tags: + - Entities and relationships + summary: Get all the available topology domains. + operationId: "getAllDomains" + parameters: + - $ref: '#/components/parameters/acceptInHeader' + - $ref: '#/components/parameters/offsetParam' + - $ref: '#/components/parameters/limitParam' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/Domains' + examples: + domains: + $ref: '#/components/examples/DomainsResponseExample' + '400': + $ref: '#/components/responses/BadRequest' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '500': + $ref: '#/components/responses/InternalServerError' + + /domains/{domainName}/entity-types: + get: + description: Get all the available topology entity types in domain name. + tags: + - Entities and relationships + summary: Get all the available topology entity types in domain name. + operationId: "getTopologyEntityTypes" + parameters: + - $ref: '#/components/parameters/acceptInHeader' + - $ref: '#/components/parameters/domainNameInPath' + - $ref: '#/components/parameters/offsetParam' + - $ref: '#/components/parameters/limitParam' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/EntityTypes' + examples: + entityTypes: + $ref: '#/components/examples/EntityTypesResponseExample' + '400': + $ref: '#/components/responses/BadRequest' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '500': + $ref: '#/components/responses/InternalServerError' + + /domains/{domainName}/entity-types/{entityTypeName}/entities: + get: + description: Get all topology entities of a specific entity type. + tags: + - Entities and relationships + summary: Get all topology entities of a specific entity type. + operationId: "getTopologyByEntityTypeName" + parameters: + - $ref: '#/components/parameters/acceptInHeader' + - $ref: '#/components/parameters/domainNameInPath' + - $ref: '#/components/parameters/entityTypeNameInPath' + - $ref: '#/components/parameters/targetFilterOptionalInQuery' + - $ref: '#/components/parameters/scopeFilterOptionalInQuery' + - $ref: '#/components/parameters/offsetParam' + - $ref: '#/components/parameters/limitParam' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/EntitiesResponseMessage' + examples: + entities: + $ref: '#/components/examples/EntitiesResponseExample' + '400': + $ref: '#/components/responses/BadRequest' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '500': + $ref: '#/components/responses/InternalServerError' + + /domains/{domainName}/entity-types/{entityTypeName}/entities/{entityId}: + get: + description: Get topology for entity type name with specified id. Specified id represents the entity instance. + tags: + - Entities and relationships + summary: Get topology for entity type name with specified id. Specified id represents the entity instance. + operationId: "getTopologyById" + parameters: + - $ref: '#/components/parameters/acceptInHeader' + - $ref: '#/components/parameters/domainNameInPath' + - $ref: '#/components/parameters/entityTypeNameInPath' + - $ref: '#/components/parameters/entityIdInPath' + responses: + '200': + description: OK + content: + application/yang.data+json: + schema: + type: object + description: "Refer to yang model for schema definition" + examples: + entity: + $ref: '#/components/examples/EntityResponseExample' + '400': + $ref: '#/components/responses/BadRequest' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '404': + $ref: '#/components/responses/NotFound' + '500': + $ref: '#/components/responses/InternalServerError' + + /domains/{domainName}/entity-types/{entityTypeName}/entities/{entityId}/relationships: + get: + description: Get all relationships for entity type name with specified id. Specified id represents the entity instance. + tags: + - Entities and relationships + summary: Get all relationships for entity type name with specified id. Specified id represents the entity instance. + operationId: "getAllRelationshipsForEntityId" + parameters: + - $ref: '#/components/parameters/acceptInHeader' + - $ref: '#/components/parameters/domainNameInPath' + - $ref: '#/components/parameters/entityTypeNameInPath' + - $ref: '#/components/parameters/entityIdInPath' + - $ref: '#/components/parameters/offsetParam' + - $ref: '#/components/parameters/limitParam' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/RelationshipsResponseMessage' + examples: + relationships: + $ref: '#/components/examples/RelationshipsResponseExample' + '400': + $ref: '#/components/responses/BadRequest' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '404': + $ref: '#/components/responses/NotFound' + '500': + $ref: '#/components/responses/InternalServerError' + + /domains/{domainName}/relationship-types: + get: + description: Get all the available topology relationship types. + tags: + - Entities and relationships + summary: Get all the available topology relationship types. + operationId: "getTopologyRelationshipTypes" + parameters: + - $ref: '#/components/parameters/acceptInHeader' + - $ref: '#/components/parameters/domainNameInPath' + - $ref: '#/components/parameters/offsetParam' + - $ref: '#/components/parameters/limitParam' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/RelationshipTypes' + examples: + relationshipTypes: + $ref: '#/components/examples/RelationshipTypesResponseExample' + '400': + $ref: '#/components/responses/BadRequest' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '500': + $ref: '#/components/responses/InternalServerError' + + /domains/{domainName}/relationship-types/{relationshipTypeName}/relationships: + get: + description: Get topology relationships of a specific relationship type name. + tags: + - Entities and relationships + summary: Get topology relationships of a specific relationship type name. + operationId: "getRelationshipsByType" + parameters: + - $ref: '#/components/parameters/acceptInHeader' + - $ref: '#/components/parameters/domainNameInPath' + - $ref: '#/components/parameters/relationshipTypeNameInPath' + - $ref: '#/components/parameters/targetFilterOptionalInQuery' + - $ref: '#/components/parameters/scopeFilterOptionalInQuery' + - $ref: '#/components/parameters/offsetParam' + - $ref: '#/components/parameters/limitParam' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/RelationshipsResponseMessage' + examples: + relationships: + $ref: '#/components/examples/RelationshipsResponseExample' + '400': + $ref: '#/components/responses/BadRequest' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '500': + $ref: '#/components/responses/InternalServerError' + + /domains/{domainName}/relationship-types/{relationshipTypeName}/relationships/{relationshipId}: + get: + description: Get relationship with specified id. Specified id represents the relationship instance. + tags: + - Entities and relationships + summary: Get relationship with specified id. Specified id represents the relationship instance. + operationId: "getRelationshipById" + parameters: + - $ref: '#/components/parameters/acceptInHeader' + - $ref: '#/components/parameters/domainNameInPath' + - $ref: '#/components/parameters/relationshipTypeNameInPath' + - $ref: '#/components/parameters/relationshipIdInPath' + responses: + '200': + description: OK + content: + application/yang.data+json: + schema: + type: object + description: "Refer to yang model for schema definition" + examples: + relationship: + $ref: '#/components/examples/RelationshipResponseExample' + '400': + $ref: '#/components/responses/BadRequest' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '404': + $ref: '#/components/responses/NotFound' + '500': + $ref: '#/components/responses/InternalServerError' + + /domains/{domainName}/entities: + get: + description: Get topology entities by domain, using specified targetFilter as mandatory query parameter. + tags: + - Entities and relationships + summary: "Get entities by domain" + operationId: "getEntitiesByDomain" + parameters: + - $ref: '#/components/parameters/acceptInHeader' + - $ref: '#/components/parameters/domainNameInPath' + - $ref: '#/components/parameters/targetFilterOptionalInQuery' + - $ref: '#/components/parameters/scopeFilterOptionalInQuery' + - $ref: '#/components/parameters/offsetParam' + - $ref: '#/components/parameters/limitParam' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/EntitiesResponseMessage' + examples: + entities: + $ref: '#/components/examples/EntitiesResponseExample' + '400': + $ref: '#/components/responses/BadRequest' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '500': + $ref: '#/components/responses/InternalServerError' + + /schemas: + post: + description: Create a new schema. + tags: + - Schemas + summary: Create a new schema. + operationId: createSchema + parameters: + - $ref: '#/components/parameters/acceptInHeader' + - $ref: '#/components/parameters/contentTypeInHeader' + requestBody: + required: true + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/MultipartFile' + responses: + '201': + $ref: '#/components/responses/Created' + '400': + $ref: '#/components/responses/BadRequest' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '409': + $ref: '#/components/responses/Conflict' + '500': + $ref: '#/components/responses/InternalServerError' + + get: + description: Get a list of all schemas. + tags: + - Schemas + summary: Get a list of all schemas. + operationId: getSchemas + parameters: + - $ref: '#/components/parameters/acceptInHeader' + - $ref: '#/components/parameters/domainOptionalInQuery' + - $ref: '#/components/parameters/offsetParam' + - $ref: '#/components/parameters/limitParam' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/SchemaList' + examples: + schemas: + $ref: '#/components/examples/SchemasResponseExample' + '400': + $ref: '#/components/responses/BadRequest' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '500': + $ref: '#/components/responses/InternalServerError' + /schemas/{schemaName}/content: + get: + description: Get the model schema by name. + tags: + - Schemas + summary: Get the model schema. + operationId: getSchemaByName + parameters: + - $ref: '#/components/parameters/acceptInHeader' + - $ref: '#/components/parameters/schemaNameInPath' + responses: + '200': + description: OK + content: + text/plain: + schema: + type: string + examples: + schema: + $ref: '#/components/examples/SchemaResponseExample' + '400': + $ref: '#/components/responses/BadRequest' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '404': + $ref: '#/components/responses/NotFound' + '500': + $ref: '#/components/responses/InternalServerError' + + /schemas/{schemaName}: + delete: + description: Delete a schema. + tags: + - Schemas + summary: Delete a schema. + operationId: deleteSchema + parameters: + - $ref: '#/components/parameters/acceptInHeader' + - $ref: '#/components/parameters/schemaNameInPath' + responses: + '204': + $ref: '#/components/responses/NoContent' + '400': + $ref: '#/components/responses/BadRequest' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '500': + $ref: '#/components/responses/InternalServerError' + + /geo-queries: + post: + description: Geo query topology entity or entities across topology domains. + tags: + - Geo-query + summary: Geo query topology entity or entities across topology domains. + operationId: geoQueryTopologyAcrossDomains + parameters: + - $ref: '#/components/parameters/acceptInHeader' + - $ref: '#/components/parameters/contentTypeInHeader' + - $ref: '#/components/parameters/offsetParam' + - $ref: '#/components/parameters/limitParam' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/QueryMessage' + examples: + geoQuery: + $ref: '#/components/examples/QueryMessageExample' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + examples: + geoQueryResponse: + $ref: '#/components/examples/QueryResponseExample' + '400': + $ref: '#/components/responses/BadRequest' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '409': + $ref: '#/components/responses/Conflict' + '500': + $ref: '#/components/responses/InternalServerError' + + /classifiers: + put: + description: Update entities and/or relationships with classifier(s). + tags: + - Classifiers + summary: Update entities and/or relationships with classifier(s). + operationId: updateClassifier + parameters: + - $ref: '#/components/parameters/acceptInHeader' + - $ref: '#/components/parameters/contentTypeInHeader' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/Classifier' + examples: + classifier: + $ref: '#/components/examples/ClassifierExample' + responses: + '204': + $ref: '#/components/responses/NoContent' + '400': + $ref: '#/components/responses/BadRequest' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '409': + $ref: '#/components/responses/Conflict' + '500': + $ref: '#/components/responses/InternalServerError' + + /decorators: + put: + description: Update entities and/or relationships with decorator(s). + tags: + - Decorators + summary: Update entities and/or relationships with decorator(s). + operationId: updateDecorator + parameters: + - $ref: '#/components/parameters/acceptInHeader' + - $ref: '#/components/parameters/contentTypeInHeader' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/Decorator' + examples: + decorator: + $ref: '#/components/examples/DecoratorExample' + responses: + '204': + $ref: '#/components/responses/NoContent' + '400': + $ref: '#/components/responses/BadRequest' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '409': + $ref: '#/components/responses/Conflict' + '500': + $ref: '#/components/responses/InternalServerError' + + /collections: + post: + description: Create a collection. + tags: + - Collections + summary: Create a collection. + operationId: createCollection + parameters: + - $ref: '#/components/parameters/acceptInHeader' + - $ref: '#/components/parameters/contentTypeInHeader' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/Collection' + examples: + dynamicCollection: + $ref: '#/components/examples/DynamicCollectionExample' + staticCollection: + $ref: '#/components/examples/StaticCollectionExample' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/CollectionResponse' + examples: + collection: + $ref: '#/components/examples/CollectionResponseExample' + '400': + $ref: '#/components/responses/BadRequest' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '409': + $ref: '#/components/responses/Conflict' + '500': + $ref: '#/components/responses/InternalServerError' + + get: + description: Get all collections. + tags: + - Collections + summary: Get all collections. + operationId: "getAllCollections" + parameters: + - $ref: '#/components/parameters/acceptInHeader' + - $ref: '#/components/parameters/offsetParam' + - $ref: '#/components/parameters/limitParam' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/Collections' + examples: + collections: + $ref: '#/components/examples/CollectionsResponseExample' + '204': + $ref: '#/components/responses/NoContent' + '400': + $ref: '#/components/responses/BadRequest' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '500': + $ref: '#/components/responses/InternalServerError' + + /collections/{collectionId}: + get: + description: Get a collection with specified id. + tags: + - Collections + summary: Get a collection with specified id. + operationId: "getCollection" + parameters: + - $ref: '#/components/parameters/acceptInHeader' + - $ref: '#/components/parameters/collectionIdInPath' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/CollectionResponse' + examples: + collection: + $ref: '#/components/examples/CollectionResponseExample' + '400': + $ref: '#/components/responses/BadRequest' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '404': + $ref: '#/components/responses/NotFound' + '500': + $ref: '#/components/responses/InternalServerError' + + put: + description: Update a collection. + tags: + - Collections + summary: Update a collection. + operationId: updateCollection + parameters: + - $ref: '#/components/parameters/acceptInHeader' + - $ref: '#/components/parameters/contentTypeInHeader' + - $ref: '#/components/parameters/collectionIdInPath' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/Collection' + examples: + dynamicCollection: + $ref: '#/components/examples/DynamicCollectionExample' + staticCollection: + $ref: '#/components/examples/StaticCollectionExample' + responses: + '204': + $ref: '#/components/responses/NoContent' + '400': + $ref: '#/components/responses/BadRequest' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '409': + $ref: '#/components/responses/Conflict' + '500': + $ref: '#/components/responses/InternalServerError' + + delete: + description: Delete a collection with specified id. + tags: + - Collections + summary: Delete a collection with specified id. + operationId: "deleteCollection" + parameters: + - $ref: '#/components/parameters/acceptInHeader' + - $ref: '#/components/parameters/collectionIdInPath' + responses: + '204': + $ref: '#/components/responses/NoContent' + '400': + $ref: '#/components/responses/BadRequest' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '404': + $ref: '#/components/responses/NotFound' + '500': + $ref: '#/components/responses/InternalServerError' + +components: + schemas: + Classifier: + type: object + title: Classifier + properties: + operation: + type: string + enum: + - merge + - delete + classifier: + type: array + items: + type: string + entityIds: + type: array + items: + type: string + relationshipIds: + type: array + items: + type: string + CollectionResponse: + type: object + properties: + id: + type: string + collectionName: + type: string + criteria: + oneOf: + - $ref: '#/components/schemas/StaticSelection' + - $ref: '#/components/schemas/DynamicSelection' + Collection: + type: object + properties: + collectionName: + type: string + criteria: + $ref: '#/components/schemas/TopologySelection' + Collections: + type: object + title: Collections + properties: + items: + type: array + items: + $ref: '#/components/schemas/CollectionResponse' + self: + $ref: '#/components/schemas/Href' + first: + $ref: '#/components/schemas/Href' + prev: + $ref: '#/components/schemas/Href' + next: + $ref: '#/components/schemas/Href' + last: + $ref: '#/components/schemas/Href' + totalCount: + type: integer + TopologySelection: + oneOf: + - $ref: '#/components/schemas/StaticSelection' + - $ref: '#/components/schemas/DynamicSelection' + StaticSelection: + type: object + properties: + resourceInstances: + type: array + minItems: 1 + items: + type: string + DynamicSelection: + type: object + additionalProperties: false + properties: + resourceQuery: + type: object + properties: + url: + type: string + method: + type: string + queryParams: + type: object + requestBody: + type: object + required: + - url + Decorator: + type: object + title: Decorator + properties: + operation: + type: string + enum: + - merge + - delete + decorators: + type: object + additionalProperties: + type: string + entityIds: + type: array + items: + type: string + relationshipIds: + type: array + items: + type: string + Domains: + type: object + title: Domains + properties: + items: + type: array + items: + properties: + name: + type: string + entityTypes: + $ref: '#/components/schemas/Href' + relationshipTypes: + $ref: '#/components/schemas/Href' + self: + $ref: '#/components/schemas/Href' + first: + $ref: '#/components/schemas/Href' + prev: + $ref: '#/components/schemas/Href' + next: + $ref: '#/components/schemas/Href' + last: + $ref: '#/components/schemas/Href' + totalCount: + type: integer + EntityTypes: + type: object + title: EntityTypes + properties: + items: + type: array + items: + type: object + properties: + name: + type: string + entities: + $ref: '#/components/schemas/Href' + self: + $ref: '#/components/schemas/Href' + first: + $ref: '#/components/schemas/Href' + prev: + $ref: '#/components/schemas/Href' + next: + $ref: '#/components/schemas/Href' + last: + $ref: '#/components/schemas/Href' + totalCount: + type: integer + EntitiesResponseMessage: + type: object + title: Entities + properties: + items: + type: array + items: + type: object + description: "Refer to yang model for schema definition of topology entities" + self: + $ref: '#/components/schemas/Href' + first: + $ref: '#/components/schemas/Href' + prev: + $ref: '#/components/schemas/Href' + next: + $ref: '#/components/schemas/Href' + last: + $ref: '#/components/schemas/Href' + totalCount: + type: integer + RelationshipTypes: + type: object + title: RelationshipTypes + properties: + items: + type: array + items: + type: object + properties: + name: + type: string + relationships: + $ref: '#/components/schemas/Href' + self: + $ref: '#/components/schemas/Href' + first: + $ref: '#/components/schemas/Href' + prev: + $ref: '#/components/schemas/Href' + next: + $ref: '#/components/schemas/Href' + last: + $ref: '#/components/schemas/Href' + totalCount: + type: integer + RelationshipsResponseMessage: + type: object + title: Relationships + properties: + items: + type: array + items: + type: object + description: "Refer to yang model for schema definition of topology relationships" + self: + $ref: '#/components/schemas/Href' + first: + $ref: '#/components/schemas/Href' + prev: + $ref: '#/components/schemas/Href' + next: + $ref: '#/components/schemas/Href' + last: + $ref: '#/components/schemas/Href' + totalCount: + type: integer + ErrorMessage: + type: object + title: Error + properties: + status: + type: string + message: + type: string + details: + type: string + Href: + type: object + title: Href + properties: + href: + type: string + format: uri-template + MultipartFile: + type: object + required: + - file + properties: + file: + type: string + description: multipartFile + format: binary + QueryMessage: + type: object + title: Query + properties: + query: + type: string + Schema: + type: object + title: Schema + properties: + name: + type: string + domain: + type: array + items: + type: string + revision: + type: string + content: + $ref: '#/components/schemas/Href' + SchemaList: + type: object + title: Schemas + properties: + items: + type: array + items: + $ref: '#/components/schemas/Schema' + self: + $ref: '#/components/schemas/Href' + first: + $ref: '#/components/schemas/Href' + prev: + $ref: '#/components/schemas/Href' + next: + $ref: '#/components/schemas/Href' + last: + $ref: '#/components/schemas/Href' + totalCount: + type: integer + + responses: + NotFound: + description: Not Found + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + example: + status: '404' + title: Resource Not Found + details: The requested resource is not found + Unauthorized: + description: Unauthorized + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + example: + status: '401' + title: Unauthorized request + details: This request is unauthorized + Forbidden: + description: Forbidden + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + example: + status: '403' + title: Request Forbidden + details: This request is forbidden + BadRequest: + description: Bad Request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + example: + status: '400' + title: Bad Request + details: The provided request is not valid + Conflict: + description: Conflict + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + example: + status: 409' + title: Conflicting request + details: The request cannot be processed as the resource is in use. + Created: + description: Created without response body + InternalServerError: + description: Internal Server Error + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ErrorMessage" + example: + status: '500' + title: Internal Server Error + details: Internal Server Error occurred + NoContent: + description: No Content + content: {} + + parameters: + acceptInHeader: + name: Accept + in: header + required: true + schema: + type: string + example: application/json + default: application/json + contentTypeInHeader: + name: Content-Type + in: header + required: true + schema: + type: string + example: application/json + default: application/json + offsetParam: + name: offset + in: query + description: Pagination offset. + required: false + schema: + type: integer + default: 0 + minimum: 0 + limitParam: + name: limit + in: query + description: Result limiter. + required: false + schema: + type: integer + default: 500 + minimum: 1 + maximum: 500 + domainNameInPath: + name: domainName + in: path + description: domain name + required: true + schema: + type: string + schemaNameInPath: + name: schemaName + in: path + required: true + schema: + type: string + default: "o-ran-smo-teiv-ran" + collectionIdInPath: + name: collectionId + in: path + required: true + schema: + type: string + entityIdInPath: + name: entityId + in: path + required: true + schema: + type: string + relationshipIdInPath: + name: relationshipId + in: path + required: true + schema: + type: string + entityTypeNameInPath: + name: entityTypeName + in: path + required: true + schema: + type: string + relationshipTypeNameInPath: + name: relationshipTypeName + in: path + required: true + schema: + type: string + example: NRCELLDU_USES_NRSECTORCARRIER + domainOptionalInQuery: + name: domain + in: query + required: false + schema: + type: string + examples: + domain: + value: ran + targetFilterOptionalInQuery: + name: targetFilter + description: Use *targetFilter* to specify the entity type and attributes to be returned in the REST response. The value for *targetFilter* can also be a list of entity types and attributes. + in: query + required: false + schema: + type: string + examples: + targetFilter: + value: /attributes(nCI,nRPCI) + scopeFilterOptionalInQuery: + name: scopeFilter + description: Use *scopeFilter* to specify the attributes to match on. The value for *scopeFilter* can also be a list of entity types and attributes. scopeFilter returns a boolean. + in: query + required: false + schema: + type: string + examples: + scopeFilter: + value: /attributes[@nRTAC=310"] + + examples: + ClassifierExample: + value: + operation: merge + classifiers: + - module-x:Outdoor + - module-y:Rural + - module-z:Weekend + entityIds: + - "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1,NRCellDU=1" + - "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1,NRCellDU=2" + relationshipIds: + - "urn:sha512:TlJDZWxsRFU6U3ViTmV0d29yaz1FdXJvcGUsU3ViTmV0d29yaz1JcmV=" + DecoratorExample: + value: + operation: merge + decorators: + module-x:location : Stockholm + module-y:vendor: Ericsson + entityIds: + - "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1,NRCellDU=1" + - "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1,NRCellDU=2" + relationshipIds: + - "urn:sha512:TlJDZWxsRFU6U3ViTmV0d29yaz1FdXJvcGUsU3ViTmV0d29yaz1JcmV=" + EntityResponseExample: + value: + o-ran-smo-teiv-ran:GNBDUFunction: + - id: "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1" + attributes: + gNBDUId: 11 + dUpLMNId: + mcc: 110 + mnc: 210 + gNBId: 21 + gNBIdLength: 2 + decorators: + location: Stockholm + classifiers: + - Rural + sourceIds: + - "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1" + - "urn:cmHandle:395221E080CCF0FD1924103B15873814" + metadata: + trustLevel: RELIABLE + EntitiesResponseExample: + value: + items: + - o-ran-smo-teiv-ran:NRCellDU: + - id: "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1,NRCellDU=1" + attributes: + cellLocalId: 4589 + nCI: 1 + nRPCI: 12 + nRTAC: 310 + decorators: + location: Stockholm + classifiers: + - Rural + sourceIds: + - "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1,NRCellDU=1" + - "urn:cmHandle:395221E080CCF0FD1924103B15873814" + metadata: + trustLevel: RELIABLE + - o-ran-smo-teiv-ran:NRCellDU: + - id: "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1,NRCellDU=2" + attributes: + cellLocalId: 4559 + nRPCI: 32 + nRTAC: 510 + decorators: + location: Stockholm + classifiers: + - Rural + sourceIds: + - "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1,NRCellDU=2" + - "urn:cmHandle:395221E080CCF0FD1924103B15873814" + metadata: + trustLevel: RELIABLE + self: + href: '/domains/RAN/entity-types/NRCellDU/entities?offset=0&limit=500&targetFilter=attributes(nCI,nRPCI)&scopeFilter=/attributes[@nRTAC=310]' + first: + href: '/domains/RAN/entity-types/NRCellDU/entities?offset=0&limit=500&targetFilter=attributes(nCI,nRPCI)&scopeFilter=/attributes[@nRTAC=310]' + prev: + href: '/domains/RAN/entity-types/NRCellDU/entities?offset=0&limit=500&targetFilter=attributes(nCI,nRPCI)&scopeFilter=/attributes[@nRTAC=310]' + next: + href: '/domains/RAN/entity-types/NRCellDU/entities?offset=500&limit=500&targetFilter=attributes(nCI,nRPCI)&scopeFilter=/attributes[@nRTAC=310]' + last: + href: '/domains/RAN/entity-types/NRCellDU/entities?offset=678&limit=500&targetFilter=attributes(nCI,nRPCI)&scopeFilter=/attributes[@nRTAC=310]' + totalCount: 12 + + RelationshipResponseExample: + value: + o-ran-smo-teiv-ran:NRCELLDU_USES_NRSECTORCARRIER: + - id: "urn:sha512:TlJDZWxsRFU6U3ViTmV0d29yaz1FdXJvcGUsU3ViTmV0d29yaz1JcmV=" + aSide: "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1,NRCellDU=1" + bSide: "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1,NRSectorCarrier=1" + decorators: + location: Stockholm + classifiers: + - Rural + sourceIds: [] + metadata: + trustLevel: RELIABLE + + RelationshipsResponseExample: + value: + items: + - o-ran-smo-teiv-ran:NRCELLDU_USES_NRSECTORCARRIER: + - id: "urn:sha512:TlJDZWxsRFU6U3ViTmV0d29yaz1FdXJvcGUsU3ViTmV0d29yaz1JcmVs=" + aSide: "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1,NRCellDU=1" + bSide: "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1,NRSectorCarrier=1" + decorators: + location: Stockholm + classifiers: + - Rural + sourceIds: [] + metadata: + trustLevel: RELIABLE + - o-ran-smo-teiv-ran:NRCELLDU_USES_NRSECTORCARRIER: + - id: "urn:sha512:TlJDZWxsRFU6U3ViTmV0d29yaz1FdXJvcGUsU3ViTmV0d29yaz1JcmVsYW5kLE1lQ2=" + aSide: "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1,NRCellDU=2" + bSide: "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1,NRSectorCarrier=2" + decorators: + location: Stockholm + classifiers: + - Rural + sourceIds: [] + metadata: + trustLevel: RELIABLE + self: + href: '/domains/RAN/relationship-types/NRCELLDU_USES_NRSECTORCARRIER/relationships?offset=0&limit=500' + first: + href: '/domains/RAN/relationship-types/NRCELLDU_USES_NRSECTORCARRIER/relationships?offset=0&limit=500' + prev: + href: '/domains/RAN/relationship-types/NRCELLDU_USES_NRSECTORCARRIER/relationships?offset=0&limit=500' + next: + href: '/domains/RAN/relationship-types/NRCELLDU_USES_NRSECTORCARRIER/relationships?offset=500&limit=500' + last: + href: '/domains/RAN/relationship-types/NRCELLDU_USES_NRSECTORCARRIER/relationships?offset=678&limit=500' + totalCount: 23 + + EntityTypesResponseExample: + value: + items: + - name: GNBCUUPFunction + entities: + href: '/domains/RAN/entity-types/GNBCUUPFunction/entities' + - name: NRCellDU + entities: + href: '/domains/RAN/entity-types/NRCellDU/entities' + - name: GNBDUFunction + entities: + href: '/domains/RAN/entity-types/GNBDUFunction/entities' + self: + href: '/domains/RAN/entity-types?offset=0&limit=500' + first: + href: '/domains/RAN/entity-types?offset=0&limit=500' + prev: + href: '/domains/RAN/entity-types?offset=0&limit=500' + next: + href: '/domains/RAN/entity-types?offset=500&limit=500' + last: + href: '/domains/RAN/entity-types?offset=678&limit=500' + totalCount: 43 + + RelationshipTypesResponseExample: + value: + items: + - name: MANAGEDELEMENT_MANAGES_GNBDUFUNCTION + relationships: + href: '/domains/RAN/relationship-types/MANAGEDELEMENT_MANAGES_GNBDUFUNCTION/relationships' + - name: GNBDUFUNCTION_PROVIDES_NRCELLDU + relationships: + href: '/domains/RAN/relationship-types/GNBDUFUNCTION_PROVIDES_NRCELLDU/relationships' + - name: NRCELLDU_USES_NRSECTORCARRIER + relationships: + href: '/domains/RAN/relationship-types/NRCELLDU_USES_NRSECTORCARRIER/relationships' + self: + href: '/domains/RAN/relationship-types?offset=0&limit=500' + first: + href: '/domains/RAN/relationship-types?offset=0&limit=500' + prev: + href: '/domains/RAN/relationship-types?offset=0&limit=500' + next: + href: '/domains/RAN/relationship-types?offset=500&limit=500' + last: + href: '/domains/RAN/relationship-types?offset=678&limit=500' + totalCount: 21 + + DomainsResponseExample: + value: + items: + - name: RAN_CLOUD + entityTypes: + href: '/domains/CLOUD/entity-types' + relationshipTypes: + href: '/domains/CLOUD/relationship-types' + - name: RAN_OAM + entityTypes: + href: '/domains/OAM/entity-types' + relationshipTypes: + href: '/domains/OAM/relationship-types' + - name: RAN_LOGICAL + entityTypes: + href: '/domains/RAN/entity-types' + relationshipTypes: + href: '/domains/RAN/relationship-types' + self: + href: '/domains?offset=0&limit=500' + first: + href: '/domains?offset=0&limit=500' + prev: + href: '/domains?offset=0&limit=500' + next: + href: '/domains?offset=500&limit=500' + last: + href: '/domains?offset=678&limit=500' + totalCount: 343 + + QueryMessageExample: + value: + query: |- + WITH point({longitude: 12.78232, latitude: 56.7455}) AS p1, point({latitude: 56.7134, longitude: 12.79565}) AS p2 RETURN point.distance(p1, p2) AS distance + QueryResponseExample: + value: + query: |- + WITH point({longitude: 12.78232, latitude: 56.7455}) AS p1, point({latitude: 56.7134, longitude: 12.79565}) AS p2 RETURN point.distance(p1, p2) AS distance + response: "distance : 2873.5" + + StaticCollectionExample: + value: + collectionName: "son-cell-filter-group-1" + criteria: + resourceInstances: + - "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1,NRCellDU=1" + - "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1,NRCellDU=2" + - "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1,NRCellDU=3" + + DynamicCollectionExample: + value: + collectionName: "son-cell-filter-group-1" + criteria: + resourceQuery: + url: /domains/RAN/entity-types/NRCellDU/entities + method: GET + queryParams: + target:Filter: /attributes(cmId) + scopeFilter: /attributes[@nRTAC=310] + requestBody: "" + + CollectionResponseExample: + value: + id: "urn:oran:collection:/JHKJ4H5JH45345TB=" + collectionName: "son-cell-filter-group-1" + criteria: + resourceInstances: + - "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1,NRCellDU=1" + - "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1,NRCellDU=2" + - "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1,NRCellDU=3" + + CollectionsResponseExample: + value: + items: + - id: "urn:topology:collection:/JHKJ4H5JH45345TB=" + collectionName: "son-cell-group-1" + criteria: + resourceInstances: + - "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1,NRCellDU=1" + - "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1,NRCellDU=2" + - "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1,NRCellDU=3" + - id: "urn:topology:collection:/DFJER77R6F7S9VD=" + collectionName: "son-cell-group-2" + criteria: + resourceInstances: + - "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1,NRCellDU=4" + - "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1,NRCellDU=5" + - "urn:3gpp:dn:ManagedElement=1,GNBDUFunction=1,NRCellDU=6" + + self: + href: '/collections?offset=0&limit=500' + first: + href: '/collections?offset=0&limit=500' + prev: + href: '/collections?offset=0&limit=500' + next: + href: '/collections?offset=500&limit=500' + last: + href: '/collections?offset=678&limit=500' + totalCount: 11 + + SchemasResponseExample: + value: + items: + - name: o-ran-smo-teiv-ran + domain: + - RAN_LOGICAL + revision: '2013-07-15' + content: + href: '/schemas/o-ran-smo-teiv-ran/content' + - name: o-ran-smo-teiv-cloud + domain: + - RAN_CLOUD + revision: '2021-05-19' + content: + href: '/schemas/o-ran-smo-teiv-cloud/content' + - name: o-ran-smo-teiv-oam + domain: + - RAN_OAM' + revision: '2021-05-19' + content: + href: '/schemas/o-ran-smo-teiv-oam/content' + - name: o-ran-smo-teiv-common-yang-types + domain: + [] + revision: '2021-07-04' + content: + href: '/schemas/o-ran-smo-teiv-common-yang-types/content' + - name: o-ran-smo-teiv-common-yang-extensions + domain: + [] + revision: '2021-07-04' + content: + href: '/schemas/o-ran-smo-teiv-common-yang-extensions/content' + self: + href: '/schemas?offset=0&limit=500' + first: + href: '/schemas?offset=0&limit=500' + prev: + href: '/schemas?offset=0&limit=500' + next: + href: '/schemas?offset=500&limit=500' + last: + href: '/schemas?offset=678&limit=500' + totalCount: 14 + + SchemaResponseExample: + value: "module stores {\ + yang-version 1.1;\ + namespace \"ietf-inet-types\";\ + prefix module-references;\ + revision \"2020-09-15\" {\ + description\ + \"Sample Model\";\ + } \ + typedef Mcc {\ + type string;\ + }\ + typedef Mnc {\ + type string;\ + }\ + grouping PLMNId {\ + leaf mcc {\ + type Mcc;\ + }\ + leaf mnc {\ + type Mnc;\ + }\ + } \ + container RAN_LOGICAL {\ + leaf namespace {\ + type string;\ + }\ + container GNBDUFunction {\ + leaf eiid {\ + type string;\ + } \ + leaf gNBDUId {\ + type uint16;\ + }\ + leaf gNBID {\ + type uint16;\ + }\ + leaf gNBIdLength {\ + type uint16;\ + }\ + container dUpLMNId{\ + description \"ToDo\";\ + uses PLMNId;\ + } \ + }\ + container GNBCUUPFunction {\ + leaf eiid {\ + type string;\ + } \ + leaf gNBID {\ + type uint16;\ + }\ + leaf gNBIdLength {\ + type uint16;\ + }\ + } \ + container GNBCUCPFunction { \ + leaf eiid {\ + type string;\ + } \ + leaf gNBID {\ + type uint16;\ + }\ + leaf gNBIdLength {\ + type uint16;\ + }\ + leaf gNBCUName {\ + type string;\ + }\ + container pLMNId{\ + description \"ToDo\";\ + uses PLMNId;\ + } \ + }\ + container NRCellCU { \ + leaf eiid {\ + type string;\ + } \ + leaf cellLocalId {\ + type uint16;\ + }\ + leaf nCI {\ + type uint16;\ + }\ + leaf nRTAC {\ + type uint16;\ + }\ + container plmnId{\ + description \"ToDo\";\ + uses PLMNId;\ + } \ + }\ + container NRCellDU { \ + leaf eiid {\ + type string;\ + } \ + leaf cellLocalId {\ + type uint16;\ + }\ + leaf nCI {\ + type uint16;\ + }\ + leaf nRPCI {\ + type uint16;\ + }\ + leaf nRTAC {\ + type uint16;\ + }\ + }\ + }\ +}" diff --git a/docs/requirements-docs.txt b/docs/requirements-docs.txt index 0d32a5a..6e538a8 100644 --- a/docs/requirements-docs.txt +++ b/docs/requirements-docs.txt @@ -3,5 +3,6 @@ sphinx doc8 docutils sphinxcontrib-openapi +sphinxcontrib-redoc lfdocs-conf urllib3~=1.26.15 \ No newline at end of file diff --git a/pom.xml b/pom.xml index 9c6cdcd..5c91fe8 100644 --- a/pom.xml +++ b/pom.xml @@ -80,7 +80,7 @@ 5.2.0 1.18.0 - 6.5.0 + 7.7.0 2.30.0 1.0.1 2.2.1 @@ -130,6 +130,8 @@ generated*/ dependencies/* dependencies*/ + teiv/src/main/resources/v1/**/*.html + teiv/src/main/resources/v1/topology-exposure-inventory-openapi.json @@ -184,6 +186,8 @@ target/**/*.json build/**/*.json + + **/resources/v1/topology-exposure-inventory-openapi.json JSON diff --git a/teiv/pom.xml b/teiv/pom.xml index 4eed6f4..68c9094 100644 --- a/teiv/pom.xml +++ b/teiv/pom.xml @@ -231,8 +231,7 @@ - + org.asciidoctor asciidoctor-maven-plugin @@ -258,18 +257,58 @@ openapi-generate-html + generate-sources generate - - ${project.basedir}/src/main/resources/v1/topology-exposure-inventory-openapi.yaml + ${project.basedir}/src/main/resources/v1/topology-exposure-inventory-openapi.yaml html src/main/resources/v1 + + generate-openapi-html2 + generate-sources + + generate + + + ${project.basedir}/src/main/resources/v1/topology-exposure-inventory-openapi.yaml + html2 + src/main/resources/v1/html + false + false + + The O-RAN Topology Exposure & Inventory + manages the representation of topology and inventory resource + O-RAN SC - Topology Exposure & Inventory + https://wiki.o-ran-sc.org/pages/viewpage.action?pageId=125042884 + Copyright (C) 2024 Ericsson, + Modifications Copyright (C) 2024 OpenInfra Foundation Europe. + All rights reserved. + http://www.apache.org/licenses/LICENSE-2.0 + + + + + generate-openapi-json + generate-sources + + generate + + + ${project.basedir}/src/main/resources/v1/topology-exposure-inventory-openapi.yaml + openapi + src/main/resources/v1 + + topology-exposure-inventory-openapi.json + + + openapi-generate-pojos + generate-sources generate @@ -304,6 +343,33 @@ + + maven-resources-plugin + + + copy-resource-docs + package + + copy-resources + + + ${project.basedir}/../docs/offeredapis/ + true + + + ${project.basedir}/src/main/resources/v1 + + topology-exposure-inventory-openapi.yaml + topology-exposure-inventory-openapi.json + index.html + html/index.html + + + + + + + org.springframework.boot spring-boot-maven-plugin diff --git a/tox.ini b/tox.ini index 1d20dcd..124c8f3 100644 --- a/tox.ini +++ b/tox.ini @@ -27,11 +27,9 @@ skipsdist = true [testenv:docs] basepython = python3 deps = -r{toxinidir}/docs/requirements-docs.txt - commands = sphinx-build -W -b html -n -d {envtmpdir}/docs/doctrees ./docs/ {toxinidir}/docs/_build/html - echo "Generated docs available in {toxinidir}/docs/_build/html" -allowlist_externals = echo + # Generated docs available in {toxinidir}/docs/_build/html [testenv:docs-linkcheck] basepython = python3