openapi: 3.0.3 info: title: Telco Cloud Service Assurance description: | ## Introduction This document describes the REST API for Telco Cloud Service Assurance platform is a scalable & distributed platform aimed at Telcos (and other network infrastructure operators) for topology discovery & near-real-time monitoring of both physical & virtual infrastructure components (NICs, VMs, VNF & CNF, etc.) providing root-cause analyses (RCA) for issues (failures, attacks, performance bottlenecks, etc.) and supporting complex KPI metrics based reporting among other capabilities.
At its core, Telco Cloud Service Assurance platform is a data processing platform (data collection, processing, analysis & reporting). It is designed around a common shared message bus to ingest incoming data from varied data sources, pass it through configurable data pipelines & finally persist it to storage from where it can be queried via UI/API.
## Getting started with Telco Cloud Service Assurance REST APIs
To get you started quickly, let's dive into the necessary steps to enable you to begin using APIs.
### Request authentication
Obtain access token by using below api
<pre><code class="lang-bash"> curl --location --request POST 'https://<;hostname:port>/tcsa/api/auth-management/v1/token'
--header 'Content-Type: application/x-www-form-urlencoded'
--data-urlencode 'grant_type=password'
--data-urlencode 'username=<user name>'
--data-urlencode 'password=<password>'
</code></pre>
Where
1 <code>username</code> is the user to authenticate
2 <code>password</code> is the password to authenticate
3 <code>hostname:port</code> is Telco Cloud Service Assurance host and port
Example Response:
<pre><code class="lang-json">{
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICIyVlFrLWh6Zy1uRUN1eDFvR0p6M3dNa3ZPSkRqVjRNb29aZWk2RHJORWhjIn0.eyJleHAiOjE2NDg5MDM1MTMsImlhdCI6MTY0ODkwMzM5MywianRpIjoiMTZiMDA4YzEtZDE5MC00NzRlLWFhNWYtNzk0YjU5YjNhMDE0IiwiaXNzIjoiaHR0cDovL2tleWNsb2Frc2VydmVyOjgwODAvYXV0aC9yZWFsbXMvTkdJTlgiLCJhdWQiOiJhY2NvdW50Iiwic3ViIjoiYjA4YTM5ZGEtYzMyNi00ZDdmLThlNDQtMzcxMmQ4ODI1MTdjIiwidHlwIjoiQmVhcmVyIiwiYXpwIjoibmdpbngiLCJzZXNzaW9uX3N0YXRlIjoiYjNkM2Y3ZDEtMGQ5NS00MGMzLTk3OTUtMDVmNjM0MWUyODNlIiwiYWNyIjoiMSIsImFsbG93ZWQtb3JpZ2lucyI6WyIiXSwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbIkVudGVycHJpc2UgQWRtaW5pc3RyYXRvciIsIm9mZmxpbmVfYWNjZXNzIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJzaWQiOiJiM2QzZjdkMS0wZDk1LTQwYzMtOTc5NS0wNWY2MzQxZTI4M2UiLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsInJvbGVzIjpbIkVudGVycHJpc2UgQWRtaW5pc3RyYXRvciIsIm9mZmxpbmVfYWNjZXNzIiwidW1hX2F1dGhvcml6YXRpb24iXSwibmFtZSI6ImFkbWluIE5HSU5YIiwiZ3JvdXBzIjpbIkVudGVycHJpc2UgQWRtaW5pc3RyYXRvciJdLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJhZG1pbiIsImdpdmVuX25hbWUiOiJhZG1pbiIsImZhbWlseV9uYW1lIjoiTkdJTlgifQ.jnU4ewqbZviwYhBCPHTg-FkwZbgB6jWo4-7V2h_Fa6b44-s4bSN-UKloEebevxoL6EhFrWqHeXgV3R67Gpk9kO_5d0dKR3OKqURHCIr89rONvOZSsN3cV_NaMDYFonopv_gHDdmD0YNj2A9ZAHwZEO14DdACZPshSb-9zFobadfVh69oe7wIXtgkI_42pUzVId2B7BGfFyJnUtHFrsCFuIhNzgRZfkl7kK50qzeG9zHGS61UfTyy-3R0iPMaCm_q9V1E-x7leCI70Bvv4EzMbEl5E1vj1OW5iiCa-9xIwOSAcYUqX3jtXiHBXtHbPPuqH_W29ym23V_5nHbGoLNLWg",
"expires_in": 120,
"refresh_expires_in": 3600,
"refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICIyMTZlMjJjYy03ZGQ3LTRhYTgtYjlhMS04NWY3OGQ2NzhjMzYifQ.eyJleHAiOjE2NDg5MDY5OTMsImlhdCI6MTY0ODkwMzM5MywianRpIjoiNmQ5YWVhNDMtZTkyMS00YWJhLWJkZGMtZWQxM2Y0ZGFhZDVkIiwiaXNzIjoiaHR0cDovL2tleWNsb2Frc2VydmVyOjgwODAvYXV0aC9yZWFsbXMvTkdJTlgiLCJhdWQiOiJodHRwOi8va2V5Y2xvYWtzZXJ2ZXI6ODA4MC9hdXRoL3JlYWxtcy9OR0lOWCIsInN1YiI6ImIwOGEzOWRhLWMzMjYtNGQ3Zi04ZTQ0LTM3MTJkODgyNTE3YyIsInR5cCI6IlJlZnJlc2giLCJhenAiOiJuZ2lueCIsInNlc3Npb25fc3RhdGUiOiJiM2QzZjdkMS0wZDk1LTQwYzMtOTc5NS0wNWY2MzQxZTI4M2UiLCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJzaWQiOiJiM2QzZjdkMS0wZDk1LTQwYzMtOTc5NS0wNWY2MzQxZTI4M2UifQ.mIw1SGNJn7T9eyt30REZOGYntz3WIMIdLAC-giiXhgk",
"token_type": "Bearer",
"id_token": null,
"not-before-policy": 1582326156,
"session_state": "b3d3f7d1-0d95-40c3-9795-05f6341e283e",
"scope": "profile email"
}
</code></pre>
Note down the access_token from response, to use it in the API calls
### Call your first API using access token
Add access token in Authorization request header
<pre><code class="lang-bash">--header 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICIyVlFrLWh6Zy1uRUN1eDFvR0p6M3dNa3ZPSkRqVjRNb29aZWk2RHJORWhjIn0.eyJleHAiOjE2NDg5MDM1MTMsImlhdCI6MTY0ODkwMzM5MywianRpIjoiMTZiMDA4YzEtZDE5MC00NzRlLWFhNWYtNzk0YjU5YjNhMDE0IiwiaXNzIjoiaHR0cDovL2tleWNsb2Frc2VydmVyOjgwODAvYXV0aC9yZWFsbXMvTkdJTlgiLCJhdWQiOiJhY2NvdW50Iiwic3ViIjoiYjA4YTM5ZGEtYzMyNi00ZDdmLThlNDQtMzcxMmQ4ODI1MTdjIiwidHlwIjoiQmVhcmVyIiwiYXpwIjoibmdpbngiLCJzZXNzaW9uX3N0YXRlIjoiYjNkM2Y3ZDEtMGQ5NS00MGMzLTk3OTUtMDVmNjM0MWUyODNlIiwiYWNyIjoiMSIsImFsbG93ZWQtb3JpZ2lucyI6WyIiXSwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbIkVudGVycHJpc2UgQWRtaW5pc3RyYXRvciIsIm9mZmxpbmVfYWNjZXNzIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJzaWQiOiJiM2QzZjdkMS0wZDk1LTQwYzMtOTc5NS0wNWY2MzQxZTI4M2UiLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsInJvbGVzIjpbIkVudGVycHJpc2UgQWRtaW5pc3RyYXRvciIsIm9mZmxpbmVfYWNjZXNzIiwidW1hX2F1dGhvcml6YXRpb24iXSwibmFtZSI6ImFkbWluIE5HSU5YIiwiZ3JvdXBzIjpbIkVudGVycHJpc2UgQWRtaW5pc3RyYXRvciJdLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJhZG1pbiIsImdpdmVuX25hbWUiOiJhZG1pbiIsImZhbWlseV9uYW1lIjoiTkdJTlgifQ.jnU4ewqbZviwYhBCPHTg-FkwZbgB6jWo4-7V2h_Fa6b44-s4bSN-UKloEebevxoL6EhFrWqHeXgV3R67Gpk9kO_5d0dKR3OKqURHCIr89rONvOZSsN3cV_NaMDYFonopv_gHDdmD0YNj2A9ZAHwZEO14DdACZPshSb-9zFobadfVh69oe7wIXtgkI_42pUzVId2B7BGfFyJnUtHFrsCFuIhNzgRZfkl7kK50qzeG9zHGS61UfTyy-3R0iPMaCm_q9V1E-x7leCI70Bvv4EzMbEl5E1vj1OW5iiCa-9xIwOSAcYUqX3jtXiHBXtHbPPuqH_W29ym23V_5nHbGoLNLWg'
</code></pre>
You are ready to call your first api
For example:
<pre><code class="lang-bash">curl --location --request POST 'https://<;hostname:port>/dcc/v1/connectors'
--header 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJBbG12NGthdXNScEN3RTdoUkhEMzNJcEs1UC14NjJYN19DNmRzZ2FTNmlNIn0.eyJleHAiOjE2NDg0ODk4NjksImlhdCI6MTY0ODQ4OTc0OSwianRpIjoiZDg5YTIxYzUtZWFiYS00MTA4LWE5ZDUtMmQ5MmJmMGNjZWUxIiwiaXNzIjoiaHR0cHM6Ly8xMC4xOTguOTUuMTA0OjMwMDAyL2F1dGgvcmVhbG1zL05HSU5YIiwiYXVkIjoiYWNjb3VudCIsInN1YiI6ImIwOGEzOWRhLWMzMjYtNGQ3Zi04ZTQ0LTM3MTJkODgyNTE3YyIsInR5cCI6IkJlYXJlciIsImF6cCI6Im5naW54Iiwic2Vzc2lvbl9zdGF0ZSI6IjUwMzQ0ZjJkLTNhMWYtNDQzYy04YWJhLWU5OGI5ZjZkMTRhNyIsImFjciI6IjEiLCJhbGxvd2VkLW9yaWdpbnMiOlsiIl0sInJlYWxtX2FjY2VzcyI6eyJyb2xlcyI6WyJFbnRlcnByaXNlIEFkbWluaXN0cmF0b3IiLCJvZmZsaW5lX2FjY2VzcyIsInVtYV9hdXRob3JpemF0aW9uIl19LCJyZXNvdXJjZV9hY2Nlc3MiOnsiYWNjb3VudCI6eyJyb2xlcyI6WyJtYW5hZ2UtYWNjb3VudCIsIm1hbmFnZS1hY2NvdW50LWxpbmtzIiwidmlldy1wcm9maWxlIl19fSwic2NvcGUiOiJvcGVuaWQgcHJvZmlsZSBlbWFpbCIsInNpZCI6IjUwMzQ0ZjJkLTNhMWYtNDQzYy04YWJhLWU5OGI5ZjZkMTRhNyIsImVtYWlsX3ZlcmlmaWVkIjpmYWxzZSwicm9sZXMiOlsiRW50ZXJwcmlzZSBBZG1pbmlzdHJhdG9yIiwib2ZmbGluZV9hY2Nlc3MiLCJ1bWFfYXV0aG9yaXphdGlvbiJdLCJuYW1lIjoiYWRtaW4gTkdJTlgiLCJncm91cHMiOlsiRW50ZXJwcmlzZSBBZG1pbmlzdHJhdG9yIl0sInByZWZlcnJlZF91c2VybmFtZSI6ImFkbWluIiwiZ2l2ZW5fbmFtZSI6ImFkbWluIiwiZmFtaWx5X25hbWUiOiJOR0lOWCJ9.jpdb994X8e0kxw4s6B6XevCd_uPRbsiW9AT-iLdwzkzPPumvbv2aMuDqmRDAA6sWNwFIO0HXNkxW8YUMX2NTMhpHxljO1jRcDbk2UtU_7ZNnKx4RJeqbWMk0yf8XNxjED1V2j8lRixJNPee-MRxz2sG90aIlHzrZJN4uJFv_rgGmXVaM5Yij3sCCO9V3EIRriLC0FloAsLBiYV8OlTtuSLJ1gU_rQf8uK0F5IVd92fkEhsDD53SXliaFwDFs4Mwq77xgU1qwcO_8r1hq79IVYBTuoicwS5-1MQ0IXVhtjAILLvUcrIs_rwtnLHt8SN0qy54rMqiKeT31QKthKNfokw'
</code></pre>
Example Response:
<pre><code class="lang-json">{
"asd": {
"block_object_id": "kafka-connector",
"container_id": "",
"image_name": "KafkaMirrorMaker2",
"image_version": "",
"status": "Failed",
"display_name": "asd",
"node_ip": null,
"instance_id": "asd"
}
}
</code></pre>
### Getting new access token using refresh token
It is important to note that access tokens are usually short-lived and often expired after only minutes. The additional refresh token that was return by the "/token" API allows the application to obtain a new access token after it expires.
Obtain new access token using "refresh" token
<pre><code class="lang-bash">curl --location --request POST 'https://<;hostname:port>/tcsa/api/auth-management/v1/token'
--header 'Content-Type: application/x-www-form-urlencoded'
--data-urlencode 'grant_type=refresh_token'
--data-urlencode 'refresh_token=<refresh_token>'
</code></pre>
Example Response:
<pre><code class="lang-json">{
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICIyVlFrLWh6Zy1uRUN1eDFvR0p6M3dNa3ZPSkRqVjRNb29aZWk2RHJORWhjIn0.eyJleHAiOjE2NDg5MDM1MTMsImlhdCI6MTY0ODkwMzM5MywianRpIjoiMTZiMDA4YzEtZDE5MC00NzRlLWFhNWYtNzk0YjU5YjNhMDE0IiwiaXNzIjoiaHR0cDovL2tleWNsb2Frc2VydmVyOjgwODAvYXV0aC9yZWFsbXMvTkdJTlgiLCJhdWQiOiJhY2NvdW50Iiwic3ViIjoiYjA4YTM5ZGEtYzMyNi00ZDdmLThlNDQtMzcxMmQ4ODI1MTdjIiwidHlwIjoiQmVhcmVyIiwiYXpwIjoibmdpbngiLCJzZXNzaW9uX3N0YXRlIjoiYjNkM2Y3ZDEtMGQ5NS00MGMzLTk3OTUtMDVmNjM0MWUyODNlIiwiYWNyIjoiMSIsImFsbG93ZWQtb3JpZ2lucyI6WyIiXSwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbIkVudGVycHJpc2UgQWRtaW5pc3RyYXRvciIsIm9mZmxpbmVfYWNjZXNzIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJzaWQiOiJiM2QzZjdkMS0wZDk1LTQwYzMtOTc5NS0wNWY2MzQxZTI4M2UiLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsInJvbGVzIjpbIkVudGVycHJpc2UgQWRtaW5pc3RyYXRvciIsIm9mZmxpbmVfYWNjZXNzIiwidW1hX2F1dGhvcml6YXRpb24iXSwibmFtZSI6ImFkbWluIE5HSU5YIiwiZ3JvdXBzIjpbIkVudGVycHJpc2UgQWRtaW5pc3RyYXRvciJdLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJhZG1pbiIsImdpdmVuX25hbWUiOiJhZG1pbiIsImZhbWlseV9uYW1lIjoiTkdJTlgifQ.jnU4ewqbZviwYhBCPHTg-FkwZbgB6jWo4-7V2h_Fa6b44-s4bSN-UKloEebevxoL6EhFrWqHeXgV3R67Gpk9kO_5d0dKR3OKqURHCIr89rONvOZSsN3cV_NaMDYFonopv_gHDdmD0YNj2A9ZAHwZEO14DdACZPshSb-9zFobadfVh69oe7wIXtgkI_42pUzVId2B7BGfFyJnUtHFrsCFuIhNzgRZfkl7kK50qzeG9zHGS61UfTyy-3R0iPMaCm_q9V1E-x7leCI70Bvv4EzMbEl5E1vj1OW5iiCa-9xIwOSAcYUqX3jtXiHBXtHbPPuqH_W29ym23V_5nHbGoLNLWg",
"expires_in": 120,
"refresh_expires_in": 3600,
"refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICIyMTZlMjJjYy03ZGQ3LTRhYTgtYjlhMS04NWY3OGQ2NzhjMzYifQ.eyJleHAiOjE2NDg5MDY5OTMsImlhdCI6MTY0ODkwMzM5MywianRpIjoiNmQ5YWVhNDMtZTkyMS00YWJhLWJkZGMtZWQxM2Y0ZGFhZDVkIiwiaXNzIjoiaHR0cDovL2tleWNsb2Frc2VydmVyOjgwODAvYXV0aC9yZWFsbXMvTkdJTlgiLCJhdWQiOiJodHRwOi8va2V5Y2xvYWtzZXJ2ZXI6ODA4MC9hdXRoL3JlYWxtcy9OR0lOWCIsInN1YiI6ImIwOGEzOWRhLWMzMjYtNGQ3Zi04ZTQ0LTM3MTJkODgyNTE3YyIsInR5cCI6IlJlZnJlc2giLCJhenAiOiJuZ2lueCIsInNlc3Npb25fc3RhdGUiOiJiM2QzZjdkMS0wZDk1LTQwYzMtOTc5NS0wNWY2MzQxZTI4M2UiLCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJzaWQiOiJiM2QzZjdkMS0wZDk1LTQwYzMtOTc5NS0wNWY2MzQxZTI4M2UifQ.mIw1SGNJn7T9eyt30REZOGYntz3WIMIdLAC-giiXhgk",
"token_type": "Bearer",
"id_token": null,
"not-before-policy": 1582326156,
"session_state": "b3d3f7d1-0d95-40c3-9795-05f6341e283e",
"scope": "profile email"
}
</code></pre>
termsOfService: www.vmware.com/terms-of-service contact: name: Telco Cloud Service Assurance Team url: http://www.tcsa_vmware.com/ email: tcsateam@vmware.com license: name: ©2022 VMware Inc. url: http://www.tcsa_vmware.com/ version: ‘2.0.1’ servers:
-
url: tcsa.host.com tags:
-
name: catalog description: |
- Catalog is collection of Telco Cloud Service Assurance models for the various entities across the domains.
- Using Catalog API, metric models can be consumed by UI or any other services like Alerting, Analytics, and Metric ingestion.
- Used to create mappings in MnR Gateway and Kafka Mapper.
- These APIs allow you to fetch metric models.
-
name: Mnr-mapper description: |
- The mapper is a utility where, an administrator can map an MnR model to the Telco Cloud Service Assurance model.
- Using these APIs you can create, update, delete and fetch MnR mappers.
-
name: kafka-mapper description: |
- The mapper is a utility where, an administrator can map an external model to the Telco Cloud Service Assurance model
- Using these APIs you can create, update, delete and fetch Kafka mappers.
-
name: collector description: |
- Collector is an instance which enables us to fetch data like topology, notifications, metrics and events from the network.
- To collect data from various data collector sources, you must create and configure a Collector
- It has REST APIs to to get, create, update, delete, start, stop and restart collectors.
-
name: connector description: |
- A data connector is a process which runs on a designated schedule, extracts data from a source database or applications and writes into the destination environment.
- Kafka Connector is a component of VMware Telco Cloud Service Assurance, which provides ability to recreate metrics, events, and topology data from respective topics on internal VMware Telco Cloud Service Assurance Kafka bus to an external Kafka bus.
- The APIs enable you to get, create, update, delete, start, stop, and restart connectors.
-
name: metrics description: |
- Telco Cloud Service Assurance metrics are collected from various resources and domains such as Physical (Switch, Router etc) and Virtual infrastructure (virtual machine, VRAN, CAS etc). It provides the following functionalities
- The API Allows you to fetch the collected metrics based on various filters.
-
name: user-federation description: |
- Allows you to configure an external LDAP or Active Directory to be used as identity stores for Telco Cloud Service Assurance authentication.
-
name: notification description: |
- Telco Cloud Service Assurance Notifications, is information emitted/derived from an event occurring in the managed resource such as Routers, Hosts, Switches, etc. An event represents a deviation from the normal behavior of a managed resource. Telco Cloud Service Assurance Notification APIs support the following
- API to retrieve a list of notifications with support for simple and complex filters on various attributes of the Notifications.
- Given a Root cause Notification, the ability to retrieve the associated symptomatic Notifications.
- Given a Symptomatic Notification, the ability to retrieve the associated root cause.
- APIs to support operations on a given Notification(s) such as acknowledge, unacknowledged, take ownership and release ownership.
- API to retrieve the historical state of a given Notification.
-
name: topology description: |
- Telco Cloud Service Assurance Topology, represents the physical and logical arrangement of managed resources and their connections with peer-managed resources. These managed resources and their connections are represented as nodes and relationships in the Telco Cloud Service Assurance topology. Telco Cloud Service Assurance Topology APIs support the following
- API to retrieve the list of class types that represent the classification of the various managed resources in the Telco Cloud Service Assurance data model.
- API to retrieve the list of resource instances belonging to a class type.
- API to retrieve the list of relationships associated with a resource instance.
- Given a resource instance and relationship, the support to retrieve the destination nodes.
- API to retrieve the list of topology map types supported by Telco Cloud Service Assurance.
- Given a map type and resource instance, the support to retrieve the list of nodes and relationships originating from that instance.
- API to retrieve the configuration details of a resource instance.
-
name: tmf-alarms description: |
- Defines the REST API for Alarm Management. These APIs are similar in their purpose with the notification API but also provide extra functionalities in creating and deleting custom alarms.
- The APIs follow the TMF-642 specification standard.
TMF Alarms APIs support the following
- APIs for CRUD operations on Alarms
- APIs for Creating and getting AckAlarms, UnAckAlarms, ClearAlarms and CommentAlarms tasks.
The deviations from the TMF-642 standard are as specified below:-
- Create Alarm
- The alarmRaisedTime parameter is mandatory in TMF but optional in TCSA.
- The alarmType parameter is mandatory, but does not conform with the alarmType defined in X.733 8.1.1 or 3GPP TS 32.111-2 Annex A.
- The perceivedSeverity parameter can have six values (CRITICAL,MAJOR,MINOR,WARNING,indeterminate ,cleared) as per recommendation {ITU-T Recommendation X.733} but in TCSA only 4 values are supported (CRITICAL,MAJOR,MINOR, NORMAL).
- The sourceSystemId parameter is mandatory in TMF but cannot be set in TCSA.
- The State parameter is a madatory field in TMF but cannot be set in TCSA. The deafult value is set to ACTIVE on alarm creation.
- The probableCause parameter is mandatory in TMF, but optional in TCSA.
- CorrelatedAlarm, ParentAlarm, Comments, ackState, alarmClearedTime, alarmChangedTime, alarmReportingTime and isRootCause cannot be set.
- The Below TMF fields are stored in configured “UserDefined” fields ackSystemId,ackUserId,affectedService,alarmEscalation,clearSystemId,clearUserId,crossedThresholdInformation,externalAlarmId,probableCause,reportingSystemId,serviceAffecting,specificProblem,proposedRepairedActions,place
- Update Alarm
- alarmType, alarmedObjectType and alarmedObject cannot be modifed.
- CorrelatedAlarm, ParentAlarm, Comments, ackState, alarmClearedTime, alarmChangedTime, alarmReportingTime and isRootCause cannot be modified.
- The Below TMF fields are stored in configured “UserDefined” fields ackSystemId,ackUserId,affectedService,alarmEscalation,clearSystemId,clearUserId,crossedThresholdInformation,externalAlarmId,probableCause,reportingSystemId,serviceAffecting,specificProblem,proposedRepairedActions,place
- Create ackAlarms, unAckAlarms, clearAlarms and commentAlarms
- In TMF standard the alarmPattern parameter matches all attribtues present in the Alarm Object but In TCSA the following attributes can be matched id, alarmType, alarmedObjectType, perceivedSeverity, plannedOutageIndicator and state.
- All the optional parameters cannot be set while creating the object. These are derived internally and filled. These are ackTime,state,ackedAlarm,ackUserId,unAckedAlarm,alarmClearedTime,clearUserId,clearSystemId,clearedAlarm,commentedAlarm
-
name: configuration-management description: |
- APIs to manage user configurations.
- APIs for performing user-preference operations.
- User preferences are the configuration specific to individual users.
- This preferences persist beyond the sesssion, so when the user login next time, they will have same user experiece as they had before. And all the configuration changes made by user persist.
-
name: remediation-rest description: |
- Using remediation-rest API, remediation rules, actions, connections and parameters can be consumed by UI.
- These APIs allow you to do CRUD operations on remediation rules, actions, connections and parameters.
- Using remediation action lifecycle management API, remediation action can be triggered by UI.
paths:
#Catalog paths
/v1/catalog/metric-types:
get:
tags:
- catalog summary: Retrieves metadata for the existing Catalog Metrics model operationId: getMetricsModelMetadata description: Retrieves high level details of all existing catalog metrics model like domain, sub-domain and metric type. responses: ‘200’: description: OK content: application/json: schema: type: array items: $ref: ‘#/components/schemas/MetricMetadataModel’ example: [{“metricType”:“IP-SLA”,“domain”:“Traffic”,“sub_domains”:[“IP-SLA”]},{“metricType”:“RRU”,“domain”:“5G”,“sub_domains”:[“3GPP”,“vRAN”]},{“metricType”:“ANR”,“domain”:“5G”,“sub_domains”:[“3GPP”,“vRAN”]},{“metricType”:“MAC”,“domain”:“5G”,“sub_domains”:[“3GPP”,“vRAN”]},{“metricType”:“Cisco-ACI-Event”,“domain”:“SDN”,“sub_domains”:[“Cisco-ACI_EVENT-1”]},{“metricType”:“DRB”,“domain”:“5G”,“sub_domains”:[“3GPP”,“vRAN”]},{“metricType”:“VirtualMachine”,“domain”:“Compute”,“sub_domains”:[“VirtualMachine”]},{“metricType”:“Generic”,“domain”:“tcopsgeneric”,“sub_domains”:[“tcopsgeneric”]}] ‘400’: description: Invalid Request sent by the user content: application/json: schema: $ref: ‘#/components/schemas/ErrorDetails’ ‘401’: description: User authentication failed content: application/json: schema: $ref: ‘#/components/schemas/ErrorDetails’ ‘403’: description: Access to the requested resource/operation is forbidden content: application/json: schema: $ref: ‘#/components/schemas/ErrorDetails’ ‘404’: description: Cannot find requested resource content: application/json: schema: $ref: ‘#/components/schemas/ErrorDetails’ “500”: description: Internal server error content: application/json: schema: $ref: ‘#/components/schemas/ErrorDetails’ /v2/catalog/metric-entities: get: tags:
- catalog summary: Retrieves details of a specific metric type based upon filters. operationId: getMetricEntities parameters:
- name: offset in: query description: Offset from first result to fetch. required: false schema: type: integer default: 0 format: int32 allowEmptyValue: false
- name: limit in: query description: Maximum number of results per page. required: false schema: type: integer default: 5000 format: int32 allowEmptyValue: false
- name: sort_by in: query description: Sorting is allowed only on metric_type, domain and sub_domain fields, eg sort_by=metricType desc required: false schema: type: string default: metric_type asc allowEmptyValue: false
- name: metric_type in: query description: Metric type to be fetched. required: false schema: type: array items: type: string example: [RRU] allowEmptyValue: false
- name: domain in: query description: Domain the metric type belongs to. required: false allowEmptyValue: false schema: type: array items: type: string example: [5G]
- name: sub_domains in: query description: Sub-Domain the metric type belongs to. required: false schema: type: array items: type: string example: [3GPP] allowEmptyValue: false description: ‘Provides details of the metric type model belonging to one/more domain.’ responses: ‘200’: description: OK content: application/json: schema: $ref: ‘#/components/schemas/MetricEntitiesResponse’ example: {“total”: 1,“page_count”: 1,“entity”: [{“domain”: “5G”,“sub_domains”: [ “3GPP”, “vRAN”],“description”: “Metric model for RRU Radio Resource Utilization”,“metricType”: “RRU”,“metrics”: [ { “name”: “Active_Time_Dl”, “datatype”: null, “description”: “the time duration that gNb used to transmit bits to it’s serving UEs”, “range”: null, “unit”: “ms”, “max”: null, “min”: null }, { “name”: “Active_Time_Ul”, “datatype”: null, “description”: “the time duration that gNb used to receive bits from it’s serving UEs”, “range”: null, “unit”: “ms”, “max”: null, “min”: null }],“properties”: [ { “name”: “entityName”, “description”: “Name of the entity” }, { “name”: “dataSource”, “description”: “Collector Source for metrics” }, { “name”: “deviceName”, “description”: “Name of the device” }, { “name”: “entityType”, “description”: “Entity Type” }, { “name”: “deviceType”, “description”: “Device Type” }],“tags”: [ { “name”: “CUCPID”, “description”: “CUCP ID” }, { “name”: “RUID”, “description”: “RU ID” }, { “name”: “DUID”, “description”: “DU ID” }, { “name”: “CellClusterId”, “description”: “Cell Cluster Id” }, { “name”: “kubernetes_namespace”, “description”: “kubernetes namespace” }, { “name”: “address”, “description”: “Address” }, { “name”: “zip”, “description”: “Zip code” }, { “name”: “model”, “description”: “Model of the device” }, { “name”: “city”, “description”: “City” }, { “name”: “customer”, “description”: “Customer entity belongs to” }, { “name”: “address”, “description”: “Address” }, { “name”: “region”, “description”: “Region” }, { “name”: “deviceCoordinates”, “description”: “Device coordinates (Lat,Long)” }, { “name”: “version”, “description”: “Version” }, { “name”: “location”, “description”: “Location of the entity” }, { “name”: “hostname”, “description”: “Host name” }, { “name”: “hypervsr”, “description”: “Hypervisor” }],“tco_internal”: [ “type”, “colltimestamp”, “instance”, “processedTimestamp”]}] } ‘400’: description: Invalid Request sent by the user content: application/json: schema: $ref: ‘#/components/schemas/ErrorDetails’ ‘401’: description: User authentication failed content: application/json: schema: $ref: ‘#/components/schemas/ErrorDetails’ ‘403’: description: Access to the requested resource/operation is forbidden content: application/json: schema: $ref: ‘#/components/schemas/ErrorDetails’ ‘404’: description: Cannot find requested resource content: application/json: schema: $ref: ‘#/components/schemas/ErrorDetails’ “500”: description: Internal server error content: application/json: schema: $ref: ‘#/components/schemas/ErrorDetails’ /v1/catalog/metrics: get: tags:
- catalog summary: Retrieves metric entities based upon the filters. operationId: getMetricDetails description: Retrieves information related to a metric based upon filters provided. parameters:
- name: metric_name in: query description: Name of the metric required: false schema: type: array items: type: string example: [Active_Time_Dl]
- name: offset in: query description: Offset from first result to fetch. required: false schema: type: integer default: 0 format: int32 allowEmptyValue: false
- name: limit in: query description: Maximum number of results per page. required: false schema: type: integer default: 5000 format: int32 allowEmptyValue: false
- name: sort_by in: query description: Sorting is allowed only on metric_type, domain and sub_domain fields, eg sort_by=metricType desc required: false schema: type: string default: metric_type asc allowEmptyValue: false
- name: metric_type in: query description: Metric type to be fetched. required: false schema: type: array items: type: string example: [RRU] allowEmptyValue: false
- name: domain in: query description: Domain the metric type belongs to. required: false allowEmptyValue: false schema: type: array items: type: string example: [5G]
- name: sub_domains in: query description: Sub-Domain the metric type belongs to. required: false schema: type: array items: type: string example: [3GPP] allowEmptyValue: false responses: ‘200’: description: OK content: application/json: schema: $ref: ‘#/components/schemas/MetricDetails’ example: {“total”:1,“page_count”:1,“metric_details”:[{“metricType”:“RRU”,“domain”:“5G”,“sub_domains”:[“3GPP”,“vRAN”],“metrics”:[{“name”:“Active_Time_Ul”,“datatype”:null,“description”:“the time duration that gNb used to receive bits from it’s serving UEs”,“range”:null,“unit”:“ms”,“max”:null,“min”:null}]}]} ‘400’: description: Invalid Request sent by the user content: application/json: schema: $ref: ‘#/components/schemas/ErrorDetails’ ‘401’: description: User authentication failed content: application/json: schema: $ref: ‘#/components/schemas/ErrorDetails’ ‘403’: description: Access to the requested resource/operation is forbidden content: application/json: schema: $ref: ‘#/components/schemas/ErrorDetails’ ‘404’: description: Cannot find requested resource content: application/json: schema: $ref: ‘#/components/schemas/ErrorDetails’ “500”: description: Internal server error content: application/json: schema: $ref: ‘#/components/schemas/ErrorDetails’
#Mnr-mappings paths /v1/Mnrgateway/mappings: get: tags: - Mnr-mapper summary: Get Mnr mappings for all packages description: Get Mnr mappings for all packages operationId: get-Mnr-metadata-mapping parameters: - name: enabled in: query description: If set to true only mapping documents with enabled set true will be fetched allowEmptyValue: false schema: type: boolean default: false example: false - name: type in: query description: Type of mapping {event/metrics} allowEmptyValue: false schema: type: string responses: ‘200’: description: OK content: application/json: schema: type: object example: { “VMWareCollector”: { “metadata”: { “enabled”: true,“description”: “VMWareCollector”,“type”: “metric”,“keys”: [ “devtype”,“parttype” ],“metricMapDefn”: { “unit”: “metrics.$name.unit”,“name”: “metrics.$name”,“metricDataType”: “float” } },“Hypervisor:VirtualNic”: { “staticPropDefn”: { “metricType”: “Availability”,“processedTimestamp”: “{TIMESTAMP_MS}”,“type”: “mnrgateway” },“mappedProps”: { “devtype”: “properties.deviceType”,“hostname”: “tags.hostname”,“hypervsr”: “tags.hypervsr”,“part”: “properties.entityName”,“ip”: “properties.ip”,“vcenter”: “properties.dataSource”,“source”: “instance”,“parttype”: “properties.entityType”,“device”: “properties.deviceName”,“customer”: “tags.customer” },“discardedProps”: [ ],“mappedMetrics”: { “Availability”: “Availability” },“discardedMetrics”: [ ] },“Hypervisor:Datastore”: { “staticPropDefn”: { “metricType”: “Storage”,“processedTimestamp”: “{TIMESTAMP_MS}”,“type”: “mnrgateway” },“mappedProps”: { “devtype”: “properties.deviceType”,“hostname”: “tags.hostname”,“hypervsr”: “tags.hypervsr”,“part”: “properties.entityName”,“vcenter”: “properties.dataSource”,“source”: “instance”,“parttype”: “properties.entityType”,“device”: “properties.deviceName”,“customer”: “tags.customer” },“discardedProps”: [ ],“mappedMetrics”: { “Availability”: “Availability” },“discardedMetrics”: [ ] },“Hypervisor:Memory”: { “staticPropDefn”: { “metricType”: “Memory”,“processedTimestamp”: “{TIMESTAMP_MS}”,“type”: “mnrgateway” },“mappedProps”: { “devtype”: “properties.deviceType”,“hostname”: “tags.hostname”,“hypervsr”: “tags.hypervsr”,“part”: “properties.entityName”,“vcenter”: “properties.dataSource”,“source”: “instance”,“parttype”: “properties.entityType”,“device”: “properties.deviceName”,“customer”: “tags.customer” },“discardedProps”: [ ],“mappedMetrics”: { “CurrentUtilization”: “CurrentUtilization”,“Active”: “Active”,“SwapIn”: “SwapIn”,“Granted”: “Granted”,“SharedCommon”: “SharedCommon”,“Balloon”: “Balloon”,“TotalMemory”: “TotalMemory”,“SwapOut”: “SwapOut”,“Shared”: “Shared”,“SwapUsed”: “SwapUsed” },“discardedMetrics”: [ ] },“VirtualMachine:Memory”: { “staticPropDefn”: { “metricType”: “Memory”,“processedTimestamp”: “{TIMESTAMP_MS}”,“type”: “mnrgateway” },“mappedProps”: { “devtype”: “properties.deviceType”,“hostname”: “tags.hostname”,“hypervsr”: “tags.hypervsr”,“part”: “properties.entityName”,“vcenter”: “properties.dataSource”,“source”: “instance”,“parttype”: “properties.entityType”,“device”: “properties.deviceName”,“customer”: “tags.customer” },“discardedProps”: [ ],“mappedMetrics”: { “CurrentUtilization”: “CurrentUtilization”,“Active”: “Active”,“SwapIn”: “SwapIn”,“Overhead”: “Overhead”,“Balloon”: “Balloon”,“TotalMemory”: “TotalMemory”,“Consumed”: “Consumed”,“SwapOut”: “SwapOut” },“discardedMetrics”: [ ] },“Hypervisor:Multipath”: { “staticPropDefn”: { “metricType”: “Availability”,“processedTimestamp”: “{TIMESTAMP_MS}”,“type”: “mnrgateway” },“mappedProps”: { “devtype”: “properties.deviceType”,“hostname”: “tags.hostname”,“hypervsr”: “tags.hypervsr”,“part”: “properties.entityName”,“vcenter”: “properties.dataSource”,“source”: “instance”,“parttype”: “properties.entityType”,“device”: “properties.deviceName”,“customer”: “tags.customer” },“discardedProps”: [ ],“mappedMetrics”: { “Availability”: “Availability” },“discardedMetrics”: [ ] },“DistributedVirtualSwitch”: { “staticPropDefn”: { “metricType”: “Availability”,“processedTimestamp”: “{TIMESTAMP_MS}”,“type”: “mnrgateway” },“mappedProps”: { “devtype”: “properties.deviceType”,“hostname”: “tags.hostname”,“hypervsr”: “tags.hypervsr”,“vcenter”: “properties.dataSource”,“source”: “instance”,“parttype”: “properties.entityType”,“device”: “properties.deviceName”,“deviceid”: “properties.entityName”,“customer”: “tags.customer” },“discardedProps”: [ ],“mappedMetrics”: { “Availability”: “Availability” },“discardedMetrics”: [ ] },“Hypervisor”: { “staticPropDefn”: { “metricType”: “Availability”,“processedTimestamp”: “{TIMESTAMP_MS}”,“type”: “mnrgateway” },“mappedProps”: { “devtype”: “properties.deviceType”,“hostname”: “tags.hostname”,“hypervsr”: “tags.hypervsr”,“vcenter”: “properties.dataSource”,“source”: “instance”,“parttype”: “properties.entityType”,“device”: “properties.deviceName”,“deviceid”: “properties.entityName”,“customer”: “tags.customer” },“discardedProps”: [ ],“mappedMetrics”: { “Availability”: “Availability” },“discardedMetrics”: [ ] },“VirtualMachine:Datastore”: { “staticPropDefn”: { “metricType”: “Storage”,“processedTimestamp”: “{TIMESTAMP_MS}”,“type”: “mnrgateway” },“mappedProps”: { “devtype”: “properties.deviceType”,“hostname”: “tags.hostname”,“hypervsr”: “tags.hypervsr”,“part”: “properties.entityName”,“vcenter”: “properties.dataSource”,“source”: “instance”,“parttype”: “properties.entityType”,“device”: “properties.deviceName”,“customer”: “tags.customer” },“discardedProps”: [ ],“mappedMetrics”: { “UsedCapacity”: “UsedCapacity” },“discardedMetrics”: [ ] },“VirtualMachine:Processor”: { “staticPropDefn”: { “metricType”: “Processor”,“processedTimestamp”: “{TIMESTAMP_MS}”,“type”: “mnrgateway” },“mappedProps”: { “devtype”: “properties.deviceType”,“hostname”: “tags.hostname”,“hypervsr”: “tags.hypervsr”,“part”: “properties.entityName”,“vcenter”: “properties.dataSource”,“source”: “instance”,“parttype”: “properties.entityType”,“device”: “properties.deviceName”,“customer”: “tags.customer” },“discardedProps”: [ ],“mappedMetrics”: { “CurrentUtilization”: “CurrentUtilization”,“Ready”: “Ready”,“UsageMHz”: “UsageMHz” },“discardedMetrics”: [ ] },“Hypervisor:Disk”: { “staticPropDefn”: { “metricType”: “Storage”,“processedTimestamp”: “{TIMESTAMP_MS}”,“type”: “mnrgateway” },“mappedProps”: { “devtype”: “properties.deviceType”,“hostname”: “tags.hostname”,“hypervsr”: “tags.hypervsr”,“part”: “properties.entityName”,“vcenter”: “properties.dataSource”,“source”: “instance”,“parttype”: “properties.entityType”,“device”: “properties.deviceName”,“customer”: “tags.customer” },“discardedProps”: [ ],“mappedMetrics”: { “ReadRequests”: “ReadRequests”,“Availability”: “Availability”,“WriteRequests”: “WriteRequests”,“ReadThroughput”: “ReadThroughput”,“Capacity”: “Capacity”,“WriteThroughput”: “WriteThroughput”,“ReadLatency”: “ReadLatency”,“QueueLatency”: “QueueLatency”,“WriteLatency”: “WriteLatency”,“Latency”: “Latency” },“discardedMetrics”: [ ] },“Hypervisor:Processor”: { “staticPropDefn”: { “metricType”: “Processor”,“processedTimestamp”: “{TIMESTAMP_MS}”,“type”: “mnrgateway” },“mappedProps”: { “devtype”: “properties.deviceType”,“hostname”: “tags.hostname”,“hypervsr”: “tags.hypervsr”,“part”: “properties.entityName”,“vcenter”: “properties.dataSource”,“source”: “instance”,“parttype”: “properties.entityType”,“device”: “properties.deviceName”,“customer”: “tags.customer” },“discardedProps”: [ ],“mappedMetrics”: { “CurrentUtilization”: “CurrentUtilization”,“ProcessorSize”: “ProcessorSize”,“UsageMHz”: “UsageMHz” },“discardedMetrics”: [ ] },“Hypervisor:Interface”: { “staticPropDefn”: { “metricType”: “NetworkAdapter”,“processedTimestamp”: “{TIMESTAMP_MS}”,“type”: “mnrgateway” },“mappedProps”: { “devtype”: “properties.deviceType”,“hostname”: “tags.hostname”,“hypervsr”: “tags.hypervsr”,“part”: “properties.entityName”,“ip”: “properties.ip”,“vcenter”: “properties.dataSource”,“source”: “instance”,“parttype”: “properties.entityType”,“device”: “properties.deviceName”,“customer”: “tags.customer” },“discardedProps”: [ ],“mappedMetrics”: { “Availability”: “Availability”,“Received”: “Received”,“Throughput”: “Throughput”,“Transmitted”: “Transmitted” },“discardedMetrics”: [ ] },“VirtualMachine:Interface”: { “staticPropDefn”: { “metricType”: “NetworkAdapter”,“processedTimestamp”: “{TIMESTAMP_MS}”,“type”: “mnrgateway” },“mappedProps”: { “devtype”: “properties.deviceType”,“hostname”: “tags.hostname”,“hypervsr”: “tags.hypervsr”,“part”: “properties.entityName”,“ip”: “properties.ip”,“vcenter”: “properties.dataSource”,“source”: “instance”,“parttype”: “properties.entityType”,“device”: “properties.deviceName”,“customer”: “tags.customer” },“discardedProps”: [ ],“mappedMetrics”: { “Availability”: “Availability”,“Received”: “Received”,“Throughput”: “Throughput”,“Transmitted”: “Transmitted” },“discardedMetrics”: [ ] },“VirtualMachine:FileSystem”: { “staticPropDefn”: { “metricType”: “Storage”,“processedTimestamp”: “{TIMESTAMP_MS}”,“type”: “mnrgateway” },“mappedProps”: { “devtype”: “properties.deviceType”,“hostname”: “tags.hostname”,“hypervsr”: “tags.hypervsr”,“part”: “properties.entityName”,“vcenter”: “properties.dataSource”,“source”: “instance”,“parttype”: “properties.entityType”,“device”: “properties.deviceName”,“customer”: “tags.customer” },“discardedProps”: [ ],“mappedMetrics”: { “FreeCapacity”: “FreeCapacity”,“Capacity”: “Capacity”,“UsedCapacity”: “UsedCapacity” },“discardedMetrics”: [ ] },“Hypervisor:Port”: { “staticPropDefn”: { “metricType”: “NetworkAdapter”,“processedTimestamp”: “{TIMESTAMP_MS}”,“type”: “mnrgateway” },“mappedProps”: { “devtype”: “properties.deviceType”,“hostname”: “tags.hostname”,“hypervsr”: “tags.hypervsr”,“part”: “properties.entityName”,“vcenter”: “properties.dataSource”,“source”: “instance”,“parttype”: “properties.entityType”,“device”: “properties.deviceName”,“customer”: “tags.customer” },“discardedProps”: [ ],“mappedMetrics”: { “Availability”: “Availability”,“ReadThroughput”: “ReadThroughput”,“WriteThroughput”: “WriteThroughput”,“ReadLatency”: “ReadLatency”,“IOWrite”: “IOWrite”,“IORead”: “IORead”,“WriteLatency”: “WriteLatency” },“discardedMetrics”: [ ] },“Hypervisor:VirtualSwitch”: { “staticPropDefn”: { “metricType”: “Availability”,“processedTimestamp”: “{TIMESTAMP_MS}”,“type”: “mnrgateway” },“mappedProps”: { “devtype”: “properties.deviceType”,“hostname”: “tags.hostname”,“hypervsr”: “tags.hypervsr”,“part”: “properties.entityName”,“vcenter”: “properties.dataSource”,“source”: “instance”,“parttype”: “properties.entityType”,“device”: “properties.deviceName”,“customer”: “tags.customer” },“discardedProps”: [ ],“mappedMetrics”: { “Availability”: “Availability” },“discardedMetrics”: [ ] },“Hypervisor:PortGroup”: { “staticPropDefn”: { “metricType”: “Availability”,“processedTimestamp”: “{TIMESTAMP_MS}”,“type”: “mnrgateway” },“mappedProps”: { “devtype”: “properties.deviceType”,“hostname”: “tags.hostname”,“hypervsr”: “tags.hypervsr”,“part”: “properties.entityName”,“vcenter”: “properties.dataSource”,“source”: “instance”,“parttype”: “properties.entityType”,“device”: “properties.deviceName”,“customer”: “tags.customer” },“discardedProps”: [ ],“mappedMetrics”: { “Reachability”: “Reachability” },“discardedMetrics”: [ ] },“Datastore:Datastore”: { “staticPropDefn”: { “metricType”: “Storage”,“processedTimestamp”: “{TIMESTAMP_MS}”,“type”: “mnrgateway” },“mappedProps”: { “devtype”: “properties.deviceType”,“hostname”: “tags.hostname”,“hypervsr”: “tags.hypervsr”,“part”: “properties.entityName”,“vcenter”: “properties.dataSource”,“source”: “instance”,“parttype”: “properties.entityType”,“device”: “properties.deviceName”,“customer”: “tags.customer” },“discardedProps”: [ ],“mappedMetrics”: { “FreeCapacity”: “FreeCapacity”,“Capacity”: “Capacity”,“Uncommitted”: “Uncommitted” },“discardedMetrics”: [ ] },“Hypervisor:DiskPath”: { “staticPropDefn”: { “metricType”: “Availability”,“processedTimestamp”: “{TIMESTAMP_MS}”,“type”: “mnrgateway” },“mappedProps”: { “devtype”: “properties.deviceType”,“hostname”: “tags.hostname”,“hypervsr”: “tags.hypervsr”,“part”: “properties.entityName”,“vcenter”: “properties.dataSource”,“source”: “instance”,“parttype”: “properties.entityType”,“device”: “properties.deviceName”,“customer”: “tags.customer” },“discardedProps”: [ ],“mappedMetrics”: { “Availability”: “Availability”,“Reachability”: “Reachability” },“discardedMetrics”: [ ] },“VirtualMachine:Disk”: { “staticPropDefn”: { “metricType”: “Storage”,“processedTimestamp”: “{TIMESTAMP_MS}”,“type”: “mnrgateway” },“mappedProps”: { “devtype”: “properties.deviceType”,“hostname”: “tags.hostname”,“hypervsr”: “tags.hypervsr”,“part”: “properties.entityName”,“vcenter”: “properties.dataSource”,“source”: “instance”,“parttype”: “properties.entityType”,“device”: “properties.deviceName”,“customer”: “tags.customer” },“discardedProps”: [ ],“mappedMetrics”: { “ReadRequests”: “ReadRequests”,“WriteRequests”: “WriteRequests”,“ReadThroughput”: “ReadThroughput”,“WriteThroughput”: “WriteThroughput”,“Throughput”: “Throughput” },“discardedMetrics”: [ ] },“VirtualMachine:File”: { “staticPropDefn”: { “metricType”: “Storage”,“processedTimestamp”: “{TIMESTAMP_MS}”,“type”: “mnrgateway” },“mappedProps”: { “devtype”: “properties.deviceType”,“hostname”: “tags.hostname”,“hypervsr”: “tags.hypervsr”,“part”: “properties.entityName”,“vcenter”: “properties.dataSource”,“source”: “instance”,“parttype”: “properties.entityType”,“device”: “properties.deviceName”,“customer”: “tags.customer” },“discardedProps”: [ ],“mappedMetrics”: { “Capacity”: “Capacity”,“UsedCapacity”: “UsedCapacity”,“PresentedCapacity”: “PresentedCapacity” },“discardedMetrics”: [ ] },“DistributedVirtualSwitch:DVPortGroup”: { “staticPropDefn”: { “metricType”: “Availability”,“processedTimestamp”: “{TIMESTAMP_MS}”,“type”: “mnrgateway” },“mappedProps”: { “devtype”: “properties.deviceType”,“hostname”: “tags.hostname”,“hypervsr”: “tags.hypervsr”,“part”: “properties.entityName”,“vcenter”: “properties.dataSource”,“source”: “instance”,“parttype”: “properties.entityType”,“device”: “properties.deviceName”,“customer”: “tags.customer” },“discardedProps”: [ ],“mappedMetrics”: { “Availability”: “Availability” },“discardedMetrics”: [ ] },“VirtualMachine:Virtual Disk”: { “staticPropDefn”: { “metricType”: “Storage”,“processedTimestamp”: “{TIMESTAMP_MS}”,“type”: “mnrgateway” },“mappedProps”: { “devtype”: “properties.deviceType”,“hostname”: “tags.hostname”,“hypervsr”: “tags.hypervsr”,“part”: “properties.entityName”,“vcenter”: “properties.dataSource”,“source”: “instance”,“parttype”: “properties.entityType”,“device”: “properties.deviceName”,“customer”: “tags.customer” },“discardedProps”: [ ],“mappedMetrics”: { “ReadRequests”: “ReadRequests”,“WriteRequests”: “WriteRequests”,“ReadThroughput”: “ReadThroughput”,“Capacity”: “Capacity”,“WriteThroughput”: “WriteThroughput”,“ReadLatency”: “ReadLatency”,“PresentedCapacity”: “PresentedCapacity”,“WriteLatency”: “WriteLatency” },“discardedMetrics”: [ ] },“VirtualMachine”: { “staticPropDefn”: { “metricType”: “VirtualMachine”,“processedTimestamp”: “{TIMESTAMP_MS}”,“type”: “mnrgateway” },“mappedProps”: { “devtype”: “properties.deviceType”,“hostname”: “tags.hostname”,“hypervsr”: “tags.hypervsr”,“ip”: “properties.ip”,“vcenter”: “properties.dataSource”,“source”: “instance”,“parttype”: “properties.entityType”,“device”: “properties.deviceName”,“deviceid”: “properties.entityName”,“customer”: “tags.customer” },“discardedProps”: [ ],“mappedMetrics”: { “Availability”: “Availability”,“CurrentSnapshot”: “CurrentSnapshot”,“TotalDisk”: “TotalDisk”,“Uptime”: “Uptime”,“RemoveMeZero”: “RemoveMeZero” },“discardedMetrics”: [ ] } },“Netflow”: { “metadata”: { “enabled”: false,“description”: “Netflow”,“type”: “event”,“keys”: [ “source” ],“metricMapDefn”: { “unit”: “unit{METRICNAME}” } },“Netflow”: { “staticPropDefn”: { “deviceType”: “Router”,“metricType”: “Netflow-mnr”,“processedTimestamp”: “{TIMESTAMP_MS}”,“type”: “mnrgateway-events” },“mappedProps”: { “SNMP_NAME”: “properties.SNMP_NAME”,“TOS_REST”: “properties.TOS_REST”,“eventTmst”: “timestamp”,“source”: “instance”,“REMOTE_PORT”: “properties.REMOTE_PORT”,“INTERFACE”: “properties.INTERFACE”,“unitFLOW_COUNT”: “properties.unitFLOW_COUNT”,“TCP_FLAGS”: “properties.TCP_FLAGS”,“DSCP”: “properties.DSCP”,“APPLICATION_NAME”: “properties.APPLICATION_NAME”,“HOST_PORT”: “properties.HOST_PORT”,“Z_IF_SNMP”: “properties.Z_IF_SNMP”,“eventId”: “properties.eventId”,“PORT”: “properties.PORT”,“FLOW_SEQUENCE”: “properties.FLOW_SEQUENCE”,“PROTOCOL”: “properties.source”,“ROUTER_SRC”: “properties.deviceName”,“DSCP_ECN”: “properties.DSCP_ECN”,“Z_PORT”: “properties.Z_PORT”,“L4_DST_PORT”: “properties.L4_DST_PORT”,“APPLICATION_CLASS”: “properties.APPLICATION_CLASS”,“HOST_ADDR”: “properties.entityName”,“L4_SRC_PORT”: “properties.L4_SRC_PORT”,“TOS”: “properties.TOS”,“FIRST_SWITCHED”: “properties.FIRST_SWITCHED”,“APPLICATION_TYPE”: “properties.APPLICATION_TYPE”,“APPLICATION_ID”: “properties.APPLICATION_ID”,“A_IF_SNMP_NAME”: “properties.A_IF_SNMP_NAME”,“SRC_AS”: “properties.SRC_AS”,“A_IF_SNMP”: “properties.A_IF_SNMP”,“DST_AS”: “properties.DST_AS”,“OUTPUT_SNMP”: “properties.OUTPUT_SNMP”,“APPLICATION_CRITICALITY”: “properties.APPLICATION_CRITICALITY”,“ROUTER_SRC_NAME”: “properties.ROUTER_SRC_NAME”,“HOST_NAME”: “properties.HOST_NAME”,“Z_ADDR”: “properties.Z_ADDR”,“INPUT_SNMP_NAME”: “properties.INPUT_SNMP_NAME”,“INPUT_SNMP”: “properties.INPUT_SNMP”,“SRC_ADDR”: “properties.SRC_ADDR”,“APPLICATION_DESC”: “properties.APPLICATION_DESC”,“SOURCE_ID”: “properties.SOURCE_ID”,“OUTPUT_SNMP_NAME”: “properties.OUTPUT_SNMP_NAME”,“DIRECTION”: “properties.DIRECTION”,“STREAM”: “properties.entityType”,“SRC_PORT”: “properties.SRC_PORT”,“LAST_SWITCHED”: “properties.LAST_SWITCHED”,“A_ADDR”: “properties.A_ADDR”,“DST_MASK”: “properties.DST_MASK”,“DST_ADDR”: “properties.DST_ADDR”,“IPV4_DST_ADDR”: “properties.IPV4_DST_ADDR”,“IPV4_DST_NET”: “properties.IPV4_DST_NET”,“IPV4_NEXT_HOP”: “properties.IPV4_NEXT_HOP”,“A_PORT”: “properties.A_PORT”,“SRC_MASK”: “properties.SRC_MASK”,“IPV4_SRC_ADDR”: “properties.IPV4_SRC_ADDR”,“DST_PORT”: “properties.DST_PORT”,“Z_IF_SNMP_NAME”: “properties.Z_IF_SNMP_NAME”,“IPV4_SRC_NET”: “properties.IPV4_SRC_NET”,“DURATION”: “properties.DURATION” },“discardedProps”: [ ],“mappedMetrics”: { “BYTES”: “BYTES”,“AZ_BYTES”: “AZ_BYTES”,“BYTESOUT”: “BYTESOUT”,“ZA_PACKETS”: “ZA_PACKETS”,“BYTESIN”: “BYTESIN”,“FLOW_COUNT”: “FLOW_COUNT”,“MINUS_X”: “MINUS_X”,“MINUS_Y”: “MINUS_Y”,“MINUS_Z”: “MINUS_Z”,“PACKETSIN”: “PACKETSIN”,“AZ_PACKETS”: “AZ_PACKETS”,“ZA_BYTES”: “ZA_BYTES”,“PACKETSOUT”: “PACKETSOUT”,“PACKETS”: “PACKETS” },“discardedMetrics”: [ ] } } } ‘400’: description: Invalid Request sent by the user content: application/json: schema: type: object ‘401’: description: User authentication failed content: application/json: schema: type: object ‘403’: description: Access to the requested resource/operation is forbidden content: application/json: schema: type: object ‘404’: description: Cannot find requested resource content: application/json: schema: type: object “500”: description: Internal server error content: application/json: schema: type: object /v1/mnrgateway/mappings/list: get: tags: - Mnr-mapper summary: Get the list of packages that has mapping for Mnr gateway description: Get the list of packages that has mapping for Mnr gateway operationId: get-Mnr-mapping-package-list responses: ‘200’: description: OK content: ‘application/json’: schema: type: array items: type: string example: [ “VMWareCollector”,“Netflow” ] ‘400’: description: Invalid Request sent by the user content: application/json: schema: type: object ‘401’: description: User authentication failed content: application/json: schema: type: object ‘403’: description: Access to the requested resource/operation is forbidden content: application/json: schema: type: object ‘404’: description: Cannot find requested resource content: application/json: schema: type: object “500”: description: Internal server error content: application/json: schema: type: object /v1/mnrgateway/mappings/{packageName}: get: tags: - Mnr-mapper summary: ‘Get Mnr metadata for provided package name’ description: ‘Get Mnr metadata for provided package name’ operationId: get-Mnr-metadata parameters: - name: packageName in: path description: Package name for which user wants to fetch MetaData required: true schema: type: string responses: ‘200’: description: OK content: application/json: schema: $ref: ‘#/components/schemas/MnRMetaData’ ‘400’: description: Invalid Request sent by the user content: application/json: schema: type: object ‘401’: description: User authentication failed content: application/json: schema: type: object ‘403’: description: Access to the requested resource/operation is forbidden content: application/json: schema: type: object ‘404’: description: Cannot find requested resource content: application/json: schema: type: object “500”: description: Internal server error content: application/json: schema: type: object post: tags: - Mnr-mapper summary: ‘Store Mnr metadata for provided package name ' description: ‘Store Mnr metadata for provided package name ' operationId: store-Mnr-metadata parameters: - name: packageName in: path description: Package name for which user wants to store MetaData required: true schema: type: string requestBody: description: Mapping Meta data json as string content: application/json: schema: type: object example: { “Demo”: { “metadata”: { “enabled”: true, “description”: “Demo”, “type”: “json_events”, “model”: “Default”, “keys”: [] }, “default”: {“mapping”: “{\n\t"Source": "KafkaCollector",\n\t"InstanceName": "$.edgename",\n\t"Timestamp": "$.@timestamp",\n\t"ProcessedTimeStamp": "$.@timestamp",\n\t"Name": "$.event",\n\t"State": "NOTIFY",\n\t"Severity": "$.severity"\n}”}}} required: true responses: ‘200’: description: OK content: application/json: schema: type: object example: {“message”: “Metadata for package Demo has been persisted in repos”} ‘400’: description: Invalid Request sent by the user content: application/json: schema: type: object ‘401’: description: User authentication failed content: application/json: schema: type: object ‘403’: description: Access to the requested resource/operation is forbidden content: application/json: schema: type: object ‘404’: description: Cannot find requested resource content: application/json: schema: type: object “500”: description: Internal server error content: application/json: schema: type: object delete: tags: - Mnr-mapper summary: ‘Delete Mnr metadata mapping for provided package name ' description: ‘Delete Mnr metadata mapping for provided package name ' operationId: delete-Mnr-metadata-mapping parameters: - name: packageName in: path description: Package name for which user wants to fetch MetaData required: true schema: type: string example: Netflow responses: ‘200’: description: OK content: application/json: schema: type: object ‘400’: description: Invalid Request sent by the user content: application/json: schema: type: object ‘401’: description: User authentication failed content: application/json: schema: type: object ‘403’: description: Access to the requested resource/operation is forbidden content: application/json: schema: type: object ‘404’: description: Cannot find requested resource content: application/json: schema: type: object “500”: description: Internal server error content: application/json: schema: type: object /v1/mnrgateway/metadata: get: tags: - Mnr-mapper summary: Get Mnr metadata for all packages description: Get Mnr metadata for all packages operationId: get-all-Mnr-metadata responses: ‘200’: description: OK content: application/json: schema: type: array items: type: object example: [ { “spname”: “Netflow”,“description”: “netflow”,“type”: “event”,“keys”: [ “source” ],“metadata”: [ { “keys”: { “source”: “Netflow” },“properties”: [ “SNMP_NAME”,“eventTmst”,“source”,“REMOTE_PORT”,“INTERFACE”,“unitFLOW_COUNT”,“TCP_FLAGS”,“DSCP”,“APPLICATION_NAME”,“HOST_PORT”,“Z_IF_SNMP”,“eventId”,“PORT”,“PROTOCOL”,“ROUTER_SRC”,“DSCP_ECN”,“Z_PORT”,“L4_DST_PORT”,“APPLICATION_CLASS”,“L4_SRC_PORT”,“TOS”,“HOST_ADDR”,“APPLICATION_TYPE”,“APPLICATION_ID”,“A_IF_SNMP_NAME”,“SRC_AS”,“A_IF_SNMP”,“DST_AS”,“OUTPUT_SNMP”,“APPLICATION_CRITICALITY”,“ROUTER_SRC_NAME”,“HOST_NAME”,“Z_ADDR”,“INPUT_SNMP_NAME”,“INPUT_SNMP”,“SRC_ADDR”,“APPLICATION_DESC”,“OUTPUT_SNMP_NAME”,“DIRECTION”,“STREAM”,“SRC_PORT”,“A_ADDR”,“DST_MASK”,“DST_ADDR”,“IPV4_DST_ADDR”,“IPV4_DST_NET”,“IPV4_NEXT_HOP”,“A_PORT”,“SRC_MASK”,“IPV4_SRC_ADDR”,“DST_PORT”,“Z_IF_SNMP_NAME”,“IPV4_SRC_NET”,“DURATION” ],“metrics”: [ { “name”: “AZ_PACKETS”,“unit”: “Pkts” },{ “name”: “BYTESIN”,“unit”: “Bytes” },{ “name”: “BYTESOUT”,“unit”: “Bytes” },{ “name”: “AZ_BYTES”,“unit”: “Bytes” },{ “name”: “ZA_PACKETS”,“unit”: “Pkts” },{ “name”: “BYTES”,“unit”: “Bytes” },{ “name”: “ZA_BYTES”,“unit”: “Bytes” },{ “name”: “PACKETSIN”,“unit”: “Pkts” },{ “name”: “FLOW_COUNT”,“unit”: “nb” },{ “name”: “PACKETSOUT”,“unit”: “Pkts” },{ “name”: “MINUS_Z”,“unit”: “null” },{ “name”: “MINUS_Y”,“unit”: “null” },{ “name”: “MINUS_X”,“unit”: “null” },{ “name”: “PACKETS”,“unit”: “Pkts” } ] } ] },{ “spname”: “VMWareCollector”,“description”: “VMWareCollector”,“type”: “metric”,“keys”: [ “devtype”,“parttype” ],“metadata”: [ { “keys”: { “devtype”: “VirtualMachine”,“parttype”: “Disk” },“properties”: [ “template”,“toolstat”,“vstatus”,“hypervsr”,“part”,“nbcpu”,“source”,“parttype”,“path”,“serialnb”,“toolvrs”,“vcenter”,“state”,“group”,“pltfmgrp”,“portgrp”,“procsz”,“partsn”,“nodegrp”,“w4ncert”,“totalghz “,“deviceid”,“currsnap”,“hastatus”,“vdiskuid”,“devtype”,“vdc”,“domain”,“memberof”,“device”,“bunit”,“datagrp”,“customer”,“status” ],“metrics”: [ { “name”: “ReadThroughput”,“unit”: “MB/s” },{ “name”: “WriteRequests”,“unit”: “IOPS” },{ “name”: “ReadRequests”,“unit”: “IOPS” },{ “name”: “Throughput”,“unit”: “MB/s” },{ “name”: “WriteThroughput”,“unit”: “MB/s” } ] },{ “keys”: { “devtype”: “VirtualMachine”,“parttype”: “FileSystem” },“properties”: [ “template”,“vstatus”,“hypervsr”,“part”,“nbcpu”,“source”,“parttype”,“devdesc”,“path”,“hostname”,“serialnb”,“vcenter”,“group”,“pltfmgrp”,“portgrp”,“procsz”,“fqdn”,“ip”,“nodegrp”,“w4ncert”,“totalghz “,“deviceid”,“currsnap”,“hastatus”,“vdiskuid”,“devtype”,“vdc”,“domain”,“memberof”,“device”,“bunit”,“datagrp”,“customer”,“status” ],“metrics”: [ { “name”: “FreeCapacity”,“unit”: “GB” },{ “name”: “Capacity”,“unit”: “GB” },{ “name”: “UsedCapacity”,“unit”: “GB” } ] },{ “keys”: { “devtype”: “VirtualMachine”,“parttype”: “File” },“properties”: [ “template”,“vstatus”,“hypervsr”,“part”,“nbcpu”,“source”,“parttype”,“isvmdk”,“devdesc”,“path”,“serialnb”,“hostname”,“vcenter”,“group”,“pltfmgrp”,“linkedto”,“procsz”,“fqdn”,“ip”,“nodegrp”,“w4ncert”,“totalghz “,“deviceid”,“currsnap”,“hastatus”,“vdiskuid”,“devtype”,“vdc”,“domain”,“memberof”,“device”,“bunit”,“datagrp”,“customer”,“status” ],“metrics”: [ { “name”: “PresentedCapacity”,“unit”: “GB” },{ “name”: “Capacity”,“unit”: “GB” },{ “name”: “UsedCapacity”,“unit”: “GB” } ] },{ “keys”: { “devtype”: “VirtualMachine”,“parttype”: “Virtual Disk” },“properties”: [ “template”,“hypervsr”,“part”,“nbcpu”,“source”,“parttype”,“path”,“serialnb”,“modpart”,“rdmname”,“vcenter”,“state”,“partdesc”,“group”,“ctrlkey”,“linkedto”,“pltfmgrp”,“portgrp”,“scsiid”,“dtype”,“w4ncert”,“totalghz “,“nodegrp”,“deviceid”,“unitnum”,“currsnap”,“vdisksn”,“hastatus”,“vdiskuid”,“devtype”,“scsictrl”,“vdc”,“domain”,“memberof”,“bunit”,“thinprov”,“device”,“datagrp”,“customer” ],“metrics”: [ { “name”: “ReadLatency”,“unit”: “ms” },{ “name”: “ReadRequests”,“unit”: “IOPS” },{ “name”: “PresentedCapacity”,“unit”: “GB” },{ “name”: “WriteRequests”,“unit”: “IOPS” },{ “name”: “ReadThroughput”,“unit”: “MB/s” },{ “name”: “WriteLatency”,“unit”: “ms” },{ “name”: “Capacity”,“unit”: “GB” },{ “name”: “WriteThroughput”,“unit”: “MB/s” } ] },{ “keys”: { “devtype”: “Hypervisor”,“parttype”: “NULL” },“properties”: [ “cluster”,“kpname”,“vstatus”,“hypervsr”,“vnickey”,“nbcpu”,“maintmod”,“source”,“PwPolicy”,“devdesc”,“path”,“vmotkp”,“hostname”,“vmotip”,“vendor”,“vcenter”,“model”,“nbcore”,“vmotion”,“group”,“reboot”,“pltfmgrp”,“product”,“vcip”,“procsz”,“vportgrp”,“fqdn”,“ip”,“nbnic”,“nodegrp”,“w4ncert”,“totalghz “,“deviceid”,“devtype”,“kpsubnet”,“mpname”,“vkpip”,“domain”,“memberof”,“cltype”,“device”,“bunit”,“datagrp”,“customer”,“status” ],“metrics”: [ { “name”: “Availability”,“unit”: “%” } ] },{ “keys”: { “devtype”: “VirtualMachine”,“parttype”: “Processor” },“properties”: [ “template”,“vstatus”,“hypervsr”,“part”,“nbcpu”,“source”,“parttype”,“devdesc”,“path”,“serialnb”,“hostname”,“vcenter”,“state”,“group”,“pltfmgrp”,“portgrp”,“procsz”,“fqdn”,“ip”,“nodegrp”,“w4ncert”,“totalghz “,“deviceid”,“currsnap”,“hastatus”,“devtype”,“vdc”,“domain”,“memberof”,“device”,“bunit”,“datagrp”,“customer”,“status” ],“metrics”: [ { “name”: “UsageMHz”,“unit”: “MHz” },{ “name”: “CurrentUtilization”,“unit”: “%” },{ “name”: “Ready”,“unit”: “ms” } ] },{ “keys”: { “devtype”: “Hypervisor”,“parttype”: “Disk” },“properties”: [ “cluster”,“kpname”,“vnickey”,“source”,“uuid”,“PwPolicy”,“path”,“vcenter”,“model”,“nbcore”,“dmodel”,“group”,“pltfmgrp”,“dvendor”,“vcip”,“procsz”,“partsn”,“partstat”,“nodegrp”,“vdiskuid”,“devtype”,“kpsubnet”,“luntype”,“domain”,“memberof”,“cltype”,“device”,“hypervsr”,“part”,“nbcpu”,“maintmod”,“parttype”,“devdesc”,“dispname”,“vendor”,“vmotion”,“key”,“scsilvl”,“isused”,“reboot”,“product”,“vportgrp”,“nbnic”,“w4ncert”,“totalghz “,“deviceid”,“mpname”,“vkpip”,“bunit”,“datagrp”,“customer” ],“metrics”: [ { “name”: “QueueLatency”,“unit”: “ms” },{ “name”: “Latency”,“unit”: “ms” },{ “name”: “ReadLatency”,“unit”: “ms” },{ “name”: “WriteRequests”,“unit”: “IOPS” },{ “name”: “ReadThroughput”,“unit”: “MB/s” },{ “name”: “ReadRequests”,“unit”: “IOPS” },{ “name”: “WriteLatency”,“unit”: “ms” },{ “name”: “Availability”,“unit”: “%” },{ “name”: “Capacity”,“unit”: “GB” },{ “name”: “WriteThroughput”,“unit”: “MB/s” } ] },{ “keys”: { “devtype”: “Datastore”,“parttype”: “Datastore” },“properties”: [ “shared”,“vstatus”,“part”,“source”,“esx”,“type”,“parttype”,“devdesc”,“vmotkp”,“vmotip”,“vcenter”,“group”,“blk”,“partsn”,“blksize”,“w4ncert”,“totalghz “,“url”,“vdiskuid”,“devtype”,“dsname”,“domain”,“memberof”,“device”,“bunit”,“datagrp”,“customer”,“status” ],“metrics”: [ { “name”: “FreeCapacity”,“unit”: “GB” },{ “name”: “Uncommitted”,“unit”: “GB” },{ “name”: “Capacity”,“unit”: “GB” } ] },{ “keys”: { “devtype”: “VirtualMachine”,“parttype”: “NULL” },“properties”: [ “template”,“toolstat”,“vstatus”,“hypervsr”,“nbcpu”,“source”,“devdesc”,“path”,“serialnb”,“hostname”,“toolvrs”,“vcenter”,“vwindex”,“state”,“group”,“pltfmgrp”,“portgrp”,“procsz”,“fqdn”,“ip”,“nodegrp”,“w4ncert”,“totalghz “,“deviceid”,“currsnap”,“hastatus”,“devtype”,“vdc”,“domain”,“memberof”,“device”,“bunit”,“datagrp”,“customer”,“status” ],“metrics”: [ { “name”: “CurrentSnapshot”,“unit”: “number” },{ “name”: “TotalDisk”,“unit”: “number” },{ “name”: “Uptime”,“unit”: “s” },{ “name”: “Availability”,“unit”: “%” },{ “name”: “RemoveMeZero”,“unit”: “GB” } ] },{ “keys”: { “devtype”: “Hypervisor”,“parttype”: “Multipath” },“properties”: [ “cluster”,“kpname”,“vstatus”,“hypervsr”,“vnickey”,“part”,“nbcpu”,“maintmod”,“source”,“parttype”,“PwPolicy”,“devdesc”,“path”,“vendor”,“vcenter”,“model”,“id”,“nbcore”,“vmotion”,“group”,“reboot”,“pltfmgrp”,“totalghz”,“product”,“vcip”,“procsz”,“vportgrp”,“nbnic”,“nodegrp”,“w4ncert”,“deviceid”,“kpsubnet”,“devtype”,“mpname”,“vkpip”,“domain”,“memberof”,“cltype”,“device”,“bunit”,“datagrp”,“customer”,“status” ],“metrics”: [ { “name”: “Availability”,“unit”: “%” } ] },{ “keys”: { “devtype”: “Hypervisor”,“parttype”: “PortGroup” },“properties”: [ “cluster”,“kpname”,“vstatus”,“vlanid”,“hypervsr”,“vnickey”,“part”,“nbcpu”,“maintmod”,“source”,“parttype”,“PwPolicy”,“devdesc”,“path”,“vendor”,“vcenter”,“model”,“id”,“nbcore”,“actvenic”,“vmotion”,“group”,“reboot”,“pltfmgrp”,“totalghz”,“product”,“vcip”,“procsz”,“vportgrp”,“nbnic”,“nodegrp”,“w4ncert”,“deviceid”,“kpsubnet”,“devtype”,“vswitch”,“mpname”,“vkpip”,“domain”,“memberof”,“cltype”,“device”,“bunit”,“datagrp”,“status”,“customer” ],“metrics”: [ { “name”: “Reachability”,“unit”: “%” } ] },{ “keys”: { “devtype”: “Hypervisor”,“parttype”: “Port” },“properties”: [ “cluster”,“kpname”,“vstatus”,“vnickey”,“source”,“PwPolicy”,“path”,“vmotip”,“vcenter”,“model”,“nbcore”,“group”,“pltfmgrp”,“vcip”,“procsz”,“partsn”,“partstat”,“fcnod”,“nodegrp”,“hbadrv”,“devtype”,“kpsubnet”,“domain”,“memberof”,“cltype”,“device”,“status”,“nodewwn”,“hypervsr”,“part”,“nbcpu”,“maintmod”,“parttype”,“devdesc”,“vmotkp”,“eraseme”,“vendor”,“pci”,“vmotion”,“key”,“partdesc”,“reboot”,“pvendor”,“product”,“vportgrp”,“busnum”,“nbnic”,“fcbus”,“w4ncert”,“totalghz “,“pmodel”,“deviceid”,“mpname”,“vkpip”,“bunit”,“datagrp”,“customer” ],“metrics”: [ { “name”: “IOWrite”,“unit”: “IOPS” },{ “name”: “ReadLatency”,“unit”: “ms” },{ “name”: “IORead”,“unit”: “IOPS” },{ “name”: “ReadThroughput”,“unit”: “MB/s” },{ “name”: “Availability”,“unit”: “%” },{ “name”: “WriteLatency”,“unit”: “ms” },{ “name”: “WriteThroughput”,“unit”: “MB/s” } ] },{ “keys”: { “devtype”: “Hypervisor”,“parttype”: “VirtualSwitch” },“properties”: [ “cluster”,“kpname”,“vstatus”,“hypervsr”,“vnickey”,“part”,“nbcpu”,“maintmod”,“source”,“parttype”,“PwPolicy”,“devdesc”,“path”,“vmotkp”,“vmotip”,“vendor”,“vcenter”,“model”,“nbcore”,“vmotion”,“group”,“reboot”,“pltfmgrp”,“product”,“vcip”,“procsz”,“vportgrp”,“nbnic”,“nodegrp”,“w4ncert”,“totalghz “,“deviceid”,“devtype”,“kpsubnet”,“mpname”,“vkpip”,“domain”,“memberof”,“cltype”,“device”,“bunit”,“datagrp”,“customer”,“status” ],“metrics”: [ { “name”: “Availability”,“unit”: “%” } ] },{ “keys”: { “devtype”: “Hypervisor”,“parttype”: “VirtualNic” },“properties”: [ “cluster”,“kpname”,“vstatus”,“hypervsr”,“vnickey”,“part”,“nbcpu”,“maintmod”,“source”,“parttype”,“PwPolicy”,“devdesc”,“path”,“vmotkp”,“vmotip”,“vendor”,“vcenter”,“model”,“nbcore”,“vmotion”,“group”,“reboot”,“pltfmgrp”,“product”,“vcip”,“procsz”,“portgrp”,“vportgrp”,“ip”,“nbnic”,“nodegrp”,“w4ncert”,“totalghz “,“deviceid”,“devtype”,“kpsubnet”,“mpname”,“vkpip”,“domain”,“memberof”,“cltype”,“device”,“bunit”,“datagrp”,“customer”,“status” ],“metrics”: [ { “name”: “Availability”,“unit”: “%” } ] },{ “keys”: { “devtype”: “VirtualMachine”,“parttype”: “Interface” },“properties”: [ “template”,“vstatus”,“hypervsr”,“part”,“nbcpu”,“source”,“parttype”,“network”,“devdesc”,“path”,“hostname”,“serialnb”,“vcenter”,“group”,“pltfmgrp”,“portgrp”,“procsz”,“fqdn”,“ip”,“nodegrp”,“w4ncert”,“totalghz “,“deviceid”,“currsnap”,“hastatus”,“devtype”,“vdc”,“domain”,“memberof”,“device”,“bunit”,“datagrp”,“customer”,“status” ],“metrics”: [ { “name”: “Transmitted”,“unit”: “MB/s” },{ “name”: “Throughput”,“unit”: “MB/s” },{ “name”: “Availability”,“unit”: “%” },{ “name”: “Received”,“unit”: “MB/s” } ] },{ “keys”: { “devtype”: “VirtualMachine”,“parttype”: “Datastore” },“properties”: [ “template”,“vstatus”,“hypervsr”,“part”,“nbcpu”,“source”,“parttype”,“devdesc”,“path”,“serialnb”,“hostname”,“vcenter”,“group”,“pltfmgrp”,“portgrp”,“procsz”,“fqdn”,“ip”,“nodegrp”,“w4ncert”,“totalghz “,“deviceid”,“currsnap”,“hastatus”,“devtype”,“vdc”,“domain”,“dsurl”,“memberof”,“device”,“bunit”,“datagrp”,“customer”,“status” ],“metrics”: [ { “name”: “UsedCapacity”,“unit”: “GB” } ] },{ “keys”: { “devtype”: “Hypervisor”,“parttype”: “Processor” },“properties”: [ “cluster”,“kpname”,“vstatus”,“hypervsr”,“vnickey”,“part”,“nbcpu”,“maintmod”,“source”,“parttype”,“PwPolicy”,“devdesc”,“path”,“vmotkp”,“vmotip”,“vendor”,“vcenter”,“model”,“nbcore”,“partdesc”,“vmotion”,“group”,“reboot”,“pltfmgrp”,“product”,“vcip”,“procsz”,“vportgrp”,“nbnic”,“nodegrp”,“w4ncert”,“totalghz “,“deviceid”,“devtype”,“kpsubnet”,“mpname”,“vkpip”,“domain”,“memberof”,“cltype”,“device”,“bunit”,“datagrp”,“customer”,“status” ],“metrics”: [ { “name”: “UsageMHz”,“unit”: “MHz” },{ “name”: “ProcessorSize”,“unit”: “Hz” },{ “name”: “CurrentUtilization”,“unit”: “%” } ] },{ “keys”: { “devtype”: “Hypervisor”,“parttype”: “Datastore” },“properties”: [ “cluster”,“kpname”,“vstatus”,“hypervsr”,“vnickey”,“part”,“nbcpu”,“maintmod”,“source”,“parttype”,“PwPolicy”,“devdesc”,“path”,“vmotkp”,“vmotip”,“vendor”,“vcenter”,“model”,“nbcore”,“vmotion”,“group”,“reboot”,“pltfmgrp”,“product”,“vcip”,“procsz”,“vportgrp”,“nbnic”,“nodegrp”,“w4ncert”,“totalghz “,“deviceid”,“devtype”,“kpsubnet”,“mpname”,“vkpip”,“domain”,“dsurl”,“memberof”,“cltype”,“device”,“bunit”,“datagrp”,“customer”,“status” ],“metrics”: [ { “name”: “Availability”,“unit”: “%” } ] },{ “keys”: { “devtype”: “Hypervisor”,“parttype”: “Memory” },“properties”: [ “cluster”,“kpname”,“vstatus”,“hypervsr”,“vnickey”,“part”,“nbcpu”,“maintmod”,“source”,“parttype”,“PwPolicy”,“devdesc”,“path”,“vmotkp”,“vmotip”,“vendor”,“vcenter”,“model”,“nbcore”,“vmotion”,“group”,“reboot”,“pltfmgrp”,“product”,“vcip”,“procsz”,“vportgrp”,“nbnic”,“nodegrp”,“w4ncert”,“totalghz “,“deviceid”,“devtype”,“kpsubnet”,“mpname”,“vkpip”,“domain”,“memberof”,“cltype”,“device”,“bunit”,“datagrp”,“customer”,“status” ],“metrics”: [ { “name”: “SharedCommon”,“unit”: “MB” },{ “name”: “TotalMemory”,“unit”: “MB” },{ “name”: “SwapIn”,“unit”: “MB/s” },{ “name”: “Shared”,“unit”: “MB” },{ “name”: “Active”,“unit”: “MB” },{ “name”: “SwapUsed”,“unit”: “MB” },{ “name”: “Balloon”,“unit”: “MB” },{ “name”: “CurrentUtilization”,“unit”: “%” },{ “name”: “SwapOut”,“unit”: “MB/s” },{ “name”: “Granted”,“unit”: “MB” } ] },{ “keys”: { “devtype”: “VirtualMachine”,“parttype”: “Memory” },“properties”: [ “template”,“vstatus”,“hypervsr”,“part”,“nbcpu”,“source”,“parttype”,“devdesc”,“path”,“serialnb”,“hostname”,“vcenter”,“state”,“group”,“pltfmgrp”,“portgrp”,“procsz”,“fqdn”,“ip”,“nodegrp”,“w4ncert”,“totalghz “,“deviceid”,“currsnap”,“hastatus”,“devtype”,“vdc”,“domain”,“memberof”,“device”,“bunit”,“datagrp”,“customer”,“status” ],“metrics”: [ { “name”: “TotalMemory”,“unit”: “MB” },{ “name”: “Consumed”,“unit”: “MB” },{ “name”: “SwapIn”,“unit”: “MB/s” },{ “name”: “Active”,“unit”: “MB” },{ “name”: “Balloon”,“unit”: “MB” },{ “name”: “Overhead”,“unit”: “MB” },{ “name”: “CurrentUtilization”,“unit”: “%” },{ “name”: “SwapOut”,“unit”: “MB/s” } ] },{ “keys”: { “devtype”: “Hypervisor”,“parttype”: “DiskPath” },“properties”: [ “cluster”,“kpname”,“vstatus”,“vnickey”,“source”,“PwPolicy”,“path”,“vmotip”,“vcenter”,“model”,“nbcore”,“group”,“pltfmgrp”,“vcip”,“procsz”,“nodegrp”,“devtype”,“kpsubnet”,“targetn”,“domain”,“memberof”,“cltype”,“lunn”,“device”,“status”,“hypervsr”,“part”,“nbcpu”,“maintmod”,“parttype”,“devdesc”,“vmotkp”,“vendor”,“adaptern”,“vmotion”,“reboot”,“product”,“vportgrp”,“nbnic”,“w4ncert”,“totalghz “,“deviceid”,“mpname”,“vkpip”,“diskdev”,“bunit”,“datagrp”,“customer”,“chann” ],“metrics”: [ { “name”: “Reachability”,“unit”: “%” },{ “name”: “Availability”,“unit”: “%” } ] },{ “keys”: { “devtype”: “Hypervisor”,“parttype”: “Interface” },“properties”: [ “cluster”,“kpname”,“vstatus”,“hypervsr”,“vnickey”,“part”,“nbcpu”,“maintmod”,“source”,“parttype”,“PwPolicy”,“devdesc”,“path”,“vmotkp”,“vmotip”,“vendor”,“vcenter”,“model”,“nbcore”,“vmotion”,“group”,“reboot”,“pltfmgrp”,“product”,“vcip”,“procsz”,“vportgrp”,“nbnic”,“nodegrp”,“w4ncert”,“totalghz “,“deviceid”,“devtype”,“kpsubnet”,“mpname”,“vkpip”,“domain”,“memberof”,“cltype”,“device”,“bunit”,“datagrp”,“customer”,“status” ],“metrics”: [ { “name”: “Transmitted”,“unit”: “MB/s” },{ “name”: “Throughput”,“unit”: “MB/s” },{ “name”: “Availability”,“unit”: “%” },{ “name”: “Received”,“unit”: “MB/s” } ] },{ “keys”: { “devtype”: “DistributedVirtualSwitch”,“parttype”: “NULL” },“properties”: [ “devtype”,“vstatus”,“vcenter”,“w4ncert”,“source”,“deviceid”,“device”,“bunit”,“datagrp”,“customer”,“group” ],“metrics”: [ { “name”: “Availability”,“unit”: “%” } ] },{ “keys”: { “devtype”: “DistributedVirtualSwitch”,“parttype”: “DVPortGroup” },“properties”: [ “vstatus”,“part”,“w4ncert”,“source”,“parttype”,“deviceid”,“devtype”,“vcenter”,“device”,“bunit”,“datagrp”,“customer”,“group” ],“metrics”: [ { “name”: “Availability”,“unit”: “%” } ] } ] } ] ‘400’: description: Invalid Request sent by the user content: application/json: schema: type: object ‘401’: description: User authentication failed content: application/json: schema: type: object ‘403’: description: Access to the requested resource/operation is forbidden content: application/json: schema: type: object ‘404’: description: Cannot find requested resource content: application/json: schema: type: object “500”: description: Internal server error content: application/json: schema: type: object /v1/mnrgateway/metadata/list: get: tags: - Mnr-mapper summary: Get list of Mnr metadata package names. description: Get list of Mnr metadata package names. operationId: get-list-of-Mnr-metadata responses: ‘200’: description: OK content: application/json: schema: type: array items: type: string example: [ “VMWareCollector”,“Netflow” ] ‘400’: description: Invalid Request sent by the user content: application/json: schema: type: object ‘401’: description: User authentication failed content: application/json: schema: type: object ‘403’: description: Access to the requested resource/operation is forbidden content: application/json: schema: type: object ‘404’: description: Cannot find requested resource content: application/json: schema: type: object “500”: description: Internal server error content: application/json: schema: type: object /v1/mnrgateway/metadata/{packageName}: get: tags: - Mnr-mapper summary: ‘Get Mnr metadata for provided package name ' description: ‘Get Mnr metadata for provided package name ' operationId: get-Mnr-metadata-package parameters: - name: packageName in: path description: Package name for which user wants to fetch MetaData required: true schema: type: string example: Netflow responses: ‘200’: description: OK content: application/json: schema: $ref: ‘#/components/schemas/MnRMetaData’ ‘400’: description: Invalid Request sent by the user content: application/json: schema: type: object ‘401’: description: User authentication failed content: application/json: schema: type: object ‘403’: description: Access to the requested resource/operation is forbidden content: application/json: schema: type: object ‘404’: description: Cannot find requested resource content: application/json: schema: type: object “500”: description: Internal server error content: application/json: schema: type: object post: tags: - Mnr-mapper summary: ‘Store Mnr metadata for provided package name ' description: ‘Store Mnr metadata for provided package name ' operationId: store-Mnr-metadata-using-file parameters: - name: packageName in: path description: Package name for which user wants to store MetaData required: true schema: type: string example: Netflow requestBody: content: multipart/form-data: schema: $ref: ‘#/components/schemas/MnrMetaDataFileUpload’ description: File containing the Mnr Metadata to be uploaded required: true responses: ‘200’: description: OK content: application/json: schema: type: object ‘400’: description: Invalid Request sent by the user content: application/json: schema: type: object ‘401’: description: User authentication failed content: application/json: schema: type: object ‘403’: description: Access to the requested resource/operation is forbidden content: application/json: schema: type: object ‘404’: description: Cannot find requested resource content: application/json: schema: type: object “500”: description: Internal server error content: application/json: schema: type: object delete: tags: - Mnr-mapper summary: ‘Delete Mnr metadata for provided package name ' description: ‘Delete Mnr metadata for provided package name ' operationId: delete-Mnr-metadata parameters: - name: packageName in: path description: Package name for which user wants to delete MetaData required: true schema: type: string responses: ‘200’: description: OK content: application/json: schema: type: object ‘400’: description: Invalid Request sent by the user content: application/json: schema: type: object ‘401’: description: User authentication failed content: application/json: schema: type: object ‘403’: description: Access to the requested resource/operation is forbidden content: application/json: schema: type: object ‘404’: description: Cannot find requested resource content: application/json: schema: type: object “500”: description: Internal server error content: application/json: schema: type: object
#Kafka mapper paths /v1/kafkamapper/mappings: get: tags: - kafka-mapper summary: Get All Kafka Mapper Configurations description: List All Kafka Mapper Configurations operationId: Kafka-Mapper-Get-Configuration responses: “200”: description: Returns all Kafka Mapper Configurations content: application/json: schema: $ref: ‘#/components/schemas/KafkaMapperConfigResponse’ ‘400’: description: Invalid Request sent by the user ‘401’: description: User authentication failed ‘403’: description: Access to the requested resource/operation is forbidden ‘404’: description: Cannot find requested resource “500”: description: Internal server error post: summary: Create a new Kafka Mapper. description: Create a new Kafka Mapper. tags: - kafka-mapper operationId: create-kafka-mapper requestBody: content: application/json: schema: $ref: ‘#/components/schemas/KafkaMapperRequestObject’ description: Request to create a New Kafka Mapper. required: true responses: “200”: description: OK content: application/json: schema: type: object ‘400’: description: Invalid Request sent by the user ‘401’: description: User authentication failed ‘403’: description: Access to the requested resource/operation is forbidden ‘404’: description: Cannot find requested resource “409”: description: Resource already exists content: application/json: schema: type: object “500”: description: Internal server error put: summary: Modify an Existing Kafka Mapper Configuration. description: Modify an Existing Kafka Mapper Configuration. tags: - kafka-mapper operationId: modify-kafka-mapper-mapping requestBody: required : true content: application/json: schema: $ref: ‘#/components/schemas/KafkaMapperRequestObject’ responses: “200”: description: OK content: application/json: schema: type: object example: {“status”: “Metadata for Modified Kafka Mapper has been persisted in repos”} ‘400’: description: Invalid Request sent by the user ‘401’: description: User authentication failed ‘403’: description: Access to the requested resource/operation is forbidden ‘404’: description: Cannot find requested resource “500”: description: Internal server error /v1/kafkamapper/mappings/{mappingName}: delete: tags: - kafka-mapper summary: Delete the Kafka Mapper Instance description: Delete the Kafka Mapper Instance operationId: DeleteKafkaMapper
parameters: |
---|
description: “Name of the Kafka Mapper Instance” |
in: path |
name: mappingName |
required: true |
schema: |
type: string |
responses: |
“200”: |
description: Success in Deleting the Block |
content: |
application/json: |
schema: |
type: object |
‘400’: |
description: Invalid Request sent by the user |
content: |
application/json: |
schema: |
type: object |
‘401’: |
description: User authentication failed |
‘403’: |
description: Access to the requested resource/operation is forbidden |
‘404’: |
description: Cannot find requested resource |
“500”: |
description: Internal server error |
#Collector Paths /dcc/v1/collectors: get: tags: - collector summary: Get instantiated blocks and Get information about instantiated blocks description: Get instantiated blocks and Get information about instantiated blocks operationId: list-collector-instances responses: ‘200’: description: OK content: application/json: schema: $ref: ‘#/components/schemas/dataCollectorInstances’ example: {“kafkadash”: { “block_object_id”: “kafka-collector”, “container_id”: “kafkadash-64fcb8cf54-dt59z”, “image_name”: “10.180.13.121:30001/tcx/collector-manager@sha256:abaab76697582b6973b133cfda29ecd5341dfc2e0843ff4078715c583687ae5b”, “image_version”: “abaab76697582b6973b133cfda29ecd5341dfc2e0843ff4078715c583687ae5b”, “status”: “Running”, “display_name”: “kafkadash”, “node_ip”: “10.180.13.25” } } ‘400’: description: Invalid Request sent by the user ‘401’: description: User authentication failed ‘403’: description: Access to the requested resource/operation is forbidden ‘404’: description: Cannot find requested resource “500”: description: Internal server error post: tags: - collector summary: To collect data from various data collector sources, you must create and configure a Collector description: This API is useful for creating a new collector instance of given type( like cisco-aci,vims,kafka-collector ) operationId: create-collector parameters: - name: packageName in: query description: Package name to be used to create collector e.g. cisco-aci, smarts-metrics required: true example: cisco-aci schema: type: string - name: name in: query description: Name of the collector instance required: false example: demo-collector schema: type: string requestBody: content: application/json: schema: $ref: ‘#/components/schemas/CollectorRequestObject’ description: Provision a new collector Block. required: true responses: “200”: description: Returns Block Config for the newly created block content: application/json: schema: type: object example: {“blockID”:“smarts-metrics”,“message”:“Block successfully deployed”,“time”:“2019-02-25 23:25:06.824015”,“instanceId”:“demo-collector”,“params”:{“smarts-metrics”:{“primary”:{“collect”:{“sm”:[{“host”:“localhost”,“port”:“12345”,“name”:“INCHARGE-AM-PM”,“username”:“admin”,“password”:"{FAF745B9C01D858B45D7F644CE55D30064E409A847AA2351B30B6FB74B3BA7FDEC5A9315ECA00C2F69D9C425039CA1F1}”,“type”:“both”,“topologyPollingPeriod”:“3600”,“metricPollingPeriod”:“240”,“backendgroup”:“group”,“thread”:{“poolsize”:“3”},“dmconnection”:{“poolsize”:“3”}}]}},“kafka”:{“cluster”:{“node”:[{“host”:“localhost”,“port”:“9092”}],“topic”:“default-topic”,“auth”:“true”,“username”:“admin”,“password”:“admin-secret”}}}}} ‘400’: description: Invalid Request sent by the user content: { } ‘401’: description: User authentication failed content: { } ‘403’: description: Access to the requested resource/operation is forbidden content: { } ‘404’: description: Cannot find requested resource content: { } “500”: description: Internal server error content: { } /dcc/v1/collectors/{collector-name}: get: tags: - collector summary: Get collector configurations for an instantiated collector description: Get block config and Get configurations for an installed module and instance operationId: get-collector parameters: - name: collector-name in: path description: id of the instantiated collector required: true example: demo-collector schema: type: string responses: “200”: description: Returns the Configurations content: application/json: schema: $ref: ‘#/components/schemas/CollectorDefaultBlockConfig’ example: { “source”: { “topic”: “input_metrics”, “type”: “json_metrics”, “mapping”: { “type”: “Kafka-Collector”, “instance”: “$.properties.source”, “timestamp”: “$.timestamp”, “processedTimestamp”: “$.timestamp”, “metrics”: “$.metrics..value”, “metricType”: “$.properties.devtype”, “properties.dataSource”: “$.properties.ip”, “properties.deviceType”: “$.properties.devtype”, “properties.deviceName”: “$.properties.devdesc”, “properties.entityType”: “$.properties.type”, “properties.entityName”: “$.properties.table”, “tags”: “$.relations..type” }, “properties”: { “bootstrap.servers”: “edge-kafka-bootstrap:9093”, “application.id”: “omega-kafka-collector”, “auto.offset.reset”: “earliest”, “group.id”: “omega-consumer-group”, “key.deserializer”: “org.apache.kafka.common.serialization.StringDeserializer”, “value.deserializer”: “org.apache.kafka.common.serialization.StringDeserializer” } }, “sink”: { “topic”: “output-events”, “properties”: { “bootstrap.servers”: “edge-kafka-bootstrap:9093” } }, “Resources”: { “requests”: { “cpu”: “1”, “memory”: “2Gi” }, “limits”: { “cpu”: “4”, “memory”: “8Gi” } } } ‘400’: description: Invalid Request sent by the user content: application/json: schema: type: object ‘401’: description: User authentication failed ‘403’: description: Access to the requested resource/operation is forbidden ‘404’: description: Cannot find requested resource “500”: description: Internal server error content: { } delete: tags: - collector summary: Delete a collector description: Delete a collector operationId: delete-collector
parameters: |
---|
description: “UUID of the instantiated collector” |
in: path |
name: collector-name |
required: true |
schema: |
type: string |
example: demo-collector |
responses: |
“200”: |
description: returns message “collector successfully deleted” |
content: |
application/json: |
schema: |
$ref: ‘#/components/schemas/deleteBlockResponse’ |
example: {“instanceId”:“smarts-metrics035f8121-aaed-4d66-83eb-ae3a7841f720”,“message”:“Block instance successfully deleted”,“time”:“2019-04-09 05:42:21.204886”} |
‘400’: |
description: Invalid Request sent by the user |
‘401’: |
description: User authentication failed |
‘403’: |
description: Access to the requested resource/operation is forbidden |
‘404’: |
description: Cannot find requested resource |
“500”: |
description: Internal server error |
post: |
tags: |
- collector |
summary: API For collector lifecycle management |
description: |
You can start, stop, and restart the collectors |
start - Collector will start collecting data based on its configuration |
stop - Collector will stop collecting data |
restart - is usuful if collector is not working as expected |
operationId: management-of-collector-lifecycle |
parameters: |
- description: “UUID of the instantiated collector block” |
in: path |
name: collector-name |
required: true |
schema: |
type: string |
example: demo-collector |
- description: “action to be performed start/stop/restart” |
in: query |
name: action |
required: true |
schema: |
type: string |
enum: [start, stop, restart] |
example: start |
responses: |
“200”: |
description: Success In Restarting Collector |
content: |
application/json: |
schema: |
$ref: ‘#/components/schemas/DCFRestartServiceResponse’ |
example: {“id”:“apg-collector-manager-cloudify-orchestratorffa3bb75-99f4-4613-8a5a-45e2cee0372c”,“status”:“STARTED”} |
‘400’: |
description: Invalid Request sent by the user |
content: |
application/json: |
schema: |
type: object |
‘401’: |
description: User authentication failed |
‘403’: |
description: Access to the requested resource/operation is forbidden |
‘404’: |
description: Cannot find requested resource |
“500”: |
description: Internal server error |
/dcc/v1/datacenters: |
get: |
tags: |
- collector |
summary: Get all Datacenter locations for the Kubernetes Stretched Cluster. |
description: Get all Datacenter locations for the Kubernetes Stretched Cluster. |
operationId: list-datacenter-instances |
responses: |
‘200’: |
description: OK |
content: |
application/json: |
schema: |
$ref: ‘#/components/schemas/ListDatacenterResponse’ |
example: { “_core”: { “display_name”: “core”, “nodes”: [ “node1”, “node2”, “node3”, “node4”, “node5”, “node6” ] } } |
‘400’: |
description: Invalid Request sent by the user |
‘401’: |
description: User authentication failed |
‘403’: |
description: Access to the requested resource/operation is forbidden |
‘404’: |
description: Cannot find requested resource |
“500”: |
description: Internal server error |
/dcc/v1/packages: |
get: |
tags: |
- collector |
summary: Get all collector types such as cisco-aci,kafka-collector,vims and related information |
description: Get all collector types such as cisco-aci,kafka-collector,vims and related information |
operationId: list-collector-types |
responses: |
‘200’: |
description: OK |
content: |
application/json: |
schema: |
$ref: ‘#/components/schemas/dataCollectorPackages’ |
example: { “cisco-aci”: { “image_id”: “cisco-aci”, “repository”: “10.180.13.121:30001/tcx/collector-manager@sha256:bc0e9f18a33bde09bc5a12b45b3a653b3e0e6e5531c33e106e9be7f3a563b43a”, “tag”: “bc0e9f18a33bde09bc5a12b45b3a653b3e0e6e5531c33e106e9be7f3a563b43a” }, “network-traffic-flows”: { “image_id”: “network-traffic-flows”, “repository”: “10.180.13.121:30001/tcx/collector-manager@sha256:49006b898f4b372d18e8f26a5ce7b1a2341740bb03abb516239b0f4af862d34d”, “tag”: “49006b898f4b372d18e8f26a5ce7b1a2341740bb03abb516239b0f4af862d34d” }, “viptela-sdwan”: { “image_id”: “viptela-sdwan”, “repository”: “10.180.13.121:30001/tcx/collector-manager@sha256:70a3fd646d02322c454b5aa3bdcdea182c6cc621b5830b2bba9575dc16160c6b”, “tag”: “70a3fd646d02322c454b5aa3bdcdea182c6cc621b5830b2bba9575dc16160c6b” }, “cisco-ipsla”: { “image_id”: “cisco-ipsla”, “repository”: “10.180.13.121:30001/tcx/collector-manager@sha256:fb93b4a5568997c7f7ba80eaa877f152d8bb552cd599d46c1bdb4a5221b47a24”, “tag”: “fb93b4a5568997c7f7ba80eaa877f152d8bb552cd599d46c1bdb4a5221b47a24” }, “vmware-vrops”: { “image_id”: “vmware-vrops”, “repository”: “10.180.13.121:30001/tcx/collector-manager@sha256:143a0ccc2c8fc8b869ce41270a3f72960b383bf3c5ed036b3e1bdf021f37d608”, “tag”: “143a0ccc2c8fc8b869ce41270a3f72960b383bf3c5ed036b3e1bdf021f37d608” }, “tco-gateway”: { “image_id”: “tco-gateway”, “repository”: “10.180.13.121:30001/tcx/collector-manager@sha256:084f6225a246c410231c8ff50257bd76856146c7f208fe3512a6fba57531e760”, “tag”: “084f6225a246c410231c8ff50257bd76856146c7f208fe3512a6fba57531e760” }, “kafka-collector”: { “image_id”: “kafka-collector”, “repository”: “10.180.13.121:30001/tcx/collector-manager@sha256:abaab76697582b6973b133cfda29ecd5341dfc2e0843ff4078715c583687ae5b”, “tag”: “abaab76697582b6973b133cfda29ecd5341dfc2e0843ff4078715c583687ae5b” }, “vims-clearwater”: { “image_id”: “vims-clearwater”, “repository”: “10.180.13.121:30001/tcx/collector-manager@sha256:cdf2e367f06eaef3efe8be58a0cf1b719e6fb9f9570227e45f493955225ba2d4”, “tag”: “cdf2e367f06eaef3efe8be58a0cf1b719e6fb9f9570227e45f493955225ba2d4” }, “nfv-sol”: { “image_id”: “nfv-sol”, “repository”: “10.180.13.121:30001/tcx/collector-manager@sha256:2df2c554a8eba2c500091a50242c3cd0a301065f92b86b231c16dd59a0839f40”, “tag”: “2df2c554a8eba2c500091a50242c3cd0a301065f92b86b231c16dd59a0839f40” }, “velocloud-sdwan”: { “image_id”: “velocloud-sdwan”, “repository”: “10.180.13.121:30001/tcx/collector-manager@sha256:31dcf7c45250b04c9d74ba4e2340886d063cb9b004beed50c47775b59db06def”, “tag”: “31dcf7c45250b04c9d74ba4e2340886d063cb9b004beed50c47775b59db06def” } } |
‘400’: |
description: Invalid Request sent by the user |
‘401’: |
description: User authentication failed |
‘403’: |
description: Access to the requested resource/operation is forbidden |
‘404’: |
description: Cannot find requested resource |
“500”: |
description: Internal server error |
#Connector Paths /dcc/v1/connectors: get: tags: - connector summary: list instantiated connectors description: List instantiated connectors operationId: list-connector-instances responses: ‘200’: description: OK content: application/json: schema: $ref: ‘#/components/schemas/ListConnectorResponse’ ‘400’: description: Invalid Request sent by the user ‘401’: description: User authentication failed ‘403’: description: Access to the requested resource/operation is forbidden ‘404’: description: Cannot find requested resource “500”: description: Internal server error post: tags: - connector summary: Create a new connector instance description: Create a connector instance operationId: create-connector requestBody: content: application/json: schema: $ref: ‘#/components/schemas/CreateConnectorRequest’ description: Create a new connector instance such as kafka connector required: true responses: “200”: description: Returns Connector Config for the newly created Connector content: application/json: schema: type: object example: { “message”: “Connector successfully initialized”, “blockId”: “kafka-connector”, “time”: “2022-03-25 13:02:21.041469”, “name”: “demo_connector”, “instanceId”: “demo-connector”, “display_name”: “Demo_connector”, “status”: “pending”, “params”: { “targetCluster”: { “tls”: null, “authentication”: null, “bootstrapServers”: “10.168.200.123:9092” }, “name”: “DashboardKafka”, “topics”: [ “vsa_metrics”, “vsa_events” ], “tasksMax”: 4, “resources”: { “requests”: { “memory”: “2Gi”, “cpu”: “1” }, “limits”: { “memory”: “8Gi”, “cpu”: “4” } } }} ‘400’: description: Invalid Request sent by the user content: {} ‘401’: description: User authentication failed content: {} ‘403’: description: Access to the requested resource/operation is forbidden content: {} ‘404’: description: Cannot find requested resource content: {} “500”: description: Internal server error content: {} /dcc/v1/connectors/{connector-name}: get: tags: - connector summary: Get connector instance details description: Get connector instance details operationId: get-connector-instance parameters: - in: path name: connector-name description: Instance id of the connector required: true schema: type: string example: demo-connector responses: “200”: description: Returns the connector details content: application/json: schema: $ref: ‘#/components/schemas/GetConnectorResponse’ example: { “name”: “dashboardkafka”, “display_name”: “DashboardKafka”, “tasksMax”: 4, “topics”: [ “vsa_metrics”, “vsa_events” ], “paused”: false, “replicationFactor”: 1, “refreshInterval”: 60, “status”: “Running”, “reason”: null, “message”: null, “targetCluster”: { “bootstrapServers”: “10.168.200.123:9092”, “tls”: { “enabled”: false }, “authentication”: { “enabled”: false } }, “logging”: { “type”: “inline”, “level”: “INFO” }, “resources”: { “limits”: { “cpu”: “4000m”, “memory”: “8192Mi” }, “requests”: { “cpu”: “1000m”, “memory”: “2048Mi” } } } ‘400’: description: Invalid Request sent by the user content: application/json: schema: type: object ‘401’: description: User authentication failed ‘403’: description: Access to the requested resource/operation is forbidden ‘404’: description: Cannot find requested resource “500”: description: Internal server error put: tags: - connector summary: update connector configuration description: Update the Connector Configuration e.g. number of tasks replicationFactor, add remove topics for replication operationId: update-connector-instance parameters: - in: path name: connector-name description: Instance id of the connector required: true schema: type: string example: demo-connector requestBody: required: true description: Update the Connector Configuration e.g. number of tasks replicationFactor, add remove topics for replication content: application/json: schema: $ref: ‘#/components/schemas/UpdateConnectorRequest’ responses: “200”: description: Returns the Config for updated connector content: application/json: schema: type: object example: { “message”: “Connector successfully updated”, “time”: “2022-03-29 10:08:55.346489”, “name”: “dashboardkafka”, “instanceId”: “dashboardkafka”, “display_name”: “DashboardKafka”, “status”: “pending” } ‘400’: description: Invalid Request sent by the user ‘401’: description: User authentication failed ‘403’: description: Access to the requested resource/operation is forbidden ‘404’: description: Cannot find requested resource “500”: description: Internal server error delete: tags: - connector summary: Delete a connector description: Delete a connector operationId: delete-connector parameters: - name: connector-name in: path description: Instance id of the connector required: true schema: type: string example: demo-connector responses: “200”: description: Connector successfully deleted content: application/json: schema: $ref: ‘#/components/schemas/DeleteConnectorResponse’ ‘400’: description: Invalid Request sent by the user ‘401’: description: User authentication failed ‘403’: description: Access to the requested resource/operation is forbidden ‘404’: description: Cannot find requested resource “500”: description: Internal server error post: tags: - connector summary: API to manage the lifecycle of a connector description: API to start, stop, and restart a connector instance start - connector will start transfering data based on its configuration stop - connector will stop transfering data restart - is usuful if connector is not working as expected operationId: management-of-connector-lifecycle parameters: - name: connector-name in: path description: Instance id of the connector required: true schema: type: string example: demo-connector - name: action in: query description: “action to be performed start/stop/restart” required: true schema: type: string enum: - start - stop - restart example: start responses: “200”: description: Success In Restarting Connector content: application/json: schema: $ref: ‘#/components/schemas/RestartConnectorResponse’ example: { “id”: “testconnector1”, “status”: “STARTED” } ‘400’: description: Invalid Request sent by the user content: application/json: schema: type: object ‘401’: description: User authentication failed ‘403’: description: Access to the requested resource/operation is forbidden ‘404’: description: Cannot find requested resource “500”: description: Internal server error
#Metrics paths /tcsa/api/metrics-management/v1/metric-type/{metric-type}: get: summary: Fetch the metrics for given catalog metric type, entity name, and time range. description: |
pre-requisite
To fetch metric types and metric names details refer Catalog API
To fetch entity name, entity type, device type, and device name refer to Topology API
API to fetch raw metrics for given metric type,entity name, and time range. tags: - metrics operationId: getMetrics parameters: - name: metric-type description: Metric type defined in catalog required: true in: path example: ‘memory’ schema: type: string - name: entity_names required: true description: Entity on which metrics are collected. Supports regex. (minimum 3 letters required if you want to use .* ) Supports multiple entity names up to 10 by giving comma(,)
in: query schema: type: string example: MEM-AMPMNEWUS102000_PS_Switch_10/1 - name: start_timestamp description: Must be in EPOCH seconds.
Defaults to last one day required: false in: query schema: type: number example: 1654041600 - name: end_timestamp description: Must be in EPOCH seconds.
Defaults to current time required: false in: query schema: type: number example: 1654041600 - name: device_type description: Device type required: false in: query schema: type: string example: Switch - name: device_name description: Device instance name on which metrics collected required: false in: query schema: type: string example: AMPMNEWUS102000_PS_Switch_10 - name: include_metric_names description: | Provide metric names to be included in the response, multiple metric names separated by comma(,) .
Default to all metric names that exist for metric type
required: false in: query schema: type: string example: FreeMemory,FreeMemoryPct - name: entity_type description: Entity type required: false in: query schema: type: string example: Memory - name: data_source description: Collector which collects this metric required: false in: query schema: type: string example: AMPMNEWUS102000 - name: tags.customer description: Here customer is tag enriched in metrics.
Can replace customer with any other enriched tag like city required: false in: query schema: type: string example: Airtel - name: size in: query schema: type: number description: The size parameter allows you to configure the maximum no of records to be returned. example: 1000 - name: from in: query schema: type: number description: The from parameter defines the offset from the first result user wants to fetch. The default is 0. example: 10 - name: sort_field in: query schema: type: string example: timestamp description: Sorting field. defaults to timestamp asc. Field value must match with param existing in response. - name: sort_order in: query schema: type: string example: asc description: Sorting order asc,desc responses: “200”: description: OK content: application/json: schema: $ref: ‘#/components/schemas/MetricResponse’ example: { “COUNT”: 1, “Result”: [ { “deviceType”: “Switch”, “instance”: “SMARTS-PM-METRICS”, “entityType”: “Memory”, “processedTimestamp”: 1657544634825, “type”: “smarts-metrics”, “deviceName”: “AMPMNEWUS102000_PS_Switch_10”, “FreeMemory”: 9295, “tags”: { “IsManaged”: true, “priority”: “NONE”, “dcName”: “_core” }, “metricType”: “memory”, “@timestamp”: “2022-07-11T12:56:26.000Z”, “entityName”: “MEM-AMPMNEWUS102000_PS_Switch_10/1”, “@version”: “1”, “elementUUID”: “AMPMNEWUS102000_PS_Switch_10$Switch$”, “dataSource”: “AMPMNEWUS102000”, “timestamp”: 1657544186000 } ] } ‘400’: description: Invalid Request sent by the user content: {} ‘401’: description: User authentication failed content: {} ‘403’: description: Access to the requested resource/operation is forbidden content: {} ‘404’: description: Cannot find requested resource content: {} “500”: description: Internal server error content: {} /tcsa/api/metrics-management/v1/relationship-metrics: post: summary: API to retrieve raw metrics based on a given physical relationship object description: | This API is used to show the traffic map between the nodes for given link or cable .This api fetches the metrics CurrentUtilization,InputPacketErrorPct for both the ends for given link,cable.Input for this API is id which is combination of A-End <–> Z-End, where A-End,Z-End are entity names on which metrics are getting collected. tags: - metrics operationId: relationshipMetrics requestBody: content: application/json: schema: $ref: ‘#/components/schemas/RelationshipMetricRequest’ responses: “200”: description: Ok content: application/json: schema: $ref: ‘#/components/schemas/RelationshipMetricResponse’ “401”: description: User authentication failed “403”: description: Access to the requested resource/operation is forbidden “404”: description: Cannot find requested resource “500”: description: Internal server error
#User Federation Paths /tcsa/api/auth-management/v1/user-federations: post: summary: Create a new user federation configuration. description: | This API is used to create a new user federation configuration for LDAP and Active Directory servers. tags: - user-federation operationId: configureUserFederation requestBody: content: application/json: schema: $ref: ‘#/components/schemas/UserFederationRequest’ required: true responses: “201”: description: Created headers: Location: schema: type: string description: Provide information about the location of a newly created resource. content: application/json: schema: $ref: ‘#/components/schemas/UserFederationCreateResponse’ ‘400’: description: Invalid Request sent by the user content: {} ‘401’: description: User authentication failed content: {} ‘403’: description: Access to the requested resource/operation is forbidden content: {} ‘404’: description: Cannot find requested resource content: {} “500”: description: Internal server error content: {} get: summary: Get all configured user federations. description: | Retrieves all configured user-federations. tags: - user-federation operationId: getAllUserFederation responses: “200”: description: Ok content: application/json: schema: $ref: ‘#/components/schemas/ArrayOfUserFederation’ ‘400’: description: Invalid Request sent by the user content: {} ‘401’: description: User authentication failed content: {} ‘403’: description: Access to the requested resource/operation is forbidden content: {} ‘404’: description: Cannot find requested resource content: {} “500”: description: Internal server error content: {} /tcsa/api/auth-management/v1/user-federations/{id}: get: summary: Get requested user federation configuration. description: | Retrieve the details of requested user federation. tags: - user-federation operationId: getUserFederation parameters: - in: path name: id schema: type: string example: “3b0f3634-dd06-4d88-b947-ae42a1a6f68b” required: true description: Unique id of user-federation configuration. responses: “200”: description: Ok content: application/json: schema: $ref: ‘#/components/schemas/UserFederation’ ‘400’: description: Invalid Request sent by the user content: {} ‘401’: description: User authentication failed content: {} ‘403’: description: Access to the requested resource/operation is forbidden content: {} ‘404’: description: Cannot find requested resource content: {} “500”: description: Internal server error content: {} delete: summary: Delete the requested user federation configuration. description: | Delete the requested user federation configuration. tags: - user-federation operationId: deleteUserFederation parameters: - in: path name: id schema: type: string example: “3b0f3634-dd06-4d88-b947-ae42a1a6f68b” required: true description: User federation configuration unique id. responses: “204”: description: No content ‘400’: description: Invalid Request sent by the user content: {} ‘401’: description: User authentication failed content: {} ‘403’: description: Access to the requested resource/operation is forbidden content: {} ‘404’: description: Cannot find requested resource content: {} “500”: description: Internal server error content: {} put: summary: Update the requested user federation configuration. description: | Update the requested user federation configuration. This operation expects full object for updation. Missing parameters will be set to default values. Parameter “id” is read only. tags: - user-federation operationId: updateUserFederation parameters: - in: path name: id schema: type: string example: “3b0f3634-dd06-4d88-b947-ae42a1a6f68b” required: true description: User federation configuration unique id. requestBody: content: application/json: schema: $ref: ‘#/components/schemas/UserFederation’ responses: “204”: description: No content ‘400’: description: Invalid Request sent by the user content: {} ‘401’: description: User authentication failed content: {} ‘403’: description: Access to the requested resource/operation is forbidden content: {} ‘404’: description: Cannot find requested resource content: {} “500”: description: Internal server error content: {} patch: summary: Partially update the requested user federation configuration. description: | Partially Update the requested user federation configuration. This request doesn’t requires full object for update, individual object params can be updated. tags: - user-federation operationId: PatchUserFederation parameters: - in: path name: id schema: type: string example: “3b0f3634-dd06-4d88-b947-ae42a1a6f68b” required: true description: User provider federation configuration id. requestBody: content: application/json: schema: $ref: ‘#/components/schemas/UserFederationPatchRequest’ responses: “204”: description: No content ‘400’: description: Invalid Request sent by the user content: {} ‘401’: description: User authentication failed content: {} ‘403’: description: Access to the requested resource/operation is forbidden content: {} ‘404’: description: Cannot find requested resource content: {} “500”: description: Internal server error content: {}
#Notification Operation Paths /tcsa/api/notification-management/v1/notifications: post: summary: Get notifications. description: | Returns the list of notifications. By default maximum 10 records from offset 0 are returned in the response. In order to get the more or less number of records user can specify the desired number of records using “size” parameter. tags: - notification operationId: getNotifications requestBody: description: | Request body is optional. User needs to provide request body only when filtering, sorting or pagination is required. required: false content: application/json: schema: $ref: ‘#/components/schemas/NotificationRequest’ responses: “200”: description: OK content: application/json: schema: $ref: ‘#/components/schemas/NotificationResponse’ example: {“Count”:10,“Result”:[{“Acknowledged”:false,“AcknowledgmentTime”:0,“Active”:true,“Category”:“Operational”,“Certainty”:100,“ClassDisplayName”:“CentralUnitControlPlane”,“ClassName”:“CentralUnitControlPlane”,“ClearOnAcknowledge”:false,“DeDupKey”:“Name:NOTIFICATION-NetworkFunction_NetworkFunction-ebf940d1-9166-4e3b-bb17-c6b8d200bdc2_Impaired$Source:INCHARGE-SA-PRES$”,“DeviceType”:“gNodeB”,“DisplayName”:“CentralUnitControlPlane Impaired 100.0%: cucp-50332-65095-bmsed”,“ElementClassName”:“NetworkFunction”,“ElementName”:“gNodeB-service-mavenir”,“EventDisplayName”:“Impaired”,“EventName”:“Impaired”,“EventState”:“ACTIVE”,“EventText”:“Indicates RRC and PDCP-C protocol not working.”,“EventType”:“DURABLE”,“FirstNotifiedAt”:1660350528000,“HasCauses”:false,“Impact”:0,“InMaintenance”:false,“InstanceDisplayName”:“kube-multus-ds-amd64-gv429”,“InstanceName”:“NetworkFunction-ebf940d1-9166-4e3b-bb17-c6b8d200bdc2”,“IsLiveNotification”:true,“IsProblem”:true,“IsRoot”:false,“LastChangedAt”:1660350567000,“LastClearedAt”:0,“LastNotifiedAt”:1660350528000,“Name”:“NOTIFICATION-NetworkFunction_NetworkFunction-ebf940d1-9166-4e3b-bb17-c6b8d200bdc2_Impaired”,“NotificationStates”:[{“eventState”:“ACTIVE”,“eventTimestamp”:1660350567000,“source”:“INCHARGE-SA-PRES”,“syncId”:1660635420400,“syncTimestamp”:1660635421552}],“OccurrenceCount”:1,“OriginalSources”:[“string”],“Owner”:“admin”,“PollingID”:1662381989790,“PollingState”:“POLLING”,“ProcessedTimeStamp”:1660635421552,“Severity”:2,“Source”:“INCHARGE-SA-PRES”,“SourceDomainName”:“INCHARGE-ESM”,“SourceEventType”:“EVENT”,“SourceInfo”:“INCHARGE-SA”,“SourceSpecific”:“primary”,“ToolInfo”:“string”,“TroubleTicketID”:“string”,“UserDefined1”:“string”,“UserDefined10”:“string”,“UserDefined11”:“string”,“UserDefined12”:“string”,“UserDefined13”:“string”,“UserDefined14”:“string”,“UserDefined15”:“string”,“UserDefined16”:“string”,“UserDefined17”:“string”,“UserDefined18”:“string”,“UserDefined19”:“string”,“UserDefined2”:“string”,“UserDefined20”:“string”,“UserDefined3”:“string”,“UserDefined4”:“string”,“UserDefined5”:“string”,“UserDefined6”:“string”,“UserDefined7”:“string”,“UserDefined8”:“string”,“UserDefined9”:“string”,“elementUUID”:“gNodeB-service-mavenir$gNodeB$INCHARGE-SA-PRES”,“tags”:{}}]} “401”: description: Client must authenticate itself to get the requested response content: { } “403”: description: The client does not have access rights to the content; that is, it is Client must authenticate itself to get the requested response content: { } “404”: description: The server can not find the requested resource content: { } /tcsa/api/notification-management/v1/notifications/summary: post: summary: Get the summary for all notifications. description: This API provides summary of notification severity and their count. tags: - notification operationId: getNotificationSummary requestBody: content: application/json: schema: $ref: ‘#/components/schemas/SummaryRequest’ description: | Request body is optional. User needs to provide request body only when filtering is required. For summary on selected notification, provide “VsaFilter” in request body. required: false responses: “200”: description: OK content: application/json: schema: $ref: ‘#/components/schemas/SummaryResponse’ example: {“Result”:[{“2”:5807},{“3”:374},{“1”:228},{“4”:158}]} “401”: description: Client must authenticate itself to get the requested response content: { } “403”: description: The client does not have access rights to the content; that is, it is Client must authenticate itself to get the requested response content: { } “404”: description: The server can not find the requested resource content: { } /tcsa/api/notification-management/v1/notifications/max-severity: post: summary: Return, the value of max severity notification raised on the requested devices. description: This operation extracts the maximum severity value of notifications raised on the requested devices. tags: - notification operationId: getMaxSeverityForDevices requestBody: content: application/json: schema: $ref: ‘#/components/schemas/NodeList’ description: The request body contains a list of nodes for which maximum severity has to be fetched. required: true responses: “200”: description: OK content: application/json: schema: $ref: ‘#/components/schemas/MaxSeverityResponse’ example: {“KubernetesWorker-96105fd2-1a74-46b6-ac8f-e869609e8d42$KubernetesWorker$INCHARGE-SA-PRES”:{“severity”:1,“notification_count”:3},“KubernetesPod-569b3e3c-2734-4877-ae4a-7b504a5058cf$KubernetesPod$INCHARGE-SA-PRES”:{“severity”:2,“notification_count”:2},“KubernetesPod-7f3eefb2-a1f7-4cf8-8fd9-44959999a8c4$KubernetesPod$INCHARGE-SA-PRES”:{“severity”:2,“notification_count”:2},“KubernetesPod-ff36a997-47d0-40fa-871d-f04dcbce91e6$KubernetesPod$INCHARGE-SA-PRES”:{“severity”:2,“notification_count”:2},“KubernetesPod-601b653d-44c2-4045-be03-b2c94640361e$KubernetesPod$INCHARGE-SA-PRES”:{“severity”:2,“notification_count”:2},“KubernetesPod-a95df964-740b-4909-bf4e-7bae4a047203$KubernetesPod$INCHARGE-SA-PRES”:{“severity”:2,“notification_count”:2},“KubernetesPod-d6d7c864-2638-470d-bda8-49ad75e486da$KubernetesPod$INCHARGE-SA-PRES”:{“severity”:2,“notification_count”:2},“VM-10.62.72.3:kube-metaswitch-np1-76ddcc547d-5pp6k$VirtualMachine$INCHARGE-SA-PRES”:{“severity”:2,“notification_count”:1}} “401”: description: Client must authenticate itself to get the requested response content: { } “403”: description: The client does not have access rights to the content; that is, it is Client must authenticate itself to get the requested response content: { } “404”: description: The server can not find the requested resource content: { } /tcsa/api/notification-management/v1/notifications/history: post: summary: Returns the previous records and the occurrence of notification. description: Returns the previous records and the occurrence of notification. tags: - notification operationId: getNotificationHistory requestBody: content: application/json: schema: $ref: ‘#/components/schemas/NotificationHistoryRequest’ description: The Request body contains parameters to perform filtering, sorting and pagination on reponse. required: true responses: “200”: description: OK content: application/json: schema: $ref: ‘#/components/schemas/HistoryResponse’ example: {“Count”:1,“Result”:[{“UserDefined8”:””,“TroubleTicketID”:””,“UserDefined9”:””,“UserDefined6”:””,“Owner”:””,“UserDefined7”:””,“InMaintenance”:false,“SourceInfo”:“INCHARGE-SA”,“IsProblem”:true,“EventType”:“DURABLE”,“IsLiveNotification”:true,“ProcessedTimeStamp”:1662382231244,“UserDefined1”:””,“InstanceDisplayName”:“kube-metaswitch-np1-76ddcc547d-5pp6k”,“UserDefined4”:””,“UserDefined5”:””,“UserDefined2”:””,“ElementClassName”:“KubernetesWorker”,“Name”:“NOTIFICATION-KubernetesWorker_KubernetesWorker-96105fd2-1a74-46b6-ac8f-e869609e8d42_Down”,“UserDefined3”:””,“LastModified”:null,“PollingID”:1662381989790,“EventText”:“Indicates that root cause is failed system.”,“ElementName”:“KubernetesWorker-96105fd2-1a74-46b6-ac8f-e869609e8d42”,“LastChangedAt”:1661231881000,“LastClearedAt”:null,“elementUUID”:“KubernetesWorker-96105fd2-1a74-46b6-ac8f-e869609e8d42$KubernetesWorker$INCHARGE-SA-PRES”,“Impact”:0,“deviceType”:“KubernetesWorker”,“UserDefined19”:””,“UserDefined18”:””,“UserDefined17”:””,“UserDefined16”:””,“HasCauses”:true,“UserDefined15”:””,“UserDefined14”:””,“UserDefined13”:””,“OriginalSources”:[],“NotificationStates”:[{“syncTimestamp”:1662382231244,“eventState”:“ACTIVE”,“source”:“INCHARGE-SA-PRES”,“eventTimestamp”:1661231881000,“syncId”:1662381989790}],“tags”:{“location”:””,“customer”:”"},“InstanceName”:“KubernetesWorker-96105fd2-1a74-46b6-ac8f-e869609e8d42”,“DeDupKey”:“Name:NOTIFICATION-KubernetesWorker_KubernetesWorker-96105fd2-1a74-46b6-ac8f-e869609e8d42_Down$Source:INCHARGE-SA-PRES$@1661231881000”,“Active”:true,“ToolInfo”:null,“AcknowledgmentTime”:null,“LastNotifiedAt”:1660934327000,“State”:null,“SourceDomainName”:“INCHARGE-ESM”,“UserDefined20”:"",“Acknowledged”:false,“IsRoot”:true,“Category”:“Availability”,“EventDisplayName”:“Down”,“Certainty”:100,“elementUUID_PM”:“KubernetesWorker-96105fd2-1a74-46b6-ac8f-e869609e8d42$KubernetesWorker$”,“Source”:“INCHARGE-SA-PRES”,“UserDefined12”:"",“ClassName”:“KubernetesWorker”,“DisplayName”:“KubernetesWorker Down 100.0%: kube-metaswitch-np1-76ddcc547d-5pp6k”,“instanceUUID”:“KubernetesWorker-96105fd2-1a74-46b6-ac8f-e869609e8d42$KubernetesWorker$INCHARGE-SA-PRES”,“UserDefined11”:"",“UserDefined10”:“https://10.62.72.35/ui/index.action#/inventory/all/96105fd2-1a74-46b6-ac8f-e869609e8d42/summary”,“FirstNotifiedAt”:1660934327000,“EventState”:“ACTIVE”,“Severity”:1,“EventName”:“Down”,“SourceSpecific”:“primary”,“ClassDisplayName”:“KubernetesWorker”,“OccurrenceCount”:2,“PollingState”:“POLLING”,“ClearOnAcknowledge”:false,“SourceEventType”:“PROBLEM”}]} “401”: description: Client must authenticate itself to get the requested response content: { } “403”: description: The client does not have access rights to the content; that is, it is Client must authenticate itself to get the requested response content: { } “404”: description: The server can not find the requested resource content: { } /tcsa/api/notification-management/v1/notifications/causes: post: summary: Returns the list of impacted notifications. description: Get causes operation lists the impacted notification caused by the requested notification. tags: - notification operationId: getCauses requestBody: content: application/json: schema: $ref: ‘#/components/schemas/RootCauseRequest’ description: Request body contains parameters to get list of notification that are causes by requested notification. required: true responses: “200”: description: OK content: application/json: schema: $ref: ‘#/components/schemas/CausesResponse’ example: {“Count”:1,“Result”:[{“UserDefined8”:"",“TroubleTicketID”:"",“UserDefined9”:"",“UserDefined6”:"",“Owner”:“admin”,“UserDefined7”:"",“InMaintenance”:false,“SourceInfo”:“INCHARGE-SA”,“IsProblem”:false,“EventType”:“DURABLE”,“IsLiveNotification”:true,“ProcessedTimeStamp”:1662450274959,“UserDefined1”:"",“InstanceDisplayName”:“kube-multus-ds-amd64-gv429”,“UserDefined4”:"",“UserDefined5”:"",“UserDefined2”:"",“ElementClassName”:“NetworkFunction”,“Name”:“NOTIFICATION-NetworkFunction_NetworkFunction-ebf940d1-9166-4e3b-bb17-c6b8d200bdc2_Impaired”,“UserDefined3”:"",“PollingID”:1662449173275,“EventText”:“The Function is Impaired”,“ElementName”:“NetworkFunction-ebf940d1-9166-4e3b-bb17-c6b8d200bdc2”,“LastChangedAt”:1662439219000,“elementUUID”:“NetworkFunction-ebf940d1-9166-4e3b-bb17-c6b8d200bdc2$NetworkFunction$INCHARGE-SA-PRES”,“Impact”:0,“deviceType”:“NetworkFunction”,“UserDefined19”:"",“UserDefined18”:"",“UserDefined17”:"",“UserDefined16”:"",“HasCauses”:false,“UserDefined15”:"",“UserDefined14”:"",“UserDefined13”:"",“OriginalSources”:[],“NotificationStates”:[{“syncTimestamp”:1662450274959,“source”:“INCHARGE-SA-PRES”,“eventState”:“ACTIVE”,“eventTimestamp”:1662439219000,“syncId”:1662449173275}],“tags”:{“location”:"",“customer”:""},“InstanceName”:“NetworkFunction-ebf940d1-9166-4e3b-bb17-c6b8d200bdc2”,“DeDupKey”:“Name:NOTIFICATION-NetworkFunction_NetworkFunction-ebf940d1-9166-4e3b-bb17-c6b8d200bdc2_Impaired$Source:INCHARGE-SA-PRES$”,“Active”:true,“LastNotifiedAt”:1660934292000,“SourceDomainName”:“INCHARGE-ESM”,“UserDefined20”:"",“Acknowledged”:true,“IsRoot”:false,“Category”:“Operational”,“EventDisplayName”:“Impaired”,“Certainty”:100,“elementUUID_PM”:“NetworkFunction-ebf940d1-9166-4e3b-bb17-c6b8d200bdc2$NetworkFunction$”,“Source”:“INCHARGE-SA-PRES”,“UserDefined12”:"",“ClassName”:“NetworkFunction”,“DisplayName”:“NetworkFunction Impaired 100.0%: kube-multus-ds-amd64-gv429”,“instanceUUID”:“NetworkFunction-ebf940d1-9166-4e3b-bb17-c6b8d200bdc2$NetworkFunction$INCHARGE-SA-PRES”,“UserDefined11”:"",“UserDefined10”:"",“FirstNotifiedAt”:1660934292000,“EventState”:“ACTIVE”,“Severity”:2,“EventName”:“Impaired”,“SourceSpecific”:“primary”,“ClassDisplayName”:“NetworkFunction”,“OccurrenceCount”:2,“PollingState”:“POLLING”,“ClearOnAcknowledge”:false,“SourceEventType”:“EVENT”}]} “401”: description: Client must authenticate itself to get the requested response content: { } “403”: description: The client does not have access rights to the content; that is, it is Client must authenticate itself to get the requested response content: { } “404”: description: The server can not find the requested resource content: { } /tcsa/api/notification-management/v1/notifications/caused-by: post: summary: Returns the list of notification, that are causing the requested notification. description: Returns the list of notification, that are causing the requested notification. tags: - notification operationId: getCausedBy requestBody: content: application/json: schema: $ref: ‘#/components/schemas/RootCausedByRequest’ description: Request body contains parameters to get list of notification that are caused by requested notification. required: true responses: “200”: description: OK content: application/json: schema: $ref: ‘#/components/schemas/CausedByResponse’ example: {“Count”:1,“Result”:[{“UserDefined8”:"",“TroubleTicketID”:"",“UserDefined9”:"",“UserDefined6”:"",“Owner”:"",“UserDefined7”:"",“InMaintenance”:false,“SourceInfo”:“INCHARGE-SA”,“IsProblem”:true,“EventType”:“DURABLE”,“IsLiveNotification”:true,“ProcessedTimeStamp”:1662382231244,“UserDefined1”:"",“InstanceDisplayName”:“kube-metaswitch-np1-76ddcc547d-5pp6k”,“UserDefined4”:"",“UserDefined5”:"",“UserDefined2”:"",“ElementClassName”:“KubernetesWorker”,“Name”:“NOTIFICATION-KubernetesWorker_KubernetesWorker-96105fd2-1a74-46b6-ac8f-e869609e8d42_Down”,“UserDefined3”:"",“PollingID”:1662381989790,“EventText”:“Indicates that root cause is failed system.”,“ElementName”:“KubernetesWorker-96105fd2-1a74-46b6-ac8f-e869609e8d42”,“LastChangedAt”:1661231881000,“elementUUID”:“KubernetesWorker-96105fd2-1a74-46b6-ac8f-e869609e8d42$KubernetesWorker$INCHARGE-SA-PRES”,“Impact”:0,“deviceType”:“KubernetesWorker”,“UserDefined19”:"",“UserDefined18”:"",“UserDefined17”:"",“UserDefined16”:"",“HasCauses”:true,“UserDefined15”:"",“UserDefined14”:"",“UserDefined13”:"",“OriginalSources”:[],“NotificationStates”:[{“syncTimestamp”:1662382231244,“source”:“INCHARGE-SA-PRES”,“eventState”:“ACTIVE”,“eventTimestamp”:1661231881000,“syncId”:1662381989790}],“tags”:{“location”:"",“customer”:""},“InstanceName”:“KubernetesWorker-96105fd2-1a74-46b6-ac8f-e869609e8d42”,“DeDupKey”:“Name:NOTIFICATION-KubernetesWorker_KubernetesWorker-96105fd2-1a74-46b6-ac8f-e869609e8d42_Down$Source:INCHARGE-SA-PRES$”,“Active”:true,“LastNotifiedAt”:1660934327000,“SourceDomainName”:“INCHARGE-ESM”,“UserDefined20”:"",“Acknowledged”:false,“IsRoot”:true,“Category”:“Availability”,“EventDisplayName”:“Down”,“Certainty”:100,“elementUUID_PM”:“KubernetesWorker-96105fd2-1a74-46b6-ac8f-e869609e8d42$KubernetesWorker$”,“Source”:“INCHARGE-SA-PRES”,“UserDefined12”:"",“ClassName”:“KubernetesWorker”,“DisplayName”:“KubernetesWorker Down 100.0%: kube-metaswitch-np1-76ddcc547d-5pp6k”,“instanceUUID”:“KubernetesWorker-96105fd2-1a74-46b6-ac8f-e869609e8d42$KubernetesWorker$INCHARGE-SA-PRES”,“UserDefined11”:"",“UserDefined10”:“https://10.62.72.35/ui/index.action#/inventory/all/96105fd2-1a74-46b6-ac8f-e869609e8d42/summary”,“FirstNotifiedAt”:1660934327000,“EventState”:“ACTIVE”,“Severity”:1,“EventName”:“Down”,“SourceSpecific”:“primary”,“ClassDisplayName”:“KubernetesWorker”,“OccurrenceCount”:2,“PollingState”:“POLLING”,“ClearOnAcknowledge”:false,“SourceEventType”:“PROBLEM”}]} “401”: description: Client must authenticate itself to get the requested response content: { } “403”: description: The client does not have access rights to the content; that is, it is Client must authenticate itself to get the requested response content: { } “404”: description: The server can not find the requested resource content: { } /tcsa/api/notification-management/v1/notifications/audit-trail: post: summary: Returns the audit trail of notification. description: This API returns the audit trails of the notification. tags: - notification operationId: getAuditTrail requestBody: content: application/json: schema: $ref: ‘#/components/schemas/AuditRequest’ description: Request to get audit trail of a notification. required: true responses: “200”: description: OK content: application/json: schema: $ref: ‘#/components/schemas/AuditResponse’ “401”: description: Client must authenticate itself to get the requested response content: { } “403”: description: The client does not have access rights to the content; that is, it is Client must authenticate itself to get the requested response content: { } “404”: description: The server can not find the requested resource content: { } /tcsa/api/notification-actions/v1/notifications: post: tags: - notification summary: Performs actions on notifications. description: APIs for performing actions on notifications such as ACKNOWLEDGE, UNACKNOWLEDGE,TAKE_OWNERSHIP AND RELEASE_OWNERSHIP. operationId: actionOnNotifications parameters: - name: action in: query required: true description: | action to be performed on notifications. Allowed actions values are ACKNOWLEDGE | UNACKNOWLEDGE | TAKE_OWNERSHIP | RELEASE_OWNERSHIP schema: type: string enum: - ACKNOWLEDGE - UNACKNOWLEDGE - TAKE_OWNERSHIP - RELEASE_OWNERSHIP requestBody: description: Request body to pefrom action on notification such as acknowledge, unacknowledge etc. content: application/json: schema: $ref: ‘#/components/schemas/ActionRequest’ required: true responses: “200”: description: OK content: application/json: schema: $ref: ‘#/components/schemas/ActionResponseList’ “401”: description: Client must authenticate itself to get the requested response content: { } “403”: description: The client does not have access rights to the content; that is, it is Client must authenticate itself to get the requested response content: { } “404”: description: The server can not find the requested resource content: { } /tcsa/api/notification-actions/v1/notifications/server-tools: post: tags: - notification summary: ‘Get Server tools for notifications’ description: ‘Fetches all server tools allowed on requested notification’ operationId: getServerTools requestBody: description: ‘request object to fetch all server tools allowed on requested notification’ content: application/json: schema: $ref: ‘#/components/schemas/ServerToolsRequest’ required: true responses: “200”: description: The request has succeeded content: application/json: schema: type: array items: $ref: ‘#/components/schemas/ServerToolResponse’ example: [{“ActionOutput”:" “,“DisplayName”:“Sample - Open Trouble Ticket”,“Name”:“ICS-ServerProgramAction-Sample - Open Trouble Ticket”,“UserPrompts”:[“string”]}] “401”: description: Unauthorized content: {} deprecated: false x-codegen-request-body-name: request /tcsa/api/notification-actions/v1/notifications/server-tools/action: post: tags: - notification summary: Performs server tools actions on notifications. description: Executes actions such as “open trouble ticket and close trouble ticket”. operationId: performServerToolsActions requestBody: description: Server tool action request body. content: application/json: schema: $ref: ‘#/components/schemas/ServerToolsActionRequest’ required: true responses: “200”: description: OK content: text/plain: schema: type: string example : “[0, "\nThis is a demo of a tool to open a trouble ticket.\n\n\nTicket opened: ID = 1735 \n\n"]” “401”: description: Client must authenticate itself to get the requested response content: { } “403”: description: The client does not have access rights to the content; that is, it is Client must authenticate itself to get the requested response content: { } “404”: description: The server can not find the requested resource content: { } x-codegen-request-body-name: request
#Topology Paths /tcsa/api/topology/v1/class-types: post: summary: Get discovered topology class types such as Router, switch, VEdge etc. description: | Get discovered topology class types such as Router, switch, VEdge etc. tags: - topology operationId: get-class-types requestBody: description: Request object to get the discovered class type. content: application/json: schema: $ref: ‘#/components/schemas/ClassRequest’ required: true responses: “200”: description: OK content: application/json: schema: type: array items: type: string example: [“KubernetesPod”,“NetworkFunction”] ‘400’: description: Invalid Request sent by the user content: { } ‘401’: description: User authentication failed content: { } ‘403’: description: Access to the requested resource/operation is forbidden content: { } ‘404’: description: Cannot find requested resource content: { } “500”: description: Internal server error content: { } /tcsa/api/topology/v1/map-types: post: summary: Get all supported map types for the given className and instance. description: Get all supported map types for the given className and instance. tags: - topology operationId: get-map-types requestBody: description: Request object to get the map types. content: application/json: schema: $ref: ‘#/components/schemas/MapTypeRequest’ required: true responses: ‘200’: description: OK content: application/json: schema: $ref: ‘#/components/schemas/MaptypeResponse’ example: {“default”:{“displayName”:“VRAN Connectivity”,“name”:“MAP-VRAN”},“mapTypes”:[{“displayName”:“VRAN Connectivity”,“name”:“MAP-VRAN”},{“displayName”:“5G Core”,“name”:“MAP-5G-CNF”}]} ‘400’: description: Invalid Request sent by the user content: { } ‘401’: description: User authentication failed content: { } ‘403’: description: Access to the requested resource/operation is forbidden content: { } ‘404’: description: Cannot find requested resource content: { } “500”: description: Internal server error content: { } /tcsa/api/topology/v1/instances: post: tags: - topology summary: Get all the instances for the given class description: | Get all the instances for the given class operationId: get-instances requestBody: description: Request object to get instances for the given class content: application/json: schema: $ref: ‘#/components/schemas/InstanceRequest’ required: true responses: ‘200’: description: OK content: application/json: schema: $ref: ‘#/components/schemas/InstanceResponse’ example: {“data”:[{“deviceType”:“NetworkFunction”,"_rev”:"et3ArLa–",“source”:“INCHARGE-SA-PRES”,"_key":“NetworkFunction-ebf940d1-9166-4e3b-bb17-c6b8d200bdc2$NetworkFunction$INCHARGE-SA-PRES”,“creationDate”:“2022-09-02T12:52:40Z”,“type”:“NetworkFunction”,“elementUUID_PM”:“NetworkFunction-ebf940d1-9166-4e3b-bb17-c6b8d200bdc2$NetworkFunction$”,“discoveryID”:“INCHARGE-SA-PRES”,“jobId”:“1662122789071”,“lastUpdationDate”:“2022-09-02T12:52:40Z”,“name”:“NetworkFunction-ebf940d1-9166-4e3b-bb17-c6b8d200bdc2”,"_id":“Nodes_INCHARGE_SA_PRES/NetworkFunction-ebf940d1-9166-4e3b-bb17-c6b8d200bdc2$NetworkFunction$INCHARGE-SA-PRES”,“elementUUID”:“NetworkFunction-ebf940d1-9166-4e3b-bb17-c6b8d200bdc2$NetworkFunction$INCHARGE-SA-PRES”,“properties”:{“IsEdgeHavingProblem”:false,“Description”:"",“ServiceName”:"",“IsServiceDysFunctional”:false,“CreationClassName”:“NetworkFunction”,“DisplayName”:“kube-multus-ds-amd64-gv429”,“IsManaged”:true,“ServiceKey”:"",“SystemName”:"",“DisplayClassName”:“NetworkFunction”,“IsVMHostUnResponsive”:false,“Name”:“NetworkFunction-ebf940d1-9166-4e3b-bb17-c6b8d200bdc2”}}],“count”:1} ‘400’: description: Invalid Request sent by the user content: { } ‘401’: description: User authentication failed content: { } ‘403’: description: Access to the requested resource/operation is forbidden content: { } ‘404’: description: Cannot find requested resource content: { } “500”: description: Internal server error content: { } /tcsa/api/topology/v1/relationships: post: summary: Get all the relationships for the given instance description: Get all the relationships for the given instance tags: - topology operationId: get-relationships requestBody: description: Request object to get the relationships for given device type and instance. content: application/json: schema: $ref: ‘#/components/schemas/RelationshipRequest’ required: true responses: ‘200’: description: OK content: application/json: schema: type: array items: type: string description: An array of strings (relationship name) example: [“PartOf”,“MemberOf”,“RealizedBy”] ‘400’: description: Invalid Request sent by the user content: { } ‘401’: description: User authentication failed content: { } ‘403’: description: Access to the requested resource/operation is forbidden content: { } ‘404’: description: Cannot find requested resource content: { } “500”: description: Internal server error content: { } /tcsa/api/topology/v1/map: post: description: Returns the list of nodes and edges for given class name and instance. tags: - topology summary: Topology Map for give mapType operationId: topology-map requestBody: description: Request object to get the map details. content: application/json: schema: $ref: ‘#/components/schemas/MapInput’ required: true responses: “200”: description: OK content: application/json: schema: $ref: ‘#/components/schemas/TopologyMapResponse’ example: {“Edge”:{“Edges_INCHARGE_SA_PRES/12013412”:{"_key":“12013412”,"_id":“Edges_INCHARGE_SA_PRES/12013412”,"_rev":"_et3-9La–B","_from":“Nodes_INCHARGE_SA_PRES/KubernetesPod-569b3e3c-2734-4877-ae4a-7b504a5058cf$KubernetesPod$INCHARGE-SA-PRES”,"_to":“Nodes_INCHARGE_SA_PRES/NetworkFunction-ebf940d1-9166-4e3b-bb17-c6b8d200bdc2$NetworkFunction$INCHARGE-SA-PRES”,“relName”:“Realizes”,“srcType”:“KubernetesPod”,“trgtType”:“NetworkFunction”,“properties”:{“DisplayName”:“KubernetesPod-569b3e3c-2734-4877-ae4a-7b504a5058cf$KubernetesPod$INCHARGE-SA-PRES Realizes NetworkFunction-ebf940d1-9166-4e3b-bb17-c6b8d200bdc2$NetworkFunction$INCHARGE-SA-PRES”,“dest”:“NetworkFunction-ebf940d1-9166-4e3b-bb17-c6b8d200bdc2$NetworkFunction$INCHARGE-SA-PRES”,“discoveryID”:“INCHARGE-SA-PRES”,“jobId”:“1662122789071”,“source”:“KubernetesPod-569b3e3c-2734-4877-ae4a-7b504a5058cf$KubernetesPod$INCHARGE-SA-PRES”}},“Edges_INCHARGE_SA_PRES/8018585”:{"_key":“8018585”,"_id":“Edges_INCHARGE_SA_PRES/8018585”,"_rev":"_et3ArLe–B","_from":“Nodes_INCHARGE_SA_PRES/NetworkFunction-ebf940d1-9166-4e3b-bb17-c6b8d200bdc2$NetworkFunction$INCHARGE-SA-PRES”,"_to":“Nodes_INCHARGE_SA_PRES/KubernetesPod-569b3e3c-2734-4877-ae4a-7b504a5058cf$KubernetesPod$INCHARGE-SA-PRES”,“relName”:“RealizedBy”,“srcType”:“NetworkFunction”,“trgtType”:“KubernetesPod”,“properties”:{“DisplayName”:“NetworkFunction-ebf940d1-9166-4e3b-bb17-c6b8d200bdc2$NetworkFunction$INCHARGE-SA-PRES RealizedBy KubernetesPod-569b3e3c-2734-4877-ae4a-7b504a5058cf$KubernetesPod$INCHARGE-SA-PRES”,“dest”:“KubernetesPod-569b3e3c-2734-4877-ae4a-7b504a5058cf$KubernetesPod$INCHARGE-SA-PRES”,“discoveryID”:“INCHARGE-SA-PRES”,“jobId”:“1662122789071”,“source”:“NetworkFunction-ebf940d1-9166-4e3b-bb17-c6b8d200bdc2$NetworkFunction$INCHARGE-SA-PRES”}}},“Node”:{“Nodes_INCHARGE_SA_PRES/KubernetesPod-569b3e3c-2734-4877-ae4a-7b504a5058cf$KubernetesPod$INCHARGE-SA-PRES”:{"_id":“Nodes_INCHARGE_SA_PRES/KubernetesPod-569b3e3c-2734-4877-ae4a-7b504a5058cf$KubernetesPod$INCHARGE-SA-PRES”,“discoveryID”:“INCHARGE-SA-PRES”,“name”:“KubernetesPod-569b3e3c-2734-4877-ae4a-7b504a5058cf”,“type”:“KubernetesPod”,“properties”:{“DeviceType”:null,“DisplayName”:“kube-multus-ds-amd64-gv429”,“IsABR”:null,“IsASBR”:null,“Name”:“KubernetesPod-569b3e3c-2734-4877-ae4a-7b504a5058cf”,“ServiceType”:null},“elementUUID”:“KubernetesPod-569b3e3c-2734-4877-ae4a-7b504a5058cf$KubernetesPod$INCHARGE-SA-PRES”,“elementUUID_PM”:“KubernetesPod-569b3e3c-2734-4877-ae4a-7b504a5058cf$KubernetesPod$”,“isExpandable”:true},“Nodes_INCHARGE_SA_PRES/NetworkFunction-ebf940d1-9166-4e3b-bb17-c6b8d200bdc2$NetworkFunction$INCHARGE-SA-PRES”:{"_key":“NetworkFunction-ebf940d1-9166-4e3b-bb17-c6b8d200bdc2$NetworkFunction$INCHARGE-SA-PRES”,"_id":“Nodes_INCHARGE_SA_PRES/NetworkFunction-ebf940d1-9166-4e3b-bb17-c6b8d200bdc2$NetworkFunction$INCHARGE-SA-PRES”,"_rev":"et3ArLa–",“source”:“INCHARGE-SA-PRES”,“discoveryID”:“INCHARGE-SA-PRES”,“name”:“NetworkFunction-ebf940d1-9166-4e3b-bb17-c6b8d200bdc2”,“creationDate”:“2022-09-02T12:52:40Z”,“lastUpdationDate”:“2022-09-02T12:52:40Z”,“type”:“NetworkFunction”,“properties”:{“CreationClassName”:“NetworkFunction”,“Description”:"",“DisplayClassName”:“NetworkFunction”,“DisplayName”:“kube-multus-ds-amd64-gv429”,“IsEdgeHavingProblem”:false,“IsManaged”:true,“IsServiceDysFunctional”:false,“IsVMHostUnResponsive”:false,“Name”:“NetworkFunction-ebf940d1-9166-4e3b-bb17-c6b8d200bdc2”,“ServiceKey”:"",“ServiceName”:"",“SystemName”:""},“deviceType”:“NetworkFunction”,“elementUUID”:“NetworkFunction-ebf940d1-9166-4e3b-bb17-c6b8d200bdc2$NetworkFunction$INCHARGE-SA-PRES”,“elementUUID_PM”:“NetworkFunction-ebf940d1-9166-4e3b-bb17-c6b8d200bdc2$NetworkFunction$”,“jobId”:“1662122789071”,“isExpandable”:false}},“NodeCount”:2,“isExpandable”:true} ‘400’: description: Invalid Request sent by the user content: { } ‘401’: description: User authentication failed content: { } ‘403’: description: Access to the requested resource/operation is forbidden content: { } ‘404’: description: Cannot find requested resource content: { } “500”: description: Internal server error content: { } deprecated: false x-codegen-request-body-name: request /tcsa/api/topology/v1/domain-managers: post: summary: Get the details of the domain manager, which is responsible for discovering the requested topology instance. description: Get the details of the domain manager, which is responsible for discovering the requested topology instance. tags: - topology operationId: get-domain-managers requestBody: description: The request object to get the domain manager. content: application/json: schema: $ref: ‘#/components/schemas/DomainManagerRequest’ required: true responses: ‘200’: description: OK content: application/json: schema: $ref: ‘#/components/schemas/DomainManagerResponse’ ‘400’: description: Invalid Request sent by the user content: { } ‘401’: description: User authentication failed content: { } ‘403’: description: Access to the requested resource/operation is forbidden content: { } ‘404’: description: Cannot find requested resource content: { } “500”: description: Internal server error content: { }
#tmf-alarms Paths /tcsa/api/tmf/v1/alarms: get: tags: - tmf-alarms summary: List or find Alarm objects description: | This operation lists or finds Alarm entities How to apply filter: The filtering mechanism is implemented in the query of the URL itself. However there is no specific query parameter named ‘filter’.
The filtering is based on using name value query parameters on entity attributes. The basic expression is a sequence of attribute assertions being ANDED to formulate a filtering expression:
- GET {apiRoot} /{resourceName}?[{attributeName}={attributeValue}&*]
For examples:
- GET /tcsa/api/tmf/v1/alarms?ackState=ACKNOWLEDGED&alarmRaisedTime=2022-09-14T04:56:08Z
Here the the filter applied specifies that the alarms returned should have its ackState as ACKNOWLEDGED and should have been raised on 022-09-14T04:56:08Z.
The above mechanism is only for attribute value equality. Attribute values ORING is supported and is achieved by providing a filtering expression where the same attribute name is duplicated a number of times with different values.
For example:
- GET /tcsa/api/tmf/v1/alarms?ackState=ACKNOWLEDGED&ackState=UNACKNOWLEDGED
Here the filter applied specifies that the alarms returned should have ackState as either ACKNOWLEDGED or UNACKNOWLEDGED.
Alternatively ORING can also be achieved by comma separating the attribute values. [{attributeName}={attributeValue},{ attributeValue }*]. For example:
- GET /tcsa/api/tmf/v1/alarms?ackState=ACKNOWLEDGED,UNACKNOWLEDGED
operationId: listAlarm
parameters:
- name: fields
in: query
description: Comma-separated properties to be provided in response
schema:
type: string
example: id
- name: offset
in: query
description: Requested index for start of resources to be provided in response
schema:
type: integer
example: 0
- name: limit
in: query
description: Requested number of resources to be provided in response
schema:
type: integer
example: 10
- name: sort
in: query
description: |
sort contains the following query parameters:
- Sort-Query-Parameters : “sort”, “=”, (Sort-Direction), Sort-Field
where:
- Sort-Direction : “-“ or “+”
- Sort-Field: The field to sort on.
The default direction is Ascending order, the use of the modifier in front of the sort field name, “-“, changes the sort order direction.
For example:
- ?sort=name (Sorts the result set on the name.)
- ?sort=-name (Sorts the result set on the name in descending order.)
Furthermore multiple attribute names can be specified by separating the names with commas. The sorting order will be specified from the left to right order of the fields listed. For example:
- ?sort= [attributeName],...,[attributeName]
Nested resource attributes can be specified as:
- [parentResource].[childResource].[attributeName]
Complete example:
- GET /tcsa/api/tmf/v1/alarms?sort=alarmRaisedTime,perceivedSeverity
- GET /tcsa/api/tmf/v1/alarms?sort=-alarmRaisedTime,perceivedSeverity (Descending)
schema:
type: string
example: alarmRaisedTime
responses:
"200":
description: Success
headers:
X-Total-Count:
description: Total number of items matching criteria
schema:
type: integer
example: 1000
X-Result-Count:
description: Actual number of items returned in the response body
schema:
type: integer
example: 10
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Alarm'
example: [{"correlatedAlarm":[],"ackSystemId":null,"ackUserId":null,"affectedService":null,"alarmEscalation":null,"clearSystemId":null,"clearUserId":null,"crossedThresholdInformation":{},"externalAlarmId":null,"probableCause":null,"reportingSystemId":null,"serviceAffecting":null,"specificProblem":null,"proposedRepairedActions":null,"place":[],"id":"Name:NOTIFICATION-Router_AMPMNEWUS23000__PS__Router__267_Unresponsive$Source:INCHARGE-SA-PRES2$","href":"/tcsa/api/tmf/v1/alarms/Name%3ANOTIFICATION-Router_AMPMNEWUS23000__PS__Router__267_Unresponsive%24Source%3AINCHARGE-SA-PRES2%24","ackState":"UNACKNOWLEDGED","alarmChangedTime":"2022-08-02T12:53:41Z","alarmClearedTime":null,"alarmDetails":"Indicates that all of the system's IPv4 and IPv6 addresses not responding and the SNMPAgent is not responding as well. ","alarmRaisedTime":"2020-08-27T08:03:03Z","alarmReportingTime":"2022-10-25T08:09:12.161Z","alarmType":"Unresponsive","alarmedObjectType":"Router","isRootCause":false,"perceivedSeverity":"UNKNOWN","plannedOutageIndicator":"OUT_OF_SERVICE","sourceSystemId":"AMPMNEWUS23000","state":"ACTIVE","alarmedObject":{"id":"AMPMNEWUS23000_PS_Router_267$Router$INCHARGE-SA-PRES2","href":"/tcsa/api/topology/v1/instances/AMPMNEWUS23000_PS_Router_267%24Router%24INCHARGE-SA-PRES2","@baseType":"alarm","@schemaLocation":"https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},"comment":[{"systemId":null,"comment":"Server: INCHARGE-SA-AGG2","time":"2022-08-02T12:53:30Z","userId":"DXA","@baseType":"alarm","@schemaLocation":"https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"systemId":null,"comment":"Server: INCHARGE-SA-AGG2","time":"2022-08-02T12:47:14Z","userId":"DXA","@baseType":"alarm","@schemaLocation":"https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"systemId":null,"comment":"INCHARGE-SA-AGG2: ICS initialization","time":"2022-08-02T12:45:56Z","userId":"SYSTEM","@baseType":"alarm","@schemaLocation":"https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"systemId":null,"comment":"Server: INCHARGE-SA-AGG2","time":"2022-01-31T13:22:13Z","userId":"DXA","@baseType":"alarm","@schemaLocation":"https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"systemId":null,"comment":"Server: INCHARGE-SA-AGG2","time":"2022-01-31T13:16:48Z","userId":"DXA","@baseType":"alarm","@schemaLocation":"https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"systemId":null,"comment":"INCHARGE-SA-AGG2: ICS initialization","time":"2022-01-31T13:14:32Z","userId":"SYSTEM","@baseType":"alarm","@schemaLocation":"https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"systemId":null,"comment":"Server: INCHARGE-SA-AGG2","time":"2021-03-02T09:11:06Z","userId":"DXA","@baseType":"alarm","@schemaLocation":"https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"}],"parentAlarm":[{"id":"Name:NOTIFICATION-Router_AMPMNEWUS23000__PS__Router__2_Down$Source:INCHARGE-SA-PRES2$","href":"/tcsa/api/alarms/Name%3ANOTIFICATION-Router_AMPMNEWUS23000__PS__Router__2_Down%24Source%3AINCHARGE-SA-PRES2%24","name":"Name:NOTIFICATION-Router_AMPMNEWUS23000__PS__Router__2_Down$Source:INCHARGE-SA-PRES2$","@baseType":"alarm","@schemaLocation":"https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification","@referredType":"null"},{"id":"Name:NOTIFICATION-Router_AMPMNEWUS23000__PS__Router__267_Down$Source:INCHARGE-SA-PRES2$","href":"/tcsa/api/alarms/Name%3ANOTIFICATION-Router_AMPMNEWUS23000__PS__Router__267_Down%24Source%3AINCHARGE-SA-PRES2%24","name":"Name:NOTIFICATION-Router_AMPMNEWUS23000__PS__Router__267_Down$Source:INCHARGE-SA-PRES2$","@baseType":"alarm","@schemaLocation":"https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification","@referredType":"null"}],"@baseType":"alarm","@schemaLocation":"https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"}]
"400":
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
"401":
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
"403":
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
"404":
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
"405":
description: Method Not allowed
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
"409":
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
"500":
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
post:
tags:
- tmf-alarms
summary: Creates a Alarm
description: This operation creates an Alarm entity.
operationId: createAlarm
requestBody:
description: The Alarm to be created
content:
application/json:
schema:
$ref: '#/components/schemas/AlarmCreate'
required: true
responses:
"201":
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/AlarmCreateResponse'
example: {"id":"Name:NOTIFICATION-gNodeB_gNodeB-service-mavenir_OpenAPIExample$Source:INCHARGE-SA-PRES$","href":"/tcsa/api/tmf/v1/alarms/Name%3ANOTIFICATION-gNodeB_gNodeB-service-mavenir_OpenAPIExample%24Source%3AINCHARGE-SA-PRES%24"}
"400":
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
"401":
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
"403":
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
"405":
description: Method Not allowed
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
"409":
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
"500":
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
x-codegen-request-body-name: alarm
/tcsa/api/tmf/v1/alarms/{id}: get: tags: - tmf-alarms summary: Retrieves an Alarm by ID description: This operation retrieves an Alarm entity. Attribute selection is enabled for all first level attributes. operationId: retrieveAlarm parameters: - name: id in: path description: Identifier of the Alarm required: true schema: type: string example: Name:NOTIFICATION-gNodeB_gNodeB-service-mavenir_DUFunctionAffected$Source:INCHARGE-SA-PRES$ - name: fields in: query description: Comma-separated properties to provide in response schema: type: string example: id responses: “200”: description: Success content: application/json: schema: $ref: ‘#/components/schemas/Alarm’ example: {“correlatedAlarm”:[],“ackSystemId”:null,“ackUserId”:null,“affectedService”:null,“alarmEscalation”:null,“clearSystemId”:null,“clearUserId”:null,“crossedThresholdInformation”:{},“externalAlarmId”:null,“probableCause”:null,“reportingSystemId”:null,“serviceAffecting”:null,“specificProblem”:null,“proposedRepairedActions”:null,“place”:[],“id”:“Name:NOTIFICATION-gNodeB_gNodeB-service-mavenir_DUFunctionAffected$Source:INCHARGE-SA-PRES$”,“href”:"/tcsa/api/tmf/v1/alarms/Name%3ANOTIFICATION-gNodeB_gNodeB-service-mavenir_DUFunctionAffected%24Source%3AINCHARGE-SA-PRES%24",“ackState”:“UNACKNOWLEDGED”,“alarmChangedTime”:“2022-08-02T12:53:41Z”,“alarmClearedTime”:null,“alarmDetails”:“Indicates that all of the system’s IPv4 and IPv6 addresses not responding and the SNMPAgent is not responding as well. “,“alarmRaisedTime”:“2020-08-27T08:03:03Z”,“alarmReportingTime”:“2022-10-25T08:09:12.161Z”,“alarmType”:“Unresponsive”,“alarmedObjectType”:“Router”,“isRootCause”:false,“perceivedSeverity”:“UNKNOWN”,“plannedOutageIndicator”:“OUT_OF_SERVICE”,“sourceSystemId”:“AMPMNEWUS23000”,“state”:“ACTIVE”,“alarmedObject”:{“id”:“AMPMNEWUS23000_PS_Router_267$Router$INCHARGE-SA-PRES2”,“href”:"/tcsa/api/topology/v1/instances/AMPMNEWUS23000_PS_Router_267%24Router%24INCHARGE-SA-PRES2”,"@baseType”:“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},"comment":[{"systemId":null,"comment":"Server: INCHARGE-SA-AGG2”,“time”:“2022-08-02T12:53:30Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"systemId":null,"comment":"Server: INCHARGE-SA-AGG2”,“time”:“2022-08-02T12:47:14Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"systemId":null,"comment":"INCHARGE-SA-AGG2: ICS initialization”,“time”:“2022-08-02T12:45:56Z”,“userId”:“SYSTEM”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"systemId":null,"comment":"Server: INCHARGE-SA-AGG2”,“time”:“2022-01-31T13:22:13Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"systemId":null,"comment":"Server: INCHARGE-SA-AGG2”,“time”:“2022-01-31T13:16:48Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"systemId":null,"comment":"INCHARGE-SA-AGG2: ICS initialization”,“time”:“2022-01-31T13:14:32Z”,“userId”:“SYSTEM”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"systemId":null,"comment":"Server: INCHARGE-SA-AGG2”,“time”:“2021-03-02T09:11:06Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"}],"parentAlarm":[{"id":"Name:NOTIFICATION-Router_AMPMNEWUS23000__PS__Router__2_Down$Source:INCHARGE-SA-PRES2$","href":"/tcsa/api/alarms/Name%3ANOTIFICATION-Router_AMPMNEWUS23000__PS__Router__2_Down%24Source%3AINCHARGE-SA-PRES2%24","name":"Name:NOTIFICATION-Router_AMPMNEWUS23000__PS__Router__2_Down$Source:INCHARGE-SA-PRES2$","@baseType":"alarm","@schemaLocation":"https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification","@referredType":"null"},{"id":"Name:NOTIFICATION-Router_AMPMNEWUS23000__PS__Router__267_Down$Source:INCHARGE-SA-PRES2$","href":"/tcsa/api/alarms/Name%3ANOTIFICATION-Router_AMPMNEWUS23000__PS__Router__267_Down%24Source%3AINCHARGE-SA-PRES2%24","name":"Name:NOTIFICATION-Router_AMPMNEWUS23000__PS__Router__267_Down$Source:INCHARGE-SA-PRES2$","@baseType":"alarm","@schemaLocation":"https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification","@referredType":"null"}],"@baseType":"alarm","@schemaLocation":"https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"} “400”: description: Bad Request content: application/json: schema: $ref: ‘#/components/schemas/Error’ “401”: description: Unauthorized content: application/json: schema: $ref: ‘#/components/schemas/Error’ “403”: description: Forbidden content: application/json: schema: $ref: ‘#/components/schemas/Error’ “404”: description: Not Found content: application/json: schema: $ref: ‘#/components/schemas/Error’ “405”: description: Method Not allowed content: application/json: schema: $ref: ‘#/components/schemas/Error’ “409”: description: Conflict content: application/json: schema: $ref: ‘#/components/schemas/Error’ “500”: description: Internal Server Error content: application/json: schema: $ref: ‘#/components/schemas/Error’ delete: tags: - tmf-alarms summary: Deletes a Alarm description: This operation deletes an Alarm entity. operationId: deleteAlarm parameters: - name: id in: path description: Identifier of the Alarm required: true schema: type: string example: Name:NOTIFICATION-gNodeB_gNodeB-service-mavenir_DUFunctionAffected$Source:INCHARGE-SA-PRES$ responses: “204”: description: Deleted content: {} “400”: description: Bad Request content: application/json: schema: $ref: ‘#/components/schemas/Error’ “401”: description: Unauthorized content: application/json: schema: $ref: ‘#/components/schemas/Error’ “403”: description: Forbidden content: application/json: schema: $ref: ‘#/components/schemas/Error’ “405”: description: Method Not allowed content: application/json: schema: $ref: ‘#/components/schemas/Error’ “500”: description: Internal Server Error content: application/json: schema: $ref: ‘#/components/schemas/Error’ patch: tags: - tmf-alarms summary: Updates partially, an Alarm description: This operation updates partially, an Alarm entity. operationId: patchAlarm parameters: - name: id in: path description: Identifier of the Alarm required: true schema: type: string example: Name:NOTIFICATION-gNodeB_gNodeB-service-mavenir_OpenAPIExample$Source:INCHARGE-SA-PRES$ requestBody: description: The Alarm to be updated content: application/json: schema: $ref: ‘#/components/schemas/AlarmUpdate’ required: true responses: “200”: description: Updated content: application/json: schema: $ref: ‘#/components/schemas/AlarmUpdateResponse’ example: {“id”:“Name:NOTIFICATION-gNodeB_gNodeB-service-mavenir_OpenAPIExample$Source:INCHARGE-SA-PRES$”,“href”:"/tcsa/api/tmf/v1/alarms/Name%3ANOTIFICATION-gNodeB_gNodeB-service-mavenir_OpenAPIExample%24Source%3AINCHARGE-SA-PRES%24”} “400”: description: Bad Request content: application/json: schema: $ref: ‘#/components/schemas/Error’ “401”: description: Unauthorized content: application/json: schema: $ref: ‘#/components/schemas/Error’ “403”: description: Forbidden content: application/json: schema: $ref: ‘#/components/schemas/Error’ “404”: description: Not Found content: application/json: schema: $ref: ‘#/components/schemas/Error’ “405”: description: Method Not allowed content: application/json: schema: $ref: ‘#/components/schemas/Error’ “409”: description: Conflict content: application/json: schema: $ref: ‘#/components/schemas/Error’ “500”: description: Internal Server Error content: application/json: schema: $ref: ‘#/components/schemas/Error’ x-codegen-request-body-name: alarm /tcsa/api/tmf/v1/ackAlarms: get: tags: - tmf-alarms summary: Lists or finds AckAlarms objects description: | This operation lists or finds AckAlarms entities operationId: listAckAlarms parameters: - name: fields in: query description: Comma-separated properties to be provided in response schema: type: string example: id - name: offset in: query description: Requested index for start of resources to be provided in response schema: type: integer example: 0 - name: limit in: query description: Requested number of resources to be provided in response schema: type: integer example: 10 responses: “200”: description: Success headers: X-Total-Count: description: Total number of items matching criteria schema: type: integer example: 1000 X-Result-Count: description: Actual number of items returned in the response body schema: type: integer example: 10 content: application/json: schema: type: array items: $ref: ‘#/components/schemas/AckAlarms’ example: [{“id”:“QD36DoQBIPNwSiXT4onj”,“href”:"/tcsa/api/tmf/v1/ackAlarms/QD36DoQBIPNwSiXT4onj",“ackSystemId”:“admin”,“ackTime”:“2022-10-25T11:50:33.944752Z”,“ackUserId”:“admin”,“state”:“COMPLETED”,“ackedAlarm”:[{“correlatedAlarm”:[{“id”:“Name:NOTIFICATION-BladeEnclosureManager_BEM-10.31.161.51[limal051]/1_Unresponsive$Source:INCHARGE-SA-PRES$”,“href”:"/tcsa/api/alarms/Name%3ANOTIFICATION-BladeEnclosureManager_BEM-10.31.161.51%5Blimal051%5D%2F1_Unresponsive%24Source%3AINCHARGE-SA-PRES%24",“name”:“Name:NOTIFICATION-BladeEnclosureManager_BEM-10.31.161.51[limal051]/1_Unresponsive$Source:INCHARGE-SA-PRES$”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”,"@referredType":null},{“id”:“Name:NOTIFICATION-Blade_BLD-BEM-10.31.161.51[limal051]/1/sys/chassis-1/blade-7_Unresponsive$Source:INCHARGE-SA-PRES$”,“href”:"/tcsa/api/alarms/Name%3ANOTIFICATION-Blade_BLD-BEM-10.31.161.51%5Blimal051%5D%2F1%2Fsys%2Fchassis-1%2Fblade-7_Unresponsive%24Source%3AINCHARGE-SA-PRES%24",“name”:“Name:NOTIFICATION-Blade_BLD-BEM-10.31.161.51[limal051]/1/sys/chassis-1/blade-7_Unresponsive$Source:INCHARGE-SA-PRES$”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”,"@referredType":null}],“ackSystemId”:null,“ackUserId”:null,“affectedService”:null,“alarmEscalation”:null,“clearSystemId”:null,“clearUserId”:null,“crossedThresholdInformation”:{},“externalAlarmId”:null,“probableCause”:null,“reportingSystemId”:null,“serviceAffecting”:null,“specificProblem”:null,“proposedRepairedActions”:null,“place”:[],“rootCause”:true,“source”:null,“instanceName”:null,“id”:“Name:NOTIFICATION-Card_CARD-10.31.161.51[limal051]/39896_Down$Source:INCHARGE-SA-PRES$”,“href”:"/tcsa/api/tmf/v1/alarms/Name%3ANOTIFICATION-Card_CARD-10.31.161.51%5Blimal051%5D%2F39896_Down%24Source%3AINCHARGE-SA-PRES%24",“ackState”:“UNACKNOWLEDGED”,“alarmChangedTime”:“2022-10-25T11:47:57Z”,“alarmClearedTime”:null,“alarmDetails”:“Indicates that a failed card is the root cause.”,“alarmRaisedTime”:“2022-10-25T11:48:18.056Z”,“alarmReportingTime”:“2022-10-25T11:48:18.056Z”,“alarmType”:“Down”,“alarmedObjectType”:“Card”,“isRootCause”:true,“perceivedSeverity”:“CRITICAL”,“plannedOutageIndicator”:“OUT_OF_SERVICE”,“sourceSystemId”:“INCHARGE-AM”,“state”:“ACTIVE”,“alarmedObject”:{“id”:“BEM-10.31.161.51[limal051]/1$BladeEnclosureManager$INCHARGE-SA-PRES”,“href”:"/tcsa/api/topology/v1/instances/BEM-10.31.161.51%5Blimal051%5D%2F1%24BladeEnclosureManager%24INCHARGE-SA-PRES","@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},“comment”:[{“comment”:“Server: INCHARGE-SA”,“systemId”:“null”,“time”:“2022-10-25T11:47:14Z”,“userId”:“DXA”,“baseType”:“alarm”,“schemaLocation”:“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,“type”:“notification”}],“parentAlarm”:[],"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”}],“alarmPattern”:[{“id”:“Name:NOTIFICATION-Card_CARD-10.31.161.51[limal051]/39896_Down$Source:INCHARGE-SA-PRES$”},{“id”:“Name:NOTIFICATION-Blade_BLD-BEM-10.31.161.51[limal051]/1/sys/chassis-1/blade-7_Down$Source:INCHARGE-SA-PRES$”},{“id”:“Name:NOTIFICATION-CPU__Performance__HostResources_I-CPU__Performance__HostResources-PSR-10.107.118.170/14_HighUtilization$Source:INCHARGE-SA-PRES$”}],"@baseType":null,"@schemaLocation":null,"@type":null}] “400”: description: Bad Request content: application/json: schema: $ref: ‘#/components/schemas/Error’ “401”: description: Unauthorized content: application/json: schema: $ref: ‘#/components/schemas/Error’ “403”: description: Forbidden content: application/json: schema: $ref: ‘#/components/schemas/Error’ “404”: description: Not Found content: application/json: schema: $ref: ‘#/components/schemas/Error’ “405”: description: Method Not allowed content: application/json: schema: $ref: ‘#/components/schemas/Error’ “409”: description: Conflict content: application/json: schema: $ref: ‘#/components/schemas/Error’ “500”: description: Internal Server Error content: application/json: schema: $ref: ‘#/components/schemas/Error’ post: tags: - tmf-alarms summary: Creates an AckAlarms description: This operation creates an AckAlarms entity. operationId: createAckAlarms requestBody: description: The AckAlarms to be created content: application/json: schema: $ref: ‘#/components/schemas/AckAlarmsCreate’ required: true responses: “201”: description: Created content: application/json: schema: $ref: ‘#/components/schemas/AckAlarms’ example: {“id”:“JkgDOIQB9XatrL7sMC6S”,“href”:"/tcsa/api/tmf/v1/ackAlarms/JkgDOIQB9XatrL7sMC6S",“ackSystemId”:“postman-api”,“ackTime”:“2022-11-02T11:04:03.982749Z”,“ackUserId”:“admin”,“state”:“IN_PROGRESS”,“ackedAlarm”: [],“alarmPattern”:[{“alarmedObjectType”:“Container”,“state”:“ACTIVE”},{“id”:“Name:NOTIFICATION-VPN_VPN-100_:9900_Impacted$Source:INCHARGE-SA-PRES$”}],"@baseType":null,"@schemaLocation":null,"@type":null} “400”: description: Bad Request content: application/json: schema: $ref: ‘#/components/schemas/Error’ “401”: description: Unauthorized content: application/json: schema: $ref: ‘#/components/schemas/Error’ “403”: description: Forbidden content: application/json: schema: $ref: ‘#/components/schemas/Error’ “405”: description: Method Not allowed content: application/json: schema: $ref: ‘#/components/schemas/Error’ “409”: description: Conflict content: application/json: schema: $ref: ‘#/components/schemas/Error’ “500”: description: Internal Server Error content: application/json: schema: $ref: ‘#/components/schemas/Error’ x-codegen-request-body-name: ackAlarms /tcsa/api/tmf/v1/ackAlarms/{id}: get: tags: - tmf-alarms summary: Retrieves an AckAlarms by ID description: This operation retrieves an AckAlarms entity. Attribute selection is enabled for all first level attributes. operationId: retrieveAckAlarms parameters: - name: id in: path description: Identifier of the AckAlarms required: true schema: type: string example: QD36DoQBIPNwSiXT4onj - name: fields in: query description: Comma-separated properties to provide in response schema: type: string example: id responses: “200”: description: Success content: application/json: schema: $ref: ‘#/components/schemas/AckAlarms’ example: {“id”:“QD36DoQBIPNwSiXT4onj”,“href”:"/tcsa/api/tmf/v1/ackAlarms/QD36DoQBIPNwSiXT4onj",“ackSystemId”:“admin”,“ackTime”:“2022-10-25T11:50:33.944752Z”,“ackUserId”:“admin”,“state”:“COMPLETED”,“ackedAlarm”:[{“correlatedAlarm”:[{“id”:“Name:NOTIFICATION-BladeEnclosureManager_BEM-10.31.161.51[limal051]/1_Unresponsive$Source:INCHARGE-SA-PRES$”,“href”:"/tcsa/api/alarms/Name%3ANOTIFICATION-BladeEnclosureManager_BEM-10.31.161.51%5Blimal051%5D%2F1_Unresponsive%24Source%3AINCHARGE-SA-PRES%24",“name”:“Name:NOTIFICATION-BladeEnclosureManager_BEM-10.31.161.51[limal051]/1_Unresponsive$Source:INCHARGE-SA-PRES$”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”,"@referredType":null},{“id”:“Name:NOTIFICATION-Blade_BLD-BEM-10.31.161.51[limal051]/1/sys/chassis-1/blade-7_Unresponsive$Source:INCHARGE-SA-PRES$”,“href”:"/tcsa/api/alarms/Name%3ANOTIFICATION-Blade_BLD-BEM-10.31.161.51%5Blimal051%5D%2F1%2Fsys%2Fchassis-1%2Fblade-7_Unresponsive%24Source%3AINCHARGE-SA-PRES%24",“name”:“Name:NOTIFICATION-Blade_BLD-BEM-10.31.161.51[limal051]/1/sys/chassis-1/blade-7_Unresponsive$Source:INCHARGE-SA-PRES$”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”,"@referredType":null}],“ackSystemId”:null,“ackUserId”:null,“affectedService”:null,“alarmEscalation”:null,“clearSystemId”:null,“clearUserId”:null,“crossedThresholdInformation”:{},“externalAlarmId”:null,“probableCause”:null,“reportingSystemId”:null,“serviceAffecting”:null,“specificProblem”:null,“proposedRepairedActions”:null,“place”:[],“rootCause”:true,“source”:null,“instanceName”:null,“id”:“Name:NOTIFICATION-Card_CARD-10.31.161.51[limal051]/39896_Down$Source:INCHARGE-SA-PRES$”,“href”:"/tcsa/api/tmf/v1/alarms/Name%3ANOTIFICATION-Card_CARD-10.31.161.51%5Blimal051%5D%2F39896_Down%24Source%3AINCHARGE-SA-PRES%24",“ackState”:“UNACKNOWLEDGED”,“alarmChangedTime”:“2022-10-25T11:47:57Z”,“alarmClearedTime”:null,“alarmDetails”:“Indicates that a failed card is the root cause.”,“alarmRaisedTime”:“2022-10-25T11:48:18.056Z”,“alarmReportingTime”:“2022-10-25T11:48:18.056Z”,“alarmType”:“Down”,“alarmedObjectType”:“Card”,“isRootCause”:true,“perceivedSeverity”:“CRITICAL”,“plannedOutageIndicator”:“OUT_OF_SERVICE”,“sourceSystemId”:“INCHARGE-AM”,“state”:“ACTIVE”,“alarmedObject”:{“id”:“BEM-10.31.161.51[limal051]/1$BladeEnclosureManager$INCHARGE-SA-PRES”,“href”:"/tcsa/api/topology/v1/instances/BEM-10.31.161.51%5Blimal051%5D%2F1%24BladeEnclosureManager%24INCHARGE-SA-PRES","@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},“comment”:[{“comment”:“Server: INCHARGE-SA”,“systemId”:“null”,“time”:“2022-10-25T11:47:14Z”,“userId”:“DXA”,“baseType”:“alarm”,“schemaLocation”:“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,“type”:“notification”}],“parentAlarm”:[],"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”}],“alarmPattern”:[{“id”:“Name:NOTIFICATION-Card_CARD-10.31.161.51[limal051]/39896_Down$Source:INCHARGE-SA-PRES$”},{“id”:“Name:NOTIFICATION-Blade_BLD-BEM-10.31.161.51[limal051]/1/sys/chassis-1/blade-7_Down$Source:INCHARGE-SA-PRES$”},{“id”:“Name:NOTIFICATION-CPU__Performance__HostResources_I-CPU__Performance__HostResources-PSR-10.107.118.170/14_HighUtilization$Source:INCHARGE-SA-PRES$”}],"@baseType":null,"@schemaLocation":null,"@type":null} “400”: description: Bad Request content: application/json: schema: $ref: ‘#/components/schemas/Error’ “401”: description: Unauthorized content: application/json: schema: $ref: ‘#/components/schemas/Error’ “403”: description: Forbidden content: application/json: schema: $ref: ‘#/components/schemas/Error’ “404”: description: Not Found content: application/json: schema: $ref: ‘#/components/schemas/Error’ “405”: description: Method Not allowed content: application/json: schema: $ref: ‘#/components/schemas/Error’ “409”: description: Conflict content: application/json: schema: $ref: ‘#/components/schemas/Error’ “500”: description: Internal Server Error content: application/json: schema: $ref: ‘#/components/schemas/Error’ /tcsa/api/tmf/v1/unAckAlarms: get: tags: - tmf-alarms summary: Lists or finds UnAckAlarms objects description: | This operation lists or finds UnAckAlarms entities operationId: listUnAckAlarms parameters: - name: fields in: query description: Comma-separated properties to be provided in response schema: type: string example: id - name: offset in: query description: Requested index for start of resources to be provided in response schema: type: integer example: 0 - name: limit in: query description: Requested number of resources to be provided in response schema: type: integer example: 10 responses: “200”: description: Success headers: X-Total-Count: description: Total number of items matching criteria schema: type: integer example: 1000 X-Result-Count: description: Actual number of items returned in the response body schema: type: integer example: 10 content: application/json: schema: type: array items: $ref: ‘#/components/schemas/UnAckAlarms’ example: [{“id”:“b_YHD4QBpi1WVs4LJtpK”,“href”:"/tcsa/api/tmf/v1/ackAlarms/b_YHD4QBpi1WVs4LJtpK",“ackSystemId”:“admin”,“ackTime”:“2022-10-25T12:03:57.637781Z”,“ackUserId”:“admin”,“state”:“COMPLETED”,“unAckedAlarm”:[{“correlatedAlarm”:[{“id”:“Name:NOTIFICATION-BladeEnclosureManager_BEM-10.31.161.51[limal051]/1_Unresponsive$Source:INCHARGE-SA-PRES$”,“href”:"/tcsa/api/alarms/Name%3ANOTIFICATION-BladeEnclosureManager_BEM-10.31.161.51%5Blimal051%5D%2F1_Unresponsive%24Source%3AINCHARGE-SA-PRES%24",“name”:“Name:NOTIFICATION-BladeEnclosureManager_BEM-10.31.161.51[limal051]/1_Unresponsive$Source:INCHARGE-SA-PRES$”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”,"@referredType":null},{“id”:“Name:NOTIFICATION-Blade_BLD-BEM-10.31.161.51[limal051]/1/sys/chassis-1/blade-7_Unresponsive$Source:INCHARGE-SA-PRES$”,“href”:"/tcsa/api/alarms/Name%3ANOTIFICATION-Blade_BLD-BEM-10.31.161.51%5Blimal051%5D%2F1%2Fsys%2Fchassis-1%2Fblade-7_Unresponsive%24Source%3AINCHARGE-SA-PRES%24",“name”:“Name:NOTIFICATION-Blade_BLD-BEM-10.31.161.51[limal051]/1/sys/chassis-1/blade-7_Unresponsive$Source:INCHARGE-SA-PRES$”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”,"@referredType":null}],“ackSystemId”:null,“ackUserId”:null,“affectedService”:null,“alarmEscalation”:null,“clearSystemId”:null,“clearUserId”:null,“crossedThresholdInformation”:{},“externalAlarmId”:null,“probableCause”:null,“reportingSystemId”:null,“serviceAffecting”:null,“specificProblem”:null,“proposedRepairedActions”:null,“place”:[],“rootCause”:true,“source”:null,“instanceName”:null,“id”:“Name:NOTIFICATION-Card_CARD-10.31.161.51[limal051]/39896_Down$Source:INCHARGE-SA-PRES$”,“href”:"/tcsa/api/tmf/v1/alarms/Name%3ANOTIFICATION-Card_CARD-10.31.161.51%5Blimal051%5D%2F39896_Down%24Source%3AINCHARGE-SA-PRES%24",“ackState”:“ACKNOWLEDGED”,“alarmChangedTime”:“2022-10-25T11:55:14Z”,“alarmClearedTime”:null,“alarmDetails”:“Indicates that a failed card is the root cause.”,“alarmRaisedTime”:“2022-10-25T11:55:35.670Z”,“alarmReportingTime”:“2022-10-25T11:55:35.670Z”,“alarmType”:“Down”,“alarmedObjectType”:“Card”,“isRootCause”:true,“perceivedSeverity”:“CRITICAL”,“plannedOutageIndicator”:“OUT_OF_SERVICE”,“sourceSystemId”:“INCHARGE-AM, INCHARGE-SA-PRES”,“state”:“ACTIVE”,“alarmedObject”:{“id”:“BEM-10.31.161.51[limal051]/1$BladeEnclosureManager$INCHARGE-SA-PRES”,“href”:"/tcsa/api/topology/v1/instances/BEM-10.31.161.51%5Blimal051%5D%2F1%24BladeEnclosureManager%24INCHARGE-SA-PRES","@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},“comment”:[{“comment”:"",“systemId”:null,“time”:“2022-10-25T11:55:14Z”,“userId”:“admin”,“baseType”:“alarm”,“schemaLocation”:“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,“type”:“notification”},{“comment”:“Testing Comments 1 for openAPI spec”,“systemId”:null,“time”:“2022-10-25T11:55:14Z”,“userId”:“admin”,“baseType”:“alarm”,“schemaLocation”:“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,“type”:“notification”},{“comment”:“Acknowledged the notification”,“systemId”:null,“time”:“2022-10-25T11:50:13Z”,“userId”:“admin”,“baseType”:“alarm”,“schemaLocation”:“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,“type”:“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T11:47:14Z”,“userId”:“DXA”,“baseType”:“alarm”,“schemaLocation”:“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,“type”:“notification”}],“parentAlarm”:[],"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”}],“alarmPattern”:[{“id”:“Name:NOTIFICATION-Card_CARD-10.31.161.51[limal051]/39896_Down$Source:INCHARGE-SA-PRES$”},{“id”:“Name:NOTIFICATION-Blade_BLD-BEM-10.31.161.51[limal051]/1/sys/chassis-1/blade-7_Down$Source:INCHARGE-SA-PRES$”},{“id”:“Name:NOTIFICATION-CPU__Performance__HostResources_I-CPU__Performance__HostResources-PSR-10.107.118.170/14_HighUtilization$Source:INCHARGE-SA-PRES$”}],"@baseType":null,"@schemaLocation":null,"@type":null}] “400”: description: Bad Request content: application/json: schema: $ref: ‘#/components/schemas/Error’ “401”: description: Unauthorized content: application/json: schema: $ref: ‘#/components/schemas/Error’ “403”: description: Forbidden content: application/json: schema: $ref: ‘#/components/schemas/Error’ “404”: description: Not Found content: application/json: schema: $ref: ‘#/components/schemas/Error’ “405”: description: Method Not allowed content: application/json: schema: $ref: ‘#/components/schemas/Error’ “409”: description: Conflict content: application/json: schema: $ref: ‘#/components/schemas/Error’ “500”: description: Internal Server Error content: application/json: schema: $ref: ‘#/components/schemas/Error’ post: tags: - tmf-alarms summary: Creates an UnAckAlarms description: This operation creates an UnAckAlarms entity. operationId: createUnAckAlarms requestBody: description: The UnAckAlarms to be created content: application/json: schema: $ref: ‘#/components/schemas/UnAckAlarmsCreate’ required: true responses: “201”: description: Created content: application/json: schema: $ref: ‘#/components/schemas/UnAckAlarms’ example: {“id”:“20gEOIQB9XatrL7s7kI8”,“href”:"/tcsa/api/tmf/v1/unAckAlarms/20gEOIQB9XatrL7s7kI8",“ackSystemId”:“postman-api”,“ackTime”:“2022-11-02T11:05:58.072525Z”,“ackUserId”:“admin”,“state”:“IN_PROGRESS”,“unAckedAlarm”:[],“alarmPattern”:[{“alarmedObjectType”:“Container”,“state”:“ACTIVE”},{“id”:“Name:NOTIFICATION-VPN_VPN-100_:9900_Impacted$Source:INCHARGE-SA-PRES$”}],"@baseType":null,"@schemaLocation":null,"@type":null} “400”: description: Bad Request content: application/json: schema: $ref: ‘#/components/schemas/Error’ “401”: description: Unauthorized content: application/json: schema: $ref: ‘#/components/schemas/Error’ “403”: description: Forbidden content: application/json: schema: $ref: ‘#/components/schemas/Error’ “405”: description: Method Not allowed content: application/json: schema: $ref: ‘#/components/schemas/Error’ “409”: description: Conflict content: application/json: schema: $ref: ‘#/components/schemas/Error’ “500”: description: Internal Server Error content: application/json: schema: $ref: ‘#/components/schemas/Error’ x-codegen-request-body-name: unAckAlarms /tcsa/api/tmf/v1/unAckAlarms/{id}: get: tags: - tmf-alarms summary: Retrieves an UnAckAlarms by ID description: This operation retrieves an UnAckAlarms entity. Attribute selection is enabled for all first level attributes. operationId: retrieveUnAckAlarms parameters: - name: id in: path description: Identifier of the UnAckAlarms required: true schema: type: string example: b_YHD4QBpi1WVs4LJtpK - name: fields in: query description: Comma-separated properties to provide in response schema: type: string example: id responses: “200”: description: Success content: application/json: schema: $ref: ‘#/components/schemas/UnAckAlarms’ example: {“id”:“b_YHD4QBpi1WVs4LJtpK”,“href”:"/tcsa/api/tmf/v1/ackAlarms/b_YHD4QBpi1WVs4LJtpK",“ackSystemId”:“admin”,“ackTime”:“2022-10-25T12:03:57.637781Z”,“ackUserId”:“admin”,“state”:“COMPLETED”,“unAckedAlarm”:[{“correlatedAlarm”:[{“id”:“Name:NOTIFICATION-BladeEnclosureManager_BEM-10.31.161.51[limal051]/1_Unresponsive$Source:INCHARGE-SA-PRES$”,“href”:"/tcsa/api/alarms/Name%3ANOTIFICATION-BladeEnclosureManager_BEM-10.31.161.51%5Blimal051%5D%2F1_Unresponsive%24Source%3AINCHARGE-SA-PRES%24",“name”:“Name:NOTIFICATION-BladeEnclosureManager_BEM-10.31.161.51[limal051]/1_Unresponsive$Source:INCHARGE-SA-PRES$”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”,"@referredType":null},{“id”:“Name:NOTIFICATION-Blade_BLD-BEM-10.31.161.51[limal051]/1/sys/chassis-1/blade-7_Unresponsive$Source:INCHARGE-SA-PRES$”,“href”:"/tcsa/api/alarms/Name%3ANOTIFICATION-Blade_BLD-BEM-10.31.161.51%5Blimal051%5D%2F1%2Fsys%2Fchassis-1%2Fblade-7_Unresponsive%24Source%3AINCHARGE-SA-PRES%24",“name”:“Name:NOTIFICATION-Blade_BLD-BEM-10.31.161.51[limal051]/1/sys/chassis-1/blade-7_Unresponsive$Source:INCHARGE-SA-PRES$”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”,"@referredType":null}],“ackSystemId”:null,“ackUserId”:null,“affectedService”:null,“alarmEscalation”:null,“clearSystemId”:null,“clearUserId”:null,“crossedThresholdInformation”:{},“externalAlarmId”:null,“probableCause”:null,“reportingSystemId”:null,“serviceAffecting”:null,“specificProblem”:null,“proposedRepairedActions”:null,“place”:[],“rootCause”:true,“source”:null,“instanceName”:null,“id”:“Name:NOTIFICATION-Card_CARD-10.31.161.51[limal051]/39896_Down$Source:INCHARGE-SA-PRES$”,“href”:"/tcsa/api/tmf/v1/alarms/Name%3ANOTIFICATION-Card_CARD-10.31.161.51%5Blimal051%5D%2F39896_Down%24Source%3AINCHARGE-SA-PRES%24",“ackState”:“ACKNOWLEDGED”,“alarmChangedTime”:“2022-10-25T11:55:14Z”,“alarmClearedTime”:null,“alarmDetails”:“Indicates that a failed card is the root cause.”,“alarmRaisedTime”:“2022-10-25T11:55:35.670Z”,“alarmReportingTime”:“2022-10-25T11:55:35.670Z”,“alarmType”:“Down”,“alarmedObjectType”:“Card”,“isRootCause”:true,“perceivedSeverity”:“CRITICAL”,“plannedOutageIndicator”:“OUT_OF_SERVICE”,“sourceSystemId”:“INCHARGE-AM, INCHARGE-SA-PRES”,“state”:“ACTIVE”,“alarmedObject”:{“id”:“BEM-10.31.161.51[limal051]/1$BladeEnclosureManager$INCHARGE-SA-PRES”,“href”:"/tcsa/api/topology/v1/instances/BEM-10.31.161.51%5Blimal051%5D%2F1%24BladeEnclosureManager%24INCHARGE-SA-PRES","@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},“comment”:[{“comment”:"",“systemId”:null,“time”:“2022-10-25T11:55:14Z”,“userId”:“admin”,“baseType”:“alarm”,“schemaLocation”:“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,“type”:“notification”},{“comment”:“Testing Comments 1 for openAPI spec”,“systemId”:null,“time”:“2022-10-25T11:55:14Z”,“userId”:“admin”,“baseType”:“alarm”,“schemaLocation”:“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,“type”:“notification”},{“comment”:“Acknowledged the notification”,“systemId”:null,“time”:“2022-10-25T11:50:13Z”,“userId”:“admin”,“baseType”:“alarm”,“schemaLocation”:“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,“type”:“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T11:47:14Z”,“userId”:“DXA”,“baseType”:“alarm”,“schemaLocation”:“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,“type”:“notification”}],“parentAlarm”:[],"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”}],“alarmPattern”:[{“id”:“Name:NOTIFICATION-Card_CARD-10.31.161.51[limal051]/39896_Down$Source:INCHARGE-SA-PRES$”},{“id”:“Name:NOTIFICATION-Blade_BLD-BEM-10.31.161.51[limal051]/1/sys/chassis-1/blade-7_Down$Source:INCHARGE-SA-PRES$”},{“id”:“Name:NOTIFICATION-CPU__Performance__HostResources_I-CPU__Performance__HostResources-PSR-10.107.118.170/14_HighUtilization$Source:INCHARGE-SA-PRES$”}],"@baseType":null,"@schemaLocation":null,"@type":null} “400”: description: Bad Request content: application/json: schema: $ref: ‘#/components/schemas/Error’ “401”: description: Unauthorized content: application/json: schema: $ref: ‘#/components/schemas/Error’ “403”: description: Forbidden content: application/json: schema: $ref: ‘#/components/schemas/Error’ “404”: description: Not Found content: application/json: schema: $ref: ‘#/components/schemas/Error’ “405”: description: Method Not allowed content: application/json: schema: $ref: ‘#/components/schemas/Error’ “409”: description: Conflict content: application/json: schema: $ref: ‘#/components/schemas/Error’ “500”: description: Internal Server Error content: application/json: schema: $ref: ‘#/components/schemas/Error’ /tcsa/api/tmf/v1/clearAlarms: get: tags: - tmf-alarms summary: Lists or finds ClearAlarms objects description: | This operation lists or finds ClearAlarms entities operationId: listClearAlarms parameters: - name: fields in: query description: Comma-separated properties to be provided in response schema: type: string example: id - name: offset in: query description: Requested index for start of resources to be provided in response schema: type: integer example: 0 - name: limit in: query description: Requested number of resources to be provided in response schema: type: integer example: 10 responses: “200”: description: Success headers: X-Total-Count: description: Total number of items matching criteria schema: type: integer example: 1000 X-Result-Count: description: Actual number of items returned in the response body schema: type: integer example: 10 content: application/json: schema: type: array items: $ref: ‘#/components/schemas/ClearAlarms’ example: [{“id”:“AS0UD4QBpi1WVs4LGnPr”,“href”:"/tcsa/api/tmf/v1/clearAlarms/AS0UD4QBpi1WVs4LGnPr",“alarmClearedTime”:“2022-10-25T12:18:06.690858Z”,“clearSystemId”:“postman-api”,“clearUserId”:“admin”,“state”:“COMPLETED”,“alarmPattern”:[{“id”:“Name:NOTIFICATION-KubernetesPod_KubernetesPod-c8b99b8c-ebc4-4d7f-851f-44a345ec08a5_Down$Source:INCHARGE-SA-PRES$”},{“id”:“Name:NOTIFICATION-KubernetesPod_KubernetesPod-9e646517-4db6-431b-8ac8-47ceb5ed0551_Down$Source:INCHARGE-SA-PRES$”}],“clearedAlarm”:[{“correlatedAlarm”:[{“id”:“Name:NOTIFICATION-KubernetesPod_KubernetesPod-c8b99b8c-ebc4-4d7f-851f-44a345ec08a5_Failed$Source:INCHARGE-SA-PRES$”,“href”:"/tcsa/api/alarms/Name%3ANOTIFICATION-KubernetesPod_KubernetesPod-c8b99b8c-ebc4-4d7f-851f-44a345ec08a5_Failed%24Source%3AINCHARGE-SA-PRES%24",“name”:“Name:NOTIFICATION-KubernetesPod_KubernetesPod-c8b99b8c-ebc4-4d7f-851f-44a345ec08a5_Failed$Source:INCHARGE-SA-PRES$”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”,"@referredType":null},{“id”:“Name:NOTIFICATION-Container_Container-0f5e85e1-a143-4b95-aff0-269c034f39e5_Failed$Source:INCHARGE-SA-PRES$”,“href”:"/tcsa/api/alarms/Name%3ANOTIFICATION-Container_Container-0f5e85e1-a143-4b95-aff0-269c034f39e5_Failed%24Source%3AINCHARGE-SA-PRES%24",“name”:“Name:NOTIFICATION-Container_Container-0f5e85e1-a143-4b95-aff0-269c034f39e5_Failed$Source:INCHARGE-SA-PRES$”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”,"@referredType":null},{“id”:“Name:NOTIFICATION-NetworkFunction_ContainerNetworkFunction-852df9f0-8847-41fa-b858-24b708784b5d_Impaired$Source:INCHARGE-SA-PRES$”,“href”:"/tcsa/api/alarms/Name%3ANOTIFICATION-NetworkFunction_ContainerNetworkFunction-852df9f0-8847-41fa-b858-24b708784b5d_Impaired%24Source%3AINCHARGE-SA-PRES%24",“name”:“Name:NOTIFICATION-NetworkFunction_ContainerNetworkFunction-852df9f0-8847-41fa-b858-24b708784b5d_Impaired$Source:INCHARGE-SA-PRES$”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”,"@referredType":null}],“ackSystemId”:null,“ackUserId”:null,“affectedService”:null,“alarmEscalation”:null,“clearSystemId”:null,“clearUserId”:null,“crossedThresholdInformation”:{},“externalAlarmId”:null,“probableCause”:null,“reportingSystemId”:null,“serviceAffecting”:null,“specificProblem”:null,“proposedRepairedActions”:null,“place”:[],“rootCause”:true,“source”:null,“instanceName”:null,“id”:“Name:NOTIFICATION-KubernetesPod_KubernetesPod-c8b99b8c-ebc4-4d7f-851f-44a345ec08a5_Down$Source:INCHARGE-SA-PRES$”,“href”:"/tcsa/api/tmf/v1/alarms/Name%3ANOTIFICATION-KubernetesPod_KubernetesPod-c8b99b8c-ebc4-4d7f-851f-44a345ec08a5_Down%24Source%3AINCHARGE-SA-PRES%24",“ackState”:“UNACKNOWLEDGED”,“alarmChangedTime”:“2022-10-20T15:07:14Z”,“alarmClearedTime”:null,“alarmDetails”:“no description available”,“alarmRaisedTime”:“2022-10-25T08:08:45.431Z”,“alarmReportingTime”:“2022-10-25T08:08:45.431Z”,“alarmType”:“Down”,“alarmedObjectType”:“KubernetesPod”,“isRootCause”:true,“perceivedSeverity”:“CRITICAL”,“plannedOutageIndicator”:“OUT_OF_SERVICE”,“sourceSystemId”:“INCHARGE-ESM”,“state”:“ACTIVE”,“alarmedObject”:{“id”:“KubernetesPod-c8b99b8c-ebc4-4d7f-851f-44a345ec08a5$KubernetesPod$INCHARGE-SA-PRES”,“href”:"/tcsa/api/topology/v1/instances/KubernetesPod-c8b99b8c-ebc4-4d7f-851f-44a345ec08a5%24KubernetesPod%24INCHARGE-SA-PRES","@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},“comment”:[{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-20T15:02:05Z”,“userId”:“DXA”,“baseType”:“alarm”,“schemaLocation”:“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,“type”:“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-20T15:01:09Z”,“userId”:“DXA”,“baseType”:“alarm”,“schemaLocation”:“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,“type”:“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-20T15:01:01Z”,“userId”:“DXA”,“baseType”:“alarm”,“schemaLocation”:“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,“type”:“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-20T15:00:26Z”,“userId”:“DXA”,“baseType”:“alarm”,“schemaLocation”:“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,“type”:“notification”},{“comment”:“INCHARGE-SA: Domain Server Disconnected.”,“systemId”:null,“time”:“2022-10-20T14:58:10Z”,“userId”:“DXA”,“baseType”:“alarm”,“schemaLocation”:“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,“type”:“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-20T14:57:32Z”,“userId”:“DXA”,“baseType”:“alarm”,“schemaLocation”:“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,“type”:“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-20T09:37:30Z”,“userId”:“DXA”,“baseType”:“alarm”,“schemaLocation”:“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,“type”:“notification”}],“parentAlarm”:[],"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“correlatedAlarm”:[{“id”:“Name:NOTIFICATION-KubernetesPod_KubernetesPod-9e646517-4db6-431b-8ac8-47ceb5ed0551_Failed$Source:INCHARGE-SA-PRES$”,“href”:"/tcsa/api/alarms/Name%3ANOTIFICATION-KubernetesPod_KubernetesPod-9e646517-4db6-431b-8ac8-47ceb5ed0551_Failed%24Source%3AINCHARGE-SA-PRES%24",“name”:“Name:NOTIFICATION-KubernetesPod_KubernetesPod-9e646517-4db6-431b-8ac8-47ceb5ed0551_Failed$Source:INCHARGE-SA-PRES$”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”,"@referredType":null},{“id”:“Name:NOTIFICATION-Container_Container-e0d164fd-f630-457b-b3f7-9ce342300ad4_Failed$Source:INCHARGE-SA-PRES$”,“href”:"/tcsa/api/alarms/Name%3ANOTIFICATION-Container_Container-e0d164fd-f630-457b-b3f7-9ce342300ad4_Failed%24Source%3AINCHARGE-SA-PRES%24",“name”:“Name:NOTIFICATION-Container_Container-e0d164fd-f630-457b-b3f7-9ce342300ad4_Failed$Source:INCHARGE-SA-PRES$”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”,"@referredType":null}],“ackSystemId”:null,“ackUserId”:null,“affectedService”:null,“alarmEscalation”:null,“clearSystemId”:null,“clearUserId”:null,“crossedThresholdInformation”:{},“externalAlarmId”:null,“probableCause”:null,“reportingSystemId”:null,“serviceAffecting”:null,“specificProblem”:null,“proposedRepairedActions”:null,“place”:[],“rootCause”:true,“source”:null,“instanceName”:null,“id”:“Name:NOTIFICATION-KubernetesPod_KubernetesPod-9e646517-4db6-431b-8ac8-47ceb5ed0551_Down$Source:INCHARGE-SA-PRES$”,“href”:"/tcsa/api/tmf/v1/alarms/Name%3ANOTIFICATION-KubernetesPod_KubernetesPod-9e646517-4db6-431b-8ac8-47ceb5ed0551_Down%24Source%3AINCHARGE-SA-PRES%24",“ackState”:“UNACKNOWLEDGED”,“alarmChangedTime”:“2022-10-20T15:01:17Z”,“alarmClearedTime”:null,“alarmDetails”:“no description available”,“alarmRaisedTime”:“2022-10-25T08:08:45.441Z”,“alarmReportingTime”:“2022-10-25T08:08:45.441Z”,“alarmType”:“Down”,“alarmedObjectType”:“KubernetesPod”,“isRootCause”:true,“perceivedSeverity”:“CRITICAL”,“plannedOutageIndicator”:“OUT_OF_SERVICE”,“sourceSystemId”:“INCHARGE-ESM”,“state”:“ACTIVE”,“alarmedObject”:{“id”:“KubernetesPod-9e646517-4db6-431b-8ac8-47ceb5ed0551$KubernetesPod$INCHARGE-SA-PRES”,“href”:"/tcsa/api/topology/v1/instances/KubernetesPod-9e646517-4db6-431b-8ac8-47ceb5ed0551%24KubernetesPod%24INCHARGE-SA-PRES","@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},“comment”:[{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-20T15:01:17Z”,“userId”:“DXA”,“baseType”:“alarm”,“schemaLocation”:“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,“type”:“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-20T15:00:34Z”,“userId”:“DXA”,“baseType”:“alarm”,“schemaLocation”:“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,“type”:“notification”},{“comment”:“INCHARGE-SA: Domain Server Disconnected.”,“systemId”:null,“time”:“2022-10-20T14:58:11Z”,“userId”:“DXA”,“baseType”:“alarm”,“schemaLocation”:“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,“type”:“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-20T14:57:35Z”,“userId”:“DXA”,“baseType”:“alarm”,“schemaLocation”:“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,“type”:“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-20T09:37:51Z”,“userId”:“DXA”,“baseType”:“alarm”,“schemaLocation”:“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,“type”:“notification”}],“parentAlarm”:[],"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”}],"@baseType":null,"@schemaLocation":null,"@type":null}] “400”: description: Bad Request content: application/json: schema: $ref: ‘#/components/schemas/Error’ “401”: description: Unauthorized content: application/json: schema: $ref: ‘#/components/schemas/Error’ “403”: description: Forbidden content: application/json: schema: $ref: ‘#/components/schemas/Error’ “404”: description: Not Found content: application/json: schema: $ref: ‘#/components/schemas/Error’ “405”: description: Method Not allowed content: application/json: schema: $ref: ‘#/components/schemas/Error’ “409”: description: Conflict content: application/json: schema: $ref: ‘#/components/schemas/Error’ “500”: description: Internal Server Error content: application/json: schema: $ref: ‘#/components/schemas/Error’ post: tags: - tmf-alarms summary: Creates a ClearAlarms description: This operation creates a ClearAlarms entity. operationId: createClearAlarms requestBody: description: The ClearAlarms to be created content: application/json: schema: $ref: ‘#/components/schemas/ClearAlarmsCreate’ required: true responses: “201”: description: Created content: application/json: schema: $ref: ‘#/components/schemas/ClearAlarms’ example: {“id”:“qUf9N4QB9XatrL7ssv0U”,“href”:"/tcsa/api/tmf/v1/clearAlarms/qUf9N4QB9XatrL7ssv0U",“alarmClearedTime”:“2022-11-02T10:58:03.916199Z”,“clearSystemId”:“postman-api”,“clearUserId”:“admin”,“state”:“IN_PROGRESS”,“alarmPattern”:[{“alarmedObjectType”:“Container”,“state”:“ACTIVE”},{“id”:“Name:NOTIFICATION-VPN_VPN-100_:9900_Impacted$Source:INCHARGE-SA-PRES$”}],“clearedAlarm”:[],"@baseType":null,"@schemaLocation":null,"@type":null} “400”: description: Bad Request content: application/json: schema: $ref: ‘#/components/schemas/Error’ “401”: description: Unauthorized content: application/json: schema: $ref: ‘#/components/schemas/Error’ “403”: description: Forbidden content: application/json: schema: $ref: ‘#/components/schemas/Error’ “405”: description: Method Not allowed content: application/json: schema: $ref: ‘#/components/schemas/Error’ “409”: description: Conflict content: application/json: schema: $ref: ‘#/components/schemas/Error’ “500”: description: Internal Server Error content: application/json: schema: $ref: ‘#/components/schemas/Error’ x-codegen-request-body-name: clearAlarms /tcsa/api/tmf/v1/clearAlarms/{id}: get: tags: - tmf-alarms summary: Retrieves a ClearAlarms by ID description: This operation retrieves a ClearAlarms entity. Attribute selection is enabled for all first level attributes. operationId: retrieveClearAlarms parameters: - name: id in: path description: Identifier of the ClearAlarms required: true schema: type: string example: ojEVD4QBpi1WVs4LcOe9 - name: fields in: query description: Comma-separated properties to provide in response schema: type: string example: id responses: “200”: description: Success content: application/json: schema: $ref: ‘#/components/schemas/ClearAlarms’ example: {“id”:“ojEVD4QBpi1WVs4LcOe9”,“href”:"/tcsa/api/tmf/v1/clearAlarms/ojEVD4QBpi1WVs4LcOe9",“alarmClearedTime”:“2022-10-25T12:18:06.690858Z”,“clearSystemId”:“postman-api”,“clearUserId”:“admin”,“state”:“COMPLETED”,“alarmPattern”:[{“id”:“Name:NOTIFICATION-KubernetesPod_KubernetesPod-c8b99b8c-ebc4-4d7f-851f-44a345ec08a5_Down$Source:INCHARGE-SA-PRES$”},{“id”:“Name:NOTIFICATION-KubernetesPod_KubernetesPod-9e646517-4db6-431b-8ac8-47ceb5ed0551_Down$Source:INCHARGE-SA-PRES$”}],“clearedAlarm”:[{“correlatedAlarm”:[{“id”:“Name:NOTIFICATION-KubernetesPod_KubernetesPod-c8b99b8c-ebc4-4d7f-851f-44a345ec08a5_Failed$Source:INCHARGE-SA-PRES$”,“href”:"/tcsa/api/alarms/Name%3ANOTIFICATION-KubernetesPod_KubernetesPod-c8b99b8c-ebc4-4d7f-851f-44a345ec08a5_Failed%24Source%3AINCHARGE-SA-PRES%24",“name”:“Name:NOTIFICATION-KubernetesPod_KubernetesPod-c8b99b8c-ebc4-4d7f-851f-44a345ec08a5_Failed$Source:INCHARGE-SA-PRES$”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”,"@referredType":null},{“id”:“Name:NOTIFICATION-Container_Container-0f5e85e1-a143-4b95-aff0-269c034f39e5_Failed$Source:INCHARGE-SA-PRES$”,“href”:"/tcsa/api/alarms/Name%3ANOTIFICATION-Container_Container-0f5e85e1-a143-4b95-aff0-269c034f39e5_Failed%24Source%3AINCHARGE-SA-PRES%24",“name”:“Name:NOTIFICATION-Container_Container-0f5e85e1-a143-4b95-aff0-269c034f39e5_Failed$Source:INCHARGE-SA-PRES$”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”,"@referredType":null},{“id”:“Name:NOTIFICATION-NetworkFunction_ContainerNetworkFunction-852df9f0-8847-41fa-b858-24b708784b5d_Impaired$Source:INCHARGE-SA-PRES$”,“href”:"/tcsa/api/alarms/Name%3ANOTIFICATION-NetworkFunction_ContainerNetworkFunction-852df9f0-8847-41fa-b858-24b708784b5d_Impaired%24Source%3AINCHARGE-SA-PRES%24",“name”:“Name:NOTIFICATION-NetworkFunction_ContainerNetworkFunction-852df9f0-8847-41fa-b858-24b708784b5d_Impaired$Source:INCHARGE-SA-PRES$”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”,"@referredType":null}],“ackSystemId”:null,“ackUserId”:null,“affectedService”:null,“alarmEscalation”:null,“clearSystemId”:null,“clearUserId”:null,“crossedThresholdInformation”:{},“externalAlarmId”:null,“probableCause”:null,“reportingSystemId”:null,“serviceAffecting”:null,“specificProblem”:null,“proposedRepairedActions”:null,“place”:[],“rootCause”:true,“source”:null,“instanceName”:null,“id”:“Name:NOTIFICATION-KubernetesPod_KubernetesPod-c8b99b8c-ebc4-4d7f-851f-44a345ec08a5_Down$Source:INCHARGE-SA-PRES$”,“href”:"/tcsa/api/tmf/v1/alarms/Name%3ANOTIFICATION-KubernetesPod_KubernetesPod-c8b99b8c-ebc4-4d7f-851f-44a345ec08a5_Down%24Source%3AINCHARGE-SA-PRES%24",“ackState”:“UNACKNOWLEDGED”,“alarmChangedTime”:“2022-10-20T15:07:14Z”,“alarmClearedTime”:null,“alarmDetails”:“no description available”,“alarmRaisedTime”:“2022-10-25T08:08:45.431Z”,“alarmReportingTime”:“2022-10-25T08:08:45.431Z”,“alarmType”:“Down”,“alarmedObjectType”:“KubernetesPod”,“isRootCause”:true,“perceivedSeverity”:“CRITICAL”,“plannedOutageIndicator”:“OUT_OF_SERVICE”,“sourceSystemId”:“INCHARGE-ESM”,“state”:“ACTIVE”,“alarmedObject”:{“id”:“KubernetesPod-c8b99b8c-ebc4-4d7f-851f-44a345ec08a5$KubernetesPod$INCHARGE-SA-PRES”,“href”:"/tcsa/api/topology/v1/instances/KubernetesPod-c8b99b8c-ebc4-4d7f-851f-44a345ec08a5%24KubernetesPod%24INCHARGE-SA-PRES","@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},“comment”:[{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-20T15:02:05Z”,“userId”:“DXA”,“baseType”:“alarm”,“schemaLocation”:“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,“type”:“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-20T15:01:09Z”,“userId”:“DXA”,“baseType”:“alarm”,“schemaLocation”:“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,“type”:“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-20T15:01:01Z”,“userId”:“DXA”,“baseType”:“alarm”,“schemaLocation”:“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,“type”:“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-20T15:00:26Z”,“userId”:“DXA”,“baseType”:“alarm”,“schemaLocation”:“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,“type”:“notification”},{“comment”:“INCHARGE-SA: Domain Server Disconnected.”,“systemId”:null,“time”:“2022-10-20T14:58:10Z”,“userId”:“DXA”,“baseType”:“alarm”,“schemaLocation”:“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,“type”:“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-20T14:57:32Z”,“userId”:“DXA”,“baseType”:“alarm”,“schemaLocation”:“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,“type”:“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-20T09:37:30Z”,“userId”:“DXA”,“baseType”:“alarm”,“schemaLocation”:“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,“type”:“notification”}],“parentAlarm”:[],"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“correlatedAlarm”:[{“id”:“Name:NOTIFICATION-KubernetesPod_KubernetesPod-9e646517-4db6-431b-8ac8-47ceb5ed0551_Failed$Source:INCHARGE-SA-PRES$”,“href”:"/tcsa/api/alarms/Name%3ANOTIFICATION-KubernetesPod_KubernetesPod-9e646517-4db6-431b-8ac8-47ceb5ed0551_Failed%24Source%3AINCHARGE-SA-PRES%24",“name”:“Name:NOTIFICATION-KubernetesPod_KubernetesPod-9e646517-4db6-431b-8ac8-47ceb5ed0551_Failed$Source:INCHARGE-SA-PRES$”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”,"@referredType":null},{“id”:“Name:NOTIFICATION-Container_Container-e0d164fd-f630-457b-b3f7-9ce342300ad4_Failed$Source:INCHARGE-SA-PRES$”,“href”:"/tcsa/api/alarms/Name%3ANOTIFICATION-Container_Container-e0d164fd-f630-457b-b3f7-9ce342300ad4_Failed%24Source%3AINCHARGE-SA-PRES%24",“name”:“Name:NOTIFICATION-Container_Container-e0d164fd-f630-457b-b3f7-9ce342300ad4_Failed$Source:INCHARGE-SA-PRES$”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”,"@referredType":null}],“ackSystemId”:null,“ackUserId”:null,“affectedService”:null,“alarmEscalation”:null,“clearSystemId”:null,“clearUserId”:null,“crossedThresholdInformation”:{},“externalAlarmId”:null,“probableCause”:null,“reportingSystemId”:null,“serviceAffecting”:null,“specificProblem”:null,“proposedRepairedActions”:null,“place”:[],“rootCause”:true,“source”:null,“instanceName”:null,“id”:“Name:NOTIFICATION-KubernetesPod_KubernetesPod-9e646517-4db6-431b-8ac8-47ceb5ed0551_Down$Source:INCHARGE-SA-PRES$”,“href”:"/tcsa/api/tmf/v1/alarms/Name%3ANOTIFICATION-KubernetesPod_KubernetesPod-9e646517-4db6-431b-8ac8-47ceb5ed0551_Down%24Source%3AINCHARGE-SA-PRES%24",“ackState”:“UNACKNOWLEDGED”,“alarmChangedTime”:“2022-10-20T15:01:17Z”,“alarmClearedTime”:null,“alarmDetails”:“no description available”,“alarmRaisedTime”:“2022-10-25T08:08:45.441Z”,“alarmReportingTime”:“2022-10-25T08:08:45.441Z”,“alarmType”:“Down”,“alarmedObjectType”:“KubernetesPod”,“isRootCause”:true,“perceivedSeverity”:“CRITICAL”,“plannedOutageIndicator”:“OUT_OF_SERVICE”,“sourceSystemId”:“INCHARGE-ESM”,“state”:“ACTIVE”,“alarmedObject”:{“id”:“KubernetesPod-9e646517-4db6-431b-8ac8-47ceb5ed0551$KubernetesPod$INCHARGE-SA-PRES”,“href”:"/tcsa/api/topology/v1/instances/KubernetesPod-9e646517-4db6-431b-8ac8-47ceb5ed0551%24KubernetesPod%24INCHARGE-SA-PRES","@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},“comment”:[{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-20T15:01:17Z”,“userId”:“DXA”,“baseType”:“alarm”,“schemaLocation”:“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,“type”:“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-20T15:00:34Z”,“userId”:“DXA”,“baseType”:“alarm”,“schemaLocation”:“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,“type”:“notification”},{“comment”:“INCHARGE-SA: Domain Server Disconnected.”,“systemId”:null,“time”:“2022-10-20T14:58:11Z”,“userId”:“DXA”,“baseType”:“alarm”,“schemaLocation”:“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,“type”:“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-20T14:57:35Z”,“userId”:“DXA”,“baseType”:“alarm”,“schemaLocation”:“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,“type”:“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-20T09:37:51Z”,“userId”:“DXA”,“baseType”:“alarm”,“schemaLocation”:“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,“type”:“notification”}],“parentAlarm”:[],"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”}],"@baseType":null,"@schemaLocation":null,"@type":null} “400”: description: Bad Request content: application/json: schema: $ref: ‘#/components/schemas/Error’ “401”: description: Unauthorized content: application/json: schema: $ref: ‘#/components/schemas/Error’ “403”: description: Forbidden content: application/json: schema: $ref: ‘#/components/schemas/Error’ “404”: description: Not Found content: application/json: schema: $ref: ‘#/components/schemas/Error’ “405”: description: Method Not allowed content: application/json: schema: $ref: ‘#/components/schemas/Error’ “409”: description: Conflict content: application/json: schema: $ref: ‘#/components/schemas/Error’ “500”: description: Internal Server Error content: application/json: schema: $ref: ‘#/components/schemas/Error’ /tcsa/api/tmf/v1/commentAlarms: get: tags: - tmf-alarms summary: Lists or finds CommentAlarms objects description: | This operation lists or finds CommentAlarms entities operationId: listCommentAlarms parameters: - name: fields in: query description: Comma-separated properties to be provided in response schema: type: string example: id - name: offset in: query description: Requested index for start of resources to be provided in response schema: type: integer example: 0 - name: limit in: query description: Requested number of resources to be provided in response schema: type: integer example: 10 responses: “200”: description: Success headers: X-Total-Count: description: Total number of items matching criteria schema: type: integer example: 1000 X-Result-Count: description: Actual number of items returned in the response body schema: type: integer example: 10 content: application/json: schema: type: array items: $ref: ‘#/components/schemas/CommentAlarms’ example: [{“id”:“iZUbD4QBIPNwSiXTTEC2”,“href”:"/tcsa/api/tmf/v1/commentAlarms/iZUbD4QBIPNwSiXTTEC2",“state”:“COMPLETED”,“alarmPattern”:[{“id”:“Name:NOTIFICATION-Card_CARD-10.31.161.51[limal051]/39896_Down$Source:INCHARGE-SA-PRES$”},{“id”:“Name:NOTIFICATION-Blade_BLD-BEM-10.31.161.51[limal051]/1/sys/chassis-1/blade-7_Down$Source:INCHARGE-SA-PRES$”},{“id”:“Name:NOTIFICATION-CPU__Performance__HostResources_I-CPU__Performance__HostResources-PSR-10.107.118.170/14_HighUtilization$Source:INCHARGE-SA-PRES$”}],“comment”:{“comment”:“Testing Comments 2 for openAPI spec”,“systemId”:null,“time”:“2022-10-25T12:25:58Z”,“userId”:“admin”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},“commentedAlarm”:[{“correlatedAlarm”:[],“ackSystemId”:null,“ackUserId”:null,“affectedService”:null,“alarmEscalation”:null,“clearSystemId”:null,“clearUserId”:null,“crossedThresholdInformation”:{},“externalAlarmId”:null,“probableCause”:null,“reportingSystemId”:null,“serviceAffecting”:null,“specificProblem”:null,“proposedRepairedActions”:null,“place”:[],“instanceName”:null,“source”:null,“rootCause”:true,“id”:“Name:NOTIFICATION-Card_CARD-10.31.161.51[limal051]/39896_Down$Source:INCHARGE-SA-PRES$”,“href”:"/tcsa/api/tmf/v1/alarms/Name%3ANOTIFICATION-Card_CARD-10.31.161.51%5Blimal051%5D%2F39896_Down%24Source%3AINCHARGE-SA-PRES%24",“ackState”:“UNACKNOWLEDGED”,“alarmChangedTime”:“2022-10-25T12:07:04Z”,“alarmClearedTime”:null,“alarmDetails”:“Indicates that a failed card is the root cause.”,“alarmRaisedTime”:“2022-10-25T12:07:25.494Z”,“alarmReportingTime”:“2022-10-25T12:07:25.494Z”,“alarmType”:“Down”,“alarmedObjectType”:“Card”,“isRootCause”:true,“perceivedSeverity”:“CRITICAL”,“plannedOutageIndicator”:“OUT_OF_SERVICE”,“sourceSystemId”:“INCHARGE-SA-PRES”,“state”:“ACTIVE”,“alarmedObject”:{“id”:“BEM-10.31.161.51[limal051]/1$BladeEnclosureManager$INCHARGE-SA-PRES”,“href”:"/tcsa/api/topology/v1/instances/BEM-10.31.161.51%5Blimal051%5D%2F1%24BladeEnclosureManager%24INCHARGE-SA-PRES","@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},“comment”:[{“comment”:“Testing Comments 2 for openAPI spec”,“systemId”:null,“time”:“2022-10-25T12:25:58Z”,“userId”:“admin”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T12:07:04Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Unacknowledged the notification”,“systemId”:null,“time”:“2022-10-25T12:03:36Z”,“userId”:“admin”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:"",“systemId”:null,“time”:“2022-10-25T11:55:14Z”,“userId”:“admin”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Testing Comments 1 for openAPI spec”,“systemId”:null,“time”:“2022-10-25T11:55:14Z”,“userId”:“admin”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Acknowledged the notification”,“systemId”:null,“time”:“2022-10-25T11:50:13Z”,“userId”:“admin”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T11:47:14Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”}],“parentAlarm”:[],"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“correlatedAlarm”:[],“ackSystemId”:null,“ackUserId”:null,“affectedService”:null,“alarmEscalation”:null,“clearSystemId”:null,“clearUserId”:null,“crossedThresholdInformation”:{},“externalAlarmId”:null,“probableCause”:null,“reportingSystemId”:null,“serviceAffecting”:null,“specificProblem”:null,“proposedRepairedActions”:null,“place”:[],“instanceName”:null,“source”:null,“rootCause”:true,“id”:“Name:NOTIFICATION-Blade_BLD-BEM-10.31.161.51[limal051]/1/sys/chassis-1/blade-7_Down$Source:INCHARGE-SA-PRES$”,“href”:"/tcsa/api/tmf/v1/alarms/Name%3ANOTIFICATION-Blade_BLD-BEM-10.31.161.51%5Blimal051%5D%2F1%2Fsys%2Fchassis-1%2Fblade-7_Down%24Source%3AINCHARGE-SA-PRES%24",“ackState”:“UNACKNOWLEDGED”,“alarmChangedTime”:“2022-10-25T12:07:04Z”,“alarmClearedTime”:null,“alarmDetails”:“Indicates that the root cause is a failed system.”,“alarmRaisedTime”:“2022-10-25T12:07:25.494Z”,“alarmReportingTime”:“2022-10-25T12:07:25.495Z”,“alarmType”:“Down”,“alarmedObjectType”:“Blade”,“isRootCause”:true,“perceivedSeverity”:“CRITICAL”,“plannedOutageIndicator”:“OUT_OF_SERVICE”,“sourceSystemId”:“INCHARGE-AM”,“state”:“INACTIVE”,“alarmedObject”:{“id”:“BLD-BEM-10.31.161.51[limal051]/1/sys/chassis-1/blade-7$Blade$INCHARGE-SA-PRES”,“href”:"/tcsa/api/topology/v1/instances/BLD-BEM-10.31.161.51%5Blimal051%5D%2F1%2Fsys%2Fchassis-1%2Fblade-7%24Blade%24INCHARGE-SA-PRES","@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},“comment”:[{“comment”:“Testing Comments 2 for openAPI spec”,“systemId”:null,“time”:“2022-10-25T12:25:58Z”,“userId”:“admin”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T12:07:04Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Unacknowledged the notification”,“systemId”:null,“time”:“2022-10-25T12:03:39Z”,“userId”:“admin”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Acknowledged the notification”,“systemId”:null,“time”:“2022-10-25T11:50:15Z”,“userId”:“admin”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T11:47:14Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”}],“parentAlarm”:[],"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“correlatedAlarm”:[],“ackSystemId”:null,“ackUserId”:null,“affectedService”:null,“alarmEscalation”:null,“clearSystemId”:null,“clearUserId”:null,“crossedThresholdInformation”:{},“externalAlarmId”:null,“probableCause”:null,“reportingSystemId”:null,“serviceAffecting”:null,“specificProblem”:null,“proposedRepairedActions”:null,“place”:[],“instanceName”:null,“source”:null,“rootCause”:true,“id”:“Name:NOTIFICATION-CPU__Performance__HostResources_I-CPU__Performance__HostResources-PSR-10.107.118.170/14_HighUtilization$Source:INCHARGE-SA-PRES$”,“href”:"/tcsa/api/tmf/v1/alarms/Name%3ANOTIFICATION-CPU__Performance__HostResources_I-CPU__Performance__HostResources-PSR-10.107.118.170%2F14_HighUtilization%24Source%3AINCHARGE-SA-PRES%24",“ackState”:“UNACKNOWLEDGED”,“alarmChangedTime”:“2022-10-25T12:23:14Z”,“alarmClearedTime”:null,“alarmDetails”:“Indicates that the utilization of the system’s processor exceeds UtilizationThreshold.”,“alarmRaisedTime”:“2022-10-25T12:07:25.494Z”,“alarmReportingTime”:“2022-10-25T12:23:35.997Z”,“alarmType”:“HighUtilization”,“alarmedObjectType”:“CPU_Performance_HostResources”,“isRootCause”:true,“perceivedSeverity”:“MAJOR”,“plannedOutageIndicator”:“OUT_OF_SERVICE”,“sourceSystemId”:“INCHARGE-AM”,“state”:“INACTIVE”,“alarmedObject”:{“id”:“10.107.118.170$Host$INCHARGE-SA-PRES”,“href”:"/tcsa/api/topology/v1/instances/10.107.118.170%24Host%24INCHARGE-SA-PRES","@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},“comment”:[{“comment”:“Testing Comments 2 for openAPI spec”,“systemId”:null,“time”:“2022-10-25T12:25:58Z”,“userId”:“admin”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T12:23:14Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Audit trail entries up to and including serial #849 were archived.”,“systemId”:null,“time”:“2022-10-25T12:19:44Z”,“userId”:“SYSTEM”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T12:19:44Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Unacknowledged the notification”,“systemId”:null,“time”:“2022-10-25T12:03:41Z”,“userId”:“admin”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T12:03:14Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“New event occurrence”,“systemId”:null,“time”:“2022-10-25T11:59:44Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T11:59:44Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T11:51:14Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Acknowledged the notification”,“systemId”:null,“time”:“2022-10-25T11:50:18Z”,“userId”:“admin”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T11:47:44Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T11:27:14Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T11:23:44Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T11:19:14Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T11:11:34Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T11:03:04Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T10:59:34Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T10:51:04Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T10:47:34Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T10:43:04Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T10:39:34Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T10:35:04Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T10:31:34Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T10:11:04Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T10:07:34Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T09:59:04Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T09:51:34Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T09:43:04Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T09:39:34Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T09:35:04Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T09:31:34Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T09:19:04Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T09:15:33Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T08:43:03Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T08:39:33Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T08:35:03Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T08:31:33Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T08:06:53Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T08:03:23Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T07:06:53Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T07:03:22Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T06:58:52Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T06:55:22Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T06:50:52Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T06:47:22Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T06:38:52Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T06:31:22Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T06:18:52Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T06:15:22Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T06:10:52Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T06:07:22Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T05:50:52Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”},{“comment”:“Audit trail entries up to and including serial #799 were archived.”,“systemId”:null,“time”:“2022-10-25T05:43:22Z”,“userId”:“SYSTEM”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”}],“parentAlarm”:[],"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest”,"@type":“notification”}],"@baseType":null,"@schemaLocation":null,"@type":null}] “400”: description: Bad Request content: application/json: schema: $ref: ‘#/components/schemas/Error’ “401”: description: Unauthorized content: application/json: schema: $ref: ‘#/components/schemas/Error’ “403”: description: Forbidden content: application/json: schema: $ref: ‘#/components/schemas/Error’ “404”: description: Not Found content: application/json: schema: $ref: ‘#/components/schemas/Error’ “405”: description: Method Not allowed content: application/json: schema: $ref: ‘#/components/schemas/Error’ “409”: description: Conflict content: application/json: schema: $ref: ‘#/components/schemas/Error’ “500”: description: Internal Server Error content: application/json: schema: $ref: ‘#/components/schemas/Error’ post: tags: - tmf-alarms summary: Creates a CommentAlarms description: This operation creates a CommentAlarms entity. operationId: createCommentAlarms requestBody: description: The CommentAlarms to be created content: application/json: schema: $ref: ‘#/components/schemas/CommentAlarmsCreate’ required: true responses: “201”: description: Created content: application/json: schema: $ref: ‘#/components/schemas/CommentAlarms’ example: {“id”:“hEgGOIQB9XatrL7sjVDb”,“href”:"/tcsa/api/tmf/v1/commentAlarms/hEgGOIQB9XatrL7sjVDb",“state”:“IN_PROGRESS”,“alarmPattern”:[{“alarmedObjectType”:“Container”,“state”:“ACTIVE”},{“id”:“Name:NOTIFICATION-VPN_VPN-100_:9900_Impacted$Source:INCHARGE-SA-PRES$”}],“comment”:{“comment”:“Testing Comment Alarms OpenAPI”,“systemId”:null,“time”:“2022-11-02T11:07:44Z”,“userId”:“admin”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},"commentedAlarm":[],"@baseType":null,"@schemaLocation":null,"@type":null} “400”: description: Bad Request content: application/json: schema: $ref: ‘#/components/schemas/Error’ “401”: description: Unauthorized content: application/json: schema: $ref: ‘#/components/schemas/Error’ “403”: description: Forbidden content: application/json: schema: $ref: ‘#/components/schemas/Error’ “405”: description: Method Not allowed content: application/json: schema: $ref: ‘#/components/schemas/Error’ “409”: description: Conflict content: application/json: schema: $ref: ‘#/components/schemas/Error’ “500”: description: Internal Server Error content: application/json: schema: $ref: ‘#/components/schemas/Error’ x-codegen-request-body-name: commentAlarms /tcsa/api/tmf/v1/commentAlarms/{id}: get: tags: - tmf-alarms summary: Retrieves a CommentAlarms by ID description: This operation retrieves a CommentAlarms entity. Attribute selection is enabled for all first level attributes. operationId: retrieveCommentAlarms parameters: - name: id in: path description: Identifier of the CommentAlarms required: true schema: type: string example: 4gDJEoQBpi1WVs4LG3oY - name: fields in: query description: Comma-separated properties to provide in response schema: type: string example: id responses: “200”: description: Success content: application/json: schema: $ref: ‘#/components/schemas/CommentAlarms’ example: {“id”:“4gDJEoQBpi1WVs4LG3oY”,“href”:"/tcsa/api/tmf/v1/commentAlarms/4gDJEoQBpi1WVs4LG3oY”,“state”:“COMPLETED”,“alarmPattern”:[{“id”:“Name:NOTIFICATION-Card_CARD-10.31.161.51[limal051]/39896_Down$Source:INCHARGE-SA-PRES$”},{“id”:“Name:NOTIFICATION-Blade_BLD-BEM-10.31.161.51[limal051]/1/sys/chassis-1/blade-7_Down$Source:INCHARGE-SA-PRES$”},{“id”:“Name:NOTIFICATION-CPU__Performance__HostResources_I-CPU__Performance__HostResources-PSR-10.107.118.170/14_HighUtilization$Source:INCHARGE-SA-PRES$”}],“comment”:{“comment”:“Testing Comments 2 for openAPI spec”,“systemId”:null,“time”:“2022-10-25T12:25:58Z”,“userId”:“admin”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},"commentedAlarm":[{"correlatedAlarm":[],"ackSystemId":null,"ackUserId":null,"affectedService":null,"alarmEscalation":null,"clearSystemId":null,"clearUserId":null,"crossedThresholdInformation":{},"externalAlarmId":null,"probableCause":null,"reportingSystemId":null,"serviceAffecting":null,"specificProblem":null,"proposedRepairedActions":null,"place":[],"instanceName":null,"source":null,"rootCause":true,"id":"Name:NOTIFICATION-Card_CARD-10.31.161.51[limal051]/39896_Down$Source:INCHARGE-SA-PRES$","href":"/tcsa/api/tmf/v1/alarms/Name%3ANOTIFICATION-Card_CARD-10.31.161.51%5Blimal051%5D%2F39896_Down%24Source%3AINCHARGE-SA-PRES%24","ackState":"UNACKNOWLEDGED","alarmChangedTime":"2022-10-25T12:07:04Z","alarmClearedTime":null,"alarmDetails":"Indicates that a failed card is the root cause.”,“alarmRaisedTime”:“2022-10-25T12:07:25.494Z”,“alarmReportingTime”:“2022-10-25T12:07:25.494Z”,“alarmType”:“Down”,“alarmedObjectType”:“Card”,“isRootCause”:true,“perceivedSeverity”:“CRITICAL”,“plannedOutageIndicator”:“OUT_OF_SERVICE”,“sourceSystemId”:“INCHARGE-SA-PRES”,“state”:“ACTIVE”,“alarmedObject”:{“id”:“BEM-10.31.161.51[limal051]/1$BladeEnclosureManager$INCHARGE-SA-PRES”,“href”:"/tcsa/api/topology/v1/instances/BEM-10.31.161.51%5Blimal051%5D%2F1%24BladeEnclosureManager%24INCHARGE-SA-PRES","@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},"comment":[{"comment":"Testing Comments 2 for openAPI spec”,“systemId”:null,“time”:“2022-10-25T12:25:58Z”,“userId”:“admin”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T12:07:04Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Unacknowledged the notification”,“systemId”:null,“time”:“2022-10-25T12:03:36Z”,“userId”:“admin”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"","systemId":null,"time":"2022-10-25T11:55:14Z","userId":"admin","@baseType":"alarm","@schemaLocation":"https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Testing Comments 1 for openAPI spec”,“systemId”:null,“time”:“2022-10-25T11:55:14Z”,“userId”:“admin”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Acknowledged the notification”,“systemId”:null,“time”:“2022-10-25T11:50:13Z”,“userId”:“admin”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T11:47:14Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"}],"parentAlarm":[],"@baseType":"alarm","@schemaLocation":"https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"correlatedAlarm":[],"ackSystemId":null,"ackUserId":null,"affectedService":null,"alarmEscalation":null,"clearSystemId":null,"clearUserId":null,"crossedThresholdInformation":{},"externalAlarmId":null,"probableCause":null,"reportingSystemId":null,"serviceAffecting":null,"specificProblem":null,"proposedRepairedActions":null,"place":[],"instanceName":null,"source":null,"rootCause":true,"id":"Name:NOTIFICATION-Blade_BLD-BEM-10.31.161.51[limal051]/1/sys/chassis-1/blade-7_Down$Source:INCHARGE-SA-PRES$","href":"/tcsa/api/tmf/v1/alarms/Name%3ANOTIFICATION-Blade_BLD-BEM-10.31.161.51%5Blimal051%5D%2F1%2Fsys%2Fchassis-1%2Fblade-7_Down%24Source%3AINCHARGE-SA-PRES%24","ackState":"UNACKNOWLEDGED","alarmChangedTime":"2022-10-25T12:07:04Z","alarmClearedTime":null,"alarmDetails":"Indicates that the root cause is a failed system.”,“alarmRaisedTime”:“2022-10-25T12:07:25.494Z”,“alarmReportingTime”:“2022-10-25T12:07:25.495Z”,“alarmType”:“Down”,“alarmedObjectType”:“Blade”,“isRootCause”:true,“perceivedSeverity”:“CRITICAL”,“plannedOutageIndicator”:“OUT_OF_SERVICE”,“sourceSystemId”:“INCHARGE-AM”,“state”:“INACTIVE”,“alarmedObject”:{“id”:“BLD-BEM-10.31.161.51[limal051]/1/sys/chassis-1/blade-7$Blade$INCHARGE-SA-PRES”,“href”:"/tcsa/api/topology/v1/instances/BLD-BEM-10.31.161.51%5Blimal051%5D%2F1%2Fsys%2Fchassis-1%2Fblade-7%24Blade%24INCHARGE-SA-PRES","@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},"comment":[{"comment":"Testing Comments 2 for openAPI spec”,“systemId”:null,“time”:“2022-10-25T12:25:58Z”,“userId”:“admin”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T12:07:04Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Unacknowledged the notification”,“systemId”:null,“time”:“2022-10-25T12:03:39Z”,“userId”:“admin”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Acknowledged the notification”,“systemId”:null,“time”:“2022-10-25T11:50:15Z”,“userId”:“admin”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T11:47:14Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"}],"parentAlarm":[],"@baseType":"alarm","@schemaLocation":"https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"correlatedAlarm":[],"ackSystemId":null,"ackUserId":null,"affectedService":null,"alarmEscalation":null,"clearSystemId":null,"clearUserId":null,"crossedThresholdInformation":{},"externalAlarmId":null,"probableCause":null,"reportingSystemId":null,"serviceAffecting":null,"specificProblem":null,"proposedRepairedActions":null,"place":[],"instanceName":null,"source":null,"rootCause":true,"id":"Name:NOTIFICATION-CPU__Performance__HostResources_I-CPU__Performance__HostResources-PSR-10.107.118.170/14_HighUtilization$Source:INCHARGE-SA-PRES$","href":"/tcsa/api/tmf/v1/alarms/Name%3ANOTIFICATION-CPU__Performance__HostResources_I-CPU__Performance__HostResources-PSR-10.107.118.170%2F14_HighUtilization%24Source%3AINCHARGE-SA-PRES%24","ackState":"UNACKNOWLEDGED","alarmChangedTime":"2022-10-25T12:23:14Z","alarmClearedTime":null,"alarmDetails":"Indicates that the utilization of the system’s processor exceeds UtilizationThreshold.”,“alarmRaisedTime”:“2022-10-25T12:07:25.494Z”,“alarmReportingTime”:“2022-10-25T12:23:35.997Z”,“alarmType”:“HighUtilization”,“alarmedObjectType”:“CPU_Performance_HostResources”,“isRootCause”:true,“perceivedSeverity”:“MAJOR”,“plannedOutageIndicator”:“OUT_OF_SERVICE”,“sourceSystemId”:“INCHARGE-AM”,“state”:“INACTIVE”,“alarmedObject”:{“id”:“10.107.118.170$Host$INCHARGE-SA-PRES”,“href”:"/tcsa/api/topology/v1/instances/10.107.118.170%24Host%24INCHARGE-SA-PRES","@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},"comment":[{"comment":"Testing Comments 2 for openAPI spec”,“systemId”:null,“time”:“2022-10-25T12:25:58Z”,“userId”:“admin”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T12:23:14Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Audit trail entries up to and including serial #849 were archived.”,“systemId”:null,“time”:“2022-10-25T12:19:44Z”,“userId”:“SYSTEM”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T12:19:44Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Unacknowledged the notification”,“systemId”:null,“time”:“2022-10-25T12:03:41Z”,“userId”:“admin”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T12:03:14Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"New event occurrence”,“systemId”:null,“time”:“2022-10-25T11:59:44Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T11:59:44Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T11:51:14Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Acknowledged the notification”,“systemId”:null,“time”:“2022-10-25T11:50:18Z”,“userId”:“admin”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T11:47:44Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T11:27:14Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T11:23:44Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T11:19:14Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T11:11:34Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T11:03:04Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T10:59:34Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T10:51:04Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T10:47:34Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T10:43:04Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T10:39:34Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T10:35:04Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T10:31:34Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T10:11:04Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T10:07:34Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T09:59:04Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T09:51:34Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T09:43:04Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T09:39:34Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T09:35:04Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T09:31:34Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T09:19:04Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T09:15:33Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T08:43:03Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T08:39:33Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T08:35:03Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T08:31:33Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T08:06:53Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T08:03:23Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T07:06:53Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T07:03:22Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T06:58:52Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T06:55:22Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T06:50:52Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T06:47:22Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T06:38:52Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T06:31:22Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T06:18:52Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T06:15:22Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T06:10:52Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T06:07:22Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Server: INCHARGE-SA”,“systemId”:null,“time”:“2022-10-25T05:50:52Z”,“userId”:“DXA”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"},{"comment":"Audit trail entries up to and including serial #799 were archived.”,“systemId”:null,“time”:“2022-10-25T05:43:22Z”,“userId”:“SYSTEM”,"@baseType":“alarm”,"@schemaLocation":“https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"}],"parentAlarm":[],"@baseType":"alarm","@schemaLocation":"https://developer.vmware.com/apis/telco-cloud-service-assurance/latest","@type":"notification"}],"@baseType":null,"@schemaLocation":null,"@type":null} “400”: description: Bad Request content: application/json: schema: $ref: ‘#/components/schemas/Error’ “401”: description: Unauthorized content: application/json: schema: $ref: ‘#/components/schemas/Error’ “403”: description: Forbidden content: application/json: schema: $ref: ‘#/components/schemas/Error’ “404”: description: Not Found content: application/json: schema: $ref: ‘#/components/schemas/Error’ “405”: description: Method Not allowed content: application/json: schema: $ref: ‘#/components/schemas/Error’ “409”: description: Conflict content: application/json: schema: $ref: ‘#/components/schemas/Error’ “500”: description: Internal Server Error content: application/json: schema: $ref: ‘#/components/schemas/Error’
#configuration-management Paths /tcsa/api/configuration-management/v1/user-preferences/{id}/clone: post: summary: Clone the user-preference configuration. description: | This API is used for cloning the existing user-preference. If the requested “id” is defined as “parent_id” of any other user-preferences then those user-preferences will be also cloned. tags: - configuration-management operationId: v1_cloneUserPreference parameters: - in: path name: id schema: type: string example: 8019c333-1d64-44df-a957-bbb89703ba6a required: true description: Unique id, to indentify the user-preference responses: “201”: description: Created headers: Location: schema: type: string description: Provide information about the location of a cloned resource. content: application/json: schema: $ref: ‘#/components/schemas/CloneResponse’ “401”: description: Unauthorized content: {} “404”: description: Resource not found content: {} “500”: description: Internal server error content: {} /tcsa/api/configuration-management/v2/user-preferences/{id}/clone: post: summary: Clone the user-preference configuration. description: | This API is used for cloning the existing user-preference. If the requested “id” is defined as “parent_id” of any other user-preferences then those user-preferences will be also cloned. tags: - configuration-management operationId: cloneUserPreference parameters: - in: path name: id schema: type: string example: 8019c333-1d64-44df-a957-bbb89703ba6a required: true description: Unique id, to indentify the user-preference responses: “201”: description: Created headers: Location: schema: type: string description: Provide information about the location of a cloned resource. content: application/json: schema: $ref: ‘#/components/schemas/CloneResponse’ “401”: description: Unauthorized content: {} “404”: description: Resource not found content: {} “500”: description: Internal server error content: {} /tcsa/api/configuration-management/v1/user-preferences: post: summary: Create a user-preference configuration. description: | This API is used for creating a new user-preference configuration. tags: - configuration-management operationId: createUserPreference requestBody: content: application/json: schema: oneOf: - $ref: ‘#/components/schemas/CONSOLE’ - $ref: ‘#/components/schemas/VIEWS’ discriminator: propertyName: type mapping: NOTIFICATION_CONSOLE: CONSOLE SUMMARY_CONSOLE: CONSOLE LOG_VIEWS: VIEWS responses: “201”: description: Created headers: Location: schema: type: string description: Provide information about the location of a cloned resource. content: application/json: schema: $ref: ‘#/components/schemas/UserPreferenceCreateResponse’ “401”: description: Unauthorized content: {} “404”: description: Resource not found content: {} “500”: description: Internal server error content: {} “409”: description: The requested resource with the name, already exist. content: {} get: summary: Retrieve requested user-preferences. description: | This API is used for getting user-preferences based on query parameters. If no query parameter is passed then, API will return all available user-preferences for requested user. tags: - configuration-management operationId: getUserPreferencesByQuery parameters: - in: query name: type schema: type: string description: | The type user-preference. can query multiple types by comma (,) separted string - in: query name: parent_id schema: type: string description: | Id of the parent user-preference. When parent_id is used as query filter, the API will return all user-preference for which the parent_id matches. - in: query name: include schema: type: string description: | This will contain comma seperated string values. If the “include” field is passed, the result will contain only the requested field name. The “id” and “name” will be return always irrespective of include fields. responses: “200”: description: Ok content: application/json: schema: $ref: ‘#/components/schemas/ArrayOfUserPreference’ “401”: description: Unauthorized content: {} “404”: description: Resource not found content: {} “500”: description: Internal server error content: {} /tcsa/api/configuration-management/v1/user-preferences/{id}: get: summary: Retrieve requested user-preference. description: | This API is used for fetching the details of requested user-preference. tags: - configuration-management operationId: getUserPreferenceById parameters: - in: path name: id schema: type: string example: 8019c333-1d64-44df-a957-bbb89703ba6a required: true description: Unique id, to indentify the user-preference - in: query name: expand schema: type: boolean example: true required: false description: If set to true, response will also return all other user-preference which is having “id” as “parent_id”. Default is false. responses: “200”: description: Ok content: application/json: schema: $ref: ‘#/components/schemas/UserPreferenceExpandedResponse’ “401”: description: Unauthorized content: {} “404”: description: Resource not found content: {} “500”: description: Internal server error content: {} delete: summary: Delete requested user-preferences. description: | This API is used for deleting the requested user-preference. This API will also delete all the other user-prefereces, which are refering the requested user-preference as “parent”. tags: - configuration-management operationId: deleteUserPreferences parameters: - in: path name: id schema: type: string example: 8019c333-1d64-44df-a957-bbb89703ba6a required: true description: Unique id, to indentify the user-preference - in: query name: sequence_number schema: type: integer example: 349 required: true description: | The seq_no and primary_term together, helps to achieve optimized concurrency control. These two fields value, must be sent along with update request, if user want to avoid accidental concurrent changes. These value can be retrieved from the response of “GET” request of user-preference. - in: query name: primary_term schema: type: integer example: 1 required: true description: | The seq_no and primary_term together, helps to achieve optimized concurrency control. These two fields value, must be sent along with update request, if user want to avoid accidental concurrent changes. These value can be retrieved from the response of “GET” request of user-preference. responses: “204”: description: No content “401”: description: Unauthorized content: {} “409”: description: Conflicting content: {} put: summary: Update the requested user-preference. description: | This API is used for updating the existing user-preference configuration. Update API expects all parameters retrived via get API. Fields “id”, “is_predefined” and “created_by” are read-only and can’t be updated. Any missing non mandatory field in udpate request, will be set to default values. tags: - configuration-management operationId: updateUserPreference parameters: - in: path name: id schema: type: string example: 1jldkjdfjrr required: true description: Unique id, to indentify the user-preference requestBody: content: application/json: schema: $ref: ‘#/components/schemas/UserPreferenceUpdateRequest’ required: true responses: “200”: description: Created headers: Location: schema: type: string description: Provide information about the location of a cloned resource. content: application/json: schema: $ref: ‘#/components/schemas/UserPreference’ “401”: description: Unauthorized content: {} “404”: description: Resource not found content: {} “500”: description: Internal server error content: {} “409”: description: Conflicting content: {}
#remediation-rest paths /policies: get: tags: - remediation-rest summary: Retrieves all rules from the remediation model operationId: remediation_get_policies description: Retrieves all rules from the remediation model. responses: ‘200’: description: OK content: application/json: schema: type: object items: $ref: ‘#/components/schemas/RemediationPolicy’ example: {“action_name”:“slack_action”,“created_on”:“17 Nov, 2022, 15:43:44 UTC”,“description”:“slack auto policy”,“last_updated”:“17 Nov, 2022, 15:45:10 UTC”,“policy_name”:“SlackAuto”,“policy_type”:“automated”} “500”: description: Internal server error content: application/json: schema: $ref: ‘#/components/schemas/ErrorDetails’ /policy/{policy_name}: get: tags: - remediation-rest summary: Retrieves details of a specific rule from the remediation model. operationId: remediation_get_policy parameters: - name: policy_name in: path description: policy name. required: true schema: type: string default: “0” format: string allowEmptyValue: false description: ‘policy name.’ responses: ‘200’: description: OK content: application/json: schema: $ref: ‘#/components/schemas/RemediationPolicy’ example: {“action_name”:“slack_action”,“action_params”:”",“conditions”:[{“operation”:“equals”,“propName”:“Active”,“propValue”:“true”}],“created_on”:“21 Nov, 2022, 00:42:45 UTC”,“description”:“check servertools filterset”,“events”:[{“class”:“KubernetesPod”,“name”:“Failed”,“type”:“event”}],“last_updated”:“21 Nov, 2022, 00:42:45 UTC”,“policy_name”:“CheckManualFilterPolicy1”,“policy_type”:“manual”} ‘400’: description: Invalid Request sent by the user content: application/json: schema: $ref: ‘#/components/schemas/ErrorDetails’ ‘404’: description: Cannot find requested resource content: application/json: schema: $ref: ‘#/components/schemas/ErrorDetails’ “500”: description: Internal server error content: application/json: schema: $ref: ‘#/components/schemas/ErrorDetails’ post: summary: create a remediation rule. parameters: - name: policy_name in: path description: policy name. required: true schema: type: string default: “0” format: string allowEmptyValue: false description: | This API is used for creating a new remediation rule. Fields “created_on” and “last_updated” are read-only and can’t be updated. Any missing non mandatory field in udpate request, will be set to default values. tags: - remediation-rest operationId: remediation_create_policy requestBody: content: application/json: schema: $ref: ‘#/components/schemas/RemediationPolicy’ required: true responses: “201”: description: Created content: application/json: schema: $ref: ‘#/components/schemas/RemediationPolicy’ “400”: description: Invalid Request sent by the user content: {} “500”: description: Internal server error content: {} put: summary: update a remediation rule. description: | This API is used for updating a remediation rule or policy. Update API expects all parameters retrived via get API. Fields “policy_name”, “created_on” and “last_updated” are read-only and can’t be updated. Any missing non mandatory field in udpate request, will be set to default values. tags: - remediation-rest operationId: remediation_update_policy parameters: - in: path name: policy_name schema: type: string example: jiraPolicyManual required: true description: Unique id, to indentify the user-preference requestBody: content: application/json: schema: $ref: ‘#/components/schemas/RemediationPolicy’ required: true responses: “201”: description: Created content: application/json: schema: $ref: ‘#/components/schemas/RemediationPolicy’ “400”: description: Invalid Request sent by the user content: {} “404”: description: resouce not found content: {} “500”: description: Internal server error content: {} delete: summary: Delete the remediation rule. description: | This API is used for deleting the requested remediation rule. tags: - remediation-rest operationId: remediation_delete_policy_by_id parameters: - in: path name: policy_name schema: type: string example: jiraPolicyManual required: true description: Unique id, to indentify the remediation rule responses: “200”: description: No content “404”: description: resource not found content: {} “500”: description: Internal server error content: {} /actions: get: tags: - remediation-rest summary: Retrieves all actions from the remediation model operationId: remediation-get_actions_all description: Retrieves all actions from the remediation model. responses: ‘200’: description: OK content: application/json: schema: type: array items: $ref: ‘#/components/schemas/RemediationAction’ example: [{“action_name”:“servicenow_action”,“created_on”:“17 Nov, 2022, 15:42:05 UTC”,“description”:“servicenow action”,“file_type”: “PYTHON”,“last_updated”:“17 Nov, 2022, 15:42:05 UTC”},{“action_name”:“slack_action”,“created_on”:“17 Nov, 2022, 15:43:44 UTC”,“description”:“slack action”,“file_type”: “PYTHON”,“last_updated”:“17 Nov, 2022, 15:45:10 UTC”}] “500”: description: Internal server error content: application/json: schema: $ref: ‘#/components/schemas/ErrorDetails’ /actions/{action_name}: get: tags: - remediation-rest summary: Retrieves details of a specific action from the remediation model. operationId: remediation_get_action parameters: - name: action_name in: path description: action name. required: true schema: type: string default: “0” format: string allowEmptyValue: false description: ‘action name.’ responses: ‘200’: description: OK content: application/json: schema: $ref: ‘#/components/schemas/RemediationAction’ example: {“action_name”:“slack_action”,“created_on”:“21 Nov, 2022, 00:42:45 UTC”,“description”:“slack action”,“file_data”:“import json\nfrom datetime import datetime\nfrom airflow.models import DAG\nfrom airflow.models import Variable\nfrom airflow.models.param import Param\nfrom airflow.operators.python import PythonOperator\nfrom airflow.providers.slack.operators.slack import SlackAPIPostOperator\nimport logging\nfrom Success import *\nfrom Failure import *\n\nmyParams = {\n "Acknowledged": ‘false’,\n "Active": ’true’,\n "AuditTrail": [\n {\n "User": "",\n "ActionType": "",\n "SerialNumber": 0,\n "Text": "",\n "Timestamp": 0\n }\n ],\n "Category": "",\n "CausedBy": [],\n "Causes": [\n ""\n ],\n "Certainty": 0.0,\n "ClassDisplayName": "",\n "ClassName": "",\n "ClearOnAcknowledge": ‘false’,\n "ClosedAt": 0,\n "ElementClassName": "",\n "ElementName": "",\n "EventDisplayName": "",\n "EventName": "",\n "EventState": "",\n "EventText": "",\n "EventType": "",\n "FirstNotifiedAt": 0,\n "Impact": 0,\n "InMaintenance": ‘false’,\n "InstanceDisplayName": "",\n "InstanceName": "66999f1a-9ef1-4840-a427-b18e04998f49",\n "IsProblem": ’true’,\n "IsRoot": ’true’,\n "LastChangedAt": 0,\n "Name": "NOTIFICATION-Interface_IF-qa-npmpe5/4_Down",\n "OccurrenceCount": 1,\n "OpenedAt": 0,\n "Owner": "",\n "PollingID": 0,\n "PollingState": "",\n "ProcessedTimeStamp": 0,\n "Severity": 1,\n "Source": "$Source:INCHARGE-SA-PRES$",\n "SourceDomainName": "",\n "SourceEventType": "",\n "SourceInfo": "",\n "SourceSpecific": "",\n "TroubleTicketID": "",\n "UserDefined1": "",\n "UserDefined10": "",\n "UserDefined11": "",\n "UserDefined12": "",\n "UserDefined13": "",\n "UserDefined14": "",\n "UserDefined15": "",\n "UserDefined16": "",\n "UserDefined17": "",\n "UserDefined18": "",\n "UserDefined19": "",\n "UserDefined2": "",\n "UserDefined20": "",\n "UserDefined3": "",\n "UserDefined4": "",\n "UserDefined5": "",\n "UserDefined6": "",\n "UserDefined7": "",\n "UserDefined8": "",\n "UserDefined9": "",\n "tags": {\n "customer": "",\n "location": "",\n "latitude": ""\n }\n}\n\nwith DAG(\n\tdag_id=‘slack_action’,\n\tschedule_interval=None,\n\tstart_date=datetime(2022,5,16),\n default_args={‘slack_conn_id’: ‘slack_connection’, ‘channel’: ‘#airflow-slack-integration’},\n params=myParams,\n\tis_paused_upon_creation=False,\n\tcatchup=False,\n on_success_callback =success,\n on_failure_callback =failure\n) as dag:\n\n # 1. send slack message with JIRA info and summary\n task_post_slack = SlackAPIPostOperator(\n task_id=‘task_post_slack’,\n text=‘TCSA Notification received\n {{ params.Name }}\n {{ params.Source }}’,\n channel=’#airflow-slack-integration’,\n on_success_callback = success,\n on_failure_callback =failure\n )\n\n task_post_slack”,“file_type”: “PYTHON”,“last_updated”:“21 Nov, 2022, 00:42:45 UTC”} ‘400’: description: Invalid Request sent by the user content: application/json: schema: $ref: ‘#/components/schemas/ErrorDetails’ ‘404’: description: Cannot find requested resource content: application/json: schema: $ref: ‘#/components/schemas/ErrorDetails’ “500”: description: Internal server error content: application/json: schema: $ref: ‘#/components/schemas/ErrorDetails’ post: summary: create a remediation action. description: | This API is used for creating a new remediation action. Fields “created_on” and “last_updated” are read-only and can’t be updated. tags: - remediation-rest operationId: remediation_create_action parameters: - name: action_name in: path description: action name. required: true schema: type: string default: “0” format: string allowEmptyValue: false
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RemediationAction'
required: true
responses:
"201":
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/RemediationAction'
"400":
description: Invalid Request sent by the user
content: {}
"500":
description: Internal server error
content: {}
put:
summary: update a remediation action.
description: |
This API is used for updating a remediation action.
Update API expects all parameters retrived via get API.
Fields "action_name", "file_type", "created_on" and "last_updated" are read-only and can't be updated.
Any missing non mandatory field in update request, will be set to default values.
tags:
- remediation-rest
operationId: remediation_update_action
parameters:
- in: path
name: action_name
schema:
type: string
example: servicenow_action
required: true
description: Unique id, to indentify the action
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RemediationAction'
required: true
responses:
"201":
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/RemediationAction'
"400":
description: Invalid Request sent by the user
content: {}
"404":
description: resouce not found
content: {}
"500":
description: Internal server error
content: {}
delete:
summary: Delete the remediation action.
description: |
This API is used for deleting the requested remediation action.
tags:
- remediation-rest
operationId: remediation_delete_action
parameters:
- in: path
name: action_name
schema:
type: string
example: jiraPolicyManual
required: true
description: Unique id, to indentify the remediation rule
responses:
"200":
description: No content
"404":
description: resource not found
content: {}
"500":
description: Internal server error
content: {}
/connections: get: tags: - remediation-rest summary: Retrieves all connections from the remediation model operationId: get_all_remediation_connections description: Retrieves all connections from the remediation model. responses: ‘200’: description: OK content: application/json: schema: type: array items: $ref: ‘#/components/schemas/RemediationConnection’ example: [{“conn_type”:“http”,“connection_id”:“tco_jira”,“description”:“JIRA connection”,“host”: “https://jira.eng.vmware.com/”,“login”:“username”,“port”:"",“schema”:""},{“conn_type”:“slackwebhook”,“connection_id”:“slack_connection”,“description”:“slack connection”,“host”: “https://vmware.enterprise.slack.com/”,“login”:"",“port”:"",“schema”:""}] “500”: description: Internal server error content: application/json: schema: $ref: ‘#/components/schemas/ErrorDetails’ /connections/{connection_id}: get: tags: - remediation-rest summary: Retrieves details of a specific connection from the remediation model. operationId: get_remediation_connection_by_id parameters: - name: connection_id in: path description: connection name. required: true schema: type: string default: “0” format: string allowEmptyValue: false description: ‘connection name.’ responses: ‘200’: description: OK content: application/json: schema: $ref: ‘#/components/schemas/RemediationConnection’ example: {“conn_type”:“http”,“connection_id”:“tco_jira”,“description”:“JIRA connection”,“host”: “https://jira.eng.vmware.com/","login":"username","port":"","schema":""} ‘400’: description: Invalid Request sent by the user content: application/json: schema: $ref: ‘#/components/schemas/ErrorDetails’ ‘404’: description: Cannot find requested resource content: application/json: schema: $ref: ‘#/components/schemas/ErrorDetails’ “500”: description: Internal server error content: application/json: schema: $ref: ‘#/components/schemas/ErrorDetails’ post: summary: create a connection. description: | This API is used for creating a new remediation connection. tags: - remediation-rest operationId: create_remediation_connection parameters: - name: connection_id in: path description: connection name. required: true schema: type: string default: “0” format: string allowEmptyValue: false requestBody: content: application/json: schema: $ref: ‘#/components/schemas/RemediationConnection’ required: true responses: “201”: description: Created content: application/json: schema: $ref: ‘#/components/schemas/RemediationConnection’ “400”: description: Invalid Request sent by the user content: {} “500”: description: Internal server error content: {} patch: summary: update a remediation connection. description: | This API is used for updating a remediation connection. Update API expects all parameters retrived via get API. Fields “connection_id” is read-only and can’t be updated. Any missing non mandatory field in update request, will be set to default values. tags: - remediation-rest operationId: patch_remediation_connection_by_id parameters: - name: connection_id in: path description: connection name. required: true schema: type: string default: “0” format: string allowEmptyValue: false requestBody: content: application/json: schema: $ref: ‘#/components/schemas/RemediationConnection’ required: true responses: “201”: description: Created content: application/json: schema: $ref: ‘#/components/schemas/RemediationConnection’ “400”: description: Invalid Request sent by the user content: {} “404”: description: resouce not found content: {} “500”: description: Internal server error content: {} delete: summary: Delete the remediation connection. description: | This API is used for deleting the requested remediation connection. tags: - remediation-rest operationId: remediation_delete_connection_by_id parameters: - name: connection_id in: path description: connection name. required: true schema: type: string default: “0” format: string allowEmptyValue: false responses: “200”: description: No content “404”: description: resource not found content: {} “500”: description: Internal server error content: {}
/variables: get: tags: - remediation-rest summary: Retrieves all parameters from the remediation model operationId: get_all_remediation_variables description: Retrieves all parameters from the remediation model. responses: ‘200’: description: OK content: application/json: schema: type: array items: $ref: ‘#/components/schemas/RemediationVariable’ example: [{“description”:“test variable”,“key”: “testing”,“value”:“123”},{“description”:“testing again”,“key”:“testing1”,“value”:“456”}] “500”: description: Internal server error content: application/json: schema: $ref: ‘#/components/schemas/ErrorDetails’ /variables/{variable_key}: get: tags: - remediation-rest summary: Retrieves details of a specific parameter from the remediation model. operationId: get_remediation_variable_by_key parameters: - name: variable_key in: path description: parameter name. required: true schema: type: string default: “0” format: string allowEmptyValue: false description: ‘parameter name.’ responses: ‘200’: description: OK content: application/json: schema: $ref: ‘#/components/schemas/RemediationVariable’ example: {“description”:“test variable”,“key”: “testing”,“value”:“123”} ‘400’: description: Invalid Request sent by the user content: application/json: schema: $ref: ‘#/components/schemas/ErrorDetails’ ‘404’: description: Cannot find requested resource content: application/json: schema: $ref: ‘#/components/schemas/ErrorDetails’ “500”: description: Internal server error content: application/json: schema: $ref: ‘#/components/schemas/ErrorDetails’ post: summary: create a parameter. parameters: - name: variable_key in: path description: parameter name. required: true schema: type: string default: “0” format: string allowEmptyValue: false description: | This API is used for creating a new remediation parameter. tags: - remediation-rest operationId: create_remediation_variable requestBody: content: application/json: schema: $ref: ‘#/components/schemas/RemediationVariable’ required: true responses: “201”: description: Created content: application/json: schema: $ref: ‘#/components/schemas/RemediationVariable’ “400”: description: Invalid Request sent by the user content: {} “500”: description: Internal server error content: {} patch: summary: update a remediation parameter. description: | This API is used for updating a remediation parameter. Update API expects all parameters retrived via get API. Fields “variable_key” is read-only and can’t be updated. Any missing non mandatory field in update request, will be set to default values. tags: - remediation-rest operationId: patch_remediation_variable parameters: - in: path name: variable_key schema: type: string example: testing required: true description: Unique id, to indentify the parameter requestBody: content: application/json: schema: $ref: ‘#/components/schemas/RemediationVariable’ required: true responses: “201”: description: Created content: application/json: schema: $ref: ‘#/components/schemas/RemediationVariable’ “400”: description: Invalid Request sent by the user content: {} “404”: description: resouce not found content: {} “500”: description: Internal server error content: {} delete: summary: Delete the remediation parameter. description: | This API is used for deleting the requested remediation parameter. tags: - remediation-rest operationId: delete_remediation parameters: - in: path name: variable_key schema: type: string example: testing required: true description: Unique id, to indentify the remediation parameter responses: “200”: description: No content “404”: description: resource not found content: {} “500”: description: Internal server error content: {}
/dagrunstatus: get: tags: - remediation-rest summary: Retrieves the status of the tasks from the remediation db. operationId: get_all_dagrunstatus description: Retrieves the status of the tasks from the remediation db. responses: ‘200’: description: OK content: application/json: schema: type: array items: $ref: ‘#/components/schemas/RemediationStatus’ example: [{“action_name”:“bash_example”,“dag_message”:”",“dag_success”:“success”,“event_name”:“Down”,“notif_class_name”:“KubernetesWorker”,“notification_id”:“NAME:NOTIFICATION-KubernetesWorker_27999f1a-9ef1-4840-a427-b18e04998f49_Down$Source:INCHARGE-SA-PRES$”,“policy_name”:“TestManual1”,“remediation_type”:“MANUAL”,“dag_run_id”:“2022-11-09T15:11:14.663385+00:00”}] “500”: description: Internal server error content: application/json: schema: $ref: ‘#/components/schemas/ErrorDetails’ /dagrunstatus/<dag_run_id>: get: tags: - remediation-rest summary: Retrieves status of a task from the remediation db. operationId: get_dagrunstatus_by_dag_run_id parameters: - name: dag_run_id in: query description: dag run id. required: true schema: type: string default: “0” format: string allowEmptyValue: false description: ‘dag run id.’ responses: ‘200’: description: OK content: application/json: schema: $ref: ‘#/components/schemas/RemediationStatus’ example: {“action_name”:“bash_example”,“dag_message”:"",“dag_success”:“success”,“event_name”:“Down”,“notif_class_name”:“KubernetesWorker”,“notification_id”:“NAME:NOTIFICATION-KubernetesWorker_27999f1a-9ef1-4840-a427-b18e04998f49_Down$Source:INCHARGE-SA-PRES$”,“policy_name”:“TestManual1”,“remediation_type”:“MANUAL”,“dag_run_id”:“2022-11-09T15:11:14.663385+00:00”} ‘400’: description: Invalid Request sent by the user content: application/json: schema: $ref: ‘#/components/schemas/ErrorDetails’ ‘404’: description: Cannot find requested resource content: application/json: schema: $ref: ‘#/components/schemas/ErrorDetails’ “500”: description: Internal server error content: application/json: schema: $ref: ‘#/components/schemas/ErrorDetails’
/getservertoolslist: post: summary: Retrieves the list of remediation rules and actions for a particular notification. description: | This API is used for retrieve the list of remediation rules and actions for a particular notification. tags: - remediation-rest operationId: get_remediation_servertools # parameters: requestBody: content: application/json: schema: $ref: ‘#/components/schemas/RemediationServertoolsList’ required: true responses: “200”: description: success content: application/json: example: {“CheckManualFilterPolicy1”:“slack_action”, “CheckManualFilterPolicy2”:“jira_action”} “400”: description: Invalid Request sent by the user content: {} “500”: description: Internal server error content: {}
/runAction: post: summary: Trigger run of a remediation action for a particular notification. description: | This API is used to trigger a manual run a remediation action for a particular notification. tags: - remediation-rest operationId: remediation_run_action # parameters: requestBody: content: application/json: schema: $ref: ‘#/components/schemas/RemediationRunAction’ required: true responses: “200”: description: success content: {} “400”: description: Invalid Request sent by the user content: {} “500”: description: Internal server error content: {}
components: securitySchemes: bearerAuth: # arbitrary name for the security scheme type: http scheme: bearer bearerFormat: JWT # optional, arbitrary value for documentation purposes schemas:
#Catalog Mnr-mapper and kafka mapper Schemas
MnRMetaData:
title: MnrMetaData
description: Object describes keys,metadata,package name, type of data
type: object
properties:
description:
type: string
example: netflow
description: This is a netflow package.
keys:
type: array
items:
type: string
example: [ "source" ]
description: An array of keys. This helps to determine the package.
metadata:
type: array
items:
$ref: '#/components/schemas/MnRMetaDataEntity'
description: The metadata of the package.
spname:
type: string
example: Netflow
description: The name of the package.
type:
type: string
example: event
description: This describes mapping has to apply on what kind of data event or metric.
MnRMetaDataEntity:
title: MnrMetaDataEntity
description: Object describes keys,metrics and properties
type: object
properties:
keys:
type: object
description: The metadata key.
additionalProperties:
type: string
example: { "source": "Netflow" }
metrics:
type: array
description: An array of the metrics.
items:
$ref: '#/components/schemas/Metric'
properties:
type: array
description: An array of property values.
items:
type: string
example: [
"SNMP_NAME",
"eventTmst",
"source",
"REMOTE_PORT", ]
MnrMetaDataFileUpload:
required:
- file
properties:
file:
type: string
description: Mnr metadata file
format: binary
MetricEntitiesResponse:
type: object
description: Response object containing metrics and total count
required:
- page_count
- total
properties:
total:
type: integer
format: int64
example: 50
description: Total number of metric entities
page_count:
type: integer
format: int64
example: 5
description: Total number of pages in response
entity:
type: array
description: Describes the metricType , metics, tco internal
items:
$ref: '#/components/schemas/MetricModel'
MetricModel:
type: object
required:
- metricType
- metrics
- tco_internal
properties:
description:
type: string
example: Network interface and port objects
description: Description of entity
domain:
type: string
description: Domain for the metrics
metricType:
type: string
description: Metric entity type
example: RRU
metrics:
type: array
description: List of metrics of entity
items:
$ref: '#/components/schemas/Metric'
properties:
type: array
description: User defined properties for entity
items:
$ref: '#/components/schemas/MetricTypeModelProperties'
sub_domains:
type: array
description: Domain for the metrics
items:
type: string
example: ["3GPP","vRAN" ]
tags:
type: array
description: User defined properties for entity
items:
$ref: '#/components/schemas/MetricTypeModelTags'
tco_internal:
type: array
example:
- type
- colltimestamp
- instance
- processedTimestamp
description: Internal fields of TCO
items:
type: string
title: MetricModel
MetricTypeModelProperties:
type: object
required:
- name
properties:
description:
type: string
description: Description of the property
name:
type: string
example: entityName, dataSource, deviceName, entityType, deviceType
description: Name of the property
title: MetricTypeModelProperties
MetricTypeModelTags:
type: object
required:
- name
properties:
description:
type: string
description: Description of the tag
name:
type: string
description: Name of the tag
title: MetricTypeModelTags
MetricDetails:
type: object
required:
- page_count
- total
properties:
total:
type: integer
format: int64
example: 50
description: Total number of entities
page_count:
type: integer
format: int64
example: 5
description: Total number of pages
metric_details:
type: array
items:
$ref: '#/components/schemas/MetricDetailsArray'
MetricDetailsArray:
type: object
properties:
metricType:
type: string
example: NetworkAdapter
description: Metric entity type
domain:
type: string
description: Domain for the metrics
example: 5G
sub_domains:
type: array
description: Domain for the metrics
items:
type: string
example: ["3GPP","vRAN" ]
metrics:
type: array
items:
$ref: '#/components/schemas/Metric'
example: [ { "name": "Active_Time_Dl", "datatype": null, "description": "the time duration that gNb used to transmit bits to it's serving UEs", "range": null, "unit": "ms", "max": null, "min": null }, { "name": "Active_Time_Ul", "datatype": null, "description": "the time duration that gNb used to receive bits from it's serving UEs", "range": null, "unit": "ms", "max": null, "min": null } ]
MetricMetadataModel:
type: object
required:
- metricType
properties:
metricType:
type: string
description: Metric type like memory, processor etc
example: RRU
domain:
type: string
description: Domain for the metrics types, example 5G
example: 5G
sub_domains:
type: array
items:
type: string
description: Sub-domain for the metrics types, example RAN
example: ["3GPP","vRAN"]
Metric:
title: Performance Metric
required:
- name
- unit
type: object
properties:
name:
type: string
description: Name of the metric
example: ifInUnknownProtos
datatype:
type: number
nullable: true
description: datatype
example: 10.0
description:
type: string
description: Description of the metric
example: The number of packets received via the interface which were discarded
because of an unknown or unsupported protocol
range:
type: string
nullable: true
description: Range of the metric
example: Non negative integers
unit:
type: string
description: Unit of the metric
example: Pkts
max:
type: number
nullable: true
description: Max value of the metric
example: 90.0
min:
type: number
nullable: true
description: Min value of the metric
example: -1.0
ErrorDetails:
title: Error details during request processing.
required:
- errorCode
- message
type: object
properties:
errorCode:
type: string
description: Error code for the failed request
message:
type: string
description: Short summary of the error occurred
detailedMessage:
type: string
description: Detailed message with probable solution
KafkaMapperConfigResponse:
type: object
description: List of kafka collector mappings
required:
- total
- pageCount
- entity
properties:
total:
title: Total
type: integer
example: 6
default: 0
description: Total count of mapping in the database
pageCount:
title: Pagecount
type: integer
example: 1
default: 0
description: Total number of pages in the response object
entity:
type: array
items:
$ref: '#/components/schemas/KafkaMapperEntity'
KafkaMapperEntity:
type: object
description: Object contains a map, where key is the mapping name, and the value is an object of mapping metadata and json mapping
additionalProperties:
$ref: '#/components/schemas/KafkaMapperEntityObject'
KafkaMapperEntityObject:
type: object
description: Object contains a map, where key is the mapping name, and the value is an object of mapping metadata and json mapping
required:
- metadata
- default
properties:
metadata:
$ref: '#/components/schemas/MappingMetadataObject'
default:
$ref: '#/components/schemas/MappingDefaultObject'
MappingMetadataObject:
description: Mapping information e.g mapping name , mapping type
title: Metadata
type: object
properties:
enabled:
title: enabled
type: boolean
example: true
pattern: "^.*$"
description: Whether mapping is enabled or not
description:
title: Description
type: string
default: ''
example: KMD RegEx Desc
pattern: "^.*$"
description: Mapping description e.g. json_event or json_metrics
keys:
title: Keys
type: array
items:
type: string
default: [ ]
description: Array of keys for the mapping
type:
title: Type
type: string
default: ''
example: json_metrics
pattern: "^.*$"
description: Type of metrics e.g. json_event or json_metrics
MappingDefaultObject:
title: Default
type: object
description: json mapping to map the collected data
required:
- mapping
properties:
mapping:
$ref: '#/components/schemas/MappingObject'
MappingObject:
title: Mapping
type: object
description: json mapping to map the collected data
properties:
metricType:
title: Metrictype
type: string
default: ''
example: "$.properties.devtype"
pattern: "^.*$"
description: Device type or Class of the Object for which the metrics are collected.
instance:
title: Instance
type: string
default: ''
example: "$.properties.instance"
pattern: "^.*$"
description: Device or Object for which the metrics are collected.
properties.entityName:
title: Properties.entityname
type: string
default: ''
example: "$.properties.table"
pattern: "^.*$"
description: Entityname of device and property to extract from json
properties.entityType:
title: Properties.entitytype
type: string
default: ''
example: "$.properties.type"
pattern: "^.*$"
description: Entitytype of device and property to extract from json
processedTimestamp:
title: Processedtimestamp
type: string
default: ''
example: "$.timestamp"
pattern: "^.*$"
description: Timestamp when the collector has processed the metric.
metrics:
title: Metrics
type: string
default: ''
example: "$.metrics.*.value"
pattern: "^.*$"
description: Key Value pair consisting of metric name and metric value
type:
title: Type
type: string
default: ''
example: Kafka-Metrics-Defn
pattern: "^.*$"
description: Name of the data source (Kafka-Collector)
properties.dataSource:
title: Properties.datasource
type: string
default: ''
example: "$.properties.ip"
pattern: "^.*$"
description: Key Value pair of type String and String respectively of properties associated with the object.
properties.deviceName:
title: Properties.devicename
type: string
default: ''
example: "$.properties.devdesc"
pattern: "^.*$"
description: Key Value pair of type String and String respectively of properties associated with the object.
timestamp:
title: Timestamp
type: string
default: ''
example: "$.timestamp"
pattern: "^.*$"
description: Timestamp as propagated by the device.
properties.deviceType:
title: Properties.devicetype
type: string
default: ''
example: "$.properties.devtype"
pattern: "^.*$"
description: Key Value pair of type String and String respectively of properties associated with the object.
tags:
title: Tags
type: string
default: ''
example: "$.relations.*.type"
pattern: "^.*$"
description: Key Value pair of type String and String respectively of tags associated with the object.
KafkaMapperRequestObject:
type: object
description: Object contains a map, where key is the device name, and the value is an array
of aggregate sparkline performance data object.
additionalProperties:
$ref: '#/components/schemas/MappingRequest'
MappingRequest:
type: object
description: Create mapping request body a map with key as mapping name and value as mapping metadata and default mapping
required:
- metadata
- default
properties:
metadata:
$ref: '#/components/schemas/MappingMetadataObject'
default:
$ref: '#/components/schemas/MappingDefaultObject'
#Collector and Connector Schemas
deleteBlockResponse:
type: object
description: Delete collector response contains id and Status after delete operation
required:
- instanceId
- message
- time
properties:
instanceId:
title: Instanceid
type: string
default: ''
example: smarts-metrics035f8121-aaed-4d66-83eb-ae3a7841f720
pattern: "^.*$"
description: Instance id of the collector object
message:
title: Message
type: string
default: ''
example: Block instance successfully deleted
description: Message for the deletion of collector instance is successful
pattern: "^.*$"
time:
title: Time
type: string
default: ''
example: '2019-04-09 05:42:21.204886'
pattern: "^.*$"
description: Time of deletion in YYYY-MM-DD hh:mm:ss
dataCollectorPackages:
type: object
description: List packages response it returns collector package name and docker image for the packages.
additionalProperties:
$ref: '#/components/schemas/DataCollectorPackageObject'
dataCollectorInstances:
type: object
description: List all the collector instance
additionalProperties:
$ref: "#/components/schemas/CollectorInstanceSummary"
DCFRestartServiceResponse:
type: object
description: Restart collector response containing collector id and status
required:
- id
- status
properties:
id:
title: Id
type: string
default: ''
example: apg-collector-manager-cloudify-orchestratorffa3bb75-99f4-4613-8a5a-45e2cee0372c
pattern: "^.*$"
description: Instance id of the Collector instance
status:
title: Status
type: string
default: ''
example: STARTED
pattern: "^.*$"
description: Status of the collector instance after the restart operation is triggered
ListDatacenterResponse:
type: object
description: Object contains a map, where key is the datacenter label such as _core ,remote datacenter label
additionalProperties:
$ref: '#/components/schemas/DatacenterResponseObject'
CreateConnectorRequest:
type: object
description: Create Connector request json containing the name , target kafka details etc.
example: { "targetCluster": { "tls": {}, "authentication": {}, "bootstrapServers": "10.168.200.123:9092" },"name":"DashboardKafka", "topics": [ "vsa_metrics", "vsa_events" ], "tasksMax": 4, "resources": { "requests":{ "memory": "2Gi", "cpu": "1" }, "limits":{ "memory": "8Gi", "cpu": "4" } } }
required:
- name
- targetCluster
- topics
properties:
name:
title: name
type: string
pattern: "^[A-Za-z]"
description: Name of the connector should always start with a letter a-z or A-Z
example: demo_connector
tasksMax:
title: tasksMax
type: number
default: 4
description: The maximum number of tasks for the Kafka Connector.
example: 6
replicationFactor:
title: tasksMax
type: number
default: 1
description: Replication factor for the internal topics and replicated topics.
example: 2
topics:
title: topics
type: array
description: Topic names to be replicated
items:
type: string
description: Topic names to be replicated e.g. vsa_metrics, vsa_events , inv_topo
example: [vsa_metrics]
targetCluster:
$ref: '#/components/schemas/TargetClusterObject'
logging:
$ref: '#/components/schemas/LoggingObject'
resources:
$ref: '#/components/schemas/ResourcesObject'
GetConnectorResponse:
type: object
description: Get Connector response json contains connector configuration.
example: { "name": "dashboardkafka", "display_name": "DashboardKafka", "tasksMax": 4, "topics": [ "vsa_metrics", "vsa_events" ], "paused": false, "replicationFactor": 1, "refreshInterval": 60, "status": "Running", "reason": null, "message": null, "targetCluster": { "bootstrapServers": "10.168.200.123:9092", "tls": { "enabled": false }, "authentication": { "enabled": false } }, "logging": { "type": "inline", "level": "INFO" }, "resources": { "limits": { "cpu": "4000m", "memory": "8192Mi" }, "requests": { "cpu": "1000m", "memory": "2048Mi" } } }
required:
- name
- targetCluster
- topics
- status
- paused
- reason
- message
- display_name
properties:
name:
title: name
type: string
pattern: "^[A-Za-z]"
description: Name of the connector instance
display_name:
title: display_name
type: string
pattern: "^[A-Za-z]"
description: Display name of the connector instance which was provided as input parameter in create request
paused:
title: paused
type: boolean
description: Whether the connector instance is paused.
status:
title: status
type: string
description: Connector instance status - Running/Stopped/Failed/Pending
reason:
title: reason
type: string
nullable: true
description: Reason of failure if Status is failed
message:
title: message
description: Error message if the connector status is failed
type: string
nullable: true
tasksMax:
title: tasksMax
type: number
default: 4
description: The maximum number of tasks for the Kafka Connector.
example: 6
replicationFactor:
title: tasksMax
type: number
default: 1
description: Replication factor for the internal topics and replicated topics.
example: 2
topics:
title: topics
type: array
description: Topic names to be replicated
items:
type: string
description: Topic names to be replicated e.g. vsa_metrics, vsa_events , inv_topo
targetCluster:
$ref: '#/components/schemas/TargetClusterObject'
logging:
$ref: '#/components/schemas/LoggingObject'
resources:
$ref: '#/components/schemas/ResourcesObject'
UpdateConnectorRequest:
example: {"logging":{"level":"INFO","type":"inline"},"replicationFactor":2,"resources":{"limits":{"cpu":"500m","memory":"2Gi"},"requests":{"cpu":"500m","memory":"2Gi"}},"targetCluster":{"authentication":{"accessToken":"access token","certificate":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURCRENDQWV3Q0UxOVF2d25uR25YNWREemZQR2huYXZEU0ZKSXdEUVlKS29aSWh2Y05BUUVMQlFBd1B6RWIKTUJrR0ExVUVDZ3dTVmsxWFlYSmxJRVZ1WjJsdVpXVnlhVzVuTVNBd0hnWURWUVFEREJkMFkyOXdjeTV6ZG1NdQpZMngxYzNSbGNpNXNiMk5oYkRBZUZ3MHlNakF4TVRneE5qSTJNVE5hRncweU16QXhNVGd4TmpJMk1UTmFNRDh4CklEQWVCZ05WQkFNTUYzUmpiM0J6TG5OMll5NWpiSFZ6ZEdWeUxteHZZMkZzTVJzd0dRWURWUVFLREJKV1RWZGgKY21VZ1JXNW5hVzVsWlhKcGJtY3dnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFDdQpoNklsUDMzTFBXM2FTbXd6SFRoTGkzMjFPMThDRVlSWW1pNzBBa2xHWXNzbUh0VG0rL2tvYk0yOHc1V1IwSS92CkJzVHdQaW4wT3ZINXg4dTlJY0ZSTnN0TTFraHJoRmo2SlR0a05CanVxK0huZkxBdjFiSS9RNUVySVQ4aUp5TVgKV2MwTGltUEhpK090ODZCaGQ5QWJwNjlMcTdjbDRReXBWb1dNalFWV01Dc0w2S3R0NTlGOEFGeDVtS25UV1lRbApaNWxYK2NxcGE5ZFVRNXBSdDVRZ04xWUJ6N0c2eFFOS1pERHZrdnVkRm9nMUlyZnNmaTV2d3ByZHJ0OW55Uy9vCnVkcDIyVUpjSjFiYnBnZU5keWMrRWE3ci8zRG5SUXdDY1VMUnZ2WWJUbHdueFVwYXFRN3NYblB3UitvN2ttV0EKTDg0aEZiZlBkS0FaaVJYdml6VnRBZ01CQUFFd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFDaUpUVTQrTlkrZApmMVhaS2s5RTd3QllTY1psdzI4RnJhcnkrVUJzYkJYYVc1R1Z6RXdpdDV1YkRZYjlGc2VhdGdGY0lCbkR5Rkp2CnBlSXovaUxHVWIvQ1VRa3EzSndKSEthRmRWNkdQWmp3WVd3MktXaEtRYVhlTUIvUXpuZkNQNTdWaENlQnlVMVYKSjl5V3VWUGkzZkh1KzJtMThiYU1Ub2o2UTlrdjBsRVVLc3I3NzVOYnJ1QzVOZ3lMK3d0bmx0S0pXUEJNNmdLVgpOc3BrRmRqQU9DTGdqUTlYSWVIdWtodllTYTU5cURySHhKR3NnNmRTeUVnbFBxRW5zUkRnemJkVWg1Ukp2NUtPCkFZL0IweXJsMTFoc1Y2YUpiS1ZBVERDV0J0dXlaRURLSFVPcUg5VWNPR0NRcmR6T0YxRjdaNlYxQVg0cVpzcmoKY25jTUt0YWZQRk09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0","clientId":"clientId","clientSecret":"clientSecret","enabled":true,"key":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURCRENDQWV3Q0UxOVF2d25uR25YNWREemZQR2huYXZEU0ZKSXdEUVlKS29aSWh2Y05BUUVMQlFBd1B6RWIKTUJrR0ExVUVDZ3dTVmsxWFlYSmxJRVZ1WjJsdVpXVnlhVzVuTVNBd0hnWURWUVFEREJkMFkyOXdjeTV6ZG1NdQpZMngxYzNSbGNpNXNiMk5oYkRBZUZ3MHlNakF4TVRneE5qSTJNVE5hRncweU16QXhNVGd4TmpJMk1UTmFNRDh4CklEQWVCZ05WQkFNTUYzUmpiM0J6TG5OMll5NWpiSFZ6ZEdWeUxteHZZMkZzTVJzd0dRWURWUVFLREJKV1RWZGgKY21VZ1JXNW5hVzVsWlhKcGJtY3dnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFDdQpoNklsUDMzTFBXM2FTbXd6SFRoTGkzMjFPMThDRVlSWW1pNzBBa2xHWXNzbUh0VG0rL2tvYk0yOHc1V1IwSS92CkJzVHdQaW4wT3ZINXg4dTlJY0ZSTnN0TTFraHJoRmo2SlR0a05CanVxK0huZkxBdjFiSS9RNUVySVQ4aUp5TVgKV2MwTGltUEhpK090ODZCaGQ5QWJwNjlMcTdjbDRReXBWb1dNalFWV01Dc0w2S3R0NTlGOEFGeDVtS25UV1lRbApaNWxYK2NxcGE5ZFVRNXBSdDVRZ04xWUJ6N0c2eFFOS1pERHZrdnVkRm9nMUlyZnNmaTV2d3ByZHJ0OW55Uy9vCnVkcDIyVUpjSjFiYnBnZU5keWMrRWE3ci8zRG5SUXdDY1VMUnZ2WWJUbHdueFVwYXFRN3NYblB3UitvN2ttV0EKTDg0aEZiZlBkS0FaaVJYdml6VnRBZ01CQUFFd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFDaUpUVTQrTlkrZApmMVhaS2s5RTd3QllTY1psdzI4RnJhcnkrVUJzYkJYYVc1R1Z6RXdpdDV1YkRZYjlGc2VhdGdGY0lCbkR5Rkp2CnBlSXovaUxHVWIvQ1VRa3EzSndKSEthRmRWNkdQWmp3WVd3MktXaEtRYVhlTUIvUXpuZkNQNTdWaENlQnlVMVYKSjl5V3VWUGkzZkh1KzJtMThiYU1Ub2o2UTlrdjBsRVVLc3I3NzVOYnJ1QzVOZ3lMK3d0bmx0S0pXUEJNNmdLVgpOc3BrRmRqQU9DTGdqUTlYSWVIdWtodllTYTU5cURySHhKR3NnNmRTeUVnbFBxRW5zUkRnemJkVWg1Ukp2NUtPCkFZL0IweXJsMTFoc1Y2YUpiS1ZBVERDV0J0dXlaRURLSFVPcUg5VWNPR0NRcmR6T0YxRjdaNlYxQVg0cVpzcmoKY25jTUt0YWZQRk09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0","oauthCertificate":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURCRENDQWV3Q0UxOVF2d25uR25YNWREemZQR2huYXZEU0ZKSXdEUVlKS29aSWh2Y05BUUVMQlFBd1B6RWIKTUJrR0ExVUVDZ3dTVmsxWFlYSmxJRVZ1WjJsdVpXVnlhVzVuTVNBd0hnWURWUVFEREJkMFkyOXdjeTV6ZG1NdQpZMngxYzNSbGNpNXNiMk5oYkRBZUZ3MHlNakF4TVRneE5qSTJNVE5hRncweU16QXhNVGd4TmpJMk1UTmFNRDh4CklEQWVCZ05WQkFNTUYzUmpiM0J6TG5OMll5NWpiSFZ6ZEdWeUxteHZZMkZzTVJzd0dRWURWUVFLREJKV1RWZGgKY21VZ1JXNW5hVzVsWlhKcGJtY3dnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFDdQpoNklsUDMzTFBXM2FTbXd6SFRoTGkzMjFPMThDRVlSWW1pNzBBa2xHWXNzbUh0VG0rL2tvYk0yOHc1V1IwSS92CkJzVHdQaW4wT3ZINXg4dTlJY0ZSTnN0TTFraHJoRmo2SlR0a05CanVxK0huZkxBdjFiSS9RNUVySVQ4aUp5TVgKV2MwTGltUEhpK090ODZCaGQ5QWJwNjlMcTdjbDRReXBWb1dNalFWV01Dc0w2S3R0NTlGOEFGeDVtS25UV1lRbApaNWxYK2NxcGE5ZFVRNXBSdDVRZ04xWUJ6N0c2eFFOS1pERHZrdnVkRm9nMUlyZnNmaTV2d3ByZHJ0OW55Uy9vCnVkcDIyVUpjSjFiYnBnZU5keWMrRWE3ci8zRG5SUXdDY1VMUnZ2WWJUbHdueFVwYXFRN3NYblB3UitvN2ttV0EKTDg0aEZiZlBkS0FaaVJYdml6VnRBZ01CQUFFd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFDaUpUVTQrTlkrZApmMVhaS2s5RTd3QllTY1psdzI4RnJhcnkrVUJzYkJYYVc1R1Z6RXdpdDV1YkRZYjlGc2VhdGdGY0lCbkR5Rkp2CnBlSXovaUxHVWIvQ1VRa3EzSndKSEthRmRWNkdQWmp3WVd3MktXaEtRYVhlTUIvUXpuZkNQNTdWaENlQnlVMVYKSjl5V3VWUGkzZkh1KzJtMThiYU1Ub2o2UTlrdjBsRVVLc3I3NzVOYnJ1QzVOZ3lMK3d0bmx0S0pXUEJNNmdLVgpOc3BrRmRqQU9DTGdqUTlYSWVIdWtodllTYTU5cURySHhKR3NnNmRTeUVnbFBxRW5zUkRnemJkVWg1Ukp2NUtPCkFZL0IweXJsMTFoc1Y2YUpiS1ZBVERDV0J0dXlaRURLSFVPcUg5VWNPR0NRcmR6T0YxRjdaNlYxQVg0cVpzcmoKY25jTUt0YWZQRk09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0","oauthType":"clientSecret","password":"kafka_password","refreshToken":"refresh token","tls":true,"tokenEndpointUri":"http://10.192.255.163:8180/auth/realms/access-gateway/protocol/openid-connect/token","type":"plain","username":"kafka_username"},"tls":{"certificate":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURCRENDQWV3Q0UxOVF2d25uR25YNWREemZQR2huYXZEU0ZKSXdEUVlKS29aSWh2Y05BUUVMQlFBd1B6RWIKTUJrR0ExVUVDZ3dTVmsxWFlYSmxJRVZ1WjJsdVpXVnlhVzVuTVNBd0hnWURWUVFEREJkMFkyOXdjeTV6ZG1NdQpZMngxYzNSbGNpNXNiMk5oYkRBZUZ3MHlNakF4TVRneE5qSTJNVE5hRncweU16QXhNVGd4TmpJMk1UTmFNRDh4CklEQWVCZ05WQkFNTUYzUmpiM0J6TG5OMll5NWpiSFZ6ZEdWeUxteHZZMkZzTVJzd0dRWURWUVFLREJKV1RWZGgKY21VZ1JXNW5hVzVsWlhKcGJtY3dnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFDdQpoNklsUDMzTFBXM2FTbXd6SFRoTGkzMjFPMThDRVlSWW1pNzBBa2xHWXNzbUh0VG0rL2tvYk0yOHc1V1IwSS92CkJzVHdQaW4wT3ZINXg4dTlJY0ZSTnN0TTFraHJoRmo2SlR0a05CanVxK0huZkxBdjFiSS9RNUVySVQ4aUp5TVgKV2MwTGltUEhpK090ODZCaGQ5QWJwNjlMcTdjbDRReXBWb1dNalFWV01Dc0w2S3R0NTlGOEFGeDVtS25UV1lRbApaNWxYK2NxcGE5ZFVRNXBSdDVRZ04xWUJ6N0c2eFFOS1pERHZrdnVkRm9nMUlyZnNmaTV2d3ByZHJ0OW55Uy9vCnVkcDIyVUpjSjFiYnBnZU5keWMrRWE3ci8zRG5SUXdDY1VMUnZ2WWJUbHdueFVwYXFRN3NYblB3UitvN2ttV0EKTDg0aEZiZlBkS0FaaVJYdml6VnRBZ01CQUFFd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFDaUpUVTQrTlkrZApmMVhaS2s5RTd3QllTY1psdzI4RnJhcnkrVUJzYkJYYVc1R1Z6RXdpdDV1YkRZYjlGc2VhdGdGY0lCbkR5Rkp2CnBlSXovaUxHVWIvQ1VRa3EzSndKSEthRmRWNkdQWmp3WVd3MktXaEtRYVhlTUIvUXpuZkNQNTdWaENlQnlVMVYKSjl5V3VWUGkzZkh1KzJtMThiYU1Ub2o2UTlrdjBsRVVLc3I3NzVOYnJ1QzVOZ3lMK3d0bmx0S0pXUEJNNmdLVgpOc3BrRmRqQU9DTGdqUTlYSWVIdWtodllTYTU5cURySHhKR3NnNmRTeUVnbFBxRW5zUkRnemJkVWg1Ukp2NUtPCkFZL0IweXJsMTFoc1Y2YUpiS1ZBVERDV0J0dXlaRURLSFVPcUg5VWNPR0NRcmR6T0YxRjdaNlYxQVg0cVpzcmoKY25jTUt0YWZQRk09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0","enabled":true},"bootstrapServers":"target-kafka-cluster:9092"},"tasksMax":6,"topics":["string"]}
type: object
description: Update the Connector Configuration e.g. number of tasks replicationFactor, add remove topics for replication
required:
- targetCluster
- topics
properties:
tasksMax:
title: tasksMax
type: number
default: 4
description: The maximum number of tasks for the Kafka Connector.
example: 6
replicationFactor:
title: tasksMax
type: number
default: 1
description: Replication factor for the internal topics and replicated topics.
example: 2
topics:
title: topics
type: array
description: Topic names to be replicated
items:
type: string
description: Topic names to be replicated e.g. vsa_metrics, vsa_events , inv_topo
targetCluster:
$ref: '#/components/schemas/TargetClusterObject'
logging:
$ref: '#/components/schemas/LoggingObject'
resources:
$ref: '#/components/schemas/ResourcesObject'
DeleteConnectorResponse:
type: object
description: Object containing the instance id , time of deletion of teh connector object
properties:
message:
title: message
type: string
description: Denotes the connector object deletion is successful
instance_id:
title: instance_id
type: string
description: Instance id of the connector objects
time:
title: time
type: string
description: Time of deletion in YYYY-MM-DD hh:mm::ss
RestartConnectorResponse:
type: object
description: Object containing the id and status of the connector instance on which teh action is performed
properties:
id:
title: id
type: string
description: Instance id of the connector object
status:
title: status
type: string
description: Status of the object after restart operation
ListConnectorResponseData:
type: object
description: Summary of the all the instantiated connectors such as display_name , status , instance_id
properties:
display_name:
title: display_name
type: string
description: Name provided by the user to create the connector
example: Sample_connector
block_object_id:
title: block_object_id
type: string
description: Block object id of the connector object
container_id:
title: container_id
type: string
description: Reserved field for future usage
nullable: true
image_name:
title: image_name
type: string
description: Reserved field for future usage
image_version:
title: image_version
type: string
description: Reserved field for future usage
status:
title: status
type: string
description: Status of the connector e.g. running , stopped , failed , pending
example: running
instance_id:
title: instance_id
type: string
description: Instance_id of the connector object
ListConnectorResponse:
type: object
description: Returns a map where key is the connector name and value is connector details such as state , display_name, id etc.
additionalProperties:
$ref: '#/components/schemas/ListConnectorResponseData'
example: { "demo11": { "block_object_id": "kafka-connector", "container_id": "", "image_name": "KafkaMirrorMaker2", "image_version": "", "status": "Failed", "display_name": "demo11", "node_ip": null, "instance_id": "demo11" } }
LoggingObject:
type: object
description: Logging object containing logging type and logging level
example: { "type": "inline", "level": "INFO" }
properties:
type:
title: type
type: string
default: 'inline'
description: Logging type for the connector e.g values for inline
example: inline
level:
title: level
type: string
default: 'INFO'
description: Log level for the connector e.g. INFO , DEBUG
example: INFO
AuthenticationObject:
type: object
description: Target kafka server authentication details
example: {"enabled": true, type: "auth type plain/scram-sha-512/oauth/tls", "username" : "targetuser", "password": "target password"}
properties:
enabled:
title: enabled
type: boolean
default: false
description: Whether target authentication is enabled
example: true
type:
title: type
type: string
default: ''
description: Type of target kafka authentication plain , scrma-sha-512, ouath, tls
example: plain
username:
title: username
type: string
default: ''
description: Target kafka username required only if type is plain or scrma-sha-512.
example: "kafka_username"
password:
title: password
type: string
default: ''
description: Target kafka password required only if type is plain or scrma-sha-512.
example: "kafka_password"
certificate:
title: certificate
type: string
default: ''
description: Target kafka certificate in base 64 encoded string required only if type is tls.
example: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURCRENDQWV3Q0UxOVF2d25uR25YNWREemZQR2huYXZEU0ZKSXdEUVlKS29aSWh2Y05BUUVMQlFBd1B6RWIKTUJrR0ExVUVDZ3dTVmsxWFlYSmxJRVZ1WjJsdVpXVnlhVzVuTVNBd0hnWURWUVFEREJkMFkyOXdjeTV6ZG1NdQpZMngxYzNSbGNpNXNiMk5oYkRBZUZ3MHlNakF4TVRneE5qSTJNVE5hRncweU16QXhNVGd4TmpJMk1UTmFNRDh4CklEQWVCZ05WQkFNTUYzUmpiM0J6TG5OMll5NWpiSFZ6ZEdWeUxteHZZMkZzTVJzd0dRWURWUVFLREJKV1RWZGgKY21VZ1JXNW5hVzVsWlhKcGJtY3dnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFDdQpoNklsUDMzTFBXM2FTbXd6SFRoTGkzMjFPMThDRVlSWW1pNzBBa2xHWXNzbUh0VG0rL2tvYk0yOHc1V1IwSS92CkJzVHdQaW4wT3ZINXg4dTlJY0ZSTnN0TTFraHJoRmo2SlR0a05CanVxK0huZkxBdjFiSS9RNUVySVQ4aUp5TVgKV2MwTGltUEhpK090ODZCaGQ5QWJwNjlMcTdjbDRReXBWb1dNalFWV01Dc0w2S3R0NTlGOEFGeDVtS25UV1lRbApaNWxYK2NxcGE5ZFVRNXBSdDVRZ04xWUJ6N0c2eFFOS1pERHZrdnVkRm9nMUlyZnNmaTV2d3ByZHJ0OW55Uy9vCnVkcDIyVUpjSjFiYnBnZU5keWMrRWE3ci8zRG5SUXdDY1VMUnZ2WWJUbHdueFVwYXFRN3NYblB3UitvN2ttV0EKTDg0aEZiZlBkS0FaaVJYdml6VnRBZ01CQUFFd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFDaUpUVTQrTlkrZApmMVhaS2s5RTd3QllTY1psdzI4RnJhcnkrVUJzYkJYYVc1R1Z6RXdpdDV1YkRZYjlGc2VhdGdGY0lCbkR5Rkp2CnBlSXovaUxHVWIvQ1VRa3EzSndKSEthRmRWNkdQWmp3WVd3MktXaEtRYVhlTUIvUXpuZkNQNTdWaENlQnlVMVYKSjl5V3VWUGkzZkh1KzJtMThiYU1Ub2o2UTlrdjBsRVVLc3I3NzVOYnJ1QzVOZ3lMK3d0bmx0S0pXUEJNNmdLVgpOc3BrRmRqQU9DTGdqUTlYSWVIdWtodllTYTU5cURySHhKR3NnNmRTeUVnbFBxRW5zUkRnemJkVWg1Ukp2NUtPCkFZL0IweXJsMTFoc1Y2YUpiS1ZBVERDV0J0dXlaRURLSFVPcUg5VWNPR0NRcmR6T0YxRjdaNlYxQVg0cVpzcmoKY25jTUt0YWZQRk09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0
key:
title: key
type: string
default: ''
description: Target kafka key in base 64 encoded string required only if type is tls.
example: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURCRENDQWV3Q0UxOVF2d25uR25YNWREemZQR2huYXZEU0ZKSXdEUVlKS29aSWh2Y05BUUVMQlFBd1B6RWIKTUJrR0ExVUVDZ3dTVmsxWFlYSmxJRVZ1WjJsdVpXVnlhVzVuTVNBd0hnWURWUVFEREJkMFkyOXdjeTV6ZG1NdQpZMngxYzNSbGNpNXNiMk5oYkRBZUZ3MHlNakF4TVRneE5qSTJNVE5hRncweU16QXhNVGd4TmpJMk1UTmFNRDh4CklEQWVCZ05WQkFNTUYzUmpiM0J6TG5OMll5NWpiSFZ6ZEdWeUxteHZZMkZzTVJzd0dRWURWUVFLREJKV1RWZGgKY21VZ1JXNW5hVzVsWlhKcGJtY3dnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFDdQpoNklsUDMzTFBXM2FTbXd6SFRoTGkzMjFPMThDRVlSWW1pNzBBa2xHWXNzbUh0VG0rL2tvYk0yOHc1V1IwSS92CkJzVHdQaW4wT3ZINXg4dTlJY0ZSTnN0TTFraHJoRmo2SlR0a05CanVxK0huZkxBdjFiSS9RNUVySVQ4aUp5TVgKV2MwTGltUEhpK090ODZCaGQ5QWJwNjlMcTdjbDRReXBWb1dNalFWV01Dc0w2S3R0NTlGOEFGeDVtS25UV1lRbApaNWxYK2NxcGE5ZFVRNXBSdDVRZ04xWUJ6N0c2eFFOS1pERHZrdnVkRm9nMUlyZnNmaTV2d3ByZHJ0OW55Uy9vCnVkcDIyVUpjSjFiYnBnZU5keWMrRWE3ci8zRG5SUXdDY1VMUnZ2WWJUbHdueFVwYXFRN3NYblB3UitvN2ttV0EKTDg0aEZiZlBkS0FaaVJYdml6VnRBZ01CQUFFd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFDaUpUVTQrTlkrZApmMVhaS2s5RTd3QllTY1psdzI4RnJhcnkrVUJzYkJYYVc1R1Z6RXdpdDV1YkRZYjlGc2VhdGdGY0lCbkR5Rkp2CnBlSXovaUxHVWIvQ1VRa3EzSndKSEthRmRWNkdQWmp3WVd3MktXaEtRYVhlTUIvUXpuZkNQNTdWaENlQnlVMVYKSjl5V3VWUGkzZkh1KzJtMThiYU1Ub2o2UTlrdjBsRVVLc3I3NzVOYnJ1QzVOZ3lMK3d0bmx0S0pXUEJNNmdLVgpOc3BrRmRqQU9DTGdqUTlYSWVIdWtodllTYTU5cURySHhKR3NnNmRTeUVnbFBxRW5zUkRnemJkVWg1Ukp2NUtPCkFZL0IweXJsMTFoc1Y2YUpiS1ZBVERDV0J0dXlaRURLSFVPcUg5VWNPR0NRcmR6T0YxRjdaNlYxQVg0cVpzcmoKY25jTUt0YWZQRk09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0
tokenEndpointUri:
title: tokenEndpointUri
type: string
default: ''
description: Target kafka oauth token endpoint URL required only if target auth type is oauth.
example: http://10.192.255.163:8180/auth/realms/access-gateway/protocol/openid-connect/token
tls:
title: tls
type: boolean
default: false
description: Target kafka oauth serve certificate required only if target auth type is oauth.
example: true
oauthCertificate:
title: oauthCertificate
type: string
default: ''
description: Target kafka oauth certificate in base64 encoded string required only if target auth type is oauth and oauth tls is enabled.
example: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURCRENDQWV3Q0UxOVF2d25uR25YNWREemZQR2huYXZEU0ZKSXdEUVlKS29aSWh2Y05BUUVMQlFBd1B6RWIKTUJrR0ExVUVDZ3dTVmsxWFlYSmxJRVZ1WjJsdVpXVnlhVzVuTVNBd0hnWURWUVFEREJkMFkyOXdjeTV6ZG1NdQpZMngxYzNSbGNpNXNiMk5oYkRBZUZ3MHlNakF4TVRneE5qSTJNVE5hRncweU16QXhNVGd4TmpJMk1UTmFNRDh4CklEQWVCZ05WQkFNTUYzUmpiM0J6TG5OMll5NWpiSFZ6ZEdWeUxteHZZMkZzTVJzd0dRWURWUVFLREJKV1RWZGgKY21VZ1JXNW5hVzVsWlhKcGJtY3dnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFDdQpoNklsUDMzTFBXM2FTbXd6SFRoTGkzMjFPMThDRVlSWW1pNzBBa2xHWXNzbUh0VG0rL2tvYk0yOHc1V1IwSS92CkJzVHdQaW4wT3ZINXg4dTlJY0ZSTnN0TTFraHJoRmo2SlR0a05CanVxK0huZkxBdjFiSS9RNUVySVQ4aUp5TVgKV2MwTGltUEhpK090ODZCaGQ5QWJwNjlMcTdjbDRReXBWb1dNalFWV01Dc0w2S3R0NTlGOEFGeDVtS25UV1lRbApaNWxYK2NxcGE5ZFVRNXBSdDVRZ04xWUJ6N0c2eFFOS1pERHZrdnVkRm9nMUlyZnNmaTV2d3ByZHJ0OW55Uy9vCnVkcDIyVUpjSjFiYnBnZU5keWMrRWE3ci8zRG5SUXdDY1VMUnZ2WWJUbHdueFVwYXFRN3NYblB3UitvN2ttV0EKTDg0aEZiZlBkS0FaaVJYdml6VnRBZ01CQUFFd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFDaUpUVTQrTlkrZApmMVhaS2s5RTd3QllTY1psdzI4RnJhcnkrVUJzYkJYYVc1R1Z6RXdpdDV1YkRZYjlGc2VhdGdGY0lCbkR5Rkp2CnBlSXovaUxHVWIvQ1VRa3EzSndKSEthRmRWNkdQWmp3WVd3MktXaEtRYVhlTUIvUXpuZkNQNTdWaENlQnlVMVYKSjl5V3VWUGkzZkh1KzJtMThiYU1Ub2o2UTlrdjBsRVVLc3I3NzVOYnJ1QzVOZ3lMK3d0bmx0S0pXUEJNNmdLVgpOc3BrRmRqQU9DTGdqUTlYSWVIdWtodllTYTU5cURySHhKR3NnNmRTeUVnbFBxRW5zUkRnemJkVWg1Ukp2NUtPCkFZL0IweXJsMTFoc1Y2YUpiS1ZBVERDV0J0dXlaRURLSFVPcUg5VWNPR0NRcmR6T0YxRjdaNlYxQVg0cVpzcmoKY25jTUt0YWZQRk09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0
oauthType:
title: oauthType
type: string
default: ''
description: Target kafka oauth type clientSecret, refreshToken, accessToken required only if target auth type is oauth.
example: clientSecret
clientId:
title: clientId
type: string
default: ''
description: Target kafka oauth clientId required only if oauthType is clientSecret, refreshToken .
example: clientId
clientSecret:
title: clientSecret
type: string
default: ''
description: Target kafka oauth client secret required only if oauthType is clientSecret .
example: clientSecret
refreshToken:
title: refreshToken
type: string
default: ''
description: Target kafka oauth refresh token required only if oauthType is refreshToken .
example: refresh token
accessToken:
title: accessToken
type: string
default: ''
description: Target kafka oauth refresh token required only if oauthType is accessToken .
example: access token
TlsObject:
title: tls
type: object
properties:
enabled:
title: enabled
type: boolean
default: false
description: Whether target tls is enabled
example: true
certificate:
title: certificate
type: string
description: Target kafka certificate in base64 encoded string
example: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURCRENDQWV3Q0UxOVF2d25uR25YNWREemZQR2huYXZEU0ZKSXdEUVlKS29aSWh2Y05BUUVMQlFBd1B6RWIKTUJrR0ExVUVDZ3dTVmsxWFlYSmxJRVZ1WjJsdVpXVnlhVzVuTVNBd0hnWURWUVFEREJkMFkyOXdjeTV6ZG1NdQpZMngxYzNSbGNpNXNiMk5oYkRBZUZ3MHlNakF4TVRneE5qSTJNVE5hRncweU16QXhNVGd4TmpJMk1UTmFNRDh4CklEQWVCZ05WQkFNTUYzUmpiM0J6TG5OMll5NWpiSFZ6ZEdWeUxteHZZMkZzTVJzd0dRWURWUVFLREJKV1RWZGgKY21VZ1JXNW5hVzVsWlhKcGJtY3dnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFDdQpoNklsUDMzTFBXM2FTbXd6SFRoTGkzMjFPMThDRVlSWW1pNzBBa2xHWXNzbUh0VG0rL2tvYk0yOHc1V1IwSS92CkJzVHdQaW4wT3ZINXg4dTlJY0ZSTnN0TTFraHJoRmo2SlR0a05CanVxK0huZkxBdjFiSS9RNUVySVQ4aUp5TVgKV2MwTGltUEhpK090ODZCaGQ5QWJwNjlMcTdjbDRReXBWb1dNalFWV01Dc0w2S3R0NTlGOEFGeDVtS25UV1lRbApaNWxYK2NxcGE5ZFVRNXBSdDVRZ04xWUJ6N0c2eFFOS1pERHZrdnVkRm9nMUlyZnNmaTV2d3ByZHJ0OW55Uy9vCnVkcDIyVUpjSjFiYnBnZU5keWMrRWE3ci8zRG5SUXdDY1VMUnZ2WWJUbHdueFVwYXFRN3NYblB3UitvN2ttV0EKTDg0aEZiZlBkS0FaaVJYdml6VnRBZ01CQUFFd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFDaUpUVTQrTlkrZApmMVhaS2s5RTd3QllTY1psdzI4RnJhcnkrVUJzYkJYYVc1R1Z6RXdpdDV1YkRZYjlGc2VhdGdGY0lCbkR5Rkp2CnBlSXovaUxHVWIvQ1VRa3EzSndKSEthRmRWNkdQWmp3WVd3MktXaEtRYVhlTUIvUXpuZkNQNTdWaENlQnlVMVYKSjl5V3VWUGkzZkh1KzJtMThiYU1Ub2o2UTlrdjBsRVVLc3I3NzVOYnJ1QzVOZ3lMK3d0bmx0S0pXUEJNNmdLVgpOc3BrRmRqQU9DTGdqUTlYSWVIdWtodllTYTU5cURySHhKR3NnNmRTeUVnbFBxRW5zUkRnemJkVWg1Ukp2NUtPCkFZL0IweXJsMTFoc1Y2YUpiS1ZBVERDV0J0dXlaRURLSFVPcUg5VWNPR0NRcmR6T0YxRjdaNlYxQVg0cVpzcmoKY25jTUt0YWZQRk09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0
description: Target ssl certificate in base64 encoded format
example: {"enabled": true, certificate: "base64 encoded certificate"}
ResourcesObject:
title: resources
type: object
description: Maximum limits for CPU and memory resources and the requested initial resources.
example: { "limits": { "cpu": "4000m", "memory": "8192Mi" }, "requests": { "cpu": "1000m", "memory": "2048Mi" } }
properties:
limits:
$ref: "#/components/schemas/ResourceObject"
requests:
$ref: "#/components/schemas/ResourceObject"
ResourceObject:
description: Maximum limits for CPU and memory resources and the requested initial resources.
properties:
memory:
title: memory
type: string
default: 2048Mi
description: Memory in Mi or Gi or Ki
example: 2Gi
cpu:
title: cpu
type: string
default: "2000m"
description: Cpu in units or m(millis)
example: 500m
TargetClusterObject:
title: targetCluster
type: object
required:
- bootstrapServers
- tls
- authentication
description: Object having details of target kafka cluster and authentication
properties:
bootstrapServers:
title: bootstrapServers
type: string
default: ''
description: Target kafka bootstrap server address with IP:Port
example: target-kafka-cluster:9092
tls:
$ref: '#/components/schemas/TlsObject'
authentication:
$ref: '#/components/schemas/AuthenticationObject'
DataCollectorPackageObject:
type: object
description: Packages object it describes the collector package name and docker image for the packages.
required:
- image_id
- repository
- tag
properties:
image_id:
title: image_id
type: string
default: ''
example: viptela-sdwan
pattern: "^.*$"
description: Name of the collector image e.g. viptela-sdwan, cisco-aci
repository:
title: Repository
type: string
default: ''
example: registry.cluster.omega.local:8443/omega-data-collector/viptela-sdwan:1.4.0-20
pattern: "^.*$"
description: Collector image name with repository-url and image tag
tag:
title: Tag
type: string
default: ''
example: 1.4.0-20
pattern: "^.*$"
description: Collector image tag such as 1.0.0
CollectorInstanceSummary:
type: object
description: Collector instance details such as containerId, collector status, display_name
required:
- block_object_id
- container_id
- image_name
- image_version
- status
- display_name
- node_ip
properties:
block_object_id:
title: Block_object_id
type: string
default: ''
example: cisco-aci
pattern: "^.*$"
description: Block object id of collector object e.g. kafka-collector, network-traffic-flows
container_id:
title: Container_id
type: string
default: ''
example: ciscoaci1-5c5778c9cf-jc665
pattern: "^.*$"
description: Pod name of the collector instance
image_name:
title: Image_name
type: string
default: ''
example: registry.cluster.omega.local:8443/omega-data-collector/cisco-aci:1.4.0-13
pattern: "^.*$"
description: Collector image name with repository-url, image name and image tag
image_version:
title: Image_version
type: string
default: ''
example: 1.4.0-13
pattern: "^.*$"
description: Collector image version e.g 1.0.0
status:
title: Status
type: string
default: ''
example: Running
pattern: "^.*$"
description: Collector instance status Running, Stopped, Pending, Failed
display_name:
title: Display_name
type: string
default: ''
example: ciscoaci1
pattern: "^.*$"
description: Display name of the collector instance same as teh name provided in the create collector request
node_ip:
title: Node_ip
type: string
default: ''
example: 10.198.94.239
pattern: "^.*$"
description: Host ip of node where collector is deployed
DatacenterResponseObject:
type: object
description: A map of remote and local datacenters
required:
- display_name
- nodes
properties:
display_name:
title: display_name
type: string
description: Name of the datacenter all the local nodes without label will be grouped under _core display name
nodes:
type: array
items:
type: string
description: Name of the datacenter nodes with the label the nodes without label will be grouped under _core datacenter
CollectorDefaultBlockConfig:
type: object
description: Get default collector block configuration
required:
- source
- sink
properties:
source:
$ref: '#/components/schemas/DefaultBlockSourceObject'
sink:
$ref: '#/components/schemas/DefaultBlockSinkObject'
ConfigureBlockSourceObject:
title: source
type: object
description: Source cluster details e.g. source topic name , mapping name etc.
required:
- topic
- type
- mapping_name
- properties
properties:
topic:
title: Topic
type: string
default: ''
example: metrics1
pattern: "^.*$"
description: Name of the source kafka topic
type:
title: Type
type: string
default: ''
example: json_metrics
pattern: "^.*$"
description: Type of the collector json_metrics or json_events
mapping_name:
title: Mapping_name
type: string
default: ''
example: KMD RegEx
pattern: "^.*$"
description: Name of the metrics or event mapping to be applied
properties:
$ref: '#/components/schemas/ConfigureSourcePropertiesObject'
ConfigureBlockSinkObject:
title: Sink
type: object
description: Target kafka cluster topic name
required:
- topic
properties:
topic:
title: Topic
type: string
default: ''
example: vsa_metrics_raw
pattern: "^.*$"
description: Name of the kafka topic to push data
ConfigureSourcePropertiesObject:
title: properties
description: kafka Consumer properties for the source cluster
required:
- bootstrap.servers
- username
- password
- application.id
- auto.offset.reset
- group.id
- key.deserializer
- value.deserializer
properties:
bootstrap.servers:
title: Bootstrap.servers
type: string
default: ''
example: localhost:9092
pattern: "^.*$"
description: Source kafka bootstrap server ip:port
username:
title: Username
type: string
default: ''
example: ''
pattern: "^.*$"
description: Source cluster username for the bootstrap server
password:
title: Password
type: string
default: ''
example: ''
pattern: "^.*$"
description: Source cluster password for the bootstrap server
application.id:
title: Application.id
type: string
default: ''
example: omega-kafka-collector
pattern: "^.*$"
description: Application id for source e.g. omega-kafka-collector
auto.offset.reset:
title: Auto.offset.reset
type: string
default: ''
example: earliest
pattern: "^.*$"
description: Source kafka bootstrap server e.g. earliest
group.id:
title: Group.id
type: string
default: ''
example: omega-consumer-group
pattern: "^.*$"
description: Consumer group id for the bootstrap server
key.deserializer:
title: Key.deserializer
type: string
default: ''
example: org.apache.kafka.common.serialization.StringDeserializer
description: Consumer property for the source cluster record key deserializer
pattern: "^.*$"
value.deserializer:
title: Value.deserializer
type: string
default: ''
example: org.apache.kafka.common.serialization.StringDeserializer
pattern: "^.*$"
description: Consumer property for the source cluster record value deserializer
CollectorRequestObject:
description: Collector request object for is map of collect , blockid, kafka
required:
- source
- sink
properties:
source:
$ref: '#/components/schemas/ConfigureBlockSourceObject'
sink:
$ref: '#/components/schemas/ConfigureBlockSinkObject'
DefaultBlockSourceObject:
title: source
type: object
description: Source cluster details e.g. source topic name , mapping name etc.
required:
- topic
- type
- mapping
- properties
properties:
topic:
title: Topic
type: string
default: ''
example: metrics1
pattern: "^.*$"
description: Name of the source kafka topic
type:
title: Type
type: string
default: ''
example: json_metrics
pattern: "^.*$"
description: Type of the collector json_metrics or json_events
mapping:
$ref: '#/components/schemas/DefaultSourceMappingObject'
properties:
$ref: '#/components/schemas/DefaultSourcePropertiesObject'
DefaultBlockSinkObject:
title: Sink
type: object
description: Target kafka cluster topic name
required:
- topic
properties:
topic:
title: Topic
type: string
default: ''
example: vsa_metrics_raw
pattern: "^.*$"
description: Name of the kafka topic to push data
DefaultSourcePropertiesObject:
title: properties
description: kafka Consumer properties for the source cluster
required:
- bootstrap.servers
- application.id
- auto.offset.reset
- group.id
- key.deserializer
- value.deserializer
properties:
bootstrap.servers:
title: Bootstrap.servers
type: string
default: ''
example: localhost:9092
pattern: "^.*$"
description: Source kafka bootstrap server ip:port
application.id:
title: Application.id
type: string
default: ''
example: omega-kafka-collector
pattern: "^.*$"
description: Application id for source e.g. omega-kafka-collector
auto.offset.reset:
title: Auto.offset.reset
type: string
default: ''
example: earliest
pattern: "^.*$"
description: Source kafka bootstrap server e.g. earliest
group.id:
title: Group.id
type: string
default: ''
example: omega-consumer-group
pattern: "^.*$"
description: Consumer group id for the bootstrap server
key.deserializer:
title: Key.deserializer
type: string
default: ''
example: org.apache.kafka.common.serialization.StringDeserializer
description: Consumer property for the source cluster record key deserializer
pattern: "^.*$"
value.deserializer:
title: Value.deserializer
type: string
default: ''
example: org.apache.kafka.common.serialization.StringDeserializer
pattern: "^.*$"
description: Consumer property for the source cluster record value deserializer
DefaultSourceMappingObject:
title: mapping
type: object
description: Details of the default json mapping
#Metrics and User Federation schemas
MetricResponse:
type: object
description: Response object with total count and metric values
properties:
total:
type: number
description: Total number of objects
example: 1000
result:
$ref: '#/components/schemas/MetricObjects'
MetricObjects:
type: array
description: Response object containing array of metrics for given filter
items:
$ref: '#/components/schemas/MetricObject'
MetricObject:
description: Response object containing metrics for given range and metric type
type: object
properties:
timestamp:
type: integer
example: 1652360999
description: timestamp when metric is collected in device
deviceName:
type: string
example: "qa-npm"
description: Device instance name belongs to device type
deviceType:
type: string
example: "Router"
description: Device type or class name
metrictype:
type: string
description: Metric type defined in catalog
example: Memory
FreeMemory:
type: string
description: metric-name for metric-type defined in catalog
example: "250"
MaxMemory:
type: string
description: metric-name for metric-type defined in catalog
example: "250"
entityName:
type: string
description: Entity name on which metrics collected
example: MEM-qa-npm/FLASH-1.1
entityType:
type: string
description: Entity to which entity name belongs
example: Memory
ArrayOfUserFederation:
type: array
description: |
An array of user user-federation object.
items:
$ref: '#/components/schemas/UserFederation'
UserFederation:
type: object
description: The request body contains optional and mandatory parameters for configuring LDPA user federation provider.
required:
- id
- vendor
- username_ldap_attribute
- rdn_ldap_attribute
- uuid_ldap_attribute
- user_object_classes
- connection_url
- users_dn
- bind_dn
- bind_credential
- mapper
properties:
id:
type: string
example: "c3046544-3dd4-4cc4-b3bf-0383088dd99f"
description: The id of user-federation configuration.
name:
type: string
description: Name of the user-federation configuration
example: my-ldap-config
enabled:
type: boolean
example: true
description: If provider is disabled, it will not be considered for queries and imported users will be disabled and read-only until the provider is enabled again. The values could be "true" or "false". The default is "true"
priority:
type: integer
example: 1
description: Priority of provider when doing a user lookup. Lower first.
import_enabled:
type: boolean
example: true
description: If true, users will imported into keycloak DB and configured by the sync policies. The values could be "true" or "false". The default is "true"
edit_mode:
type: string
example: "READ_ONLY"
description: There are 3 possible values, READ_ONLY,WRITABLE and UNSYNCED.
READ_ONLY is read-only ldap store. WRITABLE means data will be synced back to
the LDAP on demand and UNSYNCED means user data will be imported but not
synced back to LDAP. DEFAULT is "READ_ONLY".
sync_registration:
type: boolean
example: false
description: Should newly created user will be created with LDAP store. Priority effect which provider is chosen to sync new user. The setting is applied only for WRITABLE edit mode.
vendor:
type: string
example: "AD"
description: LDAP vendor (provider). For Active Directory use 'AD' and for 'Redhat directory server' use 'rhds'.
username_ldap_attribute:
type: string
example: "cn"
description: Name of LDAP attribute which is mapped as keycloak user name.
For many LDAP server vendor it can be uid. For active directory it can be
sAMAccountName" or cn. The attribute should be filed for all user records you
want to import from LDAP to keycloak.
rdn_ldap_attribute:
type: string
example: "uid"
description: The name of attribute which is used as RDN(top attribute) of typical user DN. Usually its same as LDAP Username attribute, however its
not required. For example for Active directory its common to use 'cn' as RDN
attribute when username attribute might be 'sAMAccountName'.
uuid_ldap_attribute:
type: string
example: "uid"
description: Name of the LDAP attribute which is used as unique object identifier for objects in LDAP.
user_object_classes:
type: string
example: "inetOrgPerson, organizationalPerson"
description: All values of LDAP Object class attribute for users in LDAP divided by comma.
connection_url:
type: string
example: "http://<ip:port>"
description: Connection url to your ldap server.
users_dn:
type: string
example: "ou=users,dc=tco,dc=com"
description: Full DN of LDAP tree where your users are.
bind_type:
type: string
example: "simple"
description: Type of Authentication method used during LDAP bind operation.Supported values are 'simple' and 'none'. Default is 'simple'
bind_dn:
type: string
example: "ou=users"
description: DN of ldap admin which will be used by Keycloak to access LDAP server.
bind_credential:
type: string
description: Password of LDAP admin.
advanced:
$ref: '#/components/schemas/UserFederationAdvancedConfig'
mapper:
type: array
items:
$ref: '#/components/schemas/UserFederationMapperConfigResponse'
UserFederationCreateResponse:
type: object
description: |
The response body of create operation.
required:
- id
properties:
id:
type: string
example: "3b0f3634-dd06-4d88-b947-ae42a1a6f68b"
description: The newly created unique user federation id.
UserFederationRequest:
type: object
description: The request body contains optional and mandatory parametersfor configuring LDPA user federation provider.
required:
- vendor
- username_ldap_attribute
- rdn_ldap_attribute
- uuid_ldap_attribute
- user_object_classes
- connection_url
- users_dn
- bind_dn
- bind_credential
- mapper
- name
properties:
name:
type: string
description: Name of the user-federation configuration
example: my-ldap-config
enabled:
type: boolean
example: true
description: If provider is disabled, it will not be considered for queries and imported users will be disabled and read-only until the provider is enabled again. The values could be "true" or "false". The default is "true"
priority:
type: integer
example: 1
description: Priority of provider when doing a user lookup. Lower first.
import_enabled:
type: boolean
example: true
description: If true, users will imported into keycloak DB and configured by the sync policies. The values could be "true" or "false". The default is "true"
edit_mode:
type: string
example: "READ_ONLY"
description: There are 3 possible values, READ_ONLY,WRITABLE and UNSYNCED.
READ_ONLY is read-only ldap store. WRITABLE means data will be synced back to
the LDAP on demand and UNSYNCED means user data will be imported but not
synced back to LDAP. DEFAULT is "READ_ONLY".
sync_registration:
type: boolean
example: false
description: Should newly created user will be created with LDAP store. Priority effect which provider is chosen to sync new user. The setting is applied only for WRITABLE edit mode.
vendor:
type: string
example: "AD"
description: LDAP vendor (provider). For Active Directory use 'AD' and for 'Redhat directory server' use 'rhds'.
username_ldap_attribute:
type: string
example: "cn"
description: Name of LDAP attribute which is mapped as keycloak user name.
For many LDAP server vendor it can be uid. For active directory it can be
sAMAccountName" or cn. The attribute should be filed for all user records you
want to import from LDAP to keycloak.
rdn_ldap_attribute:
type: string
example: "uid"
description: The name of attribute which is used as RDN(top attribute) of typical user DN. Usually its same as LDAP Username attribute, however its
not required. For example for Active directory its common to use 'cn' as RDN
attribute when username attribute might be 'sAMAccountName'.
uuid_ldap_attribute:
type: string
example: "uid"
description: Name of the LDAP attribute which is used as unique object identifier for objects in LDAP.
user_object_classes:
type: string
example: "inetOrgPerson, organizationalPerson"
description: All values of LDAP Object class attribute for users in LDAP divided by comma.
connection_url:
type: string
example: "http://<ip:port>"
description: Connection url to your ldap server.
users_dn:
type: string
example: "ou=users,dc=tco,dc=com"
description: Full DN of LDAP tree where your users are.
bind_type:
type: string
example: "simple"
description: Type of Authentication method used during LDAP bind operation.Supported values are 'simple' and 'none'. Default is 'simple'
bind_dn:
type: string
example: "ou=users"
description: DN of ldap admin which will be used by Keycloak to access LDAP server.
bind_credential:
type: string
description: Password of LDAP admin.
advanced:
$ref: '#/components/schemas/UserFederationAdvancedConfig'
mapper:
type: array
items:
$ref: '#/components/schemas/UserFederationMapperConfig'
UserFederationAdvancedConfig:
type: object
description: |
The request body contains advanced parameter to configure user preference.
properties:
start_tls:
type: boolean
example: true
description: "Encrypt the connection to LDAP using STARTTLS, which will disable connection pooling"
UserFederationMapperConfig:
type: object
description: |
The request body contains parameter to map between Keycloak and Ldap.
required:
- ldap_attribute
- name
properties:
ldap_attribute:
type: string
example: "cn"
description: Name of mapped attribute on LDAP object.
name:
type: string
example: "my-mapper"
description: Name of the mapper
UserFederationMapperConfigResponse:
type: object
description: |
The request body contains parameter to map between Keycloak and Ldap.
required:
- ldap_attribute
- name
- id
properties:
id:
type: string
example: c36fcf2c-ce24-4bae-beda-8161d4eb2883
description: Id of the mapper
ldap_attribute:
type: string
example: "cn"
description: Name of mapped attribute on LDAP object.
name:
type: string
example: "my-mapper"
description: Name of the mapper
UserFederationPatchRequest:
type: object
description: The request body contains optional and mandatory parametersfor configuring LDPA user federation provider.
properties:
name:
type: string
description: Name of the user-federation configuration
example: my-ldap-config
enabled:
type: boolean
example: true
description: If provider is disabled, it will not be considered for queries and imported users will be disabled and read-only until the provider is enabled again. The values could be "true" or "false". The default is "true"
priority:
type: integer
example: 1
description: Priority of provider when doing a user lookup. Lower first.
import_enabled:
type: boolean
example: true
description: If true, users will imported into keycloak DB and configured by the sync policies. The values could be "true" or "false". The default is "true"
edit_mode:
type: string
example: "READ_ONLY"
description: There are 3 possible values, READ_ONLY,WRITABLE and UNSYNCED.
READ_ONLY is read-only ldap store. WRITABLE means data will be synced back to
the LDAP on demand and UNSYNCED means user data will be imported but not
synced back to LDAP. DEFAULT is "READ_ONLY".
sync_registration:
type: boolean
example: false
description: Should newly created user will be created with LDAP store. Priority effect which provider is chosen to sync new user. The setting is applied only for WRITABLE edit mode.
vendor:
type: string
example: "AD"
description: LDAP vendor (provider). For Active Directory use 'AD' and for 'Redhat directory server' use 'rhds'.
username_ldap_attribute:
type: string
example: "cn"
description: Name of LDAP attribute which is mapped as keycloak user name.
For many LDAP server vendor it can be uid. For active directory it can be
sAMAccountName" or cn. The attribute should be filed for all user records you
want to import from LDAP to keycloak.
rdn_ldap_attribute:
type: string
example: "uid"
description: The name of attribute which is used as RDN(top attribute) of typical user DN. Usually its same as LDAP Username attribute, however its
not required. For example for Active directory its common to use 'cn' as RDN
attribute when username attribute might be 'sAMAccountName'.
uuid_ldap_attribute:
type: string
example: "uid"
description: Name of the LDAP attribute which is used as unique object identifier for objects in LDAP.
user_object_classes:
type: string
example: "inetOrgPerson, organizationalPerson"
description: All values of LDAP Object class attribute for users in LDAP divided by comma.
connection_url:
type: string
example: "http://<ip:port>"
description: Connection url to your ldap server.
users_dn:
type: string
example: "ou=users,dc=tco,dc=com"
description: Full DN of LDAP tree where your users are.
bind_type:
type: string
example: "simple"
description: Type of Authentication method used during LDAP bind operation.Supported values are 'simple' and 'none'. Default is 'simple'
bind_dn:
type: string
example: "ou=users"
description: DN of ldap admin which will be used by Keycloak to access LDAP server.
bind_credential:
type: string
description: Password of LDAP admin.
advanced:
$ref: '#/components/schemas/UserFederationAdvancedConfig'
mapper:
type: array
items:
$ref: '#/components/schemas/UserFederationMapperConfigResponse'
# Notification Operations Schemas
NotificationRequest:
example: {"size":10,"sort":[{"fieldName":"LastChangedAt","order":"desc"}],"vsafilter":{"filterlist":[{"condition":"OR","propfilter":[{"matchtype":"MATCH","propname":"Severity","values":[1]},{"matchtype":"MATCH","propname":"Severity","values":[2]}]}]}}
type: object
description: |
Request body is optional. User requires to provide request body only when
filtering, sorting or pagination is required.
For filtering notification, user must provide "VsaFilter" in request body.
properties:
size:
type: integer
example: 20
description: The size parameter allows you to configure the maximum amount of notifications to be returned. Default is 10.
from:
type: integer
example: 0
description: The from parameter defines the offset from the first result user want to fetch. Default is 0.
sort:
type: array
items:
$ref: '#/components/schemas/Sort'
vsafilter:
$ref: '#/components/schemas/VsaFilter'
SummaryRequest:
example: {"size":10,"sort":[{"fieldName":"LastChangedAt","order":"desc"}],"vsafilter":{"filterlist":[{"condition":"OR","propfilter":[{"matchtype":"MATCH","propname":"Severity","values":[1]},{"matchtype":"MATCH","propname":"Severity","values":[2]}]}]}}
type: object
description: This object defines notification summary request.
properties:
vsafilter:
$ref: '#/components/schemas/VsaFilter'
NodeList:
type: object
description: list of nodes (i.e switch/router etc).
properties:
nodelist:
type: array
description: list of nodes for which maximum severity has to be fetched
items:
type: string
example: ["KubernetesMaster-b71f6305-17f4-47c1-97dc-bb6a441d9829$KubernetesMaster$INCHARGE-SA-PRES",
"KubernetesPod-569b3e3c-2734-4877-ae4a-7b504a5058cf$KubernetesPod$INCHARGE-SA-PRES",
"KubernetesPod-601b653d-44c2-4045-be03-b2c94640361e$KubernetesPod$INCHARGE-SA-PRES",
"KubernetesPod-7f3eefb2-a1f7-4cf8-8fd9-44959999a8c4$KubernetesPod$INCHARGE-SA-PRES",
"KubernetesPod-a95df964-740b-4909-bf4e-7bae4a047203$KubernetesPod$INCHARGE-SA-PRES",
"KubernetesPod-d6d7c864-2638-470d-bda8-49ad75e486da$KubernetesPod$INCHARGE-SA-PRES",
"KubernetesPod-ff36a997-47d0-40fa-871d-f04dcbce91e6$KubernetesPod$INCHARGE-SA-PRES",
"KubernetesWorker-96105fd2-1a74-46b6-ac8f-e869609e8d42$KubernetesWorker$INCHARGE-SA-PRES",
"VM-10.62.72.3:kube-metaswitch-np1-76ddcc547d-5pp6k$VirtualMachine$INCHARGE-SA-PRES"]
NotificationHistoryRequest:
example: {"deDupKey":"Name:NOTIFICATION-KubernetesWorker_KubernetesWorker-96105fd2-1a74-46b6-ac8f-e869609e8d42_Down$Source:INCHARGE-SA-PRES$","from":0,"size":10,"sort":[{"fieldName":"LastChangedAt","order":"desc"}],"vsafilter":{"condition":"AND","filterlist":[{"condition":"AND","propfilter":[{"matchtype":"CONTAINS","propname":"Owner","values":["SYSTEM"]}]}]}}
type: object
description: Request object contains the parameters to fetch the filtered history of a notification.
required:
- deDupKey
properties:
deDupKey:
type: string
description: DeDupkey uniquely indentifies the notification across domains.
example: Name:NOTIFICATION-KubernetesWorker_KubernetesWorker-96105fd2-1a74-46b6-ac8f-e869609e8d42_Down$Source:INCHARGE-SA-PRES$
size:
type: integer
format: int32
description: The size parameter allows you to configure the maximum amount of notifications to be returned.
example: 100
from:
type: integer
format: int32
example: 0
description: The from parameter defines the offset from the first result user want to fetch.
sort:
type: array
description: The Sort object defines, on which field sorting has to be apply and what will be the sorting order (ASC/DESC).
items:
$ref: '#/components/schemas/Sort'
vsafilter:
$ref: '#/components/schemas/VsaFilter'
RootCauseRequest:
example: {"deDupKey":"Name:NOTIFICATION-KubernetesWorker_KubernetesWorker-96105fd2-1a74-46b6-ac8f-e869609e8d42_Down$Source:INCHARGE-SA-PRES$","size":10,"sort":[{"fieldName":"LastChangedAt","order":"desc"}],"vsafilter":{"condition":"AND","filterlist":[{"condition":"AND","propfilter":[{"matchtype":"CONTAINS","propname":"Owner","values":["SYSTEM"]}]}]}}
type: object
description: Request object to get the list of causes notification.
required:
- deDupKey
properties:
deDupKey:
type: string
description: DeDupkey uniquely indentifies the notification across domains.
example: Name:NOTIFICATION-Router_dev-MPLSp8_Down$Source:INCHARGE-SA-PRES$
size:
type: integer
format: int32
description: The size parameter allows you to configure the maximum amount of notifications to be returned.
example: 100
from:
type: integer
format: int32
example: 0
description: The from parameter defines the offset from the first result user want to fetch.
sort:
type: array
description: The Sort object defines, on which field sorting has to be apply and what will be the sorting order (ASC/DESC).
items:
$ref: '#/components/schemas/Sort'
vsafilter:
$ref: '#/components/schemas/VsaFilter'
isLive:
type: boolean
description: Setting value to "true" returns the root causes for live notification, setting value to "false "will return root causes for historical notification. Default is "true"
example: false
RootCausedByRequest:
example: {"deDupKey":"Name:NOTIFICATION-NetworkFunction_NetworkFunction-ebf940d1-9166-4e3b-bb17-c6b8d200bdc2_Impaired$Source:INCHARGE-SA-PRES$","size":10,"sort":[{"fieldName":"LastChangedAt","order":"desc"}],"vsafilter":{"condition":"AND","filterlist":[{"condition":"AND","propfilter":[{"matchtype":"CONTAINS","propname":"Owner","values":["SYSTEM"]}]}]}}
type: object
description: Request object to get the list of causes notification.
required:
- deDupKey
properties:
deDupKey:
type: string
description: DeDupkey uniquely indentifies the notification across domains.
example: Name:NOTIFICATION-NetworkFunction_NetworkFunction-ebf940d1-9166-4e3b-bb17-c6b8d200bdc2_Impaired$Source:INCHARGE-SA-PRES$
size:
type: integer
format: int32
description: The size parameter allows you to configure the maximum amount of notifications to be returned.
example: 10
from:
type: integer
format: int32
example: 0
description: The from parameter defines the offset from the first result user want to fetch.
sort:
type: array
description: The Sort object defines, on which field sorting has to be apply and what will be the sorting order (ASC/DESC).
items:
$ref: '#/components/schemas/Sort'
vsafilter:
$ref: '#/components/schemas/VsaFilter'
isLive:
type: boolean
description: Setting value to "true" returns the root caused-by for live notification, setting value to "false "will return root caused-by for historical notification. Default is "true"
example: false
writeOnly: true
ActionRequest:
title: Set of Notification Unique Ids to take action
description: Object describing set of Notification Unique Ids to take action , audit text to be inserted, sam user
required:
- deDupKeys
- auditText
- user
type: object
properties:
auditText:
type: string
description: audit text to identify the action.
example: Acknowledged the notification
deDupKeys:
type: array
description: An array of notifications unique keys.
example: ["Name:NOTIFICATION-NetworkFunction_NetworkFunction-ebf940d1-9166-4e3b-bb17-c6b8d200bdc2_Impaired$Source:INCHARGE-SA-PRES$"]
items:
type: string
description: Unique Id of notification.
example: Name:NOTIFICATION-NetworkFunction_NetworkFunction-ebf940d1-9166-4e3b-bb17-c6b8d200bdc2_Impaired$Source:INCHARGE-SA-PRES$
user:
type: string
description: User who is performing this action
example: admin
ActionResponseList:
title: list of responses
description: List of responses
type: array
items:
$ref: '#/components/schemas/ActionResponse'
ActionResponse:
title: Details of each Notification action result
description: Details of each Notification action result ( success or failure)
type: object
properties:
name:
type: string
description: Notification on which action is performed
example: NOTIFICATION-NetworkFunction_NetworkFunction-ebf940d1-9166-4e3b-bb17-c6b8d200bdc2_Impaired
samName:
type: string
description: SAM Name on which action performed
example: INCHARGE-SA-PRES
user:
type: string
description: Sam user who is performing this action
example: admin
errorMessage:
type: string
description: if action failed, cause of failure and exception message for more details
example: ""
deDupKey:
type: string
description: DeDupkey uniquely indentifies the notification across domains.
example: Name:NOTIFICATION-NetworkFunction_NetworkFunction-ebf940d1-9166-4e3b-bb17-c6b8d200bdc2_Impaired$Source:INCHARGE-SA-PRES$
action:
type: string
description: action to be performed on Notification
example: acknowledge
status:
type: string
description: status of http request , success = 200 ok
example: OK
ServerToolResponse:
title: Server tool response object
description: Details of server tool
type: object
properties:
DisplayName:
type: string
description: "the server tool name to be used for display purpose"
example: "Sample - Open Trouble Ticket"
UserPrompts:
type: array
items:
type: string
description: "User Prompts, ignore this param"
ActionOutput:
type: string
description: "Action Output, ignore this param"
example: " "
Name:
type: string
description: "The name of the server tool"
example: "ICS-ServerProgramAction-Sample - Open Trouble Ticket"
AuditRequest:
title: AuditRequest
required:
- deDupKey
- firstNotifiedAt
- source
type: object
description: Audit request object, defines the request parameters required to get the audit trail.
properties:
deDupKey:
type: string
description: deDupKey, uniquely indentifies the notification across domains.
example: Name:NOTIFICATION-KubernetesWorker_KubernetesWorker-96105fd2-1a74-46b6-ac8f-e869609e8d42_Down$Source:INCHARGE-SA-PRES$
source:
type: string
description: The origin source of the notification. If source is not defined in notification, pass an empty value "".
example: INCHARGE-SA-PRES
firstNotifiedAt:
type: number
description: The timestamp of notification, when it was first notified.
example: 1660934327000
ServerToolsRequest:
title: ServerToolsRequest
description: Request payload requires to fetch available server tools for requested notification.
required:
- deDupKey
type: object
properties:
deDupKey:
type: string
description: Unique Id of notification to fetch the server tools
example: Name:NOTIFICATION-NetworkFunction_NetworkFunction-ebf940d1-9166-4e3b-bb17-c6b8d200bdc2_Impaired$Source:INCHARGE-SA-PRES$
ServerToolsActionRequest:
title: ServerToolsActionRequest
type: object
description: Server Tools Action to be performed on SAM
properties:
body:
type: string
description: 'Input required for sam to perform that Action in XML format'
example: "<arguments><target>ICS_Notification::NOTIFICATION-NetworkFunction_NetworkFunction-ebf940d1-9166-4e3b-bb17-c6b8d200bdc2_Impaired</target><action_id>ICS-ServerProgramAction-Sample - Open Trouble Ticket</action_id><parameters /></arguments>"
deDupKey:
type: string
description: DeDupkey uniquely indentifies the notification across domains.
example: Name:NOTIFICATION-NetworkFunction_NetworkFunction-ebf940d1-9166-4e3b-bb17-c6b8d200bdc2_Impaired$Source:INCHARGE-SA-PRES$
Notification:
title: Notification
type: object
description: |
Notification object can also have enriched custom fields, apart from the standard fields.
properties:
TroubleTicketID:
type: string
description: "Trouble ticket ID"
example: ""
UserDefined1:
type: string
description: "User defined field"
example: ""
UserDefined2:
type: string
description: "User defined field"
example: ""
UserDefined3:
type: string
description: "User defined field"
example: ""
UserDefined4:
type: string
description: "User defined field"
example: ""
UserDefined5:
type: string
description: "User defined field"
example: ""
UserDefined6:
type: string
description: "User defined field"
example: ""
UserDefined7:
type: string
description: "User defined field"
example: ""
UserDefined8:
type: string
description: "User defined field"
example: ""
UserDefined9:
type: string
description: "User defined field"
example: ""
UserDefined10:
type: string
description: "User defined field"
example: ""
UserDefined11:
type: string
description: "User defined field"
example: ""
UserDefined12:
type: string
description: "User defined field"
example: ""
UserDefined13:
type: string
description: "User defined field"
example: ""
UserDefined14:
type: string
description: "User defined field"
example: ""
UserDefined15:
type: string
description: "User defined field"
example: ""
UserDefined16:
type: string
description: "User defined field"
example: ""
UserDefined17:
type: string
description: "User defined field"
example: ""
UserDefined18:
type: string
description: "User defined field"
example: ""
UserDefined19:
type: string
description: "User defined field"
example: ""
UserDefined20:
type: string
description: "User defined field"
example: ""
InMaintenance:
type: boolean
description: "Did this event occur during maintenance?"
example: false
IsProblem:
type: boolean
description: "A notification is a problem when all of the original event types are 'PROBLEM' or 'UNKNOWN'. There must be at least one 'PROBLEM', i.e. 'UNKNOWN' by itself is not a problem"
example: true
Owner:
type: string
description: "The name of the user that is responsible for handling this event"
example: admin
IsLiveNotification:
type: boolean
description: "Notification is live or historical"
example: true
ProcessedTimeStamp:
type: number
description: "Timestamp in epoch milliseconds when the event from the underlying source was processed."
example: 1660635421552
InstanceDisplayName:
type: string
description: "Display name for the event instance"
example: kube-multus-ds-amd64-gv429
ElementClassName:
type: string
description: "The class name of the topology element associated with the event in the repository where this event resides. This may or may not have the same value as ClassName"
example: NetworkFunction
Name:
type: string
description: "Name of Event"
example: NOTIFICATION-NetworkFunction_NetworkFunction-ebf940d1-9166-4e3b-bb17-c6b8d200bdc2_Impaired
AcknowledgmentTime:
type: number
nullable: true
description: "The time in epoch milliseconds, when this Notification was acknowledged. A time of '0' means that the Notification has not been acknowledged"
example:
LastChangedAt:
type: number
description: "Time in epoch milliseconds of last event change"
example: 1660350567000
LastClearedAt:
type: number
description: "Last clear time in epoch milliseconds"
example: 1660350567000
nullable: true
LastNotifiedAt:
type: number
description: "Last notification time in epoch milliseconds"
example: 1660350528000
InstanceName:
type: string
description: "Instance name of the object where this event occurred. This attribute along with ClassName and EventName uniquely identify this event."
example: NetworkFunction-ebf940d1-9166-4e3b-bb17-c6b8d200bdc2
DeDupKey:
type: string
description: "Uniqe key of notification across domains"
example: Name:NOTIFICATION-NetworkFunction_NetworkFunction-ebf940d1-9166-4e3b-bb17-c6b8d200bdc2_Impaired$Source:INCHARGE-SA-PRES$
SourceDomainName:
type: string
description: "The name(s) of the domain(s)or domainGroups that have originally diagnosed and notified - directly or indirectly - current occurrences of this event. If there are more than one original domain, the attribute lists each separated by a comma. When the notification is cleared, the last clearing domain stays in the value."
example: INCHARGE-ESM
FirstNotifiedAt:
type: number
description: "First event notification time in epoch milliseconds"
example: 1660350528000
EventState:
type: string
description: "The current state of this event. ACTIVE: The event is currently active. WAS_ACTIVE: The event was active, but we lost contact with the event source. INACTIVE: The event is inactive. UNINITIALIZED: The event has not been notified yet; the object does not yet represent a notified event."
example: ACTIVE
Severity:
type: integer
description: |
"An enumerated value that describes the severity of the event from the notifier's point of view:
1 - Critical is used to indicate action is needed NOW and the scope is broad, e.g. an outage to a critical resource.
2 - Major is used to indicate action is needed NOW.
3 - Minor should be used to indicate action is needed, but the situation is not serious at this time.
4 - Unknown indicates that the element is unreachable, disconnected or in an otherwise unknown state.
5 - Normal is used when an event is purely informational."
example: 2
EventName:
type: string
description: "Name of the event. This attribute along with ClassName and InstanceName uniquely identify this event."
example: Impaired
OccurrenceCount:
type: integer
description: "The number of occurrences of this event starting from FirstNotifiedAt until LastNotifiedAt"
example: 1
SourceInfo:
type: string
description: "This table maps an original source to corresponding immediate sources.It also maintains domain groups corresponding to immediate sources."
example: "INCHARGE-SA"
EventType:
type: string
description: "Indicates the nature of the event. A MOMENTARY event has no duration. An authentication failure is a good example. A DURABLE event has a period during which the event is active and after which the event is no longer active. An example of a durable event is a link failure"
example: "DURABLE"
EventText:
type: string
description: "The textual representation or description of the event"
example: Indicates RRC and PDCP-C protocol not working.
ElementName:
type: string
description: "The name of the topology element associated with the event in the repository where this event resides. This may or may not have the same value as InstanceName. The string is empty if there is no related element."
example: gNodeB-service-mavenir
elementUUID:
type: string
description: "Internal notification id"
example: gNodeB-service-mavenir$gNodeB$INCHARGE-SA-PRES
Impact:
type: integer
description: "A quantification of the impact of this event on the infrastructure and/or business processes. There are no pre-defined semantics to the value of this attribute other than a larger numeric value indicates a larger impact"
example: 0
DeviceType:
type: string
description: "Type of device on which notifiation occured"
example: gNodeB
HasCauses:
type: boolean
description: "Does this notification causes other notifiations"
example: false
OriginalSources:
type: array
items:
type: string
NotificationStates:
type: array
items:
$ref: '#/components/schemas/NotificationState'
Active:
type: boolean
description: "Indicates if this event is ACTIVE currently"
example: true
Acknowledged:
type: boolean
description: "Indicates if this event has been acknowledged"
example: false
IsRoot:
type: boolean
description: "Indicates if this event is a root cause event"
example: false
Category:
type: string
description: "Category of this event. The event category represents a broad categorization of the event, e.g. availability vs. performance."
example: "Operational"
EventDisplayName:
type: string
description: "Display name for the event Name."
example: "Impaired"
Certainty:
type: integer
description: "The certainty of this event"
example: 100
Source:
type: string
description: "The name(s) of the domain(s)or domainGroups that have originally diagnosed and notified - directly or indirectly - current occurrences of this event. If there are more than one original domain, the attribute lists each separated by a comma. When the notification is cleared, the last clearing domain stays in the value."
example: INCHARGE-SA-PRES
ClassName:
type: string
description: "Class name of the object where this event occurred. This attribute along with InstanceName and EventName uniquely identify this event"
example: CentralUnitControlPlane
DisplayName:
type: string
description: "The string shown in the UI when this Event's name is displayed."
example: "CentralUnitControlPlane Impaired 100.0%: cucp-50332-65095-bmsed"
SourceSpecific:
type: string
description: "This indicates additional information related to the events source"
example: "primary"
ClassDisplayName:
type: string
description: "Display name for the event class."
example: "CentralUnitControlPlane"
PollingState:
type: string
description: "State assigned to differentiate, if the event is part of polling batch or subscription "
example: "POLLING"
PollingID:
type: number
nullable: true
description: "ID assigned in case the event is part of polling batch from the underlying source."
example: 1660635420400
ClearOnAcknowledge:
type: boolean
description: "Indicates if this event should be cleared when it is acknowledged. Set this to TRUE only for events that do not expire nor have sources that generate a clear"
example: false
SourceEventType:
type: string
description: "The type(s) of the events(s), i.e. 'PROBLEM', 'EVENT', 'AGGREGATE' in the source domains that have notified current occurrences of this event. If there is more than one domain the attribute lists each separated by a comma, in the same order as SourceDomainName. "
example: "EVENT"
ToolInfo:
type: string
nullable: true
description: "Place holder for data related to other tools"
example:
tags:
type: object
description: "JSON Object or HashMap with flexible key value pairs of type String, that represents the tag names and its corresponding values"
NotificationState:
title: NotificationState
type: object
description: |
Notification state object.
properties:
syncTimestamp:
type: number
description: "Notification sync time in epoch milliseconds"
example: 1660635421552
source:
type: string
description: "The source of the notification"
example: "INCHARGE-SA-PRES"
eventState:
type: string
description: "The current state of this event. ACTIVE: The event is currently active. WAS_ACTIVE: The event was active, but we lost contact with the event source. INACTIVE: The event is inactive. UNINITIALIZED: The event has not been notified yet; the object does not yet represent a notified event."
example: "ACTIVE"
eventTimestamp:
type: number
description: "Notification time stamp "
example: 1660350567000
syncId:
type: number
description: "Notification sync id"
example: 1660635420400
NotificationResponse:
type: object
description: |
Notification response object.
properties:
Count:
type: integer
description: "The total number of notification"
example: 10
Result:
type: array
description: An array of notfication objects.
items:
$ref: '#/components/schemas/Notification'
HistoryResponse:
type: object
description: |
Notification history response object.
properties:
Count:
type: integer
description: "total number of notification"
example: 10
Result:
type: array
#description: An array of notfication objects.
items:
$ref: '#/components/schemas/Notification'
CausesResponse:
type: object
description: |
Notification causes response object.
properties:
Count:
type: integer
description: "total number of notification"
example: 10
Result:
type: array
description: An array of notfication objects.
items:
$ref: '#/components/schemas/Notification'
CausedByResponse:
type: object
description: |
Notification caused by response object.
properties:
Count:
type: integer
description: "total number of notification"
example: 10
Result:
type: array
description: An array of notfication objects.
items:
$ref: '#/components/schemas/Notification'
SummaryResponse:
type: object
description: |
This object defines the summary of notifications.
properties:
Result:
type: array
items:
$ref: '#/components/schemas/Summary'
Summary:
type: object
description: |
Notification summary object.
additionalProperties:
type: integer
example: {"1": 20, "2": 30}
AuditResponse:
type: object
description: |
Audit response object.
properties:
Result:
type: array
description: An array of audit trail objects.
items:
$ref: '#/components/schemas/Audit'
Audit:
type: object
description: |
Audit object defines, what all audit trail contains.
properties:
DeDupKey:
type: string
description: DeDupkey, uniquely indentifies the notification across domains.
example: Name:NOTIFICATION-KubernetesWorker_KubernetesWorker-96105fd2-1a74-46b6-ac8f-e869609e8d42_Down$Source:INCHARGE-SA-PRES$INCHARGE-SA-PRES@1660934327000
customer:
type: string
description: The name of customer.
example: ""
AuditTrail:
type: array
description: An array of audit trail object.
items:
$ref: '#/components/schemas/AuditTrail'
AuditTrail:
type: object
description: |
Audit object defines, what all audit trail contains.
properties:
User:
type: string
description: The name of the user who had initiated the action
example: DXA
ActionType:
type: string
description: The type of action performed (ACKNOWLEDGE | UNACKNOWLEDGE | RELEASE_OWNERSHIP | TAKE_OWNERSHIP | NOTIFY)
example: NOTIFY
SerialNumber:
type: integer
description: serial number assigned to action request.
example: 0
Text:
type: string
description: This field describes the performed action.
example: "Server: INCHARGE-SA"
Timestamp:
type: number
description: The timestamp of when action was performed.
example: 1660934341000
MaxSeverityResponse:
type: object
description: |
Max serverity response object.
additionalProperties:
$ref: '#/components/schemas/MaxSeverityObject'
MaxSeverityObject:
type: object
description: |
Max serverity object.
properties:
severity:
type: integer
example: 2
description: |
An enumerated value that describes the severity of the event from the notifier's point of view:
1 - Critical is used to indicate action is needed NOW and the scope is broad, e.g. an outage to a critical resource.
2 - Major is used to indicate action is needed NOW.
3 - Minor should be used to indicate action is needed, but the situation is not serious at this time.
4 - Unknown indicates that the element is unreachable, disconnected or in an otherwise unknown state.
5 - Normal is used when an event is purely informational..
notification_count:
type: integer
example: 4
description: The Number of notifications of {severity} type.
#Topology Schemas
ClassRequest:
title: ClassRequest
type: object
required:
- onlyMap
description: Request object to get the discovered class type.
properties:
objectClass:
type: string
description: Device type to get all relation ship types
example: NetworkFunction
objectInstance:
type: string
description: Uniquely identifies the notification across domains.
example: NetworkFunction-ebf940d1-9166-4e3b-bb17-c6b8d200bdc2$NetworkFunction$INCHARGE-SA-PRES
onlyMap:
type: boolean
description: If true will return only map supported classes
example: false
relationshipType:
type: string
description: Describes the type of relationship.
traversal:
type: boolean
description: Traversal is required or not (true/false). If traversal = true then objectClass, objectInstance, relationshipType are mandatory.
default: false
example: true
InstanceRequest:
example: {"className":"NetworkFunction","vsafilter":{"condition":"OR","filterlist":[{"condition":"AND","propfilter":[{"propname":"source","matchtype":"IN","values":["INCHARGE-SA-PRES","sam"]},{"propname":"properties.DisplayName","matchtype":"CONTAINS","values":["kube-multus-ds-amd64-gv429"]}]},{"condition":"AND","propfilter":[{"propname":"source","matchtype":"IN","values":["INCHARGE-SA-PRES","sam"]},{"propname":"name","matchtype":"CONTAINS","values":["kube-multus-ds-amd64-gv429"]},{"propname":"properties.DisplayName","matchtype":"EQUALS","values":[""]}]}]},"limit":10,"size":1000,"from":0,"sortby":[{"fieldName":"name","order":"ASC"}]}
title: InstanceRequest
description: Request object to get device details
required:
- className
type: object
properties:
className:
type: string
description: Device type or Class type to which instances are required
example: NetworkFunction
targetType:
type: string
description: If traversal is true then we should provide the targetType of the relationship for which instance is required
example: Switch
traversal:
type: boolean
description: Value can be true/false. If the instance is required on the traversed class then this attribute will be true
default: true
instanceName:
type: string
description: Uniquely identifies the object across domains.
example: NetworkFunction-ebf940d1-9166-4e3b-bb17-c6b8d200bdc2$NetworkFunction$INCHARGE-SA-PRES
relationshipName:
type: string
description: If traversal is true then we should provide the relationship name to get the targetType.
example: ConnectedSystems
columnFilters:
type: array
description: The name of column name which has to be filter.
items:
type: string
example: name
from:
type: integer
format: int32
description: The from parameter defines the offset from the first result you want to fetch.
groupby:
type: array
description: The field name using which result will be groupby
items:
type: string
example: [ "elementUUID" ]
size:
type: integer
format: int32
description: The size parameter allows you to configure the maximum amount of records to be returned.
sortby:
type: array
description: The Sort object defines on how and which field sorting has to be applied.
items:
$ref: '#/components/schemas/Sort'
vsafilter:
$ref: '#/components/schemas/VsaFilter'
InstanceResponse:
description: Response object describes number of instances and array of instances
title: InstanceResponse
type: object
properties:
count:
type: integer
format: int64
description: The number of available instances.
data:
type: array
items:
type: object
description: Contains an array of objects.
MapTypeRequest:
title: MapTypeRequest
type: object
description: Request object to get the map types.
required:
- className
- instanceName
properties:
className:
type: string
description: The class type of resource.
example: NetworkFunction
instanceName:
type: string
description: Uniquely identifiable instance id.
example: NetworkFunction-ebf940d1-9166-4e3b-bb17-c6b8d200bdc2$NetworkFunction$INCHARGE-SA-PRES
MapType:
type: object
description: Supported map type for the device type
properties:
displayName:
type: string
description: Map display name
name:
type: string
description: Map name
MaptypeResponse:
type: object
description: List of supported maps for the class type and default map to show
properties:
default:
$ref: '#/components/schemas/MapType'
mapTypes:
description: All supporting map types for the device type
type: array
items:
$ref: '#/components/schemas/MapType'
RelationshipRequest:
title: RelationshipRequest
type: object
required:
- classType
- instanceName
description: Request object to get the relationships for given device type and instance.
properties:
classType:
type: string
description: The type of class, such as Router, Switch etc
example: NetworkFunction
instanceName:
type: string
description: Uniquely identifies the object across domains.
example: NetworkFunction-ebf940d1-9166-4e3b-bb17-c6b8d200bdc2$NetworkFunction$INCHARGE-SA-PRES
MapInput:
type: object
required:
- MapType
- type
- name
- hop
description: Request object to get the map details.
properties:
MapType:
default: ''
description: Map type such as SDN Controller Infrastructure Map
example: VRAN Connectivity
title: The MapType schema
type: string
hop:
default: 0
description: Number of levels to traverse
title: traversal level
type: integer
example: 1
name:
default: ''
description: Uniquely identifies the object across domains.
example: NetworkFunction-ebf940d1-9166-4e3b-bb17-c6b8d200bdc2$NetworkFunction$INCHARGE-SA-PRES
title: The name schema
type: string
type:
default: ''
description: Device type such as Router
example: NetworkFunction
title: Node Type
type: string
TopologyMapResponse:
title: Response to get Topology Map
description: Response object describes object name, class name, domain, discovery id, sub type and tags
type: object
properties:
NodeCount:
type: number
description: Node count of device
example: 2
isExpandable:
type: boolean
description: Children of device
example: false
Edge:
type: object
description: Edge type objects
additionalProperties:
$ref: '#/components/schemas/Relation'
Node:
type: object
description: Node type objects
additionalProperties:
$ref: '#/components/schemas/Entity'
Relation:
type: object
properties:
_from:
type: string
description: _from is defined as the source node _id present in the relationship
example: Nodes_INCHARGE_SA_PRES_opsuig3/ESX-10.107.11.2:10.107.118.182$Hypervisor$INCHARGE-SA-PRES-opsuig3
_id:
type: string
description: _id is defined as the identifier present in the database for edge.
example: Edges_INCHARGE_SA_PRES_opsuig3/6075377
_key:
type: string
description: _key is defined as the key (identifier without the collection name) present in the database for edge.
example: "6075377"
_rev:
type: string
description: _rev is defined as the revision - a system attribute present in the database for edge.
example: _emZyCdu--E
_to:
type: string
description: _to is defined as the destination node _id present in the relationship
example: Nodes_INCHARGE_SA_PRES_opsuig3/VM-10.107.11.2:OTM-AUT$VirtualMachine$INCHARGE-SA-PRES-opsuig3
properties:
$ref: '#/components/schemas/RelationDetails'
relName:
example: HostsVMs
description: relName is defined as the relationship name
type: string
srcType:
example: Hypervisor
description: srcType is defined as the class type of the source node present in the relationship
type: string
trgtType:
example: VirtualMachine
description: trgtType is defined as the class type of the destination node present in the relationship
type: string
RelationDetails:
type: object
properties:
DisplayName:
type: string
description: "The server tool name to be used for display purpose"
example: ESX-10.107.11.2:10.107.118.182$Hypervisor$INCHARGE-SA-PRES-opsuig3 HostsVMs VM-10.107.11.2:OTM-AUT$VirtualMachine$INCHARGE-SA-PRES-opsuig3
dest:
type: string
description: dest is defined as the destination node present in the relationship
example: VM-10.107.11.2:OTM-AUT$VirtualMachine$INCHARGE-SA-PRES-opsuig3
discoveryID:
type: string
description: discoveryID is the Discovery ID which comes from the Domain/SAM managers
example: INCHARGE-SA-PRES-opsuig3
jobId:
type: string
description: jobId is the Job ID of the streaming stack from where the ingestion happens
example: "1660121518397"
source:
example: ESX-10.107.11.2:10.107.118.182$Hypervisor$INCHARGE-SA-PRES-opsuig3
description: Source is defined as the source node present in the relationship
type: string
Entity:
type: object
properties:
_id:
type: string
description: _id is defined as the identifier present in the database for node.
example: Nodes_INCHARGE_SA_PRES_opsuig3/ESX-10.107.11.2:10.107.118.182$Hypervisor$INCHARGE-SA-PRES-opsuig3
_key:
type: string
description: _key is defined as the key (identifier without the collection name) present in the database for node.
example: ESX-10.107.11.2:10.107.118.182$Hypervisor$INCHARGE-SA-PRES-opsuig3
_rev:
type: string
description: _rev is defined as the revision - a system attribute present in the database for edge.
example: _emZyCdO--A
creationDate:
type: string
description: CreationDate is the date at which the object is created in the Domain/SAM Managaers.
example: 2022-08-10T08:51:58Z
deviceType:
type: string
description: deviceType is the type of the device the node element belongs to
example: Hypervisor
discoveryID:
type: string
description: discoveryID is the Discovery ID which comes from the Domain/SAM managers
example: INCHARGE-SA-PRES-opsuig3
elementUUID:
description: Uniquely identifies the object across domains.
example: ESX-10.107.11.2:10.107.118.182$Hypervisor$INCHARGE-SA-PRES-opsuig3
type: string
elementUUID_PM:
example: ESX-10.107.11.2:10.107.118.182$Hypervisor$
description: Uniquely identifies the object across domains.
type: string
isExpandable:
type: boolean
description: isExpandable is the boolean attrribute. If it is set to true which means map is further expandle from that particular object, else the false means that node object is not further expandable
example: false
jobId:
type: string
description: jobId is the Job ID of the streaming stack from where the ingestion happens
example: "1660121518397"
lastUpdationDate:
type: string
example: "2022-08-10T08:51:58Z"
description: The date this node was last updated on
name:
type: string
example: ESX-10.107.11.2:10.107.118.182
description: Name is the name of the node's instance
properties:
$ref: '#/components/schemas/EntityDetails'
source:
type: string
description: Source attribute describe the source from which domain/SAM manager the data is being ingested
example: INCHARGE-SA-PRES-opsuig3
type:
type: string
description: Type is the class type of the node's instance.
example: Hypervisor
EntityDetails:
type: object
properties:
CreationClassName:
type: string
description: The class name under which the resource was created
example: Hypervisor
Description:
type: string
description: Description provides the description of the node object
DisplayClassName:
type: string
description: The class name displayed
example: Hypervisor
DisplayName:
type: string
description: The server tool name to be used for display purpose
example: "10.107.118.182"
ExternalSourceUrl:
description: ExternalSourceUrl is the external source url for that node object
type: string
IsManaged:
type: boolean
description: IsManaged is the boolean attribute
example: true
ManagementAddress:
type: string
description: ManagementAddress is the Management address of type string attribute
MasterClusterNode:
description: MasterClusterNode is the Master Cluster Node of type string attribute
type: string
Name:
type: string
description: Name of the node's instance
example: ESX-10.107.11.2:10.107.118.182
ServiceKey:
type: string
description: Service Key of type string attribute
ServiceName:
type: string
description: Service Name of type string attribute
SystemName:
type: string
description: SystemName is the Service Name of type string attribute
UUID:
type: string
description: Uniquely identifies the object across domains.
example: 4c4c4544-0053-4810-8057-c7c04f475932
href:
type: string
description: href is the hyperlink reference of type string attribute
DomainManagerRequest:
type: object
description: Request object to get Domain Managers
required:
- elementUUID
- deviceType
- name
properties:
elementUUID:
type: string
description: Uniquely identifies the object across domains.
example: NetworkFunction-ebf940d1-9166-4e3b-bb17-c6b8d200bdc2$NetworkFunction$INCHARGE-SA-PRES
deviceType:
type: string
description: The type of device i.e. Router/Switch
example: NetworkFunction
name:
type: string
description: The instance name of the device.
example: NetworkFunction-ebf940d1-9166-4e3b-bb17-c6b8d200bdc2
DomainManagerResponse:
type: object
description: Response object containing the domain manager details
additionalProperties:
$ref: '#/components/schemas/DomainManagerList'
DomainManagerList:
type: array
description: List of domain managers
items:
$ref: '#/components/schemas/DomainManager'
example: [{"domainManagerName":"INCHARGE-ESM","edaaEnabled":true},{"domainManagerName":"INCHARGE-SA","edaaEnabled":true}]
DomainManager:
type: object
description: Object containing domain manager details
properties:
domainManagerName:
type: string
example: INCHARGE-ESM
edaaEnabled:
type: boolean
example: true
#Commons Schemas
Sort:
required:
- fieldName
type: object
description: The Sort object defines on how and which field sorting has to be applied.
properties:
order:
type: string
default: desc
example: desc
description: This parameter describe the order of sorting. Values can be asc/desc
fieldName:
type: string
example: Severity
description: This parameter describe the field on which sorting has to be applied.
Filter:
type: object
description: Defines a filter to be applied on queries.
properties:
condition:
type: string
description: This condition can have two possible values 'AND' and 'OR'
example: AND
propfilter:
type: array
items:
$ref: '#/components/schemas/PropertyFilter'
vsafilter:
$ref: '#/components/schemas/VsaFilter'
VsaFilter:
type: object
description: The VSAFilter object defines how the filters has to be applied on queries.
properties:
condition:
type: string
example: AND
description: Defines the top level condition, can have value OR/AND
filterlist:
type: array
items:
$ref: '#/components/schemas/Filter'
PropertyFilter:
type: object
description: This defines the property filter object.
properties:
propname:
type: string
description: Name of the property.
example: Severity
matchtype:
type: string
description: |
Type of operation. The values can be IN/EQ/REGEX/CONTAINS/MATCH.
For String type fields, the supported OPERATORs are IN, EQ, REGEX, CONTAINS and MATCH
For Boolean and Integer/Long types fields the supported OPERATOR is MATCH.
1. IN: Takes multiple values in array and does the exact matching (case sensitive)
2. EQ: Takes only one values in array and does the exact matching(case sensitive). If passed multiple values in array then only first element will be picked
3. REGEX: Takes only one values in array and perform regex operation.
4. CONTAINS: Takes only one values in array and return all record which contains the requested value. Its kind of partial match query but with exact sequence of chars.
5. MATCH: This is primarily used for matching INTEGER, LONG or Boolean fields.
If used with string field, this will return result which will match one ore more field of searched string.
example: IN
values:
type: array
items:
type: string
description: Values to be compare.
example: "1"
#tmf-alarms Schemas
AckAlarms:
type: object
properties:
id:
type: string
description: The identifier of the task
example: QD36DoQBIPNwSiXT4onj
href:
type: string
description: A reference to the task
example: /tcsa/api/tmf/v1/ackAlarms/QD36DoQBIPNwSiXT4onj
ackSystemId:
type: string
description: Name of the acknowledging system
example: postman-api
ackTime:
type: string
description: Time of the acknowledgement
format: date-time
ackUserId:
type: string
description: Name of the acknowledging user
example: admin
state:
type: string
description: Current state of the operation task
example: IN_PROGRESS
ackedAlarm:
type: array
description: The successfully acknowledged alarms
items:
$ref: '#/components/schemas/AlarmRefOrValue'
alarmPattern:
type: array
description: Alarm patterns to match target alarms. An alarm will match
if an attribute in any of the patterns is equal to the corresponding
attribute of the alarm. The attributes which are supported with matching are -
id, alarmType, alarmedObjectType, perceivedSeverity, plannedOutageIndicator and state.
items:
$ref: '#/components/schemas/Alarm'
'@baseType':
type: string
description: When sub-classing, this defines the super-class
example: alarm
nullable: true
'@schemaLocation':
type: string
description: A URI to a JSON-Schema file that defines additional attributes
and relationships
format: uri
example: http://developers.eng.vmware.com/apis/telco-cloud-service-assurance/latest/
nullable: true
'@type':
type: string
description: When sub-classing, this defines the sub-class entity name
nullable: true
description: Task resource for the acknowledge alarms operation
AckAlarmsCreate:
example: {"ackSystemId":"postman-api","alarmPattern":[{"alarmedObjectType":"Container","state":"ACTIVE"},{"id":"Name:NOTIFICATION-VPN_VPN-100_:9900_Impacted$Source:INCHARGE-SA-PRES$"}]}
required:
- ackSystemId
- alarmPattern
type: object
properties:
ackSystemId:
type: string
description: Name of the acknowledging system
example: postman-api
ackTime:
type: string
description: Time of the acknowledgement
format: date-time
ackUserId:
type: string
description: Name of the acknowledging user
example: admin
state:
type: string
description: Current state of the operation task
example: IN_PROGRESS
ackedAlarm:
type: array
description: The successfully acknowledged alarms
items:
$ref: '#/components/schemas/AlarmRefOrValue'
alarmPattern:
minItems: 1
type: array
description: Alarm patterns to match target alarms. An alarm will match
if an attribute in any of the patterns is equal to the corresponding
attribute of the alarm. The attributes which are supported with matching are -
id, alarmType, alarmedObjectType, perceivedSeverity, plannedOutageIndicator and state.
items:
$ref: '#/components/schemas/Alarm'
description: |-
Task resource for the acknowledge alarms operation
Skippable properties: These are the properties not required while creating the commentAlarms object:
state, ackTime, ackedAalrm
AffectedService:
type: object
properties:
id:
type: string
href:
type: string
description: Provides the identifier of the service affected by the alarm
'@baseType':
type: string
description: When sub-classing, this defines the super-class
'@schemaLocation':
type: string
description: A URI to a JSON-Schema file that defines additional attributes
and relationships
format: uri
'@type':
type: string
description: When sub-classing, this defines the sub-class entity name
Alarm:
type: object
properties:
id:
type: string
description: Identifier of the alarm, determined by the alarm owning system
example: Name:NOTIFICATION-KubernetesPod_KubernetesPod-072c77d1-7765-46e9-9846-96e81ea43f0b_Down$Source:INCHARGE-SA-PRES$
href:
type: string
description: A reference to the alarm.
example: /tcsa/api/tmf/v1/alarms/Name%3ANOTIFICATION-KubernetesPod_KubernetesPod-072c77d1-7765-46e9-9846-96e81ea43f0b_Down%24Source%3AINCHARGE-SA-PRES%24
ackState:
type: string
description: Provides the Acknowledgement State of the alarm
example: UNACKNOWLEDGED
ackSystemId:
type: string
nullable: true
description: Provides the name of the system that last changed the ackState
of an alarm, i.e. acknowledged or unacknowledged the alarm.
ackUserId:
type: string
nullable: true
description: Provides the id of the user who has last changed the ack state
of the alarm, i.e. acknowledged or unacknowledged the alarm.
alarmChangedTime:
type: string
description: Indicates the last date and time when the alarm is changed
on the alarm-owning system. Any change to the alarm whether coming from
the alarmed resource, or triggered by a change from the client is changing
this time.
format: date-time
alarmClearedTime:
type: string
nullable: true
description: 'Indicates the time (as a date + time) at which the alarm is
cleared at the source. '
format: date-time
alarmDetails:
type: string
nullable: true
description: Contains further information on the alarm.
example: no description available
alarmEscalation:
type: boolean
nullable: true
description: 'Indicates if this alarm has been escalated or not. '
alarmRaisedTime:
type: string
description: Indicates the time (as a date + time) at which the alarm occurred
at its source.
format: date-time
alarmReportingTime:
type: string
description: |-
Indicates the time (as a date + time) at which the alarm was reported by the owning OSS. It might be different from the alarmRaisedTime. For instance, if the alarm list is maintained by an EMS, the alarmRaisedtime would be the time the alarm
was detected by the NE, while the alarmReportingTime would be the time this alarm was stored in the alarm list of the EMS.
format: date-time
alarmType:
type: string
description: Categorize the alarm.
example: Down
alarmedObjectType:
type: string
description: The type (class) of the managed object associated with the
event.
example: KubernetesPod
clearSystemId:
type: string
nullable: true
description: 'Provides the id of the system where the user who invoked the
alarmCleared operation is located. '
clearUserId:
type: string
nullable: true
description: Provides the id of the user who invoked the alarmCleared operation
externalAlarmId:
type: string
nullable: true
description: An identifier of the alarm in the source system.
isRootCause:
type: boolean
description: 'Indicates whether the alarm is a root cause alarm.. '
example: true
perceivedSeverity:
type: string
enum: [CRITICAL, MAJOR, MINOR, NORMAL, UNKNOWN]
description: |-
Lists the possible severities that can be allocated to an Alarm.
example: CRITICAL
plannedOutageIndicator:
type: string
enum: [PLANNED_MAINTENANCE, OUT_OF_SERVICE]
description: |-
Indicates that the Managed Object (related to this alarm)
is in planned outage (in planned maintenance, or out-of-service).
example: OUT_OF_SERVICE
probableCause:
type: string
nullable: true
description: Provides the probable cause of the alarm.
proposedRepairedActions:
type: string
nullable: true
description: Indicates proposed repair actions, if known to the system emitting
the alarm.
reportingSystemId:
type: string
nullable: true
description: Reporting system identity.
serviceAffecting:
type: boolean
nullable: true
description: Indicates whether the alarm affects service or not.
sourceSystemId:
type: string
description: Source system identity.
example: INCHARGE-ESM, INCHARGE-SA-PRES
specificProblem:
type: string
nullable: true
description: Provides more specific information about the alarm.
state:
type: string
description: Defines the alarm state during its life cycle
example: ACTIVE
affectedService:
type: array
items:
$ref: '#/components/schemas/AffectedService'
description: Identifies the service affected by the alarm.
nullable: true
alarmedObject:
$ref: '#/components/schemas/AlarmedObject'
comment:
type: array
items:
$ref: '#/components/schemas/Comment'
correlatedAlarm:
type: array
items:
$ref: '#/components/schemas/AlarmRef'
description: Indicates other alarms related to this alarm.
crossedThresholdInformation:
$ref: '#/components/schemas/CrossedThresholdInformation'
parentAlarm:
type: array
items:
$ref: '#/components/schemas/AlarmRef'
description: Indicates the parent alarms of the alarm.
place:
type: array
items:
$ref: '#/components/schemas/RelatedPlaceRefOrValue'
'@baseType':
type: string
description: The base type of this alarm.
example: alarm
'@schemaLocation':
type: string
description: A reference to the schema describing this alarm.
example: https://developer.vmware.com/apis/telco-cloud-service-assurance/latest
'@type':
type: string
description: The type for this alarm.
example: notification
description: This resource represents an alarm supporting the information model
defined in ITU-T X.733.
AlarmCreate:
example: {"alarmType":"OpenAPIExample","alarmedObjectType":"gNodeB","perceivedSeverity":"MAJOR","alarmedObject":{"id":"gNodeB-service-mavenir$gNodeB$INCHARGE-SA-PRES"},"ackSystemId":"postman-api","ackUserId":"admin","probableCause":"UserDefined probable cause","proposedRepairedActions":"UserDefined proposed repaired actions","affectedService":[{"id":"Name:NOTIFICATION-Router_AMPMNEWUS23000__PS__Router__267_Unresponsive$Source:INCHARGE-SA-PRES2$"}],"alarmEscalation":false,"clearSystemId":"creating clearSystemId","clearUserId":"creating clearUserId","externalAlarmId":"creating External Alarm ID","reportingSystemId":"creating Reporting System ID","serviceAffecting":false,"specificProblem":"creating specific problem"}
required:
- alarmType
- alarmedObject
- perceivedSeverity
- alarmedObjectType
type: object
properties:
ackState:
type: string
description: Provides the Acknowledgement State of the alarm
ackSystemId:
type: string
description: Provides the name of the system that last changed the ackState
of an alarm, i.e. acknowledged or unacknowledged the alarm.
ackUserId:
type: string
description: Provides the id of the user who has last changed the ack state
of the alarm, i.e. acknowledged or unacknowledged the alarm.
alarmChangedTime:
type: string
description: Indicates the last date and time when the alarm is changed
on the alarm-owning system. Any change to the alarm whether coming from
the alarmed resource, or triggered by a change from the client is changing
this time.
format: date-time
alarmClearedTime:
type: string
description: 'Indicates the time (as a date + time) at which the alarm is
cleared at the source. '
format: date-time
alarmDetails:
type: string
description: Contains further information on the alarm.
alarmEscalation:
type: boolean
description: 'Indicates if this alarm has been escalated or not. '
alarmRaisedTime:
type: string
description: Indicates the time (as a date + time) at which the alarm occurred
at its source.
format: date-time
alarmReportingTime:
type: string
description: |-
Indicates the time (as a date + time) at which the alarm was reported by the owning OSS. It might be different from the alarmRaisedTime. For instance, if the alarm list is maintained by an EMS, the alarmRaisedtime would be the time the alarm
was detected by the NE, while the alarmReportingTime would be the time this alarm was stored in the alarm list of the EMS.
format: date-time
alarmType:
type: string
description: Categorize the alarm.
alarmedObjectType:
type: string
description: The type (class) of the managed object associated with the
event.
clearSystemId:
type: string
description: 'Provides the id of the system where the user who invoked the
alarmCleared operation is located. '
clearUserId:
type: string
description: Provides the id of the user who invoked the alarmCleared operation
externalAlarmId:
type: string
description: An identifier of the alarm in the source system.
isRootCause:
type: boolean
description: 'Indicates whether the alarm is a root cause alarm.. '
perceivedSeverity:
type: string
enum: [CRITICAL, MAJOR, MINOR, NORMAL, UNKNOWN]
description: |-
Lists the possible severities that can be allocated to an Alarm.
plannedOutageIndicator:
type: string
enum: [PLANNED_MAINTENANCE, OUT_OF_SERVICE]
description: |-
Indicates that the Managed Object (related to this alarm)
is in planned outage (in planned maintenance, or out-of-service).
probableCause:
type: string
description: Provides the probable cause of the alarm.
proposedRepairedActions:
type: string
description: Indicates proposed repair actions, if known to the system emitting
the alarm.
reportingSystemId:
type: string
description: Reporting system identity.
serviceAffecting:
type: boolean
description: Indicates whether the alarm affects service or not.
sourceSystemId:
type: string
description: Source system identity.
specificProblem:
type: string
description: Provides more specific information about the alarm.
state:
type: string
description: Defines the alarm state during its life cycle
affectedService:
type: array
items:
$ref: '#/components/schemas/AffectedService'
description: Identifies the service affected by the alarm.
alarmedObject:
$ref: '#/components/schemas/AlarmedObjectCreate'
comment:
type: array
items:
$ref: '#/components/schemas/Comment'
correlatedAlarm:
type: array
items:
$ref: '#/components/schemas/AlarmRef'
description: Indicates other alarms related to this alarm.
crossedThresholdInformation:
$ref: '#/components/schemas/CrossedThresholdInformation'
parentAlarm:
type: array
items:
$ref: '#/components/schemas/AlarmRef'
description: Indicates the parent alarms of the alarm.
place:
type: array
items:
$ref: '#/components/schemas/RelatedPlaceRefOrValue'
description: |-
This resource represents an alarm supporting the information model defined in ITU-T X.733.
Skipped properties: href, ackState, alarmChangedTime, alarmClearedTime, alarmRaisedTime, alarmReportingTime, isRootCause, sourceSystemId, state, comment, correlatedAlarm, parentAlarm, @baseType, @schemaLocation, @type
UserDefined properties:
The below properties do not have any mapping from TMF to TCSA, however if the user provides the following proerties they will be added as part of UserDefined field, the default one is UserDefined19 :
ackSystemId, ackUserId, affectedService, alarmEscalation, clearSystemId, clearUserId, crossedThresholdInformation, externalAlarmId, probableCause, reportingSystemId, serviceAffecting, specificProblem, proposedRepairedActions, place
AlarmCreateResponse:
type: object
properties:
id:
type: string
description: Identifier of the alarm, determined by the alarm owning system
example: Name:NOTIFICATION-KubernetesPod_KubernetesPod-072c77d1-7765-46e9-9846-96e81ea43f0b_Down$Source:INCHARGE-SA-PRES$
href:
type: string
description: A reference to the alarm.
example: /tcsa/api/tmf/v1/alarms/Name%3ANOTIFICATION-KubernetesPod_KubernetesPod-072c77d1-7765-46e9-9846-96e81ea43f0b_Down%24Source%3AINCHARGE-SA-PRES%24
AlarmUpdate:
example: {"perceivedSeverity":"NORMAL","plannedOutageIndicator":"PLANNED_MAINTENANCE","probableCause":"updating UserDefined probable cause","proposedRepairedActions":"updating UserDefined proposed repaired actions","ackSystemId":"updating ackSystemId","ackUserId":"updating ackUserId","affectedService":[{"id":"Name:NOTIFICATION-Router_AMPMNEWUS23000__PS__Router__267_Unresponsive$Source:INCHARGE-SA-PRES2$"}],"alarmEscalation":false,"clearSystemId":"updating clearSystemId","clearUserId":"updating clearUserId","externalAlarmId":"updating External Alarm ID","reportingSystemId":"updating Reporting System ID","serviceAffecting":false,"specificProblem":"updating specific problem"}
type: object
properties:
ackState:
type: string
description: Provides the Acknowledgement State of the alarm
ackSystemId:
type: string
description: Provides the name of the system that last changed the ackState
of an alarm, i.e. acknowledged or unacknowledged the alarm.
ackUserId:
type: string
description: Provides the id of the user who has last changed the ack state
of the alarm, i.e. acknowledged or unacknowledged the alarm.
alarmChangedTime:
type: string
description: Indicates the last date and time when the alarm is changed
on the alarm-owning system. Any change to the alarm whether coming from
the alarmed resource, or triggered by a change from the client is changing
this time.
format: date-time
alarmClearedTime:
type: string
description: 'Indicates the time (as a date + time) at which the alarm is
cleared at the source. '
format: date-time
alarmDetails:
type: string
description: Contains further information on the alarm.
example: Updating alarm details
alarmEscalation:
type: boolean
description: 'Indicates if this alarm has been escalated or not. '
alarmRaisedTime:
type: string
description: Indicates the time (as a date + time) at which the alarm occurred
at its source.
format: date-time
alarmReportingTime:
type: string
description: |-
Indicates the time (as a date + time) at which the alarm was reported by the owning OSS. It might be different from the alarmRaisedTime. For instance, if the alarm list is maintained by an EMS, the alarmRaisedtime would be the time the alarm
was detected by the NE, while the alarmReportingTime would be the time this alarm was stored in the alarm list of the EMS.
format: date-time
alarmType:
type: string
description: Categorize the alarm.
alarmedObjectType:
type: string
description: The type (class) of the managed object associated with the
event.
clearSystemId:
type: string
description: 'Provides the id of the system where the user who invoked the
alarmCleared operation is located. '
clearUserId:
type: string
description: Provides the id of the user who invoked the alarmCleared operation
externalAlarmId:
type: string
description: An identifier of the alarm in the source system.
isRootCause:
type: boolean
description: 'Indicates whether the alarm is a root cause alarm.. '
perceivedSeverity:
type: string
enum: [CRITICAL, MAJOR, MINOR, NORMAL, UNKNOWN]
description: |-
Lists the possible severities that can be allocated to an Alarm.
example: NORMAL
plannedOutageIndicator:
type: string
enum: [PLANNED_MAINTENANCE, OUT_OF_SERVICE]
description: |-
Indicates that the Managed Object (related to this alarm)
is in planned outage (in planned maintenance, or out-of-service).
example: PLANNED_MAINTENANCE
probableCause:
type: string
description: Provides the probable cause of the alarm.
example: Updating probableCause
proposedRepairedActions:
type: string
description: Indicates proposed repair actions, if known to the system emitting
the alarm.
reportingSystemId:
type: string
description: Reporting system identity.
serviceAffecting:
type: boolean
description: Indicates whether the alarm affects service or not.
sourceSystemId:
type: string
description: Source system identity.
specificProblem:
type: string
description: Provides more specific information about the alarm.
state:
type: string
description: Defines the alarm state during its life cycle
affectedService:
type: array
items:
$ref: '#/components/schemas/AffectedService'
description: Identifies the service affected by the alarm.
alarmedObject:
$ref: '#/components/schemas/AlarmedObject'
comment:
type: array
items:
$ref: '#/components/schemas/Comment'
correlatedAlarm:
type: array
items:
$ref: '#/components/schemas/AlarmRef'
description: Indicates other alarms related to this alarm.
crossedThresholdInformation:
$ref: '#/components/schemas/CrossedThresholdInformation'
parentAlarm:
type: array
items:
$ref: '#/components/schemas/AlarmRef'
description: Indicates the parent alarms of the alarm.
place:
type: array
items:
$ref: '#/components/schemas/RelatedPlaceRefOrValue'
description: |-
This resource represents an alarm supporting the information model defined in ITU-T X.733.
Skipped properties: id, alarmedObject, alarmedObjectType, alarmType, href, ackState, alarmChangedTime, alarmClearedTime, alarmRaisedTime, alarmReportingTime, isRootCause, sourceSystemId, state, comment, correlatedAlarm, parentAlarm, @baseType, @schemaLocation, @type
UserDefined properties: The below properties do not have any mapping from TMF to TCSA, however if the user provides the following proerties they will be added as part of UserDefined field, the default one is UserDefined19 :
ackSystemId,ackUserId, affectedService, alarmEscalation, clearSystemId, clearUserId, crossedThresholdInformation, externalAlarmId, probableCause, reportingSystemId, serviceAffecting, specificProblem, proposedRepairedActions, place
AlarmUpdateResponse:
type: object
properties:
id:
type: string
description: Identifier of the alarm, determined by the alarm owning system
example: Name:NOTIFICATION-KubernetesPod_KubernetesPod-072c77d1-7765-46e9-9846-96e81ea43f0b_Down$Source:INCHARGE-SA-PRES$
href:
type: string
description: A reference to the alarm.
example: /tcsa/api/tmf/v1/alarms/Name%3ANOTIFICATION-KubernetesPod_KubernetesPod-072c77d1-7765-46e9-9846-96e81ea43f0b_Down%24Source%3AINCHARGE-SA-PRES%24
AlarmRef:
required:
- id
type: object
properties:
id:
type: string
description: Unique identifier of a related entity.
example: Name:NOTIFICATION-KubernetesPod_KubernetesPod-072c77d1-7765-46e9-9846-96e81ea43f0b_Failed$Source:INCHARGE-SA-PRES$
href:
type: string
description: Reference of the related entity.
example: /tcsa/api/alarms/Name%3ANOTIFICATION-KubernetesPod_KubernetesPod-072c77d1-7765-46e9-9846-96e81ea43f0b_Failed%24Source%3AINCHARGE-SA-PRES%24
name:
type: string
description: Name of the related entity.
example: Name:NOTIFICATION-KubernetesPod_KubernetesPod-072c77d1-7765-46e9-9846-96e81ea43f0b_Failed$Source:INCHARGE-SA-PRES$
'@baseType':
type: string
description: When sub-classing, this defines the super-class
example: alarm
nullable: true
'@schemaLocation':
type: string
description: A URI to a JSON-Schema file that defines additional attributes
and relationships
format: uri
example: https://developer.vmware.com/apis/telco-cloud-service-assurance/latest
nullable: true
'@type':
type: string
description: When sub-classing, this defines the sub-class entity name
example: notification
nullable: true
'@referredType':
type: string
description: The actual type of the target instance when needed for disambiguation.
nullable: true
AlarmRefOrValue:
type: object
properties:
id:
type: string
description: Identifier of the alarm, determined by the alarm owning system
example: Name:NOTIFICATION-KubernetesPod_KubernetesPod-072c77d1-7765-46e9-9846-96e81ea43f0b_Down$Source:INCHARGE-SA-PRES$
href:
type: string
description: A reference to the alarm.
example: /tcsa/api/tmf/v1/alarms/Name%3ANOTIFICATION-KubernetesPod_KubernetesPod-072c77d1-7765-46e9-9846-96e81ea43f0b_Down%24Source%3AINCHARGE-SA-PRES%24
ackState:
type: string
description: Provides the Acknowledgement State of the alarm
example: UNACKNOWLEDGED
ackSystemId:
type: string
description: Provides the name of the system that last changed the ackState
of an alarm, i.e. acknowledged or unacknowledged the alarm.
nullable: true
ackUserId:
type: string
description: Provides the id of the user who has last changed the ack state
of the alarm, i.e. acknowledged or unacknowledged the alarm.
nullable: true
alarmChangedTime:
type: string
description: Indicates the last date and time when the alarm is changed
on the alarm-owning system. Any change to the alarm whether coming from
the alarmed resource, or triggered by a change from the client is changing
this time.
format: date-time
nullable: true
alarmClearedTime:
type: string
description: 'Indicates the time (as a date + time) at which the alarm is
cleared at the source. '
format: date-time
nullable: true
alarmDetails:
type: string
description: Contains further information on the alarm.
example: no description available
nullable: true
alarmEscalation:
type: boolean
description: 'Indicates if this alarm has been escalated or not. '
nullable: true
alarmRaisedTime:
type: string
description: Indicates the time (as a date + time) at which the alarm occurred
at its source.
format: date-time
nullable: true
alarmReportingTime:
type: string
description: |-
Indicates the time (as a date + time) at which the alarm was reported by the owning OSS. It might be different from the alarmRaisedTime. For instance, if the alarm list is maintained by an EMS, the alarmRaisedtime would be the time the alarm
was detected by the NE, while the alarmReportingTime would be the time this alarm was stored in the alarm list of the EMS.
format: date-time
alarmType:
type: string
description: Categorize the alarm.
example: Down
alarmedObjectType:
type: string
description: The type (class) of the managed object associated with the event.
example: KubernetesPod
clearSystemId:
type: string
description: 'Provides the id of the system where the user who invoked the
alarmCleared operation is located. '
nullable: true
clearUserId:
type: string
description: Provides the id of the user who invoked the alarmCleared operation
nullable: true
externalAlarmId:
type: string
description: An identifier of the alarm in the source system.
nullable: true
isRootCause:
type: boolean
description: 'Indicates whether the alarm is a root cause alarm.. '
example: true
name:
type: string
description: Name of the related entity.
perceivedSeverity:
type: string
enum: [CRITICAL, MAJOR, MINOR, NORMAL, UNKNOWN]
description: |-
Lists the possible severities that can be allocated to an Alarm.
example: CRITICAL
plannedOutageIndicator:
type: string
enum: [PLANNED_MAINTENANCE, OUT_OF_SERVICE]
description: |-
Indicates that the Managed Object (related to this alarm)
is in planned outage (in planned maintenance, or out-of-service).
example: OUT_OF_SERVICE
probableCause:
type: string
description: Provides the probable cause of the alarm.
nullable: true
proposedRepairedActions:
type: string
description: Indicates proposed repair actions, if known to the system emitting
the alarm.
nullable: true
reportingSystemId:
type: string
description: Reporting system identity.
nullable: true
serviceAffecting:
type: boolean
description: Indicates whether the alarm affects service or not.
nullable: true
sourceSystemId:
type: string
description: Source system identity.
example: INCHARGE-ESM, INCHARGE-SA-PRES
specificProblem:
type: string
description: Provides more specific information about the alarm.
nullable: true
state:
type: string
description: Defines the alarm state during its life cycle
example: ACTIVE
affectedService:
type: array
items:
$ref: '#/components/schemas/AffectedService'
description: Identifies the service affected by the alarm.
nullable: true
alarmedObject:
$ref: '#/components/schemas/AlarmedObject'
comment:
type: array
items:
$ref: '#/components/schemas/Comment'
correlatedAlarm:
type: array
items:
$ref: '#/components/schemas/AlarmRef'
description: Indicates other alarms related to this alarm.
crossedThresholdInformation:
$ref: '#/components/schemas/CrossedThresholdInformation'
parentAlarm:
type: array
items:
$ref: '#/components/schemas/AlarmRef'
description: Indicates the parent alarms of the alarm.
place:
type: array
items:
$ref: '#/components/schemas/RelatedPlaceRefOrValue'
'@baseType':
type: string
description: The base type of this alarm.
example: alarm
nullable: true
'@schemaLocation':
type: string
description: A reference to the schema describing this alarm.
example: https://developer.vmware.com/apis/telco-cloud-service-assurance/latest
nullable: true
'@type':
type: string
description: The type for this alarm.
example: notification
nullable: true
'@referredType':
type: string
description: The actual type of the target instance when needed for disambiguation.
nullable: true
description: An alarm defined by reference or value. The polymorphic attributes
@type, @schemaLocation & @referredType are related to the alarm entity and
not the RelatedAlarmRefOrValue class itself
AlarmedObjectCreate:
type: object
required:
- id
properties:
id:
type: string
description: The identifier of the managed object associated with the event.
AlarmedObject:
type: object
required:
- id
properties:
id:
type: string
description: The identifier of the managed object associated with the event.
example: KubernetesPod-072c77d1-7765-46e9-9846-96e81ea43f0b$KubernetesPod$INCHARGE-SA-PRES
href:
type: string
description: A reference to the managed object associated with the event.
example: /tcsa/api/topology/v1/instances/KubernetesPod-072c77d1-7765-46e9-9846-96e81ea43f0b%24KubernetesPod%24INCHARGE-SA-PRES
'@baseType':
type: string
description: When sub-classing, this defines the super-class
example: alarm
'@schemaLocation':
type: string
description: A URI to a JSON-Schema file that defines additional attributes
and relationships
format: uri
example: https://developer.vmware.com/apis/telco-cloud-service-assurance/latest
'@type':
type: string
description: When sub-classing, this defines the sub-class entity name
example: notification
description: Identifies the managed object instance associated with the alarm.
ClearAlarms:
type: object
properties:
id:
type: string
description: The identifier of the task
example: AS0UD4QBpi1WVs4LGnPr
href:
type: string
description: A reference to the task
example: /tcsa/api/tmf/v1/clearAlarms/AS0UD4QBpi1WVs4LGnPr
alarmClearedTime:
type: string
description: Time of the alarm clearing
format: date-time
example: "2022-10-25T12:18:06.690858Z"
clearSystemId:
type: string
description: Name of the clearing system
example: postman-api
clearUserId:
type: string
description: Name of the clearing user
example: admin
state:
type: string
description: Current state of the operation task
example: COMPLETED
alarmPattern:
type: array
description: Alarm patterns to match target alarms. An alarm will match
if an attribute in any of the patterns is equal to the corresponding
attribute of the alarm. The attributes which are supported with matching are -
id, alarmType, alarmedObjectType, perceivedSeverity, plannedOutageIndicator and state.
items:
$ref: '#/components/schemas/Alarm'
clearedAlarm:
type: array
description: The successfully cleared alarms
items:
$ref: '#/components/schemas/AlarmRefOrValue'
'@baseType':
type: string
description: When sub-classing, this defines the super-class
nullable: true
'@schemaLocation':
type: string
description: A URI to a JSON-Schema file that defines additional attributes
and relationships
format: uri
nullable: true
'@type':
type: string
description: When sub-classing, this defines the sub-class entity name
nullable: true
description: Task resource for clear alarms operation
ClearAlarmsCreate:
example: {"clearSystemId":"postman-api","alarmPattern":[{"alarmedObjectType":"Container","state":"ACTIVE"},{"id":"Name:NOTIFICATION-VPN_VPN-100_:9900_Impacted$Source:INCHARGE-SA-PRES$"}]}
required:
- alarmPattern
- clearSystemId
type: object
properties:
alarmClearedTime:
type: string
description: Time of the alarm clearing
format: date-time
clearSystemId:
type: string
description: Name of the clearing system
example: postman-api
clearUserId:
type: string
description: Name of the clearing user
example: admin
state:
type: string
description: Current state of the operation task
alarmPattern:
minItems: 1
type: array
description: Alarm patterns to match target alarms. An alarm will match
if an attribute in any of the patterns is equal to the corresponding
attribute of the alarm. The attributes which are supported with matching are -
id, alarmType, alarmedObjectType, perceivedSeverity, plannedOutageIndicator and state.
items:
$ref: '#/components/schemas/Alarm'
clearedAlarm:
type: array
description: The successfully cleared alarms
items:
$ref: '#/components/schemas/AlarmRefOrValue'
description: |-
Task resource for clear alarms operation.
Skippable properties: These are properties not required to create the clearAlarms object:
state, clearedAlarm, alarmClearedTime
Comment:
type: object
properties:
comment:
type: string
description: Indicates the text of the comment.
example: Testing Comments for openAPI spec
systemId:
nullable: true
type: string
description: Indicates the system identifier on which the client set the
comment.
example: postman-api
time:
type: string
description: Indicates the time commenting the alarm
format: date-time
userId:
type: string
description: Indicates the user commenting the alarm.
'@baseType':
type: string
description: When sub-classing, this defines the super-class
'@schemaLocation':
type: string
description: A URI to a JSON-Schema file that defines additional attributes
and relationships
format: uri
'@type':
type: string
description: When sub-classing, this defines the sub-class entity name
description: Indicates the comments entered on the alarm.
CommentAlarms:
type: object
properties:
id:
type: string
description: The identifier of the task
example: 8M__DoQBpi1WVs4Lew6i
href:
type: string
description: A reference to the task
example: /tcsa/api/tmf/v1/commentAlarms/8M__DoQBpi1WVs4Lew6i
state:
type: string
description: Current state of the operation task
example: COMPLETED
alarmPattern:
type: array
description: Alarm patterns to match target alarms. An alarm will match
if an attribute in any of the patterns is equal to the corresponding
attribute of the alarm. The attributes which are supported with matching are -
id, alarmType, alarmedObjectType, perceivedSeverity, plannedOutageIndicator and state.
items:
$ref: '#/components/schemas/Alarm'
comment:
$ref: '#/components/schemas/Comment'
commentedAlarm:
type: array
description: The successfully commented alarms
items:
$ref: '#/components/schemas/AlarmRefOrValue'
'@baseType':
type: string
description: When sub-classing, this defines the super-class
nullable: true
'@schemaLocation':
type: string
description: A URI to a JSON-Schema file that defines additional attributes
and relationships
format: uri
nullable: true
'@type':
type: string
description: When sub-classing, this defines the sub-class entity name
nullable: true
description: Task resource for comment alarms operation
CommentAlarmsCreate:
example: {"comment":{"comment":"Testing Comment Alarms OpenAPI"},"alarmPattern":[{"alarmedObjectType":"Container","state":"ACTIVE"},{"id":"Name:NOTIFICATION-VPN_VPN-100_:9900_Impacted$Source:INCHARGE-SA-PRES$"}]}
required:
- alarmPattern
- comment
type: object
properties:
state:
type: string
description: Current state of the operation task
alarmPattern:
minItems: 1
type: array
description: Alarm patterns to match target alarms. An alarm will match
if an attribute in any of the patterns is equal to the corresponding
attribute of the alarm. The attributes which are supported with matching are -
id, alarmType, alarmedObjectType, perceivedSeverity, plannedOutageIndicator and state.
items:
$ref: '#/components/schemas/Alarm'
comment:
$ref: '#/components/schemas/Comment'
commentedAlarm:
type: array
description: The successfully commented alarms
items:
$ref: '#/components/schemas/AlarmRefOrValue'
description: |-
Task resource for comment alarms operation
Skipped properties: These are the properties not required while creating the commentAlarms object:
state, commentedAlarm
CrossedThresholdInformation:
type: object
properties:
direction:
type: string
description: 'Indicates the threshold crossing direction: up or down.'
granularity:
type: string
description: Indicates the granularity at which the indicator is evaluated
for threshold crossing
indicatorName:
type: string
description: Indicates the name of indicator which crossed the threshold.
indicatorUnit:
type: string
description: Indicates the unit of the measurement of the indicator corresponding
to the threshold that has been crossed.
observedValue:
type: string
description: Indicates the value of the indicator which crossed the threshold.
thresholdCrossingDescription:
type: string
description: Indicates further information on the threshold crossing alarm.
threshold:
$ref: '#/components/schemas/ThresholdRef'
'@baseType':
type: string
description: When sub-classing, this defines the super-class
'@schemaLocation':
type: string
description: A URI to a JSON-Schema file that defines additional attributes
and relationships
format: uri
'@type':
type: string
description: When sub-classing, this defines the sub-class entity name
description: Identifies the details of the threshold that has been crossed.
RelatedPlaceRefOrValue:
required:
- role
type: object
properties:
id:
type: string
description: Unique identifier of the place
href:
type: string
description: Unique reference of the place
name:
type: string
description: A user-friendly name for the place, such as [Paris Store],
[London Store], [Main Home]
role:
type: string
'@baseType':
type: string
description: When sub-classing, this defines the super-class
'@schemaLocation':
type: string
description: A URI to a JSON-Schema file that defines additional attributes
and relationships
format: uri
'@type':
type: string
description: When sub-classing, this defines the sub-class entity name
'@referredType':
type: string
description: The actual type of the target instance when needed for disambiguation.
description: Related Entity reference. A related place defines a place described
by reference or by value linked to a specific entity. The polymorphic attributes
@type, @schemaLocation & @referredType are related to the place entity and
not the RelatedPlaceRefOrValue class itself
ThresholdRef:
required:
- id
type: object
properties:
id:
type: string
description: Unique identifier of a related entity.
href:
type: string
description: Reference of the related entity.
name:
type: string
description: Name of the related entity.
'@baseType':
type: string
description: When sub-classing, this defines the super-class
'@schemaLocation':
type: string
description: A URI to a JSON-Schema file that defines additional attributes
and relationships
format: uri
'@type':
type: string
description: When sub-classing, this defines the sub-class entity name
'@referredType':
type: string
description: The actual type of the target instance when needed for disambiguation.
UnAckAlarms:
type: object
properties:
id:
type: string
description: The identifier of the task
example: b_YHD4QBpi1WVs4LJtpK
href:
type: string
description: A reference to the task
example: /tcsa/api/tmf/v1/unAckAlarms/b_YHD4QBpi1WVs4LJtpK
ackSystemId:
type: string
description: Name of the unacknowledging system
example: postman-api
ackTime:
type: string
description: Time of the unacknowledgement
format: date-time
example: "2022-10-25T12:03:57.637781Z"
ackUserId:
type: string
description: Name of the unacknowledging user
example: admin
state:
type: string
description: Current state of the operation task
example: COMPLETED
alarmPattern:
type: array
description: Alarm patterns to match target alarms. An alarm will match
if an attribute in any of the patterns is equal to the corresponding
attribute of the alarm. The attributes which are supported with matching are -
id, alarmType, alarmedObjectType, perceivedSeverity, plannedOutageIndicator and state.
items:
$ref: '#/components/schemas/Alarm'
unAckedAlarm:
type: array
description: The successfully unacknowledged alarms
items:
$ref: '#/components/schemas/AlarmRefOrValue'
'@baseType':
type: string
description: When sub-classing, this defines the super-class
nullable: true
'@schemaLocation':
type: string
description: A URI to a JSON-Schema file that defines additional attributes
and relationships
format: uri
nullable: true
'@type':
type: string
description: When sub-classing, this defines the sub-class entity name
nullable: true
description: Task resource for unacknowledge alarms operation
UnAckAlarmsCreate:
example: {"ackSystemId":"postman-api","alarmPattern":[{"alarmedObjectType":"Container","state":"ACTIVE"},{"id":"Name:NOTIFICATION-VPN_VPN-100_:9900_Impacted$Source:INCHARGE-SA-PRES$"}]}
required:
- ackSystemId
- alarmPattern
type: object
properties:
ackSystemId:
type: string
description: Name of the unacknowledging system
example: postman-api
ackTime:
type: string
description: Time of the unacknowledgement
format: date-time
ackUserId:
type: string
description: Name of the unacknowledging user
example: admin
state:
type: string
description: Current state of the operation task
example: IN_PROGRESS
alarmPattern:
minItems: 1
type: array
description: Alarm patterns to match target alarms. An alarm will match
if an attribute in any of the patterns is equal to the corresponding
attribute of the alarm. The attributes which are supported with matching are -
id, alarmType, alarmedObjectType, perceivedSeverity, plannedOutageIndicator and state.
items:
$ref: '#/components/schemas/Alarm'
unAckedAlarm:
type: array
description: The successfully unacknowledged alarms
items:
$ref: '#/components/schemas/AlarmRefOrValue'
description: |-
Task resource for unacknowledge alarms operation
Skipped properties: These are the properties not required while creating the commentAlarms object:
state, unAckedAlarm, ackTime
Error:
required:
- code
- reason
type: object
properties:
code:
type: string
description: Application relevant detail, defined in the API or a common
list.
reason:
type: string
description: Explanation of the reason for the error which can be shown
to a client user.
message:
type: string
description: More details and corrective actions related to the error which
can be shown to a client user.
status:
type: string
description: HTTP Error code extension
referenceError:
type: string
description: URI of documentation describing the error.
format: uri
'@baseType':
type: string
description: When sub-classing, this defines the super-class.
'@schemaLocation':
type: string
description: A URI to a JSON-Schema file that defines additional attributes
and relationships
format: uri
'@type':
type: string
description: When sub-classing, this defines the sub-class entity name.
description: Used when an API throws an Error, typically with a HTTP error response-code
(3xx, 4xx, 5xx)
#configuration-management Schemas
CloneResponse:
type: object
description: |
This object represent clone response object.
required:
- id
properties:
id:
type: string
example: "6152e46d-17fe-48b5-a936-c15145c63d1f"
description: Id of newly cloned resource.
UserPreferenceViewCreateRequest:
type: object
description: |
This object represent user-prefernce create object.
required:
- name
- parent_id
properties:
assign_to:
type: array
items:
type: string
example: "Operator"
description: |
The view is assigned to which ROLE.
This field won't hold any value for now and kept it for future use.
name:
type: string
example: "Notification Log view"
description: |
Display name for the view.
description:
type: string
example: "Detailed description about the user-preference"
description: |
This is default notification log view.
parent_id:
type: string
description: |
Parent id of the console. In case of the root, value would be null.
data:
type: object
description: |
This will contain all UI specific user-preference details.
This is free object and can contain any thing UI wants to store.
UserPreferenceViewCreateRequestForConsole:
type: object
description: |
This object represent user-prefernce create object.
required:
- name
- data
properties:
assign_to:
type: array
items:
type: string
example: "Operator"
description: |
The view is assigned to which ROLE.
This field won't hold any value for now and kept it for future use.
name:
type: string
example: "Notification Log view"
description: |
Display name for the view.
description:
type: string
example: "Detailed description about the user-preference"
description: |
This is default notification log view.
data:
type: object
description: |
This will contain all UI specific user-preference details.
This is free object and can contain any thing UI wants to store.
UserPreferenceConsoleRequest:
type: object
description: |
This object represent user-prefernce create object.
required:
- name
properties:
assign_to:
type: array
items:
type: string
example: "Operator"
description: |
The console is assigned to which ROLE.
For logged in user , this field value will be populated automatically,
but if Admin user wants to assign, the console to any ROLE then it needs to be
sent in the request payload.
Non admin user won't be able assign any ROLE.
name:
type: string
example: "Default notification console"
description: |
Display name for the console.
description:
type: string
example: "Detailed description about the user-preference"
description: |
This is notification console preference, created for admin.
is_predefined:
type: boolean
example: true
description: |
Set to true only for console which are predefined by system.
is_default:
type: boolean
example: true
description: |
Set to true only for default user preferences
parent_id:
type: string
description: |
Parent id of the console. Default value is null.
data:
type: object
description: |
This will contain all UI specific user-preference details.
This is free object and can contain any thing UI wants to store.
UserPreferenceCreateResponse:
type: object
description: |
This object represent user-preference create response object.
required:
- id
properties:
id:
type: string
example: "6152e46d-17fe-48b5-a936-c15145c63d1f"
description: Id of newly created resource.
UserPreference:
type: object
description: |
This object represent user-preference.
required:
- type
- name
properties:
id:
type: string
example: "8019c333-1d64-44df-a957-bbb89703ba6a"
description: |
The id, uniquely identified the user-preference.
sequence_number:
type: integer
example: 349
description: |
The seq_no and primary_term together, helps to achieve optimized concurrency control.
This two field value, must be sent along with update request, if user want to avoid accidental concurrent changes.
primary_term:
type: integer
example: 1
description: |
The seq_no and primary_term together, helps to achieve optimized concurrency control.
This two field value, must be sent along with update request, if user want to
avoid accidental concurrent changes.
type:
type: string
example: "NOTIFICATION_CONSOLE"
description: |
The type user-preference. The below types are supported.
1. "NOTIFICATION_CONSOLE"
2. "NOTIFICATION_SUMMARY_CONSOLE"
3. "TOPOLOGY_CONSOLE"
4. "COLORS_PREF"
5. "LOG_VIEWS"
6. "BAR_CHARTS"
assign_to:
type: array
items:
type: string
example: "Operator"
description: |
The console is assigned to which ROLE.
For logged in user , this field value will be populated automatically,
but if Admin user wants to assign the console to any ROLE then it needs to be
sent in the request payload.
Non admin user won't be able assign any ROLE.
name:
type: string
example: "Default notification console"
description: |
Display name for the console.
description:
type: string
example: "Detailed description about the user-preference"
description: |
This is notification console preference, created for admin.
is_predefined:
type: boolean
example: true
description: |
system created user preferences.
is_default:
type: boolean
example: true
description: |
used to show default user prefereces for user
parent_id:
type: string
example: ""
description: |
Parent id of the console. In case of the root, value would be null.
data:
type: object
description: |
This will contain all UI specific user-preference details.
This is free object and can contain any thing UI wants to store.
created_by:
type: string
description: |
The user responsible for creation of object.
example: "admin"
sub_preferences:
type: array
description: |
This object represent children of user-preference.
items:
$ref: '#/components/schemas/UserPreference'
create_timestamp:
type: number
description: "Timestamp in epoch milliseconds, notifies the value when user preference is created"
example: 1660635421552
update_timestamp:
type: number
description: "Timestamp in epoch milliseconds, notifies the value when user preference is updated"
example: 1660635421552
ArrayOfUserPreference:
type: array
description: |
This object represent array of user-preference.
items:
$ref: '#/components/schemas/UserPreference'
UserPreferenceUpdateRequest:
type: object
description: |
This object represent user-preference.
required:
- type
- name
- sequence_number
- primary_term
properties:
id:
type: string
example: "1jldkjdfjrr"
description: |
unique id for the user preference.
name:
type: string
example: "Default notification console"
description: |
Display name for the user preference.
type:
type: string
example: "NOTIFICATION_CONSOLE"
description: |
The type user-preference. There are 4 types supported.
1. "NOTIFICATION_CONSOLE"
2. "NOTIFICATION_SUMMARY_CONSOLE"
3. "TOPOLOGY_CONSOLE"
4. "COLORS_PREF"
assign_to:
type: array
items:
type: string
example: "Operator"
description: |
The console is assigned to which ROLE.
For logged in user , this field value will be populated automatically,
but if Admin user wants to assign, the console to any ROLE then it needs to be
sent in the request payload.
Non admin user won't be able to assign any ROLE.
is_default:
type: boolean
example: true
description: |
This defines wheather the "user-preference" is default.
parent_id:
type: string
example: ""
description: |
Parent id of the console. In case of the root, value would be null.
data:
type: object
description: |
This will contain all UI specific user-preference details.
This is free object and can contain any thing UI wants to store.
sequence_number:
type: integer
example: 349
description: |
The seq_no and primary_term together, helps to achieve optimized concurrency control.
This two field value, must be sent along with update request, if user want to avoid accidental concurrent changes.
primary_term:
type: integer
example: 1
description: |
The seq_no and primary_term together, helps to achieve optimized concurrency control.
This two field value, must be sent along with update request, if user want to
avoid accidental concurrent changes.
create_timestamp:
type: number
description: "Timestamp in epoch milliseconds, notifies the value when user preference is created"
example: 1660635421552
UserPreferenceBase:
type: object
required:
- type
- name
properties:
type:
type: string
description: |
The type user-preference. The below types are supported.
1. "NOTIFICATION_CONSOLE"
2. "NOTIFICATION_SUMMARY_CONSOLE"
3. "TOPOLOGY_CONSOLE"
4. "COLORS_PREF"
5. "LOG_VIEWS"
6. "BAR_CHARTS"
name:
type: string
example: "Default notification console"
description: |
Display name for the user-preference.
description:
type: string
example: "Detailed description about the user-preference"
description: |
This is notification console preference, created for admin.
discriminator:
propertyName: type
CONSOLE:
description: The CONSOLE defines the user-preference types i.e. NOTIFICATION_CONSOLE, NOTIFICATION_SUMMARY_CONSOLE and TOPLOGY_CONSOLE.
allOf:
- $ref: '#/components/schemas/UserPreferenceBase'
- $ref: '#/components/schemas/UserPreferenceConsoleRequest'
- type: object
properties:
sub-preferences:
type: array
items:
$ref: '#/components/schemas/UserPreferenceViewCreateRequestForConsole'
minItems: 1
VIEWS:
description: The VIEWS defines the user-preference types i.e LOG_VIEWS and BAR_CHARTS.
allOf: # Combines the main `Pet` schema with `Cat`-specific properties
- $ref: '#/components/schemas/UserPreferenceBase'
- $ref: '#/components/schemas/UserPreferenceViewCreateRequest'
- type: object
required:
- data
properties:
data:
type: object
description: |
This will contain all UI specific user-preference details.
This is free object and can contain any thing UI wants to store.
UserPreferenceExpandedResponse:
type: object
description: |
This object represent user-preference.
properties:
id:
type: string
example: "8019c333-1d64-44df-a957-bbb89703ba6a"
description: |
The id, uniquely identified the user-preference.
sequence_number:
type: integer
example: 349
description: |
The seq_no and primary_term together, helps to achieve optimized concurrency control.
This two field value, must be sent along with update request, if user want to avoid accidental concurrent changes.
primary_term:
type: integer
example: 1
description: |
The seq_no and primary_term together, helps to achieve optimized concurrency control.
This two field value, must be sent along with update request, if user want to
avoid accidental concurrent changes.
type:
type: string
example: "NOTIFICATION_CONSOLE"
description: |
The type user-preference. The below types are supported.
1. "NOTIFICATION_CONSOLE"
2. "NOTIFICATION_SUMMARY_CONSOLE"
3. "TOPOLOGY_CONSOLE"
4. "COLORS_PREF"
5. "LOG_VIEWS"
6. "BAR_CHARTS"
assign_to:
type: array
items:
type: string
example: "Operator"
description: |
The console is assigned to which ROLE.
For logged in user , this field value will be populated automatically,
but if Admin user wants to assign the console to any ROLE then it needs to be
sent in the request payload.
Non admin user won't be able assign any ROLE.
name:
type: string
example: "Default notification console"
description: |
Display name for the console.
description:
type: string
example: "Detailed description about the user-preference"
description: |
This is notification console preference, created for admin.
is_predefined:
type: boolean
example: true
description: |
system created user preferences.
is_default:
type: boolean
example: true
description: |
used to show default user prefereces for user
parent_id:
type: string
example: ""
description: |
Parent id of the console. In case of the root, value would be null.
data:
type: object
description: |
This will contain all UI specific user-preference details.
This is free object and can contain any thing UI wants to store.
created_by:
type: string
description: |
The user responsible for creation of object.
example: "admin"
create_timestamp:
type: number
description: "Timestamp in epoch milliseconds, notifies the value when user preference is created"
example: 1660635421552
update_timestamp:
type: number
description: "Timestamp in epoch milliseconds, notifies the value when user preference is updated"
example: 1660635421552
sub_preferences:
type: array
items:
$ref: '#/components/schemas/UserPreference'
description: |
Contains all child preferences. This is optional field and will only be returned
when "expand" is set to "true" in request.
# remediation-rest
RemediationPolicy:
example: {"action_name":"slack_action","action_params":"","conditions":[{"operation":"equals","propName":"Active","propValue":"true"}],"created_on":"21 Nov, 2022, 00:42:45 UTC","description":"check servertools filterset","events":[{"class":"KubernetesPod","name":"Failed","type":"event"}],"last_updated":"21 Nov, 2022, 00:42:45 UTC","policy_name":"CheckManualFilterPolicy1","policy_type":"manual"}
required:
- policy_name
- policy_type
- events
- action_name
type: object
properties:
policy_name:
type: string
description: remediation rule name
policy_type:
type: string
description: either manual or automated
example: manual
action_name:
type: string
description: Name of the remediation action
action_params:
type: string
description: optional field for multi event rules
events:
type: array
items:
type: object
description: JSON list of dicts containing class, name and type fields.
conditions:
type: array
items:
type: object
description: JSON list of dicts containing propName, operation and propValue fields.
created_on:
type: string
description: rule creation timestamp
last_updated:
type: string
description: rule last update timestamp
description: |-
Task resource for remediation rule or policy.
Skippable properties: These are properties not required to create the clearAlarms object:
created_on, conditions, last_updated
RemediationAction:
example: {"action_name":"slack_action","created_on":"21 Nov, 2022, 00:42:45 UTC","description":"slack action","file_data":"import json\nfrom datetime import datetime\nfrom airflow.models import DAG\nfrom airflow.models import Variable\nfrom airflow.models.param import Param\nfrom airflow.operators.python import PythonOperator\nfrom airflow.providers.slack.operators.slack import SlackAPIPostOperator\nimport logging\nfrom Success import *\nfrom Failure import *\n\nmyParams = {\n \"Acknowledged\": 'false',\n \"Active\": 'true',\n \"AuditTrail\": [\n {\n \"User\": \"\",\n \"ActionType\": \"\",\n \"SerialNumber\": 0,\n \"Text\": \"\",\n \"Timestamp\": 0\n }\n ],\n \"Category\": \"\",\n \"CausedBy\": [],\n \"Causes\": [\n \"\"\n ],\n \"Certainty\": 0.0,\n \"ClassDisplayName\": \"\",\n \"ClassName\": \"\",\n \"ClearOnAcknowledge\": 'false',\n \"ClosedAt\": 0,\n \"ElementClassName\": \"\",\n \"ElementName\": \"\",\n \"EventDisplayName\": \"\",\n \"EventName\": \"\",\n \"EventState\": \"\",\n \"EventText\": \"\",\n \"EventType\": \"\",\n \"FirstNotifiedAt\": 0,\n \"Impact\": 0,\n \"InMaintenance\": 'false',\n \"InstanceDisplayName\": \"\",\n \"InstanceName\": \"66999f1a-9ef1-4840-a427-b18e04998f49\",\n \"IsProblem\": 'true',\n \"IsRoot\": 'true',\n \"LastChangedAt\": 0,\n \"Name\": \"NOTIFICATION-Interface_IF-qa-npmpe5/4_Down\",\n \"OccurrenceCount\": 1,\n \"OpenedAt\": 0,\n \"Owner\": \"\",\n \"PollingID\": 0,\n \"PollingState\": \"\",\n \"ProcessedTimeStamp\": 0,\n \"Severity\": 1,\n \"Source\": \"$Source:INCHARGE-SA-PRES$\",\n \"SourceDomainName\": \"\",\n \"SourceEventType\": \"\",\n \"SourceInfo\": \"\",\n \"SourceSpecific\": \"\",\n \"TroubleTicketID\": \"\",\n \"UserDefined1\": \"\",\n \"UserDefined10\": \"\",\n \"UserDefined11\": \"\",\n \"UserDefined12\": \"\",\n \"UserDefined13\": \"\",\n \"UserDefined14\": \"\",\n \"UserDefined15\": \"\",\n \"UserDefined16\": \"\",\n \"UserDefined17\": \"\",\n \"UserDefined18\": \"\",\n \"UserDefined19\": \"\",\n \"UserDefined2\": \"\",\n \"UserDefined20\": \"\",\n \"UserDefined3\": \"\",\n \"UserDefined4\": \"\",\n \"UserDefined5\": \"\",\n \"UserDefined6\": \"\",\n \"UserDefined7\": \"\",\n \"UserDefined8\": \"\",\n \"UserDefined9\": \"\",\n \"tags\": {\n \"customer\": \"\",\n \"location\": \"\",\n \"latitude\": \"\"\n }\n}\n\nwith DAG(\n\tdag_id='slack_action',\n\tschedule_interval=None,\n\tstart_date=datetime(2022,5,16),\n default_args={'slack_conn_id': 'slack_connection', 'channel': '#airflow-slack-integration'},\n params=myParams,\n\tis_paused_upon_creation=False,\n\tcatchup=False,\n on_success_callback =success,\n on_failure_callback =failure\n) as dag:\n\n # 1. send slack message with JIRA info and summary\n task_post_slack = SlackAPIPostOperator(\n task_id='task_post_slack',\n text='TCSA Notification received\\n {{ params.Name }}\\n {{ params.Source }}',\n channel='#airflow-slack-integration',\n on_success_callback = success,\n on_failure_callback =failure\n )\n\n task_post_slack","file_type": "PYTHON","last_updated":"21 Nov, 2022, 00:42:45 UTC"}
required:
- action_name
- file_type
type: object
properties:
action_name:
type: string
description: Name of the remediation action
file_type:
enum:
- PYTHON
- YAML
description: either PYTHON or YAML
example: PYTHON
file_data:
type: string
description: file content
created_on:
type: string
description: action creation timestamp
last_updated:
type: string
description: action last update timestamp
description: |-
Task resource for remediation action.
Skippable properties: These are properties not required to create the clearAlarms object:
created_on, last_updated
RemediationConnection:
example: {"conn_type":"http","connection_id":"tco_jira","description":"JIRA connection","host": "https://jira.eng.vmware.com/","login":"username","port":"","schema":""}
required:
- conn_type
- connection_id
- host
- login
type: object
properties:
connection_id:
type: string
description: name of the connection
example: tco_jira
conn_type:
enum:
- http
- slackwebhook
description: either http or slackwebhook
description:
type: string
description: connection description
host:
type: string
description: host URL of the external service
login:
type: string
description: user login
password:
type: string
description: user password
port:
type: string
description: external service port for DB connections
schema:
type: string
description: external service schema for DB connections
extra:
type: string
description: HTTP header with Auth info
description: |-
Task resource for remediation connection.
Skippable properties: These are properties not required to create the clearAlarms object:
port, schema, extra
RemediationVariable:
example: {"description":"test variable","key": "testing","value":"123"}
required:
- key
- value
- description
type: object
properties:
key:
type: string
description: Name of the remediation parameter
value:
type: string
description: value associated with the key
description:
type: string
description: description of the parameter
description: |-
Task resource for remediation parameter.
RemediationStatus:
example: {"action_name":"bash_example","dag_message":"","dag_success":"success","event_name":"Down","notif_class_name":"KubernetesWorker","notification_id":"NAME:NOTIFICATION-KubernetesWorker_27999f1a-9ef1-4840-a427-b18e04998f49_Down$Source:INCHARGE-SA-PRES$","policy_name":"TestManual1","remediation_type":"MANUAL","dag_run_id":"2022-11-09T15:11:14.663385+00:00"}
required:
- dag_run_id
type: object
properties:
dag_run_id:
type: string
description: remediation dag run id
dag_success:
type: string
description: either inprogress, success or failure
example: manual
dag_message:
type: string
description: detail status message
action_name:
type: string
description: remediation action name
policy_name:
type: string
description: remediation rule name
event_name:
type: string
description: remediation event name
notification_id:
type: string
description: notification id
remediationType:
enum:
- manual
- auto
description: manual or auto
description: |-
Task resource for remediation status.
RemediationServertoolsList:
example: {"notif_class_name": "KubernetesPod","event_name": "Failed","is_problem": "false","name": "NOTIFICATION-KubernetesPod_KubernetesPod-011da22f-7978-477f-b0c3-057835c3e62b_Failed","source": "INCHARGE-SA-PRES"}
required:
- event_name
- is_problem
- name
- source
type: object
properties:
notif_class_name:
type: string
description: remediation notification ClasName
example: Interface
event_name:
type: string
description: remediation notification EventName
example: Down
name:
type: string
description: remediation notification Name
source:
type: string
description: remediation notification Source
is_problem:
type: string
description: true or false
description: |-
Task resource for remediation servertools list.
RemediationRunAction:
example: {"ActionName": "bash_example","NotificationId": {} }
required:
- ActionName
- NotificationId
type: object
properties:
ActionName:
type: string
description: remediation action name
example: Interface
NotificationId:
type: object
description: remediation Notification object
description: |-
Task resource for remediation manual runaction.
RelationshipMetricRequest:
type: object
properties:
metric_name:
type: string
description: Catalog metric-name to be retrived
relations:
description: Link id to which metrics to be fetched
type: array
items:
$ref: '#/components/schemas/MetricRelation'
description: Request body to fetch relationship metrics
example: {"relations":[{"id":"LINK-AggregatePort-10.107.119.10/5001-LACP<->IF-10.107.117.2/2"}],"metric_name":"CurrentUtilization"}
required:
- metric_name
- relations
MetricRelation:
type: object
description: Link id to which metrics to be fetched
properties:
id:
type: string
RelationshipMetricResponse:
type: object
description: Object contains a map, where key is the mapping name, and the value is an object of mapping metadata and json mapping
example: {"LINK-AggregatePort-10.107.119.10/5001-LACP<->IF-10.107.117.2/2":{"10.107.119.10$Switch$":{"value":0.018179733,"interface_name":"AggregatePort-10.107.119.10/5001-LACP"},"10.107.117.2$Router$":{"value":0.08389807,"interface_name":"IF-10.107.117.2/2"}}}
additionalProperties:
$ref: '#/components/schemas/RelationshipMetricValueObject'
RelationshipMetricValueObject:
type: object
description: Relationship metric values
additionalProperties:
$ref: '#/components/schemas/RelationshipMetricValues'
RelationshipMetricValues:
type: object
description: Relation ship metric values
properties:
source:
type: object
description: A-end metric value
destination:
description: Z-end metric value
type: object
security:
- bearerAuth: []