From 7b7cfac3d2ae636f63c0e94df1a7129f2d10cb54 Mon Sep 17 00:00:00 2001 From: hariharan97 Date: Wed, 26 Aug 2020 09:42:29 +0530 Subject: Add Nxi-Termination feature Issue-ID: OPTFRA-825 Signed-off-by: hariharan97 Change-Id: I0d768e36708e9f26e5bcdf661b2bcb5772ed48c2 --- osdf/adapters/aai/_init_.py | 0 osdf/adapters/aai/fetch_aai_data.py | 55 +++++++++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 osdf/adapters/aai/_init_.py create mode 100644 osdf/adapters/aai/fetch_aai_data.py (limited to 'osdf/adapters') diff --git a/osdf/adapters/aai/_init_.py b/osdf/adapters/aai/_init_.py new file mode 100644 index 0000000..e69de29 diff --git a/osdf/adapters/aai/fetch_aai_data.py b/osdf/adapters/aai/fetch_aai_data.py new file mode 100644 index 0000000..634aa04 --- /dev/null +++ b/osdf/adapters/aai/fetch_aai_data.py @@ -0,0 +1,55 @@ +# ------------------------------------------------------------------------- +# Copyright (C) 2020 Wipro Limited. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# ------------------------------------------------------------------------- +# + +import requests +from requests.auth import HTTPBasicAuth +from requests import RequestException + + +class AAIException(Exception): + pass + + +def get_aai_data(request_json, osdf_config): + + """Get the response from AAI + + :param request_json: requestjson + :param osdf_config: configuration specific to OSDF app + :return:response body from AAI + """ + aai_headers = { + "X-TransactionId": "9999", + "X-FromAppId": "OOF", + "Accept": "application/json", + "Content-Type": "application/json", + } + nxi_id = request_json["NxIId"] + config = osdf_config.deployment + aai_url = config["aaiUrl"] + aai_req_url = aai_url + config["aaiServiceInstanceUrl"] + nxi_id + "?depth=2" + + try: + response = requests.get(aai_req_url, aai_headers, auth=HTTPBasicAuth("AAI", "AAI"), verify=False) + except RequestException as e: + raise AAIException("Request exception was encountered {}".format(e)) + + if response.status_code == 200: + return response.json() + else: + raise AAIException("Error response recieved from AAI for the request {}".format(aai_req_url)) -- cgit 1.2.3-korg