mas-cli 13.11.0__tar.gz → 13.12.1__tar.gz

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.

Files changed (116) hide show
  1. {mas_cli-13.11.0 → mas_cli-13.12.1}/PKG-INFO +2 -2
  2. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/__init__.py +1 -1
  3. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/cli.py +1 -1
  4. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/install/app.py +20 -1
  5. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/install/argBuilder.py +1 -0
  6. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/install/argParser.py +5 -0
  7. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/install/params.py +1 -0
  8. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/install/settings/db2Settings.py +16 -16
  9. mas_cli-13.12.1/src/mas/cli/install/settings/manageSettings.py +295 -0
  10. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/install/summarizer.py +33 -33
  11. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/ibm-mas-tekton.yaml +123 -102
  12. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas_cli.egg-info/PKG-INFO +2 -2
  13. mas_cli-13.11.0/src/mas/cli/install/settings/manageSettings.py +0 -278
  14. {mas_cli-13.11.0 → mas_cli-13.12.1}/MANIFEST.in +0 -0
  15. {mas_cli-13.11.0 → mas_cli-13.12.1}/README.rst +0 -0
  16. {mas_cli-13.11.0 → mas_cli-13.12.1}/pyproject.toml +0 -0
  17. {mas_cli-13.11.0 → mas_cli-13.12.1}/setup.cfg +0 -0
  18. {mas_cli-13.11.0 → mas_cli-13.12.1}/setup.py +0 -0
  19. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/displayMixins.py +0 -0
  20. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/gencfg.py +0 -0
  21. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/install/__init__.py +0 -0
  22. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/install/catalogs.py +0 -0
  23. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/install/settings/__init__.py +0 -0
  24. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/install/settings/additionalConfigs.py +0 -0
  25. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/install/settings/kafkaSettings.py +0 -0
  26. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/install/settings/mongodbSettings.py +0 -0
  27. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/install/settings/turbonomicSettings.py +0 -0
  28. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/jdbccfg.yml.j2 +0 -0
  29. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/best-effort/ibm-data-dictionary-assetdatadictionary.yml +0 -0
  30. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-bascfg.yml +0 -0
  31. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-coreidp.yml +0 -0
  32. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-actions.yml +0 -0
  33. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-auth.yml +0 -0
  34. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-datapower.yml +0 -0
  35. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-devops.yml +0 -0
  36. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-dm.yml +0 -0
  37. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-dsc.yml +0 -0
  38. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-edgeconfig.yml +0 -0
  39. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-fpl.yml +0 -0
  40. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-guardian.yml +0 -0
  41. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-iot.yml +0 -0
  42. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-mbgx.yml +0 -0
  43. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-mfgx.yml +0 -0
  44. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-monitor.yml +0 -0
  45. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-orgmgmt.yml +0 -0
  46. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-provision.yml +0 -0
  47. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-registry.yml +0 -0
  48. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-state.yml +0 -0
  49. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-webui.yml +0 -0
  50. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-manage-healthextaccelerator.yml +0 -0
  51. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-manage-healthextworkspace.yml +0 -0
  52. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-manage-imagestitching.yml +0 -0
  53. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-manage-manageaccelerators.yml +0 -0
  54. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-manage-manageapp.yml +0 -0
  55. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-manage-manageworkspace.yml +0 -0
  56. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-manage-slackproxy.yml +0 -0
  57. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-pushnotificationcfg.yml +0 -0
  58. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-scimcfg.yml +0 -0
  59. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-slscfg.yml +0 -0
  60. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-smtpcfg.yml +0 -0
  61. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-suite.yml +0 -0
  62. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-visualinspection.yml +0 -0
  63. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/best-effort/ibm-sls-licenseservice.yml +0 -0
  64. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/guaranteed/ibm-data-dictionary-assetdatadictionary.yml +0 -0
  65. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-bascfg.yml +0 -0
  66. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-coreidp.yml +0 -0
  67. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-actions.yml +0 -0
  68. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-auth.yml +0 -0
  69. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-datapower.yml +0 -0
  70. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-devops.yml +0 -0
  71. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-dm.yml +0 -0
  72. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-dsc.yml +0 -0
  73. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-edgeconfig.yml +0 -0
  74. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-fpl.yml +0 -0
  75. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-guardian.yml +0 -0
  76. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-iot.yml +0 -0
  77. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-mbgx.yml +0 -0
  78. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-mfgx.yml +0 -0
  79. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-monitor.yml +0 -0
  80. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-orgmgmt.yml +0 -0
  81. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-provision.yml +0 -0
  82. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-registry.yml +0 -0
  83. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-state.yml +0 -0
  84. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-webui.yml +0 -0
  85. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-manage-healthextaccelerator.yml +0 -0
  86. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-manage-healthextworkspace.yml +0 -0
  87. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-manage-imagestitching.yml +0 -0
  88. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-manage-manageaccelerators.yml +0 -0
  89. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-manage-manageapp.yml +0 -0
  90. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-manage-manageworkspace.yml +0 -0
  91. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-manage-slackproxy.yml +0 -0
  92. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-pushnotificationcfg.yml +0 -0
  93. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-scimcfg.yml +0 -0
  94. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-slscfg.yml +0 -0
  95. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-smtpcfg.yml +0 -0
  96. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-suite.yml +0 -0
  97. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-visualinspection.yml +0 -0
  98. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/pod-templates/guaranteed/ibm-sls-licenseservice.yml +0 -0
  99. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/templates/suite_mongocfg.yml.j2 +0 -0
  100. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/uninstall/__init__.py +0 -0
  101. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/uninstall/app.py +0 -0
  102. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/uninstall/argParser.py +0 -0
  103. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/update/__init__.py +0 -0
  104. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/update/app.py +0 -0
  105. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/update/argParser.py +0 -0
  106. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/upgrade/__init__.py +0 -0
  107. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/upgrade/app.py +0 -0
  108. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/upgrade/argParser.py +0 -0
  109. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas/cli/validators.py +0 -0
  110. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas-cli +0 -0
  111. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas_cli.egg-info/SOURCES.txt +0 -0
  112. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas_cli.egg-info/dependency_links.txt +0 -0
  113. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas_cli.egg-info/requires.txt +0 -0
  114. {mas_cli-13.11.0 → mas_cli-13.12.1}/src/mas_cli.egg-info/top_level.txt +0 -0
  115. {mas_cli-13.11.0 → mas_cli-13.12.1}/test/test_help.py +0 -0
  116. {mas_cli-13.11.0 → mas_cli-13.12.1}/test/test_install.py +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: mas-cli
3
- Version: 13.11.0
3
+ Version: 13.12.1
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
@@ -8,4 +8,4 @@
8
8
  #
9
9
  # *****************************************************************************
10
10
 
11
- __version__ = "13.11.0" # Python module compatible semver
11
+ __version__ = "13.12.1" # Python module compatible semver
@@ -117,7 +117,7 @@ class BaseApp(PrintMixin, PromptMixin):
117
117
  logging.getLogger('asyncio').setLevel(logging.INFO)
118
118
 
119
119
  # Supports extended semver, unlike mas.cli.__version__
120
- self.version = "13.11.0"
120
+ self.version = "13.12.1"
121
121
  self.h1count = 0
122
122
  self.h2count = 0
123
123
 
@@ -615,7 +615,21 @@ class InstallApp(BaseApp, InstallSettingsMixin, InstallSummarizerMixin, ConfigGe
615
615
  if self.installMonitor:
616
616
  self.configAppChannel("monitor")
617
617
 
618
- self.installManage = self.yesOrNo("Install Manage")
618
+ self.manageAppName = "Manage"
619
+ self.isManageFoundation = False
620
+ self.installManage = self.yesOrNo(f"Install {self.manageAppName}")
621
+
622
+ # If the selection was to not install manage but we are in mas_channel 9.1 or later, we need to set self.isManageFoundation to True
623
+ # Also, we need to force self.installManage to be True because Manage must always be installed in MAS 9.1 or later
624
+ if not self.installManage:
625
+ if not self.getParam("mas_channel").startswith("8.") and not self.getParam("mas_channel").startswith("9.0"):
626
+ self.installManage = True
627
+ self.isManageFoundation = True
628
+ self.setParam("is_full_manage", "false")
629
+ self.manageAppName = "Manage foundation"
630
+ self.printDescription([f"{self.manageAppName} installs the following capabilities: User, Security groups, Application configurator and Mobile configurator."])
631
+ else:
632
+ self.setParam("is_full_manage", "true")
619
633
 
620
634
  if self.installManage:
621
635
  self.configAppChannel("manage")
@@ -1006,6 +1020,11 @@ class InstallApp(BaseApp, InstallSettingsMixin, InstallSummarizerMixin, ConfigGe
1006
1020
  print(f"Unknown option: {key} {value}")
1007
1021
  self.fatalError(f"Unknown option: {key} {value}")
1008
1022
 
1023
+ if self.installManage:
1024
+ # If Manage is being installed and --is-full-manage was set to something different than "false", assume it is "true"
1025
+ if self.getParam("is_full_manage") != "false":
1026
+ self.setParam("is_full_manage", "true")
1027
+
1009
1028
  # Load the catalog information
1010
1029
  self.chosenCatalog = getCatalog(self.getParam("mas_catalog_version"))
1011
1030
 
@@ -160,6 +160,7 @@ class installArgBuilderMixin():
160
160
  command += f" --monitor-channel \"{self.getParam('mas_app_channel_monitor')}\"{newline}"
161
161
  if self.installManage:
162
162
  command += f" --manage-channel \"{self.getParam('mas_app_channel_manage')}\"{newline}"
163
+ command += f" --is-full-manage \"{self.getParam('is_full_manage')}\"{newline}"
163
164
  if self.installOptimizer:
164
165
  command += f" --optimizer-channel \"{self.getParam('mas_app_channel_optimizer')}\""
165
166
  command += f" --optimizer-plan \"{self.getParam('mas_app_plan_optimizer')}\"{newline}"
@@ -338,6 +338,11 @@ masAppsArgGroup.add_argument(
338
338
  required=False,
339
339
  help="Subscription channel for Maximo Manage"
340
340
  )
341
+ masAppsArgGroup.add_argument(
342
+ "--is-full-manage",
343
+ required=False,
344
+ help="Full Manage instead of Manage Foundation"
345
+ )
341
346
  masAppsArgGroup.add_argument(
342
347
  "--predict-channel",
343
348
  required=False,
@@ -38,6 +38,7 @@ optionalParams = [
38
38
  "mas_superuser_password",
39
39
  "mas_trust_default_cas",
40
40
  "mas_app_settings_server_bundles_size",
41
+ "is_full_manage",
41
42
  "mas_app_settings_default_jms",
42
43
  "mas_app_settings_persistent_volumes_flag",
43
44
  "mas_app_settings_demodata",
@@ -40,19 +40,19 @@ class Db2SettingsMixin():
40
40
 
41
41
  # Check if a configuration already exists before creating a new one
42
42
  jdbcCfgFile = path.join(self.localConfigDir, f"jdbc-{instanceId}-manage.yaml")
43
- print_formatted_text(f"Searching for Manage database configuration file in {jdbcCfgFile} ...")
43
+ print_formatted_text(f"Searching for {self.manageAppName} database configuration file in {jdbcCfgFile} ...")
44
44
  if path.exists(jdbcCfgFile):
45
- if self.yesOrNo(f"Manage database configuration file 'jdbc-{instanceId}-manage.yaml' already exists. Do you want to generate a new one"):
45
+ if self.yesOrNo(f"{self.manageAppName} database configuration file 'jdbc-{instanceId}-manage.yaml' already exists. Do you want to generate a new one"):
46
46
  self.generateJDBCCfg(instanceId=instanceId, scope="workspace-application", workspaceId=workspaceId, appId="manage", destination=jdbcCfgFile)
47
47
  else:
48
- print_formatted_text(f"Expected file ({jdbcCfgFile}) was not found, generating a valid Manage database configuration file now ...")
48
+ print_formatted_text(f"Expected file ({jdbcCfgFile}) was not found, generating a valid {self.manageAppName} database configuration file now ...")
49
49
  self.generateJDBCCfg(instanceId=instanceId, scope="workspace-application", workspaceId=workspaceId, appId="manage", destination=jdbcCfgFile)
50
50
  return
51
51
 
52
52
  # Proceed as normal
53
53
  # We know we are installing either IoT or Manage, and on amd64 target architecture
54
54
  self.printDescription([
55
- "The installer can setup one or more IBM Db2 instances in your OpenShift cluster for the use of applications that require a JDBC datasource (IoT, Manage, Monitor, & Predict) or you may choose to configure MAS to use an existing database"
55
+ f"The installer can setup one or more IBM Db2 instances in your OpenShift cluster for the use of applications that require a JDBC datasource (IoT, {self.manageAppName}, Monitor, & Predict) or you may choose to configure MAS to use an existing database"
56
56
  ])
57
57
 
58
58
  self.setParam("db2_cpu_requests", "4000m")
@@ -111,28 +111,28 @@ class Db2SettingsMixin():
111
111
  self.setParam("db2_action_system", "none")
112
112
 
113
113
  if self.installManage:
114
- self.printH2("Database Configuration for Maximo Manage")
114
+ self.printH2(f"Database Configuration for Maximo {self.manageAppName}")
115
115
  self.printDescription([
116
- "Maximo Manage can be configured to share the system Db2 instance or use it's own dedicated database:",
116
+ f"Maximo {self.manageAppName} can be configured to share the system Db2 instance or use it's own dedicated database:",
117
117
  " - Use of a shared instance has a significant footprint reduction but is only recommended for development/test/demo installs",
118
118
  " - In most production systems you will want to use a dedicated database",
119
119
  " - IBM Db2, Oracle Database, & Microsoft SQL Server are all supported database options"
120
120
  ])
121
121
  # Determine whether to use the system or a dedicated database
122
- if self.installIoT and self.yesOrNo("Re-use System Db2 instance for Manage application"):
122
+ if self.installIoT and self.yesOrNo(f"Re-use System Db2 instance for {self.manageAppName} application"):
123
123
  # We are going to bind Manage to the system database, which has already been set up in the previous step
124
124
  self.setParam("mas_appws_bindings_jdbc_manage", "system")
125
125
  self.setParam("db2_action_manage", "none")
126
126
  else:
127
127
  self.setParam("mas_appws_bindings_jdbc_manage", "workspace-application")
128
- if self.yesOrNo("Create manage dedicated Db2 instance using the IBM Db2 Universal Operator"):
128
+ if self.yesOrNo(f"Create {self.manageAppName} dedicated Db2 instance using the IBM Db2 Universal Operator"):
129
129
  self.setParam("db2_action_manage", "install")
130
130
  self.printDescription([
131
- "Available Db2 instance types for Manage:",
131
+ f"Available Db2 instance types for {self.manageAppName}:",
132
132
  " 1. DB2 Warehouse (Default option)",
133
133
  " 2. DB2 Online Transactional Processing (OLTP)"
134
134
  ])
135
- self.promptForListSelect(message="Select the Manage dedicated DB2 instance type", options=["db2wh", "db2oltp"], param="db2_type", default="1")
135
+ self.promptForListSelect(message=f"Select the {self.manageAppName} dedicated DB2 instance type", options=["db2wh", "db2oltp"], param="db2_type", default="1")
136
136
  else:
137
137
  workspaceId = self.getParam("mas_workspace_id")
138
138
  self.setParam("db2_action_manage", "byo")
@@ -141,12 +141,12 @@ class Db2SettingsMixin():
141
141
 
142
142
  # Check if a configuration already exists before creating a new one
143
143
  jdbcCfgFile = path.join(self.localConfigDir, f"jdbc-{instanceId}-manage.yaml")
144
- print_formatted_text(f"Searching for Manage database configuration file in {jdbcCfgFile} ...")
144
+ print_formatted_text(f"Searching for {self.manageAppName} database configuration file in {jdbcCfgFile} ...")
145
145
  if path.exists(jdbcCfgFile):
146
- if self.yesOrNo(f"Manage database configuration file 'jdbc-{instanceId}-manage.yaml' already exists. Do you want to generate a new one"):
146
+ if self.yesOrNo(f"{self.manageAppName} database configuration file 'jdbc-{instanceId}-manage.yaml' already exists. Do you want to generate a new one"):
147
147
  self.generateJDBCCfg(instanceId=instanceId, scope="workspace-application", workspaceId=workspaceId, appId="manage", destination=jdbcCfgFile)
148
148
  else:
149
- print_formatted_text(f"Expected file ({jdbcCfgFile}) was not found, generating a valid Manage database configuration file now ...")
149
+ print_formatted_text(f"Expected file ({jdbcCfgFile}) was not found, generating a valid {self.manageAppName} database configuration file now ...")
150
150
  self.generateJDBCCfg(instanceId=instanceId, scope="workspace-application", workspaceId=workspaceId, appId="manage", destination=jdbcCfgFile)
151
151
  else:
152
152
  self.setParam("db2_action_manage", "none")
@@ -161,7 +161,7 @@ class Db2SettingsMixin():
161
161
  # -------------------------------------------------------------------------
162
162
  self.printH2("Node Affinity and Tolerations")
163
163
  self.printDescription([
164
- "Note that the same settings are applied to both the IoT and Manage Db2 instances",
164
+ f"Note that the same settings are applied to both the IoT and {self.manageAppName} Db2 instances",
165
165
  "Use existing node labels and taints to control scheduling of the Db2 workload in your cluster",
166
166
  "For more information refer to the Red Hat documentation:",
167
167
  " - <Orange><u>https://docs.openshift.com/container-platform/4.16/nodes/scheduling/nodes-scheduler-node-affinity.html</u></Orange>",
@@ -179,7 +179,7 @@ class Db2SettingsMixin():
179
179
 
180
180
  self.printH2("Database CPU & Memory")
181
181
  self.printDescription([
182
- "Note that the same settings are applied to both the IoT and Manage Db2 instances"
182
+ f"Note that the same settings are applied to both the IoT and {self.manageAppName} Db2 instances"
183
183
  ])
184
184
 
185
185
  if self.yesOrNo("Customize CPU and memory request/limit"):
@@ -190,7 +190,7 @@ class Db2SettingsMixin():
190
190
 
191
191
  self.printH2("Database Storage Capacity")
192
192
  self.printDescription([
193
- "Note that the same settings are applied to both the IoT and Manage Db2 instances"
193
+ f"Note that the same settings are applied to both the IoT and {self.manageAppName} Db2 instances"
194
194
  ])
195
195
 
196
196
  if self.yesOrNo("Customize storage capacity"):
@@ -0,0 +1,295 @@
1
+ # *****************************************************************************
2
+ # Copyright (c) 2024 IBM Corporation and other Contributors.
3
+ #
4
+ # All rights reserved. This program and the accompanying materials
5
+ # are made available under the terms of the Eclipse Public License v1.0
6
+ # which accompanies this distribution, and is available at
7
+ # http://www.eclipse.org/legal/epl-v10.html
8
+ #
9
+ # *****************************************************************************
10
+
11
+ import logging
12
+ logger = logging.getLogger(__name__)
13
+
14
+
15
+ class ManageSettingsMixin():
16
+
17
+ def arcgisSettings(self) -> None:
18
+ # If Spatial is selected, then prompt to choose to add IBM Maximo Location Services for Esri, and prompt license
19
+ if "spatial=" in self.getParam("mas_appws_components") and self.getParam("mas_app_channel_manage").startswith("9."):
20
+ self.printDescription([
21
+ "",
22
+ "Maximo Spatial requires a map server provider in order to enable geospatial capabilities",
23
+ "You may choose your preferred map provider later or you can enable IBM Maximo Location Services for Esri now",
24
+ f"This includes ArcGIS Enterprise as part of the {self.manageAppName} and Maximo Spatial bundle (Additional AppPoints required)."
25
+ ])
26
+
27
+ if self.yesOrNo("Include IBM Maximo Location Services for Esri"):
28
+ self.setParam("install_arcgis", "true")
29
+ self.setParam("mas_arcgis_channel", self.getParam("mas_app_channel_manage"))
30
+
31
+ self.printDescription([
32
+ "",
33
+ "IBM Maximo Location Services for Esri License Terms",
34
+ "For information about your IBM Maximo Location Services for Esri License visit: ",
35
+ " - <Orange><u>https://ibm.biz/MAXArcGIS90-License</u></Orange>",
36
+ "To continue with the installation, you must accept these additional license terms"
37
+ ])
38
+
39
+ if not self.yesOrNo("Do you accept the license terms"):
40
+ exit(1)
41
+
42
+ def manageSettings(self) -> None:
43
+ if self.installManage:
44
+ self.printH1(f"Configure Maximo {self.manageAppName}")
45
+ self.printDescription([f"Customize your {self.manageAppName} installation, refer to the product documentation for more information"])
46
+
47
+ self.manageSettingsComponents()
48
+ self.arcgisSettings()
49
+
50
+ self.manageSettingsServerBundleConfig()
51
+ self.manageSettingsJMS()
52
+ self.manageSettingsDatabase()
53
+ self.manageSettingsCustomizationArchive()
54
+ self.manageSettingsOther()
55
+
56
+ # Default to RWX storage classes, but fall back to RWO in SNO or when user
57
+ # has chosen not to provide a RWX storage class
58
+ storageClass = self.getParam("storage_class_rwx")
59
+ accessMode = "ReadWriteMany"
60
+ if self.isSNO() or self.getParam("storage_class_rwx") == "none":
61
+ storageClass = self.getParam("storage_class_rwo")
62
+ accessMode = "ReadWriteOnce"
63
+
64
+ self.setParam("mas_app_settings_doclinks_pvc_storage_class", storageClass)
65
+ self.setParam("mas_app_settings_bim_pvc_storage_class", storageClass)
66
+ self.setParam("mas_app_settings_jms_queue_pvc_storage_class", storageClass)
67
+
68
+ self.setParam("mas_app_settings_doclinks_pvc_accessmode", accessMode)
69
+ self.setParam("mas_app_settings_bim_pvc_accessmode", accessMode)
70
+ self.setParam("mas_app_settings_jms_queue_pvc_accessmode", accessMode)
71
+
72
+ def manageSettingsComponents(self) -> None:
73
+ # Only ask to install Manage components if this is a full Manage installation
74
+ # If this is a Manage Foundation installation, leave mas_appws_components blank
75
+ if self.isManageFoundation:
76
+ self.params["mas_appws_components"] = ""
77
+ else:
78
+ self.printH2(f"Maximo {self.manageAppName} Components")
79
+ self.printDescription([f"The default configuration will install {self.manageAppName} with Health enabled, alternatively choose exactly what industry solutions and add-ons will be configured"])
80
+
81
+ self.params["mas_appws_components"] = "base=latest,health=latest"
82
+ if self.yesOrNo("Select components to enable"):
83
+ self.params["mas_appws_components"] = "base=latest"
84
+ if self.yesOrNo(" - Asset Configuration Manager"):
85
+ self.params["mas_appws_components"] += ",acm=latest"
86
+ if self.yesOrNo(" - Aviation"):
87
+ self.params["mas_appws_components"] += ",aviation=latest"
88
+ if self.yesOrNo(" - Civil Infrastructure"):
89
+ self.params["mas_appws_components"] += ",civil=latest"
90
+ if self.yesOrNo(" - Envizi"):
91
+ self.params["mas_appws_components"] += ",envizi=latest"
92
+ if self.yesOrNo(" - Health"):
93
+ self.params["mas_appws_components"] += ",health=latest"
94
+ if self.yesOrNo(" - Health, Safety and Environment"):
95
+ self.params["mas_appws_components"] += ",hse=latest"
96
+ if self.yesOrNo(" - Maximo IT"):
97
+ self.params["mas_appws_components"] += ",icd=latest"
98
+ if self.yesOrNo(" - Nuclear"):
99
+ self.params["mas_appws_components"] += ",nuclear=latest"
100
+ if self.yesOrNo(" - Oil & Gas"):
101
+ self.params["mas_appws_components"] += ",oilandgas=latest"
102
+ if self.yesOrNo(" - Connector for Oracle Applications"):
103
+ self.params["mas_appws_components"] += ",oracleadapter=latest"
104
+ if self.yesOrNo(" - Connector for SAP Application"):
105
+ self.params["mas_appws_components"] += ",sapadapter=latest"
106
+ if self.yesOrNo(" - Service Provider"):
107
+ self.params["mas_appws_components"] += ",serviceprovider=latest"
108
+ if self.yesOrNo(" - Spatial"):
109
+ self.params["mas_appws_components"] += ",spatial=latest"
110
+ if self.yesOrNo(" - Strategize"):
111
+ self.params["mas_appws_components"] += ",strategize=latest"
112
+ if self.yesOrNo(" - Transportation"):
113
+ self.params["mas_appws_components"] += ",transportation=latest"
114
+ if self.yesOrNo(" - Tririga"):
115
+ self.params["mas_appws_components"] += ",tririga=latest"
116
+ if self.yesOrNo(" - Utilities"):
117
+ self.params["mas_appws_components"] += ",utilities=latest"
118
+ if self.yesOrNo(" - Workday Applications"):
119
+ self.params["mas_appws_components"] += ",workday=latest"
120
+ logger.debug(f"Generated mas_appws_components = {self.params['mas_appws_components']}")
121
+
122
+ if ",icd=" in self.params["mas_appws_components"]:
123
+ self.printH2("Maximo IT License Terms")
124
+ self.printDescription([
125
+ "For information about your Maximo IT License, see <Orange><u>https://ibm.biz/MAXIT81-License</u></Orange>",
126
+ "To continue with the installation, you must accept these additional license terms"
127
+ ])
128
+
129
+ if not self.yesOrNo("Do you accept the license terms"):
130
+ exit(1)
131
+
132
+ def manageSettingsDatabase(self) -> None:
133
+ if self.showAdvancedOptions:
134
+ self.printH2(f"Maximo {self.manageAppName} Settings - Database")
135
+ self.printDescription([f"Customise the schema, tablespace, indexspace, and encryption settings used by {self.manageAppName}"])
136
+
137
+ if self.yesOrNo("Customize database settings"):
138
+ self.promptForString("Schema", "mas_app_settings_db2_schema", default="maximo")
139
+ self.promptForString("Tablespace", "mas_app_settings_tablespace", default="MAXDATA")
140
+ self.promptForString("Indexspace", "mas_app_settings_indexspace", default="MAXINDEX")
141
+
142
+ if self.yesOrNo("Customize database encryption settings"):
143
+ self.promptForString("MXE_SECURITY_CRYPTO_KEY", "mas_app_settings_crypto_key")
144
+ self.promptForString("MXE_SECURITY_CRYPTOX_KEY", "mas_app_settings_cryptox_key")
145
+ self.promptForString("MXE_SECURITY_OLD_CRYPTO_KEY", "mas_app_settings_old_crypto_key")
146
+ self.promptForString("MXE_SECURITY_OLD_CRYPTOX_KEY", "mas_app_settings_old_cryptox_key")
147
+ self.yesOrNo("Override database encryption secrets with provided keys", "mas_app_settings_override_encryption_secrets_flag")
148
+
149
+ def manageSettingsServerBundleConfig(self) -> None:
150
+ if not self.isManageFoundation:
151
+ if self.showAdvancedOptions:
152
+ self.printH2(f"Maximo {self.manageAppName} Settings - Server Bundles")
153
+ self.printDescription([
154
+ f"Define how you want to configure {self.manageAppName} servers:",
155
+ f" - You can have one or multiple {self.manageAppName} servers distributing workload",
156
+ " - Additionally, you can choose to include JMS server for messaging queues",
157
+ "",
158
+ "Configurations:",
159
+ " 1. Deploy the 'all' server pod only (workload is concentrated in just one server pod but consumes less resource)",
160
+ " 2. Deploy the 'all' and 'jms' bundle pods (workload is concentrated in just one server pod and includes jms server)"
161
+ ])
162
+
163
+ if not self.isSNO():
164
+ self.printDescription([
165
+ " 3. Deploy the 'mea', 'report', 'ui' and 'cron' bundle pods (workload is distributed across multiple server pods)",
166
+ " 4. Deploy the 'mea', 'report', 'ui', 'cron' and 'jms' bundle pods (workload is distributed across multiple server pods and includes jms server)"
167
+ ])
168
+
169
+ manageServerBundleSelection = self.promptForString("Select a server bundle configuration")
170
+
171
+ if manageServerBundleSelection == "1":
172
+ self.setParam("mas_app_settings_server_bundles_size", "dev")
173
+ elif manageServerBundleSelection == "2":
174
+ self.setParam("mas_app_settings_server_bundles_size", "snojms")
175
+ self.setParam("mas_app_settings_persistent_volumes_flag", "true")
176
+ elif manageServerBundleSelection == "3":
177
+ self.setParam("mas_app_settings_server_bundles_size", "small")
178
+ elif manageServerBundleSelection == "4":
179
+ self.setParam("mas_app_settings_server_bundles_size", "jms")
180
+ self.setParam("mas_app_settings_persistent_volumes_flag", "true")
181
+ else:
182
+ self.fatalError("Invalid selection")
183
+ else:
184
+ self.setParam("mas_app_settings_server_bundles_size", "dev")
185
+
186
+ def manageSettingsJMS(self) -> None:
187
+ if self.getParam("mas_app_settings_server_bundles_size") in ["jms", "snojms"]:
188
+ self.printDescription([
189
+ f"Only {self.manageAppName} JMS sequential queues (sqin and sqout) are enabled by default.",
190
+ "However, you can enable both sequential (sqin and sqout) and continuous queues (cqin and cqout)"
191
+ ])
192
+
193
+ self.yesOrNo(f"Enable both {self.manageAppName} JMS sequential and continuous queues", "mas_app_settings_default_jms")
194
+
195
+ def manageSettingsCustomizationArchive(self) -> None:
196
+ # Only ask about customization archive in full Manage installation
197
+ if not self.isManageFoundation:
198
+ self.printH2(f"Maximo {self.manageAppName} Settings - Customization")
199
+ self.printDescription([
200
+ f"Provide a customization archive to be used in the {self.manageAppName} build process"
201
+ ])
202
+
203
+ if self.yesOrNo("Include customization archive"):
204
+ self.promptForString("Customization archive name", "mas_app_settings_customization_archive_name")
205
+ self.promptForString("Customization archive path/url", "mas_app_settings_customization_archive_url")
206
+ if self.yesOrNo("Provide authentication to access customization archive URL"):
207
+ self.promptForString("Username", "mas_app_settings_customization_archive_username")
208
+ self.promptForString("Password", "mas_app_settings_customization_archive_password", isPassword=True)
209
+
210
+ def manageSettingsDemodata(self) -> None:
211
+ self.yesOrNo("Create demo data", "mas_app_settings_demodata")
212
+
213
+ def manageSettingsTimezone(self) -> None:
214
+ self.promptForString(f"{self.manageAppName} server timezone", "mas_app_settings_server_timezone", default="GMT")
215
+ # Set Manage dedicated Db2 instance timezone to be same as Manage server timezone
216
+ self.setParam("db2_timezone", self.getParam("mas_app_settings_server_timezone"))
217
+
218
+ def manageSettingsLanguages(self) -> None:
219
+ self.printH2(f"Maximo {self.manageAppName} Settings - Languages")
220
+ self.printDescription([
221
+ f"Define the base language for Maximo {self.manageAppName}"
222
+ ])
223
+ self.promptForString("Base language", "mas_app_settings_base_lang", default="EN")
224
+
225
+ self.printDescription([
226
+ f"Define the additional languages to be configured in Maximo {self.manageAppName}. provide a comma-separated list of supported languages codes, for example: 'JA,DE,AR'",
227
+ "A complete list of available language codes is available online:",
228
+ " <Orange><u>https://www.ibm.com/docs/en/mas-cd/mhmpmh-and-p-u/continuous-delivery?topic=deploy-language-support</u></Orange>"
229
+ ])
230
+
231
+ self.promptForString("Secondary languages", "mas_app_settings_secondary_langs")
232
+
233
+ def manageSettingsCP4D(self) -> None:
234
+ if self.getParam("mas_app_channel_manage") in ["8.7.x", "9.0.x"] and self.showAdvancedOptions:
235
+ self.printDescription([
236
+ f"Integration with Cognos Analytics provides additional support for reporting features in Maximo {self.manageAppName}, for more information refer to the documentation online: ",
237
+ " - <Orange><u>https://ibm.biz/BdMuxs</u></Orange>"
238
+ ])
239
+ self.yesOrNo("Enable integration with Cognos Analytics", "cpd_install_cognos")
240
+ self.yesOrNo("Enable integration with Watson Studio Local", "mas_appws_bindings_health_flag")
241
+
242
+ if self.getParam("cpd_install_cognos") == "true" or self.getParam("mas_appws_bindings_health_flag") == "true":
243
+ self.configCP4D()
244
+
245
+ def manageSettingsOther(self) -> None:
246
+ self.printH2(f"Maximo {self.manageAppName} Settings - Other")
247
+ if self.isManageFoundation:
248
+ self.printDescription([
249
+ "Configure additional settings:",
250
+ " - Base and additional languages",
251
+ " - Server timezone"
252
+ ])
253
+ if self.yesOrNo("Configure Additional Settings"):
254
+ self.manageSettingsTimezone()
255
+ self.manageSettingsLanguages()
256
+ else:
257
+ self.printDescription([
258
+ "Configure additional settings:",
259
+ " - Demo data",
260
+ " - Base and additional languages",
261
+ " - Server timezone",
262
+ " - Cognos integration (install Cloud Pak for Data)",
263
+ " - Watson Studio Local integration (install Cloud Pak for Data)"
264
+ ])
265
+ if self.yesOrNo("Configure Additional Settings"):
266
+ self.manageSettingsDemodata()
267
+ self.manageSettingsTimezone()
268
+ self.manageSettingsLanguages()
269
+ self.manageSettingsCP4D()
270
+
271
+ def aibrokerSettings(self) -> None:
272
+ if self.installAiBroker:
273
+ self.printH2("Maximo AI Broker Settings - Storage, WatsonX, MariaDB details")
274
+ self.printDescription(["Customise AI Broker details"])
275
+ self.promptForString("Storage provider", "mas_aibroker_storage_provider")
276
+ self.promptForString("Storage access key", "mas_aibroker_storage_accesskey")
277
+ self.promptForString("Storage secret key", "mas_aibroker_storage_secretkey")
278
+ self.promptForString("Storage host", "mas_aibroker_storage_host")
279
+ self.promptForString("Storage port", "mas_aibroker_storage_port")
280
+ self.promptForString("Storage ssl", "mas_aibroker_storage_ssl")
281
+ self.promptForString("Storage region", "mas_aibroker_storage_region")
282
+ self.promptForString("Storage pipelines bucket", "mas_aibroker_storage_pipelines_bucket")
283
+ self.promptForString("Storage tenants bucket", "mas_aibroker_storage_tenants_bucket")
284
+ self.promptForString("Storage templates bucket", "mas_aibroker_storage_templates_bucket")
285
+
286
+ self.promptForString("Watsonxai api key", "mas_aibroker_watsonxai_apikey")
287
+ self.promptForString("Watsonxai machine learning url", "mas_aibroker_watsonxai_url")
288
+ self.promptForString("Watsonxai project id", "mas_aibroker_watsonxai_project_id")
289
+
290
+ self.promptForString("Database host", "mas_aibroker_db_host")
291
+ self.promptForString("Database port", "mas_aibroker_db_port")
292
+ self.promptForString("Database user", "mas_aibroker_db_user")
293
+ self.promptForString("Database name", "mas_aibroker_db_database")
294
+ self.promptForString("Database Secretname", "mas_aibroker_db_secret_name")
295
+ self.promptForString("Database password", "mas_aibroker_db_secret_value")
@@ -178,39 +178,39 @@ class InstallSummarizerMixin():
178
178
 
179
179
  def manageSummary(self) -> None:
180
180
  if self.installManage:
181
- self.printSummary("Manage", self.params["mas_app_channel_manage"])
182
- print_formatted_text(HTML(" <SkyBlue>+ Components</SkyBlue>"))
183
- self.printSummary(" + ACM", "Enabled" if "acm=" in self.getParam("mas_appws_components") else "Disabled")
184
- self.printSummary(" + Aviation", "Enabled" if "aviation=" in self.getParam("mas_appws_components") else "Disabled")
185
- self.printSummary(" + Civil Infrastructure", "Enabled" if "civil=" in self.getParam("mas_appws_components") else "Disabled")
186
- self.printSummary(" + Envizi", "Enabled" if "envizi=" in self.getParam("mas_appws_components") else "Disabled")
187
- self.printSummary(" + Health", "Enabled" if "health=" in self.getParam("mas_appws_components") else "Disabled")
188
- self.printSummary(" + HSE", "Enabled" if "hse=" in self.getParam("mas_appws_components") else "Disabled")
189
- self.printSummary(" + Maximo IT", "Enabled" if "icd=" in self.getParam("mas_appws_components") else "Disabled")
190
- self.printSummary(" + Nuclear", "Enabled" if "nuclear=" in self.getParam("mas_appws_components") else "Disabled")
191
- self.printSummary(" + Oil & Gas", "Enabled" if "oilandgas=" in self.getParam("mas_appws_components") else "Disabled")
192
- self.printSummary(" + Connector for Oracle", "Enabled" if "oracleadapter=" in self.getParam("mas_appws_components") else "Disabled")
193
- self.printSummary(" + Connector for SAP", "Enabled" if "sapadapter=" in self.getParam("mas_appws_components") else "Disabled")
194
- self.printSummary(" + Service Provider", "Enabled" if "serviceprovider=" in self.getParam("mas_appws_components") else "Disabled")
195
- self.printSummary(" + Spatial", "Enabled" if "spatial=" in self.getParam("mas_appws_components") else "Disabled")
196
- self.printSummary(" + Strategize", "Enabled" if "strategize=" in self.getParam("mas_appws_components") else "Disabled")
197
- self.printSummary(" + Transportation", "Enabled" if "transportation=" in self.getParam("mas_appws_components") else "Disabled")
198
- self.printSummary(" + Tririga", "Enabled" if "tririga=" in self.getParam("mas_appws_components") else "Disabled")
199
- self.printSummary(" + Utilities", "Enabled" if "utilities=" in self.getParam("mas_appws_components") else "Disabled")
200
- self.printSummary(" + Workday Applications", "Enabled" if "workday=" in self.getParam("mas_appws_components") else "Disabled")
201
-
202
- self.printParamSummary("+ Server bundle size", "mas_app_settings_server_bundles_size")
203
- self.printParamSummary("+ Enable JMS queues", "mas_app_settings_default_jms")
204
- self.printParamSummary("+ Server Timezone", "mas_app_settings_server_timezone")
205
- self.printParamSummary("+ Base Language", "mas_app_settings_base_lang")
206
- self.printParamSummary("+ Additional Languages", "mas_app_settings_secondary_langs")
207
-
208
- print_formatted_text(HTML(" <SkyBlue>+ Database Settings</SkyBlue>"))
209
- self.printParamSummary(" + Schema", "mas_app_settings_indexspace")
210
- self.printParamSummary(" + Username", "mas_app_settings_db2_schema")
211
- self.printParamSummary(" + Tablespace", "mas_app_settings_tablespace")
212
- self.printParamSummary(" + Indexspace", "mas_app_settings_indexspace")
213
-
181
+ self.printSummary(f"{'Manage foundation' if self.getParam('is_full_manage') == 'false' else 'Manage'}", self.params["mas_app_channel_manage"])
182
+ if self.getParam("is_full_manage") != "false":
183
+ print_formatted_text(HTML(" <SkyBlue>+ Components</SkyBlue>"))
184
+ self.printSummary(" + ACM", "Enabled" if "acm=" in self.getParam("mas_appws_components") else "Disabled")
185
+ self.printSummary(" + Aviation", "Enabled" if "aviation=" in self.getParam("mas_appws_components") else "Disabled")
186
+ self.printSummary(" + Civil Infrastructure", "Enabled" if "civil=" in self.getParam("mas_appws_components") else "Disabled")
187
+ self.printSummary(" + Envizi", "Enabled" if "envizi=" in self.getParam("mas_appws_components") else "Disabled")
188
+ self.printSummary(" + Health", "Enabled" if "health=" in self.getParam("mas_appws_components") else "Disabled")
189
+ self.printSummary(" + HSE", "Enabled" if "hse=" in self.getParam("mas_appws_components") else "Disabled")
190
+ self.printSummary(" + Maximo IT", "Enabled" if "icd=" in self.getParam("mas_appws_components") else "Disabled")
191
+ self.printSummary(" + Nuclear", "Enabled" if "nuclear=" in self.getParam("mas_appws_components") else "Disabled")
192
+ self.printSummary(" + Oil & Gas", "Enabled" if "oilandgas=" in self.getParam("mas_appws_components") else "Disabled")
193
+ self.printSummary(" + Connector for Oracle", "Enabled" if "oracleadapter=" in self.getParam("mas_appws_components") else "Disabled")
194
+ self.printSummary(" + Connector for SAP", "Enabled" if "sapadapter=" in self.getParam("mas_appws_components") else "Disabled")
195
+ self.printSummary(" + Service Provider", "Enabled" if "serviceprovider=" in self.getParam("mas_appws_components") else "Disabled")
196
+ self.printSummary(" + Spatial", "Enabled" if "spatial=" in self.getParam("mas_appws_components") else "Disabled")
197
+ self.printSummary(" + Strategize", "Enabled" if "strategize=" in self.getParam("mas_appws_components") else "Disabled")
198
+ self.printSummary(" + Transportation", "Enabled" if "transportation=" in self.getParam("mas_appws_components") else "Disabled")
199
+ self.printSummary(" + Tririga", "Enabled" if "tririga=" in self.getParam("mas_appws_components") else "Disabled")
200
+ self.printSummary(" + Utilities", "Enabled" if "utilities=" in self.getParam("mas_appws_components") else "Disabled")
201
+ self.printSummary(" + Workday Applications", "Enabled" if "workday=" in self.getParam("mas_appws_components") else "Disabled")
202
+
203
+ self.printParamSummary("+ Server bundle size", "mas_app_settings_server_bundles_size")
204
+ self.printParamSummary("+ Enable JMS queues", "mas_app_settings_default_jms")
205
+ self.printParamSummary("+ Server Timezone", "mas_app_settings_server_timezone")
206
+ self.printParamSummary("+ Base Language", "mas_app_settings_base_lang")
207
+ self.printParamSummary("+ Additional Languages", "mas_app_settings_secondary_langs")
208
+
209
+ print_formatted_text(HTML(" <SkyBlue>+ Database Settings</SkyBlue>"))
210
+ self.printParamSummary(" + Schema", "mas_app_settings_indexspace")
211
+ self.printParamSummary(" + Username", "mas_app_settings_db2_schema")
212
+ self.printParamSummary(" + Tablespace", "mas_app_settings_tablespace")
213
+ self.printParamSummary(" + Indexspace", "mas_app_settings_indexspace")
214
214
  else:
215
215
  self.printSummary("Manage", "Do Not Install")
216
216