
This change updates the Key Manager service for the resource2/proxy2 refactoring. Along with making it work with the new classes, it improves usability--at least temporarily--by exposing the ID value necessary from the HREFs that the service returns. The HREF that gets returned, e.g., from a list call, is not directly usable to then pass it into a get call. A more long-term fix for this would potentially be to create a Key Manager specific base class that fiddles around with IDs and looks to see if they are an HREF and converts them to a UUID in the proper direction depending on where the data is going, but that's too much to tackle in this refactoring change. Besides updating some of the resources to match the documented attributes, one feature this does add is retrieval of the Secret payload, which is done via a separate endpoint. However, like other calls in Glance and Heat, we unify them in the proxy's `get_secret` call so the user doesn't need to know it's a separate call. This also includes some basic docs in the user guide to show how the different ID usage is currently necessary. Change-Id: I8b5753e121d8f79350b38803e8aac95d7b4d1627
2.0 KiB
Using OpenStack Key Manager
Before working with the Key Manager service, you'll need to create a
connection to your OpenStack cloud by following the connect
user guide. This will
provide you with the conn
variable used in the examples
below.
Table of Contents
Note
Some interactions with the Key Manager service differ from that of
other services in that resources do not have a proper id
parameter, which is necessary to make some calls. Instead, resources
have a separately named id attribute, e.g., the Secret resource has
secret_id
.
The examples below outline when to pass in those id values.
Create a Secret
The Key Manager service allows you to create new secrets by passing
the attributes of the ~openstack.key_manager.v1.secret.Secret
to the ~openstack.key_manager.v1._proxy.Proxy.create_secret
method.
../examples/key_manager/create.py
List Secrets
Once you have stored some secrets, they are available for you to list
via the ~openstack.key_manager.v1._proxy.Proxy.secrets
method. This method returns a generator, which yields each ~openstack.key_manager.v1.secret.Secret
.
../examples/key_manager/list.py
The ~openstack.key_manager.v1._proxy.Proxy.secrets
method
can also make more advanced queries to limit the secrets that are
returned.
../examples/key_manager/list.py
Get Secret Payload
Once you have received a ~openstack.key_manager.v1.secret.Secret
, you can
obtain the payload for it by passing the secret's id value to the ~openstack.key_manager.v1._proxy.Proxy.secrets
method. Use the ~openstack.key_manager.v1.secret.Secret.secret_id
attribute when making this request.
../examples/key_manager/get.py