Merge "Add find and delete examples to Key Manager"

This commit is contained in:
Zuul
2025-11-12 16:46:34 +00:00
committed by Gerrit Code Review
3 changed files with 84 additions and 0 deletions

View File

@@ -54,3 +54,27 @@ when making this request.
.. literalinclude:: ../examples/key_manager/get.py
:pyobject: get_secret_payload
Find Secret
-----------
To find a secret by name or ID, use the
:meth:`~openstack.key_manager.v1._proxy.Proxy.find_secret` method.
This method can search for a :class:`~openstack.key_manager.v1.secret.Secret`
by either its name or ID, making it flexible when you don't have
the exact secret ID.
.. literalinclude:: ../examples/key_manager/find.py
:pyobject: find_secret
Delete Secret
-------------
To delete a secret, use the
:meth:`~openstack.key_manager.v1._proxy.Proxy.delete_secret` method.
The secret can be identified by its ID or by using
:meth:`~openstack.key_manager.v1._proxy.Proxy.find_secret` to locate
it by name first.
.. literalinclude:: ../examples/key_manager/delete.py
:pyobject: delete_secret

View File

@@ -0,0 +1,29 @@
# 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.
"""
Delete resources from the Key Manager service.
For a full guide see
https://docs.openstack.org/openstacksdk/latest/user/guides/key_manager.html
"""
def delete_secret(conn, name_or_id):
print(f"Delete Secret: {name_or_id}")
secret = conn.key_manager.find_secret(name_or_id)
if secret:
conn.key_manager.delete_secret(secret)
else:
print("Secret not found")

View File

@@ -0,0 +1,31 @@
# 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.
"""
Find resources from the Key Manager service.
For a full guide see
https://docs.openstack.org/openstacksdk/latest/user/guides/key_manager.html
"""
def find_secret(conn, name_or_id):
print(f"Find Secret: {name_or_id}")
secret = conn.key_manager.find_secret(name_or_id)
if secret:
print(secret)
return secret
else:
print("Secret not found")
return None