mas-cli 5.1.4__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.

Files changed (114) hide show
  1. mas/cli/__init__.py +11 -0
  2. mas/cli/aiservice/install/__init__.py +11 -0
  3. mas/cli/aiservice/install/app.py +894 -0
  4. mas/cli/aiservice/install/argBuilder.py +180 -0
  5. mas/cli/aiservice/install/argParser.py +507 -0
  6. mas/cli/aiservice/install/params.py +100 -0
  7. mas/cli/aiservice/install/summarizer.py +134 -0
  8. mas/cli/cli.py +432 -0
  9. mas/cli/displayMixins.py +132 -0
  10. mas/cli/gencfg.py +113 -0
  11. mas/cli/install/__init__.py +11 -0
  12. mas/cli/install/app.py +1316 -0
  13. mas/cli/install/argBuilder.py +465 -0
  14. mas/cli/install/argParser.py +1176 -0
  15. mas/cli/install/catalogs.py +27 -0
  16. mas/cli/install/params.py +172 -0
  17. mas/cli/install/settings/__init__.py +23 -0
  18. mas/cli/install/settings/additionalConfigs.py +227 -0
  19. mas/cli/install/settings/db2Settings.py +252 -0
  20. mas/cli/install/settings/kafkaSettings.py +103 -0
  21. mas/cli/install/settings/manageSettings.py +273 -0
  22. mas/cli/install/settings/mongodbSettings.py +46 -0
  23. mas/cli/install/settings/turbonomicSettings.py +29 -0
  24. mas/cli/install/summarizer.py +398 -0
  25. mas/cli/templates/facilities-configs.yml.j2 +25 -0
  26. mas/cli/templates/ibm-mas-tekton.yaml +49772 -0
  27. mas/cli/templates/jdbccfg.yml.j2 +52 -0
  28. mas/cli/templates/pod-templates/best-effort/ibm-data-dictionary-assetdatadictionary.yml +26 -0
  29. mas/cli/templates/pod-templates/best-effort/ibm-mas-bascfg.yml +56 -0
  30. mas/cli/templates/pod-templates/best-effort/ibm-mas-coreidp.yml +21 -0
  31. mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-actions.yml +28 -0
  32. mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-auth.yml +32 -0
  33. mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-datapower.yml +12 -0
  34. mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-devops.yml +14 -0
  35. mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-dm.yml +22 -0
  36. mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-dsc.yml +40 -0
  37. mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-edgeconfig.yml +10 -0
  38. mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-fpl.yml +24 -0
  39. mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-guardian.yml +20 -0
  40. mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-iot.yml +10 -0
  41. mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-mbgx.yml +18 -0
  42. mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-mfgx.yml +14 -0
  43. mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-monitor.yml +18 -0
  44. mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-orgmgmt.yml +48 -0
  45. mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-provision.yml +28 -0
  46. mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-registry.yml +26 -0
  47. mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-state.yml +40 -0
  48. mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-webui.yml +22 -0
  49. mas/cli/templates/pod-templates/best-effort/ibm-mas-manage-healthextaccelerator.yml +13 -0
  50. mas/cli/templates/pod-templates/best-effort/ibm-mas-manage-healthextworkspace.yml +10 -0
  51. mas/cli/templates/pod-templates/best-effort/ibm-mas-manage-imagestitching.yml +10 -0
  52. mas/cli/templates/pod-templates/best-effort/ibm-mas-manage-manageaccelerators.yml +10 -0
  53. mas/cli/templates/pod-templates/best-effort/ibm-mas-manage-manageapp.yml +46 -0
  54. mas/cli/templates/pod-templates/best-effort/ibm-mas-manage-manageworkspace.yml +48 -0
  55. mas/cli/templates/pod-templates/best-effort/ibm-mas-manage-slackproxy.yml +10 -0
  56. mas/cli/templates/pod-templates/best-effort/ibm-mas-pushnotificationcfg.yml +13 -0
  57. mas/cli/templates/pod-templates/best-effort/ibm-mas-scimcfg.yml +14 -0
  58. mas/cli/templates/pod-templates/best-effort/ibm-mas-slscfg.yml +10 -0
  59. mas/cli/templates/pod-templates/best-effort/ibm-mas-smtpcfg.yml +10 -0
  60. mas/cli/templates/pod-templates/best-effort/ibm-mas-suite.yml +136 -0
  61. mas/cli/templates/pod-templates/best-effort/ibm-mas-visualinspection.yml +34 -0
  62. mas/cli/templates/pod-templates/best-effort/ibm-sls-licenseservice.yml +10 -0
  63. mas/cli/templates/pod-templates/guaranteed/ibm-data-dictionary-assetdatadictionary.yml +56 -0
  64. mas/cli/templates/pod-templates/guaranteed/ibm-mas-bascfg.yml +140 -0
  65. mas/cli/templates/pod-templates/guaranteed/ibm-mas-coreidp.yml +45 -0
  66. mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-actions.yml +70 -0
  67. mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-auth.yml +80 -0
  68. mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-datapower.yml +24 -0
  69. mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-devops.yml +26 -0
  70. mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-dm.yml +52 -0
  71. mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-dsc.yml +106 -0
  72. mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-edgeconfig.yml +16 -0
  73. mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-fpl.yml +62 -0
  74. mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-guardian.yml +44 -0
  75. mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-iot.yml +16 -0
  76. mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-mbgx.yml +42 -0
  77. mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-mfgx.yml +32 -0
  78. mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-monitor.yml +42 -0
  79. mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-orgmgmt.yml +126 -0
  80. mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-provision.yml +70 -0
  81. mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-registry.yml +62 -0
  82. mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-state.yml +106 -0
  83. mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-webui.yml +52 -0
  84. mas/cli/templates/pod-templates/guaranteed/ibm-mas-manage-healthextaccelerator.yml +28 -0
  85. mas/cli/templates/pod-templates/guaranteed/ibm-mas-manage-healthextworkspace.yml +18 -0
  86. mas/cli/templates/pod-templates/guaranteed/ibm-mas-manage-imagestitching.yml +16 -0
  87. mas/cli/templates/pod-templates/guaranteed/ibm-mas-manage-manageaccelerators.yml +16 -0
  88. mas/cli/templates/pod-templates/guaranteed/ibm-mas-manage-manageapp.yml +106 -0
  89. mas/cli/templates/pod-templates/guaranteed/ibm-mas-manage-manageworkspace.yml +126 -0
  90. mas/cli/templates/pod-templates/guaranteed/ibm-mas-manage-slackproxy.yml +16 -0
  91. mas/cli/templates/pod-templates/guaranteed/ibm-mas-pushnotificationcfg.yml +25 -0
  92. mas/cli/templates/pod-templates/guaranteed/ibm-mas-scimcfg.yml +26 -0
  93. mas/cli/templates/pod-templates/guaranteed/ibm-mas-slscfg.yml +16 -0
  94. mas/cli/templates/pod-templates/guaranteed/ibm-mas-smtpcfg.yml +16 -0
  95. mas/cli/templates/pod-templates/guaranteed/ibm-mas-suite.yml +340 -0
  96. mas/cli/templates/pod-templates/guaranteed/ibm-mas-visualinspection.yml +76 -0
  97. mas/cli/templates/pod-templates/guaranteed/ibm-sls-licenseservice.yml +16 -0
  98. mas/cli/templates/suite_mongocfg.yml.j2 +55 -0
  99. mas/cli/uninstall/__init__.py +11 -0
  100. mas/cli/uninstall/app.py +197 -0
  101. mas/cli/uninstall/argParser.py +115 -0
  102. mas/cli/update/__init__.py +11 -0
  103. mas/cli/update/app.py +673 -0
  104. mas/cli/update/argParser.py +156 -0
  105. mas/cli/upgrade/__init__.py +11 -0
  106. mas/cli/upgrade/app.py +164 -0
  107. mas/cli/upgrade/argParser.py +68 -0
  108. mas/cli/upgrade/settings/__init__.py +19 -0
  109. mas/cli/validators.py +151 -0
  110. mas_cli-5.1.4.data/scripts/mas-cli +87 -0
  111. mas_cli-5.1.4.dist-info/METADATA +73 -0
  112. mas_cli-5.1.4.dist-info/RECORD +114 -0
  113. mas_cli-5.1.4.dist-info/WHEEL +5 -0
  114. mas_cli-5.1.4.dist-info/top_level.txt +1 -0
@@ -0,0 +1,1176 @@
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 argparse
12
+ from os import path
13
+
14
+ from .. import __version__ as packageVersion
15
+ from ..cli import getHelpFormatter
16
+
17
+
18
+ def isValidFile(parser, arg) -> str:
19
+ if not path.exists(arg):
20
+ parser.error(f"Error: The file {arg} does not exist")
21
+ else:
22
+ return arg
23
+
24
+
25
+ installArgParser = argparse.ArgumentParser(
26
+ prog="mas install",
27
+ description="\n".join([
28
+ f"IBM Maximo Application Suite Admin CLI v{packageVersion}",
29
+ "Install MAS by configuring and launching the MAS Uninstall Tekton Pipeline.\n",
30
+ "Interactive Mode:",
31
+ "Omitting the --instance-id option will trigger an interactive prompt"
32
+ ]),
33
+ epilog="Refer to the online documentation for more information: https://ibm-mas.github.io/cli/",
34
+ formatter_class=getHelpFormatter(),
35
+ add_help=False
36
+ )
37
+
38
+ # MAS Catalog Selection & Entitlement
39
+ # -----------------------------------------------------------------------------
40
+ catArgGroup = installArgParser.add_argument_group("MAS Catalog Selection & Entitlement")
41
+ catArgGroup.add_argument(
42
+ "-c", "--mas-catalog-version",
43
+ required=False,
44
+ help="IBM Maximo Operator Catalog to install"
45
+ )
46
+ catArgGroup.add_argument(
47
+ "--mas-catalog-digest",
48
+ required=False,
49
+ help="IBM Maximo Operator Catalog Digest, only required when installing development catalog sources"
50
+ )
51
+ catArgGroup.add_argument(
52
+ "--ibm-entitlement-key",
53
+ required=False,
54
+ help="IBM entitlement key"
55
+ )
56
+
57
+ # MAS Basic Configuration
58
+ # -----------------------------------------------------------------------------
59
+ masArgGroup = installArgParser.add_argument_group("MAS Basic Configuration")
60
+ masArgGroup.add_argument(
61
+ "-i", "--mas-instance-id",
62
+ required=False,
63
+ help="MAS Instance ID"
64
+ )
65
+ masArgGroup.add_argument(
66
+ "-w", "--mas-workspace-id",
67
+ required=False,
68
+ help="MAS Workspace ID"
69
+ )
70
+ masArgGroup.add_argument(
71
+ "-W", "--mas-workspace-name",
72
+ required=False,
73
+ help="MAS Workspace Name"
74
+ )
75
+ masArgGroup.add_argument(
76
+ "--mas-channel",
77
+ required=False,
78
+ help="Subscription channel for the Core Platform"
79
+ )
80
+ # MAS Special characters
81
+ # -----------------------------------------------------------------------------
82
+ masSpecialCharacters = installArgParser.add_argument_group("Mas Special Characters")
83
+ masSpecialCharacters.add_argument(
84
+ "--allow-special-chars",
85
+ dest="mas_special_characters",
86
+ required=False,
87
+ help="Allow special chars for users username/ID",
88
+ action="store_true"
89
+ )
90
+ # ECK Integration
91
+ # -----------------------------------------------------------------------------
92
+ eckArgGroup = installArgParser.add_argument_group("ECK Integration")
93
+ eckArgGroup.add_argument(
94
+ "--eck",
95
+ dest="eck_action",
96
+ required=False,
97
+ help="",
98
+ action="store_const",
99
+ const="install"
100
+ )
101
+ eckArgGroup.add_argument(
102
+ "--eck-enable-logstash",
103
+ required=False,
104
+ help="",
105
+ action="store_true"
106
+ )
107
+ eckArgGroup.add_argument(
108
+ "--eck-remote-es-hosts",
109
+ required=False,
110
+ help=""
111
+ )
112
+ eckArgGroup.add_argument(
113
+ "--eck-remote-es-username",
114
+ required=False,
115
+ help=""
116
+ )
117
+ eckArgGroup.add_argument(
118
+ "--eck-remote-es-password",
119
+ required=False,
120
+ help=""
121
+ )
122
+
123
+ # MAS Advanced Configuration
124
+ # -----------------------------------------------------------------------------
125
+ masAdvancedArgGroup = installArgParser.add_argument_group("MAS Advanced Configuration")
126
+ masAdvancedArgGroup.add_argument(
127
+ "--superuser-username",
128
+ dest="mas_superuser_username",
129
+ required=False,
130
+ help=""
131
+ )
132
+ masAdvancedArgGroup.add_argument(
133
+ "--superuser-password",
134
+ dest="mas_superuser_password",
135
+ required=False,
136
+ help=""
137
+ )
138
+ masAdvancedArgGroup.add_argument(
139
+ "--additional-configs",
140
+ required=False,
141
+ help="Path to a directory containing additional configuration files to be applied"
142
+ )
143
+ masAdvancedArgGroup.add_argument(
144
+ "--pod-templates",
145
+ required=False,
146
+ help="Path to directory containing custom podTemplates configuration files to be applied"
147
+ )
148
+ masAdvancedArgGroup.add_argument(
149
+ "--non-prod",
150
+ required=False,
151
+ help="Install MAS in non-production mode",
152
+ action="store_true"
153
+ )
154
+ masAdvancedArgGroup.add_argument(
155
+ "--disable-ca-trust",
156
+ dest="mas_trust_default_cas",
157
+ required=False,
158
+ help="Disable built-in trust of well-known CAs",
159
+ action="store_const",
160
+ const="false"
161
+ )
162
+ masAdvancedArgGroup.add_argument(
163
+ "--manual-certificates",
164
+ required=False,
165
+ help="Path to directory containing the certificates to be applied"
166
+ )
167
+ masAdvancedArgGroup.add_argument(
168
+ "--domain",
169
+ dest="mas_domain",
170
+ required=False,
171
+ help="Configure MAS with a custom domain"
172
+ )
173
+ masAdvancedArgGroup.add_argument(
174
+ "--disable-walkme",
175
+ dest="mas_enable_walkme",
176
+ required=False,
177
+ help="Disable MAS guided tour",
178
+ action="store_const",
179
+ const="false"
180
+ )
181
+
182
+ masAdvancedArgGroup.add_argument(
183
+ "--dns-provider",
184
+ dest="dns_provider",
185
+ required=False,
186
+ help="Enable Automatic DNS management (see DNS Configuration options)",
187
+ choices=["cloudflare", "cis", "route53"]
188
+ )
189
+
190
+ masAdvancedArgGroup.add_argument(
191
+ "--mas-cluster-issuer",
192
+ dest="mas_cluster_issuer",
193
+ required=False,
194
+ help="Provide the name of the ClusterIssuer to configure MAS to issue certificates",
195
+ )
196
+
197
+ masAdvancedArgGroup.add_argument(
198
+ "--enable-ipv6",
199
+ dest="enable_ipv6",
200
+ required=False,
201
+ help="Configure MAS to run in IP version 6. Before setting this option, be sure your cluster is configured in IP version 6",
202
+ action="store_const",
203
+ const="true"
204
+ )
205
+
206
+ # DNS Configuration - IBM CIS
207
+ # -----------------------------------------------------------------------------
208
+ cisArgGroup = installArgParser.add_argument_group("DNS Configuration - CIS")
209
+ cisArgGroup.add_argument(
210
+ "--cis-email",
211
+ dest="cis_email",
212
+ required=False,
213
+ help="Required when DNS provider is CIS and you want to use a Let's Encrypt ClusterIssuer"
214
+ )
215
+ cisArgGroup.add_argument(
216
+ "--cis-apikey",
217
+ dest="cis_apikey",
218
+ required=False,
219
+ help="Required when DNS provider is CIS"
220
+ )
221
+ cisArgGroup.add_argument(
222
+ "--cis-crn",
223
+ dest="cis_crn",
224
+ required=False,
225
+ help="Required when DNS provider is CIS"
226
+ )
227
+ cisArgGroup.add_argument(
228
+ "--cis-subdomain",
229
+ dest="cis_subdomain",
230
+ required=False,
231
+ help="Optionally setup MAS instance as a subdomain under a multi-tenant CIS DNS record"
232
+ )
233
+
234
+ # Storage
235
+ # -----------------------------------------------------------------------------
236
+ storageArgGroup = installArgParser.add_argument_group("Storage")
237
+ storageArgGroup.add_argument(
238
+ "--storage-class-rwo",
239
+ required=False,
240
+ help="ReadWriteOnce (RWO) storage class (e.g. ibmc-block-gold)"
241
+ )
242
+ storageArgGroup.add_argument(
243
+ "--storage-class-rwx",
244
+ required=False,
245
+ help="ReadWriteMany (RWX) storage class (e.g. ibmc-file-gold-gid)"
246
+ )
247
+ storageArgGroup.add_argument(
248
+ "--storage-pipeline",
249
+ required=False,
250
+ help="Install pipeline storage class (e.g. ibmc-file-gold-gid)"
251
+ )
252
+ storageArgGroup.add_argument(
253
+ "--storage-accessmode",
254
+ required=False,
255
+ help="Install pipeline storage class access mode (ReadWriteMany or ReadWriteOnce)",
256
+ choices=["ReadWriteMany", "ReadWriteOnce"]
257
+ )
258
+
259
+ # IBM Suite License Service
260
+ # -----------------------------------------------------------------------------
261
+ slsArgGroup = installArgParser.add_argument_group("IBM Suite License Service")
262
+ slsArgGroup.add_argument(
263
+ "--license-file",
264
+ required=False,
265
+ help="Path to MAS license file",
266
+ type=lambda x: isValidFile(installArgParser, x)
267
+ )
268
+ slsArgGroup.add_argument(
269
+ "--sls-namespace",
270
+ required=False,
271
+ help="Customize the SLS install namespace",
272
+ default="ibm-sls"
273
+ )
274
+ slsArgGroup.add_argument(
275
+ "--dedicated-sls",
276
+ action="store_true",
277
+ default=False,
278
+ help="Set the SLS namespace to mas-<instanceid>-sls"
279
+ )
280
+
281
+ # IBM Data Reporting Operator (DRO)
282
+ # -----------------------------------------------------------------------------
283
+ droArgGroup = installArgParser.add_argument_group("IBM Data Reporting Operator (DRO)")
284
+ droArgGroup.add_argument(
285
+ "--uds-email",
286
+ dest="uds_contact_email",
287
+ required=False,
288
+ help="Contact e-mail address"
289
+ )
290
+ droArgGroup.add_argument(
291
+ "--uds-firstname",
292
+ dest="uds_contact_firstname",
293
+ required=False,
294
+ help="Contact first name"
295
+ )
296
+ droArgGroup.add_argument(
297
+ "--uds-lastname",
298
+ dest="uds_contact_lastname",
299
+ required=False,
300
+ help="Contact last name"
301
+ )
302
+ droArgGroup.add_argument(
303
+ "--dro-namespace",
304
+ required=False,
305
+ help=""
306
+ )
307
+
308
+ # MongoDb Community Operator
309
+ # -----------------------------------------------------------------------------
310
+ mongoArgGroup = installArgParser.add_argument_group("MongoDb Community Operator")
311
+ mongoArgGroup.add_argument(
312
+ "--mongodb-namespace",
313
+ required=False,
314
+ help=""
315
+ )
316
+
317
+ # OCP Configuration
318
+ # -----------------------------------------------------------------------------
319
+ ocpArgGroup = installArgParser.add_argument_group("OCP Configuration")
320
+ ocpArgGroup.add_argument(
321
+ "--ocp-ingress-tls-secret-name",
322
+ required=False,
323
+ help="Name of the secret holding the cluster's ingress certificates"
324
+ )
325
+
326
+ # MAS Applications
327
+ # -----------------------------------------------------------------------------
328
+ masAppsArgGroup = installArgParser.add_argument_group("MAS Applications")
329
+ masAppsArgGroup.add_argument(
330
+ "--assist-channel",
331
+ required=False,
332
+ help="Subscription channel for Maximo Assist"
333
+ )
334
+ masAppsArgGroup.add_argument(
335
+ "--iot-channel",
336
+ required=False,
337
+ help="Subscription channel for Maximo IoT"
338
+ )
339
+ masAppsArgGroup.add_argument(
340
+ "--monitor-channel",
341
+ required=False,
342
+ help="Subscription channel for Maximo Monitor"
343
+ )
344
+ masAppsArgGroup.add_argument(
345
+ "--manage-channel",
346
+ required=False,
347
+ help="Subscription channel for Maximo Manage"
348
+ )
349
+ masAppsArgGroup.add_argument(
350
+ "--predict-channel",
351
+ required=False,
352
+ help="Subscription channel for Maximo Predict"
353
+ )
354
+ masAppsArgGroup.add_argument(
355
+ "--visualinspection-channel",
356
+ required=False,
357
+ help="Subscription channel for Maximo Visual Inspection"
358
+ )
359
+ masAppsArgGroup.add_argument(
360
+ "--optimizer-channel",
361
+ required=False,
362
+ help="Subscription channel for Maximo optimizer"
363
+ )
364
+ masAppsArgGroup.add_argument(
365
+ "--optimizer-plan",
366
+ required=False,
367
+ choices=["full", "limited"],
368
+ help="Install plan for Maximo Optimizer"
369
+ )
370
+ masAppsArgGroup.add_argument(
371
+ "--facilities-channel",
372
+ required=False,
373
+ help="Subscription channel for Maximo Real Estate and Facilities"
374
+ )
375
+
376
+ # Arcgis
377
+ # -----------------------------------------------------------------------------
378
+ arcgisArgGroup = installArgParser.add_argument_group("Maximo Location Services for Esri (arcgis)")
379
+ arcgisArgGroup.add_argument(
380
+ "--install-arcgis",
381
+ required=False,
382
+ help="Enables IBM Maximo Location Services for Esri. Only applicable if installing Manage with Spatial",
383
+ action="store_const",
384
+ const="true"
385
+ )
386
+ arcgisArgGroup.add_argument(
387
+ "--arcgis-channel",
388
+ dest="mas_arcgis_channel",
389
+ required=False,
390
+ help=""
391
+ )
392
+
393
+ # Manage Advanced Settings
394
+ # -----------------------------------------------------------------------------
395
+ manageArgGroup = installArgParser.add_argument_group("Advanced Settings - Manage")
396
+ manageArgGroup.add_argument(
397
+ "--manage-server-bundle-size",
398
+ dest="mas_app_settings_server_bundles_size",
399
+ required=False,
400
+ help="Set Manage server bundle size configuration",
401
+ choices=["dev", "snojms", "small", "jms"]
402
+ )
403
+ manageArgGroup.add_argument(
404
+ "--manage-jms",
405
+ dest="mas_app_settings_default_jms",
406
+ required=False,
407
+ help="Set JMS configuration",
408
+ action="store_const",
409
+ const="true"
410
+ )
411
+ manageArgGroup.add_argument(
412
+ "--manage-persistent-volumes",
413
+ dest="mas_app_settings_persistent_volumes_flag",
414
+ required=False,
415
+ help="",
416
+ action="store_const",
417
+ const="true"
418
+ )
419
+
420
+ manageArgGroup.add_argument(
421
+ "--manage-jdbc",
422
+ dest="mas_appws_bindings_jdbc_manage",
423
+ required=False,
424
+ help="",
425
+ choices=["system", "workspace-application"]
426
+ )
427
+ manageArgGroup.add_argument(
428
+ "--manage-demodata",
429
+ dest="mas_app_settings_demodata",
430
+ required=False,
431
+ help="",
432
+ action="store_const",
433
+ const="true"
434
+ )
435
+ manageArgGroup.add_argument(
436
+ "--manage-components",
437
+ dest="mas_appws_components",
438
+ required=False,
439
+ help="Set Manage Components to be installed (e.g 'base=latest,health=latest,civil=latest')",
440
+ default=""
441
+ )
442
+
443
+ manageArgGroup.add_argument(
444
+ "--manage-health-wsl",
445
+ dest="mas_appws_bindings_health_wsl_flag",
446
+ required=False,
447
+ help="Set boolean value indicating if Watson Studio must be bound to Manage. It is expected a system level WatsonStudioCfg applied in the cluster.",
448
+ action="store_const",
449
+ const="true"
450
+ )
451
+
452
+ manageArgGroup.add_argument(
453
+ "--manage-customization-archive-name",
454
+ dest="mas_app_settings_customization_archive_name",
455
+ required=False,
456
+ help="Manage Archive name"
457
+ )
458
+ manageArgGroup.add_argument(
459
+ "--manage-customization-archive-url",
460
+ dest="mas_app_settings_customization_archive_url",
461
+ required=False,
462
+ help="Manage Archive url"
463
+ )
464
+ manageArgGroup.add_argument(
465
+ "--manage-customization-archive-username",
466
+ dest="mas_app_settings_customization_archive_username",
467
+ required=False,
468
+ help="Manage Archive username (HTTP basic auth)"
469
+ )
470
+ manageArgGroup.add_argument(
471
+ "--manage-customization-archive-password",
472
+ dest="mas_app_settings_customization_archive_password",
473
+ required=False,
474
+ help="Manage Archive password (HTTP basic auth)"
475
+ )
476
+
477
+ manageArgGroup.add_argument(
478
+ "--manage-db-tablespace",
479
+ dest="mas_app_settings_tablespace",
480
+ required=False,
481
+ help="Database tablespace name that Manage will use to be installed. Default is 'MAXDATA'"
482
+ )
483
+ manageArgGroup.add_argument(
484
+ "--manage-db-indexspace",
485
+ dest="mas_app_settings_indexspace",
486
+ required=False,
487
+ help="Database indexspace name that Manage will use to be installed. Default is 'MAXINDEX'"
488
+ )
489
+ manageArgGroup.add_argument(
490
+ "--manage-db-schema",
491
+ dest="mas_app_settings_db2_schema",
492
+ required=False,
493
+ help="Database schema name that Manage will use to be installed. Default is 'maximo'"
494
+ )
495
+
496
+ manageArgGroup.add_argument(
497
+ "--manage-crypto-key",
498
+ dest="mas_app_settings_crypto_key",
499
+ required=False,
500
+ help="Customize Manage database encryption keys"
501
+ )
502
+ manageArgGroup.add_argument(
503
+ "--manage-cryptox-key",
504
+ dest="mas_app_settings_cryptox_key",
505
+ required=False,
506
+ help="Customize Manage database encryption keys"
507
+ )
508
+ manageArgGroup.add_argument(
509
+ "--manage-old-crypto-key",
510
+ dest="mas_app_settings_old_crypto_key",
511
+ required=False,
512
+ help="Customize Manage database encryption keys"
513
+ )
514
+ manageArgGroup.add_argument(
515
+ "--manage-old-cryptox-key",
516
+ dest="mas_app_settings_old_cryptox_key",
517
+ required=False,
518
+ help="Customize Manage database encryption keys"
519
+ )
520
+ manageArgGroup.add_argument(
521
+ "--manage-override-encryption-secrets",
522
+ dest="mas_app_settings_override_encryption_secrets_flag",
523
+ required=False,
524
+ help="Override any existing Manage database encryption keys. A backup of the original secret holding existing encryption keys is taken prior overriding it with the new defined keys",
525
+ action="store_const",
526
+ const="true"
527
+ )
528
+
529
+ manageArgGroup.add_argument(
530
+ "--manage-base-language",
531
+ dest="mas_app_settings_base_lang",
532
+ required=False,
533
+ help="Manage base language to be installed. Default is `EN` (English)"
534
+ )
535
+ manageArgGroup.add_argument(
536
+ "--manage-secondary-languages",
537
+ dest="mas_app_settings_secondary_langs",
538
+ required=False,
539
+ help="Comma-separated list of Manage secondary languages to be installed (e.g. 'JA,DE,AR')"
540
+ )
541
+ manageArgGroup.add_argument(
542
+ "--manage-server-timezone",
543
+ dest="mas_app_settings_server_timezone",
544
+ required=False,
545
+ help="Manage server timezone. Default is `GMT`"
546
+ )
547
+
548
+ manageArgGroup.add_argument(
549
+ "--manage-upgrade-type",
550
+ dest="mas_appws_upgrade_type",
551
+ required=False,
552
+ help="Set Manage upgrade type. Default is `regularUpgrade`",
553
+ default="regularUpgrade",
554
+ choices=["regularUpgrade", "onlineUpgrade"]
555
+ )
556
+
557
+ # Manage Attachments
558
+ # -----------------------------------------------------------------------------
559
+ manageArgGroup.add_argument(
560
+ "--manage-attachments-provider",
561
+ dest="mas_manage_attachments_provider",
562
+ required=False,
563
+ help="Defines the storage provider type to be used to store attachments in Maximo Manage. Supported options are `filestorage`, `ibm` and `aws`.",
564
+ choices=["filestorage", "ibm", "aws"]
565
+ )
566
+ manageArgGroup.add_argument(
567
+ "--manage-attachments-mode",
568
+ dest="mas_manage_attachment_configuration_mode",
569
+ required=False,
570
+ help="Defines how attachment properties will be configured in Manage. Possible values are: cr and db",
571
+ choices=["cr", "db"]
572
+ )
573
+
574
+ # Facilities Advanced Settings
575
+ # TODO: Fix type for storage sizes and max conn pool size
576
+ facilitiesArgGroup = installArgParser.add_argument_group("Facilities Advanced Configuration")
577
+ facilitiesArgGroup.add_argument(
578
+ "--facilities-size",
579
+ dest="mas_ws_facilities_size",
580
+ required=False,
581
+ help="Defines the size of Facilities deployment",
582
+ choices=['small', 'medium', 'large'],
583
+ )
584
+ facilitiesArgGroup.add_argument(
585
+ "--facilities-pull-policy",
586
+ dest="mas_ws_facilities_pull_policy",
587
+ required=False,
588
+ help="Defines the pull policy for the images",
589
+ choices=["IfNotPresent", "Always"],
590
+ )
591
+ facilitiesArgGroup.add_argument(
592
+ "--facilities-routes-timeout",
593
+ dest="mas_ws_facilities_routes_timeout",
594
+ required=False,
595
+ help="Defines the timeout for the routes",
596
+ default="600s",
597
+ )
598
+ facilitiesArgGroup.add_argument(
599
+ "--facilities-xml-extension",
600
+ dest="mas_ws_facilities_liberty_extension_XML",
601
+ required=False,
602
+ help="Defines the name of the secret that holds the extensions for Liberty server",
603
+ )
604
+ facilitiesArgGroup.add_argument(
605
+ "--facilities-vault-secret",
606
+ dest="mas_ws_facilities_vault_secret",
607
+ required=False,
608
+ help="Defines the name of the secret that holds the AES Encryption password",
609
+ )
610
+ facilitiesArgGroup.add_argument(
611
+ "--facilities-dwfagent",
612
+ dest="mas_ws_facilities_dwfagents",
613
+ required=False,
614
+ help="Defines the list of dedicates workflow agents",
615
+ type=str
616
+ )
617
+ facilitiesArgGroup.add_argument(
618
+ "--facilities-maxconnpoolsize",
619
+ dest="mas_ws_facilities_db_maxconnpoolsize",
620
+ required=False,
621
+ help="Defines the maximum connection pool size",
622
+ default=200,
623
+ )
624
+ facilitiesArgGroup.add_argument(
625
+ "--facilities-log-storage-class",
626
+ dest="mas_ws_facilities_storage_log_class",
627
+ required=False,
628
+ help="Defines the log storage class",
629
+ )
630
+ facilitiesArgGroup.add_argument(
631
+ "--facilities-log-storage-mode",
632
+ dest="mas_ws_facilities_storage_log_mode",
633
+ required=False,
634
+ help="Defines the log storage mode",
635
+ )
636
+ facilitiesArgGroup.add_argument(
637
+ "--facilities-log-storage-size",
638
+ dest="mas_ws_facilities_storage_log_size",
639
+ required=False,
640
+ help="Defines the logs storage size",
641
+ )
642
+ facilitiesArgGroup.add_argument(
643
+ "--facilities-userfiles-storage-class",
644
+ dest="mas_ws_facilities_storage_userfiles_class",
645
+ required=False,
646
+ help="Defines the user files storage class",
647
+ )
648
+ facilitiesArgGroup.add_argument(
649
+ "--facilities-userfiles-storage-mode",
650
+ dest="mas_ws_facilities_storage_userfiles_mode",
651
+ required=False,
652
+ help="Defines the user files storage mode",
653
+ )
654
+ facilitiesArgGroup.add_argument(
655
+ "--facilities-userfiles-storage-size",
656
+ dest="mas_ws_facilities_storage_userfiles_size",
657
+ required=False,
658
+ help="Defines the user files storage size",
659
+ )
660
+
661
+ # IBM Cloud Pak for Data
662
+ # -----------------------------------------------------------------------------
663
+ cpdAppsArgGroup = installArgParser.add_argument_group("IBM Cloud Pak for Data")
664
+ cpdAppsArgGroup.add_argument(
665
+ "--cp4d-version",
666
+ dest="cpd_product_version",
667
+ required=False,
668
+ help="Product version of CP4D to use"
669
+ )
670
+ cpdAppsArgGroup.add_argument(
671
+ "--cp4d-install-spss",
672
+ dest="cpd_install_spss",
673
+ required=False,
674
+ help="Add SPSS Modeler as part of Cloud Pak for Data",
675
+ action="store_const",
676
+ const="install"
677
+ )
678
+ cpdAppsArgGroup.add_argument(
679
+ "--cp4d-install-cognos",
680
+ dest="cpd_install_cognos",
681
+ required=False,
682
+ help="Add Cognos as part of Cloud Pak for Data",
683
+ action="store_const",
684
+ const="install"
685
+ )
686
+ cpdAppsArgGroup.add_argument(
687
+ "--cp4d-install-ws",
688
+ dest="cpd_install_ws",
689
+ required=False,
690
+ help="Add Watson Studio as part of Cloud Pak for Data",
691
+ action="store_const",
692
+ const="install"
693
+ )
694
+ cpdAppsArgGroup.add_argument(
695
+ "--cp4d-install-wml",
696
+ dest="cpd_install_wml",
697
+ required=False,
698
+ help="Add Watson Machine Learning as part of Cloud Pak for Data",
699
+ action="store_const",
700
+ const="install"
701
+ )
702
+ cpdAppsArgGroup.add_argument(
703
+ "--cp4d-install-ae",
704
+ dest="cpd_install_ae",
705
+ required=False,
706
+ help="Add Spark Analytics Engine as part of Cloud Pak for Data",
707
+ action="store_const",
708
+ const="install"
709
+ )
710
+
711
+ # IBM Db2 Universal Operator
712
+ # -----------------------------------------------------------------------------
713
+ db2ArgGroup = installArgParser.add_argument_group("IBM Db2 Universal Operator")
714
+ db2ArgGroup.add_argument(
715
+ "--db2-namespace",
716
+ required=False,
717
+ help="Change namespace where Db2u instances will be created"
718
+ )
719
+ db2ArgGroup.add_argument(
720
+ "--db2-channel",
721
+ required=False,
722
+ help="Subscription channel for Db2u"
723
+ )
724
+ db2ArgGroup.add_argument(
725
+ "--db2-system",
726
+ dest="db2_action_system",
727
+ required=False,
728
+ help="Install a shared Db2u instance for MAS (required by IoT & Monitor, supported by Manage)",
729
+ action="store_const",
730
+ const="install"
731
+ )
732
+ db2ArgGroup.add_argument(
733
+ "--db2-manage",
734
+ dest="db2_action_manage",
735
+ required=False,
736
+ help="Install a dedicated Db2u instance for Maximo Manage (supported by Manage)",
737
+ action="store_const",
738
+ const="install"
739
+ )
740
+ db2ArgGroup.add_argument(
741
+ "--db2-facilities",
742
+ dest="db2_action_facilities",
743
+ required=False,
744
+ help="Install a dedicated Db2u instance for Maximo Real Estate and Facilities (supported by Facilities)",
745
+ action="store_const",
746
+ const="install"
747
+ )
748
+ db2ArgGroup.add_argument(
749
+ "--db2-type",
750
+ required=False,
751
+ help="Choose the type of the Manage dedicated Db2u instance. Available options are `db2wh` (default) or `db2oltp`"
752
+ )
753
+ db2ArgGroup.add_argument(
754
+ "--db2-timezone",
755
+ required=False,
756
+ help=""
757
+ )
758
+ db2ArgGroup.add_argument(
759
+ "--db2-affinity-key",
760
+ required=False,
761
+ help="Set a node label to declare affinity to"
762
+ )
763
+ db2ArgGroup.add_argument(
764
+ "--db2-affinity-value",
765
+ required=False,
766
+ help="Set the value of the node label to affine with"
767
+ )
768
+ db2ArgGroup.add_argument(
769
+ "--db2-tolerate-key",
770
+ required=False,
771
+ help="Set a node taint to tolerate"
772
+ )
773
+ db2ArgGroup.add_argument(
774
+ "--db2-tolerate-value",
775
+ required=False,
776
+ help="Set the value of the taint to tolerate"
777
+ )
778
+ db2ArgGroup.add_argument(
779
+ "--db2-tolerate-effect",
780
+ required=False,
781
+ help="Set the effect that will be tolerated (NoSchedule, PreferNoSchedule, or NoExecute)"
782
+ )
783
+ db2ArgGroup.add_argument(
784
+ "--db2-cpu-requests",
785
+ required=False,
786
+ help="Customize Db2 CPU request"
787
+ )
788
+ db2ArgGroup.add_argument(
789
+ "--db2-cpu-limits",
790
+ required=False,
791
+ help="Customize Db2 CPU limit"
792
+ )
793
+ db2ArgGroup.add_argument(
794
+ "--db2-memory-requests",
795
+ required=False,
796
+ help="Customize Db2 memory request"
797
+ )
798
+ db2ArgGroup.add_argument(
799
+ "--db2-memory-limits",
800
+ required=False,
801
+ help="Customize Db2 memory limit"
802
+ )
803
+ db2ArgGroup.add_argument(
804
+ "--db2-backup-storage",
805
+ dest="db2_backup_storage_size",
806
+ required=False,
807
+ help="Customize Db2 storage capacity"
808
+ )
809
+ db2ArgGroup.add_argument(
810
+ "--db2-data-storage",
811
+ dest="db2_data_storage_size",
812
+ required=False,
813
+ help="Customize Db2 storage capacity"
814
+ )
815
+ db2ArgGroup.add_argument(
816
+ "--db2-logs-storage",
817
+ dest="db2_logs_storage_size",
818
+ required=False,
819
+ help="Customize Db2 storage capacity"
820
+ )
821
+ db2ArgGroup.add_argument(
822
+ "--db2-meta-storage",
823
+ dest="db2_meta_storage_size",
824
+ required=False,
825
+ help="Customize Db2 storage capacity"
826
+ )
827
+ db2ArgGroup.add_argument(
828
+ "--db2-temp-storage",
829
+ dest="db2_temp_storage_size",
830
+ required=False,
831
+ help="Customize Db2 storage capacity"
832
+ )
833
+
834
+ # Kafka - Common
835
+ # -----------------------------------------------------------------------------
836
+ kafkaCommonArgGroup = installArgParser.add_argument_group("Kafka - Common")
837
+ kafkaCommonArgGroup.add_argument(
838
+ "--kafka-provider",
839
+ required=False,
840
+ help="Set Kafka provider. Supported options are `redhat` (Red Hat AMQ Streams), `strimzi` and `ibm` (IBM Event Streams) and `aws` (AWS MSK)",
841
+ choices=["strimzi", "redhat", "ibm", "aws"]
842
+ )
843
+ kafkaCommonArgGroup.add_argument(
844
+ "--kafka-username",
845
+ required=False,
846
+ help="Set Kafka instance username. Only applicable if installing `redhat` (Red Hat AMQ Streams), `strimzi` or `aws` (AWS MSK)"
847
+ )
848
+ kafkaCommonArgGroup.add_argument(
849
+ "--kafka-password",
850
+ required=False,
851
+ help="Set Kafka instance password. Only applicable if installing `redhat` (Red Hat AMQ Streams), `strimzi` or `aws` (AWS MSK)"
852
+ )
853
+
854
+ # Kafka - Strimzi & AMQ Streams
855
+ # -----------------------------------------------------------------------------
856
+ kafkaOCPArgGroup = installArgParser.add_argument_group("Kafka - Strimzi and AMQ Streams")
857
+ kafkaCommonArgGroup.add_argument(
858
+ "--kafka-namespace",
859
+ required=False,
860
+ help="Set Kafka namespace. Only applicable if installing `redhat` (Red Hat AMQ Streams) or `strimzi`"
861
+ )
862
+ kafkaOCPArgGroup.add_argument(
863
+ "--kafka-version",
864
+ required=False,
865
+ help="Set version of the Kafka cluster that the Strimzi or AMQ Streams operator will create"
866
+ )
867
+
868
+ # Kafka - MSK
869
+ # -----------------------------------------------------------------------------
870
+ mskArgGroup = installArgParser.add_argument_group("Kafka - AWS MSK")
871
+ mskArgGroup.add_argument(
872
+ "--msk-instance-type",
873
+ dest="aws_msk_instance_type",
874
+ required=False,
875
+ help="Set the MSK instance type"
876
+ )
877
+ mskArgGroup.add_argument(
878
+ "--msk-instance-nodes",
879
+ dest="aws_msk_instance_number",
880
+ required=False,
881
+ help="Set total number of MSK instance nodes"
882
+ )
883
+ mskArgGroup.add_argument(
884
+ "--msk-instance-volume-size",
885
+ dest="aws_msk_volume_size",
886
+ required=False,
887
+ help="Set storage/volume size for the MSK instance"
888
+ )
889
+ mskArgGroup.add_argument(
890
+ "--msk-cidr-az1",
891
+ dest="aws_msk_cidr_az1",
892
+ required=False,
893
+ help="Set the CIDR subnet for availability zone 1 for the MSK instance"
894
+ )
895
+ mskArgGroup.add_argument(
896
+ "--msk-cidr-az2",
897
+ dest="aws_msk_cidr_az2",
898
+ required=False,
899
+ help="Set the CIDR subnet for availability zone 2 for the MSK instance"
900
+ )
901
+ mskArgGroup.add_argument(
902
+ "--msk-cidr-az3",
903
+ dest="aws_msk_cidr_az3",
904
+ required=False,
905
+ help="Set the CIDR subnet for availability zone 3 for the MSK instance"
906
+ )
907
+ mskArgGroup.add_argument(
908
+ "--msk-cidr-egress",
909
+ dest="aws_msk_egress_cidr",
910
+ required=False,
911
+ help="Set the CIDR for egress connectivity"
912
+ )
913
+ mskArgGroup.add_argument(
914
+ "--msk-cidr-ingress",
915
+ dest="aws_msk_ingress_cidr",
916
+ required=False,
917
+ help="Set the CIDR for ingress connectivity"
918
+ )
919
+
920
+ # Kafka - Event Streams
921
+ # -----------------------------------------------------------------------------
922
+ eventstreamsArgGroup = installArgParser.add_argument_group("Kafka - Event Streams")
923
+ eventstreamsArgGroup.add_argument(
924
+ "--eventstreams-resource-group",
925
+ dest="eventstreams_resourcegroup",
926
+ required=False,
927
+ help="Set IBM Cloud resource group to target the Event Streams instance provisioning"
928
+ )
929
+ eventstreamsArgGroup.add_argument(
930
+ "--eventstreams-instance-name",
931
+ dest="eventstreams_name",
932
+ required=False,
933
+ help="Set IBM Event Streams instance name"
934
+ )
935
+ eventstreamsArgGroup.add_argument(
936
+ "--eventstreams-instance-location",
937
+ dest="eventstreams_location",
938
+ required=False,
939
+ help="Set IBM Event Streams instance location"
940
+ )
941
+
942
+ # COS
943
+ # -----------------------------------------------------------------------------
944
+ cosArgGroup = installArgParser.add_argument_group("Cloud Object Storage")
945
+ cosArgGroup.add_argument(
946
+ "--cos",
947
+ dest="cos_type",
948
+ required=False,
949
+ help="Set cloud object storage provider. Supported options are `ibm` and `ocs`",
950
+ choices=["ibm", "ocs"]
951
+ )
952
+ cosArgGroup.add_argument(
953
+ "--cos-resourcegroup",
954
+ dest="cos_resourcegroup",
955
+ required=False,
956
+ help="When using IBM COS, set the resource group where the instance will run"
957
+ )
958
+ cosArgGroup.add_argument(
959
+ "--cos-apikey",
960
+ dest="cos_apikey",
961
+ required=False,
962
+ help="When using IBM COS, set COS priviledged apikey for IBM Cloud"
963
+ )
964
+ cosArgGroup.add_argument(
965
+ "--cos-instance-name",
966
+ dest="cos_instance_name",
967
+ required=False,
968
+ help="When using IBM COS, set COS instance name to be used/created"
969
+ )
970
+ cosArgGroup.add_argument(
971
+ "--cos-bucket-name",
972
+ dest="cos_bucket_name",
973
+ required=False,
974
+ help="When using IBM COS, set COS bucket name to be used/created"
975
+ )
976
+
977
+ # Turbonomic Integration
978
+ # -----------------------------------------------------------------------------
979
+ turboArgGroup = installArgParser.add_argument_group("Turbonomic Integration")
980
+ turboArgGroup.add_argument(
981
+ "--turbonomic-name",
982
+ dest="turbonomic_target_name",
983
+ required=False,
984
+ help=""
985
+ )
986
+ turboArgGroup.add_argument(
987
+ "--turbonomic-url",
988
+ dest="turbonomic_server_url",
989
+ required=False,
990
+ help=""
991
+ )
992
+ turboArgGroup.add_argument(
993
+ "--turbonomic-version",
994
+ dest="turbonomic_server_version",
995
+ required=False,
996
+ help=""
997
+ )
998
+ turboArgGroup.add_argument(
999
+ "--turbonomic-username",
1000
+ dest="turbonomic_username",
1001
+ required=False,
1002
+ help=""
1003
+ )
1004
+ turboArgGroup.add_argument(
1005
+ "--turbonomic-password",
1006
+ dest="turbonomic_password",
1007
+ required=False,
1008
+ help=""
1009
+ )
1010
+
1011
+ # Cloud Providers
1012
+ # -----------------------------------------------------------------------------
1013
+ cloudArgGroup = installArgParser.add_argument_group("Cloud Providers")
1014
+ cloudArgGroup.add_argument(
1015
+ "--ibmcloud-apikey",
1016
+ required=False,
1017
+ help="Set IBM Cloud API Key"
1018
+ )
1019
+ cloudArgGroup.add_argument(
1020
+ "--aws-region",
1021
+ required=False,
1022
+ help="Set target AWS region for the MSK instance"
1023
+ )
1024
+ cloudArgGroup.add_argument(
1025
+ "--aws-access-key-id",
1026
+ required=False,
1027
+ help="Set AWS access key ID for the target AWS account"
1028
+ )
1029
+ cloudArgGroup.add_argument(
1030
+ "--secret-access-key",
1031
+ required=False,
1032
+ help="Set AWS secret access key for the target AWS account"
1033
+ )
1034
+ cloudArgGroup.add_argument(
1035
+ "--aws-vpc-id",
1036
+ required=False,
1037
+ help="Set target Virtual Private Cloud ID for the MSK instance"
1038
+ )
1039
+
1040
+ # Development Mode
1041
+ # -----------------------------------------------------------------------------
1042
+ devArgGroup = installArgParser.add_argument_group("Development Mode")
1043
+ devArgGroup.add_argument(
1044
+ "--artifactory-username",
1045
+ required=False,
1046
+ help="Username for access to development builds on Artifactory"
1047
+ )
1048
+ devArgGroup.add_argument(
1049
+ "--artifactory-token",
1050
+ required=False,
1051
+ help="API Token for access to development builds on Artifactory"
1052
+ )
1053
+
1054
+ # Approvals
1055
+ # -----------------------------------------------------------------------------
1056
+ approvalsGroup = installArgParser.add_argument_group("Integrated Approval Workflow (MAX_RETRIES:RETRY_DELAY:IGNORE_FAILURE)")
1057
+ approvalsGroup.add_argument(
1058
+ "--approval-core",
1059
+ default="",
1060
+ help="Require approval after the Core Platform has been configured"
1061
+ )
1062
+ approvalsGroup.add_argument(
1063
+ "--approval-assist",
1064
+ default="",
1065
+ help="Require approval after the Maximo Assist workspace has been configured"
1066
+ )
1067
+ approvalsGroup.add_argument(
1068
+ "--approval-iot",
1069
+ default="",
1070
+ help="Require approval after the Maximo IoT workspace has been configured"
1071
+ )
1072
+ approvalsGroup.add_argument(
1073
+ "--approval-manage",
1074
+ default="",
1075
+ help="Require approval after the Maximo Manage workspace has been configured"
1076
+ )
1077
+ approvalsGroup.add_argument(
1078
+ "--approval-monitor",
1079
+ default="",
1080
+ help="Require approval after the Maximo Monitor workspace has been configured"
1081
+ )
1082
+ approvalsGroup.add_argument(
1083
+ "--approval-optimizer",
1084
+ default="",
1085
+ help="Require approval after the Maximo Optimizer workspace has been configured"
1086
+ )
1087
+ approvalsGroup.add_argument(
1088
+ "--approval-predict",
1089
+ default="",
1090
+ help="Require approval after the Maximo Predict workspace has been configured"
1091
+ )
1092
+ approvalsGroup.add_argument(
1093
+ "--approval-visualinspection",
1094
+ default="",
1095
+ help="Require approval after the Maximo Visual Inspection workspace has been configured"
1096
+ )
1097
+ approvalsGroup.add_argument(
1098
+ "--approval-facilities",
1099
+ default="",
1100
+ help="Require approval after the Maximo Real Estate and Facilities workspace has been configured"
1101
+ )
1102
+
1103
+
1104
+ # More Options
1105
+ # -----------------------------------------------------------------------------
1106
+ otherArgGroup = installArgParser.add_argument_group("More")
1107
+ otherArgGroup.add_argument(
1108
+ "--advanced",
1109
+ action="store_true",
1110
+ default=False,
1111
+ help="Show advanced install options (in interactve mode)"
1112
+ )
1113
+ otherArgGroup.add_argument(
1114
+ "--simplified",
1115
+ action="store_true",
1116
+ default=False,
1117
+ help="Don't show advanced install options (in interactve mode)"
1118
+ )
1119
+
1120
+ otherArgGroup.add_argument(
1121
+ "--accept-license",
1122
+ action="store_true",
1123
+ default=False,
1124
+ help="Accept all license terms without prompting"
1125
+ )
1126
+ otherArgGroup.add_argument(
1127
+ "--dev-mode",
1128
+ required=False,
1129
+ action="store_true",
1130
+ default=False,
1131
+ help="Configure installation for development mode",
1132
+ )
1133
+ otherArgGroup.add_argument(
1134
+ "--no-wait-for-pvc",
1135
+ required=False,
1136
+ action="store_true",
1137
+ help="Disable the wait for pipeline PVC to bind before starting the pipeline"
1138
+ )
1139
+ otherArgGroup.add_argument(
1140
+ "--skip-pre-check",
1141
+ required=False,
1142
+ action="store_true",
1143
+ help="Disable the 'pre-install-check' at the start of the install pipeline"
1144
+ )
1145
+ otherArgGroup.add_argument(
1146
+ "--skip-grafana-install",
1147
+ required=False,
1148
+ action="store_true",
1149
+ help="Skips Grafana install action"
1150
+ )
1151
+ otherArgGroup.add_argument(
1152
+ "--no-confirm",
1153
+ required=False,
1154
+ action="store_true",
1155
+ default=False,
1156
+ help="Launch the upgrade without prompting for confirmation",
1157
+ )
1158
+ otherArgGroup.add_argument(
1159
+ "--image-pull-policy",
1160
+ dest="image_pull_policy",
1161
+ required=False,
1162
+ help="Manually set the image pull policy used in the Tekton Pipeline",
1163
+ )
1164
+ otherArgGroup.add_argument(
1165
+ "--service-account",
1166
+ dest="service_account_name",
1167
+ required=False,
1168
+ help="Run the install pipeline under a custom service account (also disables creation of the default 'pipeline' service account)",
1169
+ )
1170
+
1171
+ otherArgGroup.add_argument(
1172
+ "-h", "--help",
1173
+ action="help",
1174
+ default=False,
1175
+ help="Show this help message and exit",
1176
+ )