@@ -123,16 +123,29 @@ def listMasInstances(dynClient: DynamicClient) -> list:
123123 """
124124 Get a list of MAS instances on the cluster
125125 """
126- suitesAPI = dynClient . resources . get ( api_version = "core.mas.ibm.com/v1" , kind = "Suite" )
126+ return listInstances ( dynClient , "core.mas.ibm.com/v1" , "Suite" )
127127
128- suites = suitesAPI .get ().to_dict ()['items' ]
129- if len (suites ) > 0 :
130- logger .info (f"There are { len (suites )} MAS instances installed on this cluster:" )
131- for suite in suites :
132- logger .info (f" * { suite ['metadata' ]['name' ]} v{ suite ['status' ]['versions' ]['reconciled' ]} " )
128+
129+ def listAiServiceInstances (dynClient : DynamicClient ) -> list :
130+ """
131+ Get a list of AI Service instances on the cluster
132+ """
133+ return listInstances (dynClient , "aiservice.ibm.com/v1" , "AIServiceApp" )
134+
135+
136+ def listInstances (dynClient : DynamicClient , apiVersion : str , kind : str ) -> list :
137+ """
138+ Get a list of instances of a particular CR on the cluster
139+ """
140+ api = dynClient .resources .get (api_version = apiVersion , kind = kind )
141+ instances = api .get ().to_dict ()['items' ]
142+ if len (instances ) > 0 :
143+ logger .info (f"There are { len (instances )} { kind } instances installed on this cluster:" )
144+ for instance in instances :
145+ logger .info (f" * { instance ['metadata' ]['name' ]} v{ instance ['status' ]['versions' ]['reconciled' ]} " )
133146 else :
134- logger .info ("There are no MAS instances installed on this cluster" )
135- return suites
147+ logger .info (f "There are no { kind } instances installed on this cluster" )
148+ return instances
136149
137150
138151def getWorkspaceId (dynClient : DynamicClient , instanceId : str ) -> str :
0 commit comments