mas-cli 15.4.0__py3-none-any.whl → 15.6.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of mas-cli might be problematic. Click here for more details.

mas/cli/update/app.py CHANGED
@@ -11,6 +11,7 @@
11
11
 
12
12
  import logging
13
13
  import logging.handlers
14
+ from typing import Callable
14
15
  from halo import Halo
15
16
  from prompt_toolkit import print_formatted_text, HTML
16
17
 
@@ -21,7 +22,7 @@ from ..validators import StorageClassValidator
21
22
  from .argParser import updateArgParser
22
23
 
23
24
  from mas.devops.ocp import createNamespace, getStorageClasses, getConsoleURL
24
- from mas.devops.mas import listMasInstances, getCurrentCatalog
25
+ from mas.devops.mas import listMasInstances, listAiServiceInstances, getCurrentCatalog
25
26
  from mas.devops.tekton import preparePipelinesNamespace, installOpenShiftPipelines, updateTektonDefinitions, launchUpdatePipeline
26
27
 
27
28
 
@@ -94,7 +95,10 @@ class UpdateApp(BaseApp):
94
95
  # deprecated MaximoApplicationSuite ImageContentSourcePolicy instead of the new ImageDigestMirrorSet
95
96
  self.isAirgap()
96
97
  self.reviewCurrentCatalog()
97
- self.reviewMASInstance()
98
+ isMasInstalled = self.reviewMASInstance()
99
+ isAiServiceInstalled = self.reviewAiServiceInstance()
100
+ if not isMasInstalled and not isAiServiceInstalled:
101
+ self.fatalError(["No MAS or AI Service instances were detected on the cluster => nothing to update! See log file for details"])
98
102
 
99
103
  if self.args.mas_catalog_version is None:
100
104
  # Interactive mode
@@ -228,15 +232,23 @@ class UpdateApp(BaseApp):
228
232
  f" <u>{catalogInfo['image']}</u>"
229
233
  ])
230
234
 
231
- def reviewMASInstance(self) -> None:
232
- self.printH1("Review MAS Instances")
233
- self.printDescription(["The following MAS intances are installed on the target cluster and will be affected by the catalog update:"])
235
+ def reviewMASInstance(self) -> bool:
236
+ return self.reviewInstances(listMasInstances, 'MAS', 'Suite.core.mas.ibm.com/v1')
237
+
238
+ def reviewAiServiceInstance(self) -> bool:
239
+ return self.reviewInstances(listAiServiceInstances, 'AI Service', 'AIServiceApp.aiservice.ibm.com/v1')
240
+
241
+ def reviewInstances(self, getInstances: Callable, name: str, kind: str) -> bool:
242
+ self.printH1(f"Review {name} Instances")
234
243
  try:
235
- suites = listMasInstances(self.dynamicClient)
236
- for suite in suites:
237
- self.printDescription([f"- <u>{suite['metadata']['name']}</u> v{suite['status']['versions']['reconciled']}"])
244
+ instances = getInstances(self.dynamicClient)
245
+ self.printDescription([f"The following {name} instances are installed on the target cluster and will be affected by the catalog update:"])
246
+ for instance in instances:
247
+ self.printDescription([f"- <u>{instance['metadata']['name']}</u> v{instance['status']['versions']['reconciled']}"])
248
+ return True
238
249
  except ResourceNotFoundError:
239
- self.fatalError("No MAS instances were detected on the cluster (Suite.core.mas.ibm.com/v1 API is not available). See log file for details")
250
+ self.printDescription([f"No {name} instances were detected on the cluster ({kind} API is not available)"])
251
+ return False
240
252
 
241
253
  def chooseCatalog(self) -> None:
242
254
  self.printH1("Select IBM Maximo Operator Catalog Version")
mas/cli/validators.py CHANGED
@@ -151,6 +151,24 @@ class JsonValidator(Validator):
151
151
  raise (ValidationError(message='Enter a valid JSON', cursor_position=len(inputJson)))
152
152
 
153
153
 
154
+ class LanguageValidator(Validator):
155
+ def __init__(self, _language_list):
156
+ """
157
+ This function was created to give context of the array that will
158
+ be validated
159
+ """
160
+ self._language_list = _language_list
161
+
162
+ def validate(self, document):
163
+ """
164
+ Validate if an input it's outside of an list
165
+ """
166
+ languages = document.text
167
+ for language in languages.split(","):
168
+ if language.upper() not in self._language_list:
169
+ raise (ValidationError(message='Language not supported. Please select value(s) from the list', cursor_position=len(languages)))
170
+
171
+
154
172
  class BucketPrefixValidator(Validator):
155
173
  def validate(self, document):
156
174
  """
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mas-cli
3
- Version: 15.4.0
3
+ Version: 15.6.0
4
4
  Summary: Python Admin CLI for Maximo Application Suite
5
5
  Home-page: https://github.com/ibm-mas/cli
6
6
  Author: David Parker
@@ -1,30 +1,30 @@
1
- mas/cli/__init__.py,sha256=j5gTptbFChwynOmhMQP6gl7ZZl9c6aCl8bS0iHbY8Zw,526
2
- mas/cli/cli.py,sha256=TvAP_69oZVoTuUIW1vMtaH9GFmLqC9GP-XaJHlLgOzU,18932
3
- mas/cli/displayMixins.py,sha256=e3lAx1DIOwsriDcNI0M2JyP1jeLOZKvId6sPrvWLyqs,5984
1
+ mas/cli/__init__.py,sha256=NrdybHpjopT6bb3DvpYs1lU1RphtuE5Lg_8sOnTkCi0,526
2
+ mas/cli/cli.py,sha256=HhAOLkz8BseG01jTgIyWQlemrMvg6_XvZDwHbYVjtlQ,19221
3
+ mas/cli/displayMixins.py,sha256=o61M4Jdi7hXk7aopIfShT9oTh1lrrRd_GgfKu4QvgUM,6056
4
4
  mas/cli/gencfg.py,sha256=kgbYihOcqGADK8XnrfcEoBawaY1qSGKuVNW1unACOnU,4433
5
- mas/cli/validators.py,sha256=YBxkKOHO0d-EK61nUflVOd0-Mxmjuq_nbPYWyKD0VKc,5844
5
+ mas/cli/validators.py,sha256=-QbWyHJI5g9l_PVQBtnKrk4y8b8K0AKoKqtnO6EFqnI,6481
6
6
  mas/cli/aiservice/install/__init__.py,sha256=Af-TjB2oIy3bM-Rt3YNeJ_2ndsZZU7azqFkT5um7XQY,515
7
- mas/cli/aiservice/install/app.py,sha256=Q_dGHKp2rFIrO0jNHynRAm9nU6o5eDPT71yyWJAyuv4,42676
7
+ mas/cli/aiservice/install/app.py,sha256=R2WVPXm1cbNpEZSclJ974_enpy8Y4owkWlXLbvx0iNo,42757
8
8
  mas/cli/aiservice/install/argBuilder.py,sha256=ItOMJmXxT5h3Hpcpc24UwN7lbeVHIRNACpkyu8tumAo,9259
9
9
  mas/cli/aiservice/install/argParser.py,sha256=EM0Kj1gb7zamtaN4q50wDK-jioNfbN5gxtMbsWd616Q,13941
10
10
  mas/cli/aiservice/install/params.py,sha256=E6cAbpbqADJ6jn7CRnoJXjWDhmOStPclfWNmmS_n2PM,2290
11
11
  mas/cli/aiservice/install/summarizer.py,sha256=WO0SR8H1mFBN8mn17eoq1tNf7mvNjlgVSu1Lx0fAfp8,6008
12
12
  mas/cli/install/__init__.py,sha256=v0WJlcdrSycWGT5ofFjRDV3jTZ8AqVCz1AGxok4Khtc,508
13
- mas/cli/install/app.py,sha256=tDsLlv_p8mm1Jls3t8p1XmHfJFpgjENd9GXfkL0kzrs,69941
13
+ mas/cli/install/app.py,sha256=_sp45oE4VgnrnEx75SFxGqWucvUM5sFBM5AhogWJXls,69999
14
14
  mas/cli/install/argBuilder.py,sha256=lco77lRujd7uK2enc8urcR7MXXuqSUY_o2U045SyRVA,29072
15
15
  mas/cli/install/argParser.py,sha256=sOa0Irmt1azaSal24wk4aFgDoYeUFvh2HzzKYOLClFQ,36271
16
16
  mas/cli/install/catalogs.py,sha256=RzDAyHifYn37dokRJtOH9UbArZllQmpl4GficvG9-1I,862
17
- mas/cli/install/params.py,sha256=GWJHkMCMCGB9WdlYBhOrY2GxU-hfIlA-r8MdHZyEISY,4993
17
+ mas/cli/install/params.py,sha256=bUJzf2V3oJhsIH9-OUp0BOfzD-ycxh3HWaIKL7DlU2Q,4919
18
18
  mas/cli/install/summarizer.py,sha256=svii5I_If3bhTMatzgfDngtG5BC-MJAHLPdPrnN1tGI,22640
19
19
  mas/cli/install/settings/__init__.py,sha256=RdyBSh-rM0wkuvILVzJ1gxjOtLuQ1mF6QbEL0MyiKIY,1034
20
20
  mas/cli/install/settings/additionalConfigs.py,sha256=hFN7OIiPmmAoo8h_5JiMLtW9r30zK1mMKuPqPpFf1mc,10187
21
21
  mas/cli/install/settings/db2Settings.py,sha256=zFw1wiZTGFLdUsQUKY0l5dWne4ZXQhKuksSO0Q_86AM,16825
22
22
  mas/cli/install/settings/kafkaSettings.py,sha256=r1uK-IApqB9IQiSNt_8sP0wa4FPJcXU_qnadhElEOuI,7241
23
- mas/cli/install/settings/manageSettings.py,sha256=796r5Gyub07cPn8q65kh_h-KjFRVCHeQNq0ADiehWf8,16244
23
+ mas/cli/install/settings/manageSettings.py,sha256=VEMOkFoyJot29Sc8DrTg2ytZiM6Ga5gTeVftoW-yuIU,16878
24
24
  mas/cli/install/settings/mongodbSettings.py,sha256=aZdQHpeMwLVznrJWAkJsZu2Ok9t4Dkra2RGa_uKJHaY,2604
25
25
  mas/cli/install/settings/turbonomicSettings.py,sha256=ul4eWf53b1NCzJTFsEPX6DWM23YUlWILYBygplqXYlU,1631
26
26
  mas/cli/templates/facilities-configs.yml.j2,sha256=Er4UwxUl1Y3rtjIPMExVM8EXNcbesMusgLcRV050B1s,774
27
- mas/cli/templates/ibm-mas-tekton.yaml,sha256=1R8k16JhOMsRNAXrfGKVgQ-zsJ4W5IT1EyQmyj56hkM,1563093
27
+ mas/cli/templates/ibm-mas-tekton.yaml,sha256=6VO-Oz19EhNLHfYXDCUEdSWEQbf0NYBhfL_oVPH55lM,1580876
28
28
  mas/cli/templates/jdbccfg.yml.j2,sha256=cANbwkUkKEPQp-P3_BB_Llbt94457Ciagah2hOdySIM,1644
29
29
  mas/cli/templates/suite_mongocfg.yml.j2,sha256=WrgJUfGyvfaRIHjY5VR_zLZ5irTpV5khKNq76ejIxKU,1606
30
30
  mas/cli/templates/pod-templates/best-effort/ibm-data-dictionary-assetdatadictionary.yml,sha256=8VG_FDFcEjWNaAOZTcS58Pe0tWOXC10SJLloNqzEMC8,757
@@ -101,14 +101,14 @@ mas/cli/uninstall/__init__.py,sha256=v0WJlcdrSycWGT5ofFjRDV3jTZ8AqVCz1AGxok4Khtc
101
101
  mas/cli/uninstall/app.py,sha256=uPJy3z-1Yt66MSFdZz1Qh8MjA97ZrQmjSgTx-Gqua9I,10047
102
102
  mas/cli/uninstall/argParser.py,sha256=VVG4myUvFOtg98L6HAzpgGg7s5c-vub_UMZPGuNQko4,3452
103
103
  mas/cli/update/__init__.py,sha256=v0WJlcdrSycWGT5ofFjRDV3jTZ8AqVCz1AGxok4Khtc,508
104
- mas/cli/update/app.py,sha256=wEJx7eyHlhM70uoa8iccKAF7T2MHQ33laxQ40Y-vziE,39559
104
+ mas/cli/update/app.py,sha256=xRodxuqcd840w952MDseoIptnbNoXV_9nK957AnEYAs,40264
105
105
  mas/cli/update/argParser.py,sha256=oOIXzB_rsI2p3og_5X5SFt_g7LURyEdLxZeiGCKq1nU,4711
106
106
  mas/cli/upgrade/__init__.py,sha256=v0WJlcdrSycWGT5ofFjRDV3jTZ8AqVCz1AGxok4Khtc,508
107
107
  mas/cli/upgrade/app.py,sha256=ZaT8tGrFfIsZM2dkvoYBy89EiqQ0ZKgEfhbMYdf0UEc,8873
108
108
  mas/cli/upgrade/argParser.py,sha256=5JxAcbwKjFKCKnbucCxg7Xacdhjphb9nRORfsgB1h_0,2196
109
109
  mas/cli/upgrade/settings/__init__.py,sha256=QI2CUsj-NXBU1qrPOsOk4MbeWnfNq0UOF3rYYc_1l2A,775
110
- mas_cli-15.4.0.data/scripts/mas-cli,sha256=ijL4Ecg_2fRtdrQ8Mk28qsi6o3O6KRIAUM8BUry5cPs,3621
111
- mas_cli-15.4.0.dist-info/METADATA,sha256=TxxsdJ4tBElD35MxIB5th-TXp2dPOlrG00M7Jn-P6_I,2258
112
- mas_cli-15.4.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
113
- mas_cli-15.4.0.dist-info/top_level.txt,sha256=_Hlsp7pvMvyV14LFg-vk1hULq30j61EILnnxMFIhhc8,4
114
- mas_cli-15.4.0.dist-info/RECORD,,
110
+ mas_cli-15.6.0.data/scripts/mas-cli,sha256=ijL4Ecg_2fRtdrQ8Mk28qsi6o3O6KRIAUM8BUry5cPs,3621
111
+ mas_cli-15.6.0.dist-info/METADATA,sha256=Oele7mhioSLLfbGn5SX2kkst51CCNhr9-wxcqCA9qBQ,2258
112
+ mas_cli-15.6.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
113
+ mas_cli-15.6.0.dist-info/top_level.txt,sha256=_Hlsp7pvMvyV14LFg-vk1hULq30j61EILnnxMFIhhc8,4
114
+ mas_cli-15.6.0.dist-info/RECORD,,