From 2e06ab0b8c730f063e1376b2f330c3b78089af67 Mon Sep 17 00:00:00 2001 From: Nizamudeen A Date: Wed, 18 Oct 2023 12:06:47 +0530 Subject: [PATCH] mgr/dashboard: support rgw roles removal Fixes: https://tracker.ceph.com/issues/63230 Signed-off-by: Nizamudeen A --- src/pybind/mgr/dashboard/controllers/rgw.py | 19 +++++++++++++++++-- .../mgr/dashboard/services/rgw_client.py | 8 ++++++++ 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/src/pybind/mgr/dashboard/controllers/rgw.py b/src/pybind/mgr/dashboard/controllers/rgw.py index 9bc1b489edee..fd376a53f037 100644 --- a/src/pybind/mgr/dashboard/controllers/rgw.py +++ b/src/pybind/mgr/dashboard/controllers/rgw.py @@ -718,6 +718,16 @@ class RGWRoleEndpoints: return f'Role {role_name} created successfully' + @staticmethod + def role_delete(_, role_name: str): + assert role_name + rgw_client = RgwClient.admin_instance() + rgw_client.delete_role(role_name) + return f'Role {role_name} deleted successfully' + + + + # pylint: disable=C0301 assume_role_policy_help = ( 'Paste a json assume role policy document, to find more information on how to get this document, None: + rgw_delete_role_command = ['role', 'delete', '--role-name', role_name] + code, _, _err = mgr.send_rgwadmin_command(rgw_delete_role_command, + stdout_as_json=False) + if code != 0: + raise DashboardException(msg=f'Error deleting role with code {code}: {_err}', + component='rgw') @RestClient.api_get('/{bucket_name}?policy') def get_bucket_policy(self, bucket_name: str, request=None): -- 2.47.3