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=&lt;user name&gt;'
  --data-urlencode 'password=&lt;password&gt;'
</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 &#39;Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICIyVlFrLWh6Zy1uRUN1eDFvR0p6M3dNa3ZPSkRqVjRNb29aZWk2RHJORWhjIn0.eyJleHAiOjE2NDg5MDM1MTMsImlhdCI6MTY0ODkwMzM5MywianRpIjoiMTZiMDA4YzEtZDE5MC00NzRlLWFhNWYtNzk0YjU5YjNhMDE0IiwiaXNzIjoiaHR0cDovL2tleWNsb2Frc2VydmVyOjgwODAvYXV0aC9yZWFsbXMvTkdJTlgiLCJhdWQiOiJhY2NvdW50Iiwic3ViIjoiYjA4YTM5ZGEtYzMyNi00ZDdmLThlNDQtMzcxMmQ4ODI1MTdjIiwidHlwIjoiQmVhcmVyIiwiYXpwIjoibmdpbngiLCJzZXNzaW9uX3N0YXRlIjoiYjNkM2Y3ZDEtMGQ5NS00MGMzLTk3OTUtMDVmNjM0MWUyODNlIiwiYWNyIjoiMSIsImFsbG93ZWQtb3JpZ2lucyI6WyIiXSwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbIkVudGVycHJpc2UgQWRtaW5pc3RyYXRvciIsIm9mZmxpbmVfYWNjZXNzIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJzaWQiOiJiM2QzZjdkMS0wZDk1LTQwYzMtOTc5NS0wNWY2MzQxZTI4M2UiLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsInJvbGVzIjpbIkVudGVycHJpc2UgQWRtaW5pc3RyYXRvciIsIm9mZmxpbmVfYWNjZXNzIiwidW1hX2F1dGhvcml6YXRpb24iXSwibmFtZSI6ImFkbWluIE5HSU5YIiwiZ3JvdXBzIjpbIkVudGVycHJpc2UgQWRtaW5pc3RyYXRvciJdLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJhZG1pbiIsImdpdmVuX25hbWUiOiJhZG1pbiIsImZhbWlseV9uYW1lIjoiTkdJTlgifQ.jnU4ewqbZviwYhBCPHTg-FkwZbgB6jWo4-7V2h_Fa6b44-s4bSN-UKloEebevxoL6EhFrWqHeXgV3R67Gpk9kO_5d0dKR3OKqURHCIr89rONvOZSsN3cV_NaMDYFonopv_gHDdmD0YNj2A9ZAHwZEO14DdACZPshSb-9zFobadfVh69oe7wIXtgkI_42pUzVId2B7BGfFyJnUtHFrsCFuIhNzgRZfkl7kK50qzeG9zHGS61UfTyy-3R0iPMaCm_q9V1E-x7leCI70Bvv4EzMbEl5E1vj1OW5iiCa-9xIwOSAcYUqX3jtXiHBXtHbPPuqH_W29ym23V_5nHbGoLNLWg&#39;
</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 &quot;/token&quot; API allows the application to obtain a new access token after it expires.

Obtain new access token using &quot;refresh&quot; 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=&lt;refresh_token&gt;'
</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: []
Feedback

Was this page helpful?