summaryrefslogtreecommitdiff
path: root/keystoneclient/v2_0
diff options
context:
space:
mode:
authorBrant Knudson <bknudson@us.ibm.com>2014-12-16 08:51:00 -0600
committerBrant Knudson <bknudson@us.ibm.com>2014-12-29 08:22:23 -0600
commit167ba8d4a6988e973350d13c843ddf5dc9ff2acb (patch)
treef175b523d9f21c4bb3e14bc2ce409c40490bc0d6 /keystoneclient/v2_0
parent10860db5f155052ca0d353ce9058e1c16eec8437 (diff)
downloadpython-keystoneclient-167ba8d4a6988e973350d13c843ddf5dc9ff2acb.tar.gz
Add get certificates for v2.0
There was no API to fetch the PKI certificates using v2.0. bp auth-token-use-client Change-Id: I2b6f9af8b843d72271234fd4d26963b75a25a086
Diffstat (limited to 'keystoneclient/v2_0')
-rw-r--r--keystoneclient/v2_0/certificates.py42
-rw-r--r--keystoneclient/v2_0/client.py2
2 files changed, 44 insertions, 0 deletions
diff --git a/keystoneclient/v2_0/certificates.py b/keystoneclient/v2_0/certificates.py
new file mode 100644
index 0000000..929e973
--- /dev/null
+++ b/keystoneclient/v2_0/certificates.py
@@ -0,0 +1,42 @@
+# Copyright 2014 IBM Corp.
+# 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.
+
+
+class CertificatesManager(object):
+ """Manager for certificates."""
+
+ def __init__(self, client):
+ self._client = client
+
+ def get_ca_certificate(self):
+ """Get CA certificate.
+
+ :returns: PEM-formatted string.
+ :rtype: str
+
+ """
+
+ resp, body = self._client.get('/certificates/ca', authenticated=False)
+ return resp.text
+
+ def get_signing_certificate(self):
+ """Get signing certificate.
+
+ :returns: PEM-formatted string.
+ :rtype: str
+
+ """
+
+ resp, body = self._client.get('/certificates/signing',
+ authenticated=False)
+ return resp.text \ No newline at end of file
diff --git a/keystoneclient/v2_0/client.py b/keystoneclient/v2_0/client.py
index f7bf153..bba556e 100644
--- a/keystoneclient/v2_0/client.py
+++ b/keystoneclient/v2_0/client.py
@@ -19,6 +19,7 @@ from keystoneclient.auth.identity import v2 as v2_auth
from keystoneclient import exceptions
from keystoneclient import httpclient
from keystoneclient.i18n import _
+from keystoneclient.v2_0 import certificates
from keystoneclient.v2_0 import ec2
from keystoneclient.v2_0 import endpoints
from keystoneclient.v2_0 import extensions
@@ -131,6 +132,7 @@ class Client(httpclient.HTTPClient):
"""Initialize a new client for the Keystone v2.0 API."""
super(Client, self).__init__(**kwargs)
+ self.certificates = certificates.CertificatesManager(self._adapter)
self.endpoints = endpoints.EndpointManager(self._adapter)
self.extensions = extensions.ExtensionManager(self._adapter)
self.roles = roles.RoleManager(self._adapter)