mas-cli 13.25.1__py3-none-any.whl → 13.27.0__py3-none-any.whl

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

Potentially problematic release.


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

@@ -0,0 +1,742 @@
1
+ # *****************************************************************************
2
+ # Copyright (c) 2024, 2025 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
+ aiServiceinstallArgParser = argparse.ArgumentParser(
26
+ prog="mas install-aiservice",
27
+ description="\n".join([
28
+ f"IBM Maximo Application Suite Admin CLI v{packageVersion}",
29
+ "Install Aiservice by configuring and launching the 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 = aiServiceinstallArgParser.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
+ # Aibroker Basic Configuration
58
+ # -----------------------------------------------------------------------------
59
+ masArgGroup = aiServiceinstallArgParser.add_argument_group("Aibroker Basic Configuration")
60
+ masArgGroup.add_argument(
61
+ "-i", "--aibroker-instance-id",
62
+ required=False,
63
+ help="Aibroker Instance ID"
64
+ )
65
+
66
+ # MAS Advanced Configuration
67
+ # -----------------------------------------------------------------------------
68
+ masAdvancedArgGroup = aiServiceinstallArgParser.add_argument_group("MAS Advanced Configuration")
69
+ masAdvancedArgGroup.add_argument(
70
+ "--additional-configs",
71
+ required=False,
72
+ help="Path to a directory containing additional configuration files to be applied"
73
+ )
74
+ masAdvancedArgGroup.add_argument(
75
+ "--non-prod",
76
+ required=False,
77
+ help="Install MAS in non-production mode",
78
+ action="store_true"
79
+ )
80
+
81
+ # Storage
82
+ # -----------------------------------------------------------------------------
83
+ storageArgGroup = aiServiceinstallArgParser.add_argument_group("Storage")
84
+ storageArgGroup.add_argument(
85
+ "--storage-class-rwo",
86
+ required=False,
87
+ help="ReadWriteOnce (RWO) storage class (e.g. ibmc-block-gold)"
88
+ )
89
+ storageArgGroup.add_argument(
90
+ "--storage-class-rwx",
91
+ required=False,
92
+ help="ReadWriteMany (RWX) storage class (e.g. ibmc-file-gold-gid)"
93
+ )
94
+ storageArgGroup.add_argument(
95
+ "--storage-pipeline",
96
+ required=False,
97
+ help="Install pipeline storage class (e.g. ibmc-file-gold-gid)"
98
+ )
99
+ storageArgGroup.add_argument(
100
+ "--storage-accessmode",
101
+ required=False,
102
+ help="Install pipeline storage class access mode (ReadWriteMany or ReadWriteOnce)",
103
+ choices=["ReadWriteMany", "ReadWriteOnce"]
104
+ )
105
+
106
+ # IBM Suite License Service
107
+ # -----------------------------------------------------------------------------
108
+ slsArgGroup = aiServiceinstallArgParser.add_argument_group("IBM Suite License Service")
109
+ slsArgGroup.add_argument(
110
+ "--license-file",
111
+ required=False,
112
+ help="Path to MAS license file",
113
+ type=lambda x: isValidFile(aiServiceinstallArgParser, x)
114
+ )
115
+ slsArgGroup.add_argument(
116
+ "--sls-namespace",
117
+ required=False,
118
+ help="Customize the SLS install namespace",
119
+ default="ibm-sls"
120
+ )
121
+ slsArgGroup.add_argument(
122
+ "--dedicated-sls",
123
+ action="store_true",
124
+ default=False,
125
+ help="Set the SLS namespace to mas-<instanceid>-sls"
126
+ )
127
+
128
+ # IBM Data Reporting Operator (DRO)
129
+ # -----------------------------------------------------------------------------
130
+ droArgGroup = aiServiceinstallArgParser.add_argument_group("IBM Data Reporting Operator (DRO)")
131
+ droArgGroup.add_argument(
132
+ "--uds-email",
133
+ dest="uds_contact_email",
134
+ required=False,
135
+ help="Contact e-mail address"
136
+ )
137
+ droArgGroup.add_argument(
138
+ "--uds-firstname",
139
+ dest="uds_contact_firstname",
140
+ required=False,
141
+ help="Contact first name"
142
+ )
143
+ droArgGroup.add_argument(
144
+ "--uds-lastname",
145
+ dest="uds_contact_lastname",
146
+ required=False,
147
+ help="Contact last name"
148
+ )
149
+ droArgGroup.add_argument(
150
+ "--dro-namespace",
151
+ required=False,
152
+ help=""
153
+ )
154
+
155
+ # MongoDb Community Operator
156
+ # -----------------------------------------------------------------------------
157
+ mongoArgGroup = aiServiceinstallArgParser.add_argument_group("MongoDb Community Operator")
158
+ mongoArgGroup.add_argument(
159
+ "--mongodb-namespace",
160
+ required=False,
161
+ help=""
162
+ )
163
+
164
+ # MAS Applications
165
+ # -----------------------------------------------------------------------------
166
+ masAppsArgGroup = aiServiceinstallArgParser.add_argument_group("MAS Applications")
167
+
168
+ masAppsArgGroup.add_argument(
169
+ "--aibroker-channel",
170
+ required=False,
171
+ help="Subscription channel for Maximo Ai Broker"
172
+ )
173
+
174
+ # AI Broker
175
+ # -----------------------------------------------------------------------------
176
+ aibrokerArgGroup = aiServiceinstallArgParser.add_argument_group("Maximo AI Broker")
177
+ aibrokerArgGroup.add_argument(
178
+ "--mas-aibroker-storage-provider",
179
+ dest="mas_aibroker_storage_provider",
180
+ required=False,
181
+ help="Customize Manage database encryption keys"
182
+ )
183
+ aibrokerArgGroup.add_argument(
184
+ "--mas-aibroker-storage-accesskey",
185
+ dest="mas_aibroker_storage_accesskey",
186
+ required=False,
187
+ help="Customize Manage database encryption keys"
188
+ )
189
+ aibrokerArgGroup.add_argument(
190
+ "--mas-aibroker-storage-secretkey",
191
+ dest="mas_aibroker_storage_secretkey",
192
+ required=False,
193
+ help="Customize Manage database encryption keys"
194
+ )
195
+ aibrokerArgGroup.add_argument(
196
+ "--mas-aibroker-storage-host",
197
+ dest="mas_aibroker_storage_host",
198
+ required=False,
199
+ help="Customize Manage database encryption keys"
200
+ )
201
+ aibrokerArgGroup.add_argument(
202
+ "--mas-aibroker-storage-port",
203
+ dest="mas_aibroker_storage_port",
204
+ required=False,
205
+ help="Customize Manage database encryption keys"
206
+ )
207
+ aibrokerArgGroup.add_argument(
208
+ "--mas-aibroker-storage-ssl",
209
+ dest="mas_aibroker_storage_ssl",
210
+ required=False,
211
+ help="Customize Manage database encryption keys"
212
+ )
213
+ aibrokerArgGroup.add_argument(
214
+ "--mas-aibroker-storage-region",
215
+ dest="mas_aibroker_storage_region",
216
+ required=False,
217
+ help="Customize Manage database encryption keys"
218
+ )
219
+ aibrokerArgGroup.add_argument(
220
+ "--mas-aibroker-storage-pipelines-bucket",
221
+ dest="mas_aibroker_storage_pipelines_bucket",
222
+ required=False,
223
+ help="Customize Manage database encryption keys"
224
+ )
225
+ aibrokerArgGroup.add_argument(
226
+ "--mas-aibroker-storage-tenants-bucket",
227
+ dest="mas_aibroker_storage_tenants_bucket",
228
+ required=False,
229
+ help="Customize Manage database encryption keys"
230
+ )
231
+ aibrokerArgGroup.add_argument(
232
+ "--mas-aibroker-storage-templates-bucket",
233
+ dest="mas_aibroker_storage_templates_bucket",
234
+ required=False,
235
+ help="Customize Manage database encryption keys"
236
+ )
237
+ aibrokerArgGroup.add_argument(
238
+ "--mas-aibroker-tenant-name",
239
+ dest="mas_aibroker_tenant_name",
240
+ required=False,
241
+ help="Customize Manage database encryption keys"
242
+ )
243
+ aibrokerArgGroup.add_argument(
244
+ "--mas-aibroker-watsonxai-apikey",
245
+ dest="mas_aibroker_watsonxai_apikey",
246
+ required=False,
247
+ help="Customize Manage database encryption keys"
248
+ )
249
+ aibrokerArgGroup.add_argument(
250
+ "--mas-aibroker-watsonxai-url",
251
+ dest="mas_aibroker_watsonxai_url",
252
+ required=False,
253
+ help="Customize Manage database encryption keys"
254
+ )
255
+ aibrokerArgGroup.add_argument(
256
+ "--mas-aibroker-watsonxai-project-id",
257
+ dest="mas_aibroker_watsonxai_project_id",
258
+ required=False,
259
+ help="Customize Manage database encryption keys"
260
+ )
261
+ aibrokerArgGroup.add_argument(
262
+ "--mas-aibroker-watsonx-action",
263
+ dest="mas_aibroker_watsonx_action",
264
+ required=False,
265
+ help="Customize Manage database encryption keys"
266
+ )
267
+ aibrokerArgGroup.add_argument(
268
+ "--mas-aibroker-db-host",
269
+ dest="mas_aibroker_db_host",
270
+ required=False,
271
+ help="Customize Manage database encryption keys"
272
+ )
273
+ aibrokerArgGroup.add_argument(
274
+ "--mas-aibroker-db-port",
275
+ dest="mas_aibroker_db_port",
276
+ required=False,
277
+ help="Customize Manage database encryption keys"
278
+ )
279
+ aibrokerArgGroup.add_argument(
280
+ "--mas-aibroker-db-user",
281
+ dest="mas_aibroker_db_user",
282
+ required=False,
283
+ help="Customize Manage database encryption keys"
284
+ )
285
+ aibrokerArgGroup.add_argument(
286
+ "--mas-aibroker-db-database",
287
+ dest="mas_aibroker_db_database",
288
+ required=False,
289
+ help="Customize Manage database encryption keys"
290
+ )
291
+ aibrokerArgGroup.add_argument(
292
+ "--mas-aibroker-db-secret-name",
293
+ dest="mas_aibroker_db_secret_name",
294
+ required=False,
295
+ help="Customize Manage database encryption keys"
296
+ )
297
+ aibrokerArgGroup.add_argument(
298
+ "--mas-aibroker-db-secret-key",
299
+ dest="mas_aibroker_db_secret_key",
300
+ required=False,
301
+ help="Customize Manage database encryption keys"
302
+ )
303
+ aibrokerArgGroup.add_argument(
304
+ "--mas-aibroker-db-secret-value",
305
+ dest="mas_aibroker_db_secret_value",
306
+ required=False,
307
+ help="Customize Manage database encryption keys"
308
+ )
309
+ aibrokerArgGroup.add_argument(
310
+ "--minio-root-user",
311
+ dest="minio_root_user",
312
+ required=False,
313
+ help="Root user for minio"
314
+ )
315
+ aibrokerArgGroup.add_argument(
316
+ "--minio-root-password",
317
+ dest="minio_root_password",
318
+ required=False,
319
+ help="Password for minio rootuser"
320
+ )
321
+ aibrokerArgGroup.add_argument(
322
+ "--mariadb-user",
323
+ dest="mariadb_user",
324
+ required=False,
325
+ help="Mariadb user name"
326
+ )
327
+ aibrokerArgGroup.add_argument(
328
+ "--mariadb-password",
329
+ dest="mariadb_password",
330
+ required=False,
331
+ help="Password for mariadb user"
332
+ )
333
+ aibrokerArgGroup.add_argument(
334
+ "--tenant-entitlement-type",
335
+ dest="tenant_entitlement_type",
336
+ required=False,
337
+ help="Type of aibroker tenant"
338
+ )
339
+ aibrokerArgGroup.add_argument(
340
+ "--tenant-entitlement-start-date",
341
+ dest="tenant_entitlement_start_date",
342
+ required=False,
343
+ help="Start date for Aibroker tenant"
344
+ )
345
+ aibrokerArgGroup.add_argument(
346
+ "--tenant-entitlement-end-date",
347
+ dest="tenant_entitlement_end_date",
348
+ required=False,
349
+ help="End date for Aibroker tenant"
350
+ )
351
+ aibrokerArgGroup.add_argument(
352
+ "--mas-aibroker-s3-bucket-prefix",
353
+ dest="mas_aibroker_s3_bucket_prefix",
354
+ required=False,
355
+ help="s3 bucker prefix"
356
+ )
357
+ aibrokerArgGroup.add_argument(
358
+ "--mas-aibroker-s3-endpoint-url",
359
+ dest="mas_aibroker_s3_endpoint_url",
360
+ required=False,
361
+ help="endpoint url for s3"
362
+ )
363
+ aibrokerArgGroup.add_argument(
364
+ "--mas-aibroker-s3-region",
365
+ dest="mas_aibroker_s3_region",
366
+ required=False,
367
+ help="region for s3"
368
+ )
369
+ aibrokerArgGroup.add_argument(
370
+ "--mas-aibroker-tenant-s3-bucket-prefix",
371
+ dest="mas_aibroker_tenant_s3_bucket_prefix",
372
+ required=False,
373
+ help="s3 bucker prefix ( tenant level )"
374
+ )
375
+ aibrokerArgGroup.add_argument(
376
+ "--mas-aibroker-tenant-s3-region",
377
+ dest="mas_aibroker_tenant_s3_region",
378
+ required=False,
379
+ help="s3 region ( tenant level )"
380
+ )
381
+ aibrokerArgGroup.add_argument(
382
+ "--mas-aibroker-tenant-s3-endpoint-url",
383
+ dest="mas_aibroker_tenant_s3_endpoint_url",
384
+ required=False,
385
+ help="endpoint url for s3 ( tenant level )"
386
+ )
387
+ aibrokerArgGroup.add_argument(
388
+ "--mas-aibroker-tenant-s3-access-key",
389
+ dest="mas_aibroker_tenant_s3_access_key",
390
+ required=False,
391
+ help="access key for s3 ( tenant level )"
392
+ )
393
+ aibrokerArgGroup.add_argument(
394
+ "--mas-aibroker-tenant-s3-secret-key",
395
+ dest="mas_aibroker_tenant_s3_secret_key",
396
+ required=False,
397
+ help="secret key for s3 ( tenant level )"
398
+ )
399
+ aibrokerArgGroup.add_argument(
400
+ "--rsl-url",
401
+ dest="rsl_url",
402
+ required=False,
403
+ help="rsl url"
404
+ )
405
+ aibrokerArgGroup.add_argument(
406
+ "--rsl-org-id",
407
+ dest="rsl_org_id",
408
+ required=False,
409
+ help="org id for rsl"
410
+ )
411
+ aibrokerArgGroup.add_argument(
412
+ "--rsl-token",
413
+ dest="rsl_token",
414
+ required=False,
415
+ help="token for rsl"
416
+ )
417
+ aibrokerArgGroup.add_argument(
418
+ "--install-minio-aiservice",
419
+ dest="install_minio_aiservice",
420
+ required=False,
421
+ help="flag for install minio"
422
+ )
423
+ aibrokerArgGroup.add_argument(
424
+ "--install-sls-aiservice",
425
+ dest="install_sls_aiservice",
426
+ required=False,
427
+ help="flag for install sls"
428
+ )
429
+ aibrokerArgGroup.add_argument(
430
+ "--install-dro-aiservice",
431
+ dest="install_dro_aiservice",
432
+ required=False,
433
+ help="flag for install dro"
434
+ )
435
+ aibrokerArgGroup.add_argument(
436
+ "--install-db2-aiservice",
437
+ dest="install_db2_aiservice",
438
+ required=False,
439
+ help="flag for install db2"
440
+ )
441
+
442
+ aibrokerArgGroup.add_argument(
443
+ "--mas-aibroker-dro-secret-name",
444
+ dest="mas_aibroker_dro_secret_name",
445
+ required=False,
446
+ help="DRO secret name"
447
+ )
448
+ aibrokerArgGroup.add_argument(
449
+ "--mas-aibroker-dro-api-key",
450
+ dest="mas_aibroker_dro_api_key",
451
+ required=False,
452
+ help="DRO API key"
453
+ )
454
+ aibrokerArgGroup.add_argument(
455
+ "--mas-aibroker-dro-url",
456
+ dest="mas_aibroker_dro_url",
457
+ required=False,
458
+ help="DRO URL"
459
+ )
460
+ aibrokerArgGroup.add_argument(
461
+ "--mas-aibroker-dro-ca-cert",
462
+ dest="mas_aibroker_dro_ca_cert",
463
+ required=False,
464
+ help="DRO CA certificate"
465
+ )
466
+
467
+ aibrokerArgGroup.add_argument(
468
+ "--mas-aibroker-db2-username",
469
+ dest="mas_aibroker_db2_username",
470
+ required=False,
471
+ help="DB2 username"
472
+ )
473
+ aibrokerArgGroup.add_argument(
474
+ "--mas-aibroker-db2-password",
475
+ dest="mas_aibroker_db2_password",
476
+ required=False,
477
+ help="DB2 password"
478
+ )
479
+ aibrokerArgGroup.add_argument(
480
+ "--mas-aibroker-db2-jdbc-url",
481
+ dest="mas_aibroker_db2_jdbc_url",
482
+ required=False,
483
+ help="DB2 JDBC URL"
484
+ )
485
+ aibrokerArgGroup.add_argument(
486
+ "--mas-aibroker-db2-ssl-enabled",
487
+ dest="mas_aibroker_db2_ssl_enabled",
488
+ required=False,
489
+ help="DB2 SSL enabled"
490
+ )
491
+ aibrokerArgGroup.add_argument(
492
+ "--mas-aibroker-db2-ca-cert",
493
+ dest="mas_aibroker_db2_ca_cert",
494
+ required=False,
495
+ help="DB2 CA certificate"
496
+ )
497
+
498
+ aibrokerArgGroup.add_argument(
499
+ "--mas-aibroker-sls-secret-name",
500
+ dest="mas_aibroker_sls_secret_name",
501
+ required=False,
502
+ help="SLS secret name"
503
+ )
504
+ aibrokerArgGroup.add_argument(
505
+ "--mas-aibroker-sls-registration-key",
506
+ dest="mas_aibroker_sls_registration_key",
507
+ required=False,
508
+ help="SLS registration key"
509
+ )
510
+ aibrokerArgGroup.add_argument(
511
+ "--mas-aibroker-sls-url",
512
+ dest="mas_aibroker_sls_url",
513
+ required=False,
514
+ help="SLS URL"
515
+ )
516
+ aibrokerArgGroup.add_argument(
517
+ "--mas-aibroker-sls-ca-cert",
518
+ dest="mas_aibroker_sls_ca_cert",
519
+ required=False,
520
+ help="SLS CA certificate"
521
+ )
522
+
523
+ aibrokerArgGroup.add_argument(
524
+ "--environment-type",
525
+ dest="environment_type",
526
+ required=False,
527
+ default="non-production",
528
+ help="Environment type (default: non-production)"
529
+ )
530
+ # IBM Db2 Universal Operator
531
+ # -----------------------------------------------------------------------------
532
+ db2ArgGroup = aiServiceinstallArgParser.add_argument_group("IBM Db2 Universal Operator")
533
+ db2ArgGroup.add_argument(
534
+ "--db2-namespace",
535
+ required=False,
536
+ help="Change namespace where Db2u instances will be created"
537
+ )
538
+ db2ArgGroup.add_argument(
539
+ "--db2-channel",
540
+ required=False,
541
+ help="Subscription channel for Db2u"
542
+ )
543
+ db2ArgGroup.add_argument(
544
+ "--db2-system",
545
+ dest="db2_action_system",
546
+ required=False,
547
+ help="Install a shared Db2u instance for MAS (required by IoT & Monitor, supported by Manage)",
548
+ action="store_const",
549
+ const="install"
550
+ )
551
+ db2ArgGroup.add_argument(
552
+ "--db2-manage",
553
+ dest="db2_action_manage",
554
+ required=False,
555
+ help="Install a dedicated Db2u instance for Maximo Manage (supported by Manage)",
556
+ action="store_const",
557
+ const="install"
558
+ )
559
+ db2ArgGroup.add_argument(
560
+ "--db2-facilities",
561
+ dest="db2_action_facilities",
562
+ required=False,
563
+ help="Install a dedicated Db2u instance for Maximo Real Estate and Facilities (supported by Facilities)",
564
+ action="store_const",
565
+ const="install"
566
+ )
567
+ db2ArgGroup.add_argument(
568
+ "--db2-type",
569
+ required=False,
570
+ help="Choose the type of the Manage dedicated Db2u instance. Available options are `db2wh` (default) or `db2oltp`"
571
+ )
572
+ db2ArgGroup.add_argument(
573
+ "--db2-timezone",
574
+ required=False,
575
+ help=""
576
+ )
577
+ db2ArgGroup.add_argument(
578
+ "--db2-affinity-key",
579
+ required=False,
580
+ help="Set a node label to declare affinity to"
581
+ )
582
+ db2ArgGroup.add_argument(
583
+ "--db2-affinity-value",
584
+ required=False,
585
+ help="Set the value of the node label to affine with"
586
+ )
587
+ db2ArgGroup.add_argument(
588
+ "--db2-tolerate-key",
589
+ required=False,
590
+ help="Set a node taint to tolerate"
591
+ )
592
+ db2ArgGroup.add_argument(
593
+ "--db2-tolerate-value",
594
+ required=False,
595
+ help="Set the value of the taint to tolerate"
596
+ )
597
+ db2ArgGroup.add_argument(
598
+ "--db2-tolerate-effect",
599
+ required=False,
600
+ help="Set the effect that will be tolerated (NoSchedule, PreferNoSchedule, or NoExecute)"
601
+ )
602
+ db2ArgGroup.add_argument(
603
+ "--db2-cpu-requests",
604
+ required=False,
605
+ help="Customize Db2 CPU request"
606
+ )
607
+ db2ArgGroup.add_argument(
608
+ "--db2-cpu-limits",
609
+ required=False,
610
+ help="Customize Db2 CPU limit"
611
+ )
612
+ db2ArgGroup.add_argument(
613
+ "--db2-memory-requests",
614
+ required=False,
615
+ help="Customize Db2 memory request"
616
+ )
617
+ db2ArgGroup.add_argument(
618
+ "--db2-memory-limits",
619
+ required=False,
620
+ help="Customize Db2 memory limit"
621
+ )
622
+ db2ArgGroup.add_argument(
623
+ "--db2-backup-storage",
624
+ dest="db2_backup_storage_size",
625
+ required=False,
626
+ help="Customize Db2 storage capacity"
627
+ )
628
+ db2ArgGroup.add_argument(
629
+ "--db2-data-storage",
630
+ dest="db2_data_storage_size",
631
+ required=False,
632
+ help="Customize Db2 storage capacity"
633
+ )
634
+ db2ArgGroup.add_argument(
635
+ "--db2-logs-storage",
636
+ dest="db2_logs_storage_size",
637
+ required=False,
638
+ help="Customize Db2 storage capacity"
639
+ )
640
+ db2ArgGroup.add_argument(
641
+ "--db2-meta-storage",
642
+ dest="db2_meta_storage_size",
643
+ required=False,
644
+ help="Customize Db2 storage capacity"
645
+ )
646
+ db2ArgGroup.add_argument(
647
+ "--db2-temp-storage",
648
+ dest="db2_temp_storage_size",
649
+ required=False,
650
+ help="Customize Db2 storage capacity"
651
+ )
652
+
653
+
654
+ # Development Mode
655
+ # -----------------------------------------------------------------------------
656
+ devArgGroup = aiServiceinstallArgParser.add_argument_group("Development Mode")
657
+ devArgGroup.add_argument(
658
+ "--artifactory-username",
659
+ required=False,
660
+ help="Username for access to development builds on Artifactory"
661
+ )
662
+ devArgGroup.add_argument(
663
+ "--artifactory-token",
664
+ required=False,
665
+ help="API Token for access to development builds on Artifactory"
666
+ )
667
+
668
+ # Approvals
669
+ # -----------------------------------------------------------------------------
670
+ approvalsGroup = aiServiceinstallArgParser.add_argument_group("Integrated Approval Workflow (MAX_RETRIES:RETRY_DELAY:IGNORE_FAILURE)")
671
+ approvalsGroup.add_argument(
672
+ "--approval-aibroker",
673
+ default="",
674
+ help="Require approval after the Aibroker has been configured"
675
+ )
676
+
677
+ # More Options
678
+ # -----------------------------------------------------------------------------
679
+ otherArgGroup = aiServiceinstallArgParser.add_argument_group("More")
680
+ otherArgGroup.add_argument(
681
+ "--advanced",
682
+ action="store_true",
683
+ default=False,
684
+ help="Show advanced install options (in interactve mode)"
685
+ )
686
+ otherArgGroup.add_argument(
687
+ "--simplified",
688
+ action="store_true",
689
+ default=False,
690
+ help="Don't show advanced install options (in interactve mode)"
691
+ )
692
+ otherArgGroup.add_argument(
693
+ "--accept-license",
694
+ action="store_true",
695
+ default=False,
696
+ help="Accept all license terms without prompting"
697
+ )
698
+ otherArgGroup.add_argument(
699
+ "--dev-mode",
700
+ required=False,
701
+ action="store_true",
702
+ default=False,
703
+ help="Configure installation for development mode",
704
+ )
705
+ otherArgGroup.add_argument(
706
+ "--no-wait-for-pvc",
707
+ required=False,
708
+ action="store_true",
709
+ help="Disable the wait for pipeline PVC to bind before starting the pipeline"
710
+ )
711
+ otherArgGroup.add_argument(
712
+ "--skip-pre-check",
713
+ required=False,
714
+ action="store_true",
715
+ help="Disable the 'pre-install-check' at the start of the install pipeline"
716
+ )
717
+ otherArgGroup.add_argument(
718
+ "--no-confirm",
719
+ required=False,
720
+ action="store_true",
721
+ default=False,
722
+ help="Launch the upgrade without prompting for confirmation",
723
+ )
724
+ otherArgGroup.add_argument(
725
+ "--image-pull-policy",
726
+ dest="image_pull_policy",
727
+ required=False,
728
+ help="Manually set the image pull policy used in the Tekton Pipeline",
729
+ )
730
+ otherArgGroup.add_argument(
731
+ "--service-account",
732
+ dest="service_account_name",
733
+ required=False,
734
+ help="Run the install pipeline under a custom service account (also disables creation of the default 'pipeline' service account)",
735
+ )
736
+
737
+ otherArgGroup.add_argument(
738
+ "-h", "--help",
739
+ action="help",
740
+ default=False,
741
+ help="Show this help message and exit",
742
+ )