From a512f3efc3b72ccd0d4d7ccda97833d816836f8d Mon Sep 17 00:00:00 2001 From: asteroide Date: Wed, 19 Jul 2017 17:11:16 +0200 Subject: First version of the Consul component Change-Id: I32487faa7a68caaf2d40d0a6938e6fc1537680a0 --- moonv4/moon_consul/moon_consul/api/openstack.py | 63 +++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 moonv4/moon_consul/moon_consul/api/openstack.py (limited to 'moonv4/moon_consul/moon_consul/api/openstack.py') diff --git a/moonv4/moon_consul/moon_consul/api/openstack.py b/moonv4/moon_consul/moon_consul/api/openstack.py new file mode 100644 index 00000000..5d776981 --- /dev/null +++ b/moonv4/moon_consul/moon_consul/api/openstack.py @@ -0,0 +1,63 @@ +# Copyright 2015 Open Platform for NFV Project, Inc. and its contributors +# This software is distributed under the terms and conditions of the 'Apache-2.0' +# license which can be found in the file 'LICENSE' in this package distribution +# or at 'http://www.apache.org/licenses/LICENSE-2.0'. +""" +Assignments allow to connect data with elements of perimeter + +""" + +from flask import request +from flask_restful import Resource +# from oslo_config import cfg +from oslo_log import log as logging +# from moon_interface.tools import check_auth + +__version__ = "0.1.0" + +LOG = logging.getLogger(__name__) +# CONF = cfg.CONF + + +class Keystone(Resource): + """ + Endpoint for Keystone requests + """ + + __urls__ = ( + "/configuration/os/keystone", + ) + + def __init__(self, *args, **kwargs): + self.conf = kwargs.get('conf', {}) + + # @check_auth + def get(self): + """Retrieve Keystone configuration + + :return: { + "keystone": { + "url": "hostname for the Keystone server", + "user": "user for the Keystone server", + "password": "password for the Keystone server", + "domain": "domain to use against Keystone server", + "project": "main project to use", + "check_token": "yes, no or strict", + "server_crt": "certificate to use when using https" + } + } + """ + # TODO: password must be encrypted + # TODO: check_token is a sensitive information it must not be update through the network + return { + "keystone": { + "url": self.conf.KEYSTONE_URL, + "user": self.conf.KEYSTONE_USER, + "password": self.conf.KEYSTONE_PASSWORD, + "domain": self.conf.KEYSTONE_DOMAIN, + "project": self.conf.KEYSTONE_PROJECT, + "check_token": self.conf.KEYSTONE_CHECK_TOKEN, + "server_crt": self.conf.KEYSTONE_SERVER_CRT + } + } + -- cgit 1.2.3-korg