def remove_servicerolebinding()

in lambdas/kf_profile_manager/index.py [0:0]


def remove_servicerolebinding(user_name: str, namespace: str):
    custom_objects_api = client.CustomObjectsApi(api_client)
    servicerolebindings = custom_objects_api.list_namespaced_custom_object(
        group="rbac.istio.io",
        version="v1alpha1",
        namespace=f"{namespace}",
        plural="servicerolebindings",
        pretty="true"
    )

    # iterate over servicerolebindings to find if new one should be created or old one exists
    for srb in servicerolebindings['items']:
        srb_metadata_name = srb['metadata']['name']

        if srb_metadata_name == f"user-{user_name}-kubeflow-org-clusterrole-edit":
            logger.info(
                f"delete_namespaced_custom_object: servicerolebinding user-{user_name}-kubeflow-org-clusterrole-edit in namespace={namespace}")
            try:
                api_response = custom_objects_api.delete_namespaced_custom_object(
                    group="rbac.istio.io",
                    version="v1alpha1",
                    plural="servicerolebindings",
                    namespace=f"{namespace}",
                    name=f"user-{user_name}-kubeflow-org-clusterrole-edit",
                    grace_period_seconds="0"
                )
            except ApiException as e:
                logger.info("Exception when calling CustomObjectsApi->delete_namespaced_custom_object: %s\n" % e)