Skip to content

Commit 9ede49f

Browse files
committed
[patch] add function to get a single cluster issuer by name
1 parent c219c6e commit 9ede49f

1 file changed

Lines changed: 35 additions & 1 deletion

File tree

src/mas/devops/ocp.py

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -377,11 +377,45 @@ def getStorageClasses(dynClient: DynamicClient) -> list:
377377

378378

379379
def getClusterIssuers(dynClient: DynamicClient) -> list:
380-
clusterIssuerAPI = dynClient.resources.get(api_version="cert-manager.io", kind="ClusterIssuer")
380+
"""
381+
Get all ClusterIssuers in the cluster.
382+
383+
Parameters:
384+
dynClient (DynamicClient): OpenShift Dynamic Client
385+
386+
Returns:
387+
list: List of ClusterIssuers resources
388+
389+
Raises:
390+
NotFoundError: If ClusterIssuers cannot be retrieved
391+
"""
392+
clusterIssuerAPI = dynClient.resources.get(api_version="cert-manager.io/v1", kind="ClusterIssuer")
381393
clusterIssuers = clusterIssuerAPI.get().items
382394
return clusterIssuers
383395

384396

397+
def getClusterIssuer(dynClient: DynamicClient, name: str) -> str:
398+
"""
399+
Get a specific ClusterIssuer by name.
400+
401+
Parameters:
402+
dynClient (DynamicClient): OpenShift Dynamic Client
403+
name (str): The name of the ClusterIssuer to retrieve
404+
405+
Returns:
406+
ClusterIssuer: The ClusterIssuer resource, or None if not found
407+
408+
Raises:
409+
NotFoundError: If the ClusterIssuer does not exist (caught and returns None)
410+
"""
411+
try:
412+
clusterIssuerAPI = dynClient.resources.get(api_version="cert-manager.io/v1", kind="ClusterIssuer")
413+
clusterIssuer = clusterIssuerAPI.get(name=name)
414+
return clusterIssuer
415+
except NotFoundError:
416+
return None
417+
418+
385419
def isSNO(dynClient: DynamicClient) -> bool:
386420
"""
387421
Check if the cluster is a Single Node OpenShift (SNO) deployment.

0 commit comments

Comments
 (0)