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,197 @@
1
+ #!/usr/bin/env python
2
+ # *****************************************************************************
3
+ # Copyright (c) 2024 IBM Corporation and other Contributors.
4
+ #
5
+ # All rights reserved. This program and the accompanying materials
6
+ # are made available under the terms of the Eclipse Public License v1.0
7
+ # which accompanies this distribution, and is available at
8
+ # http://www.eclipse.org/legal/epl-v10.html
9
+ #
10
+ # *****************************************************************************
11
+
12
+ import logging
13
+ import logging.handlers
14
+ from halo import Halo
15
+ from prompt_toolkit import print_formatted_text, HTML
16
+ from prompt_toolkit.completion import WordCompleter
17
+
18
+ from openshift.dynamic.exceptions import NotFoundError, ResourceNotFoundError
19
+
20
+ from ..cli import BaseApp
21
+ from ..validators import InstanceIDValidator
22
+ from .argParser import uninstallArgParser
23
+
24
+ from mas.devops.ocp import createNamespace
25
+ from mas.devops.mas import listMasInstances, verifyMasInstance
26
+ from mas.devops.tekton import installOpenShiftPipelines, updateTektonDefinitions, launchUninstallPipeline
27
+
28
+
29
+ logger = logging.getLogger(__name__)
30
+
31
+
32
+ class UninstallApp(BaseApp):
33
+ def uninstall(self, argv):
34
+ """
35
+ Uninstall MAS instance
36
+ """
37
+ args = uninstallArgParser.parse_args(args=argv)
38
+ instanceId = args.mas_instance_id
39
+ droNamespace = args.dro_namespace
40
+ self.noConfirm = args.no_confirm
41
+
42
+ if args.uninstall_all_deps:
43
+ uninstallGrafana = True
44
+ uninstallIBMCatalog = True
45
+ uninstallCommonServices = True
46
+ uninstallCertManager = True
47
+ uninstallUDS = True
48
+ uninstallMongoDb = True
49
+ uninstallSLS = True
50
+ else:
51
+ uninstallGrafana = args.uninstall_grafana
52
+ uninstallIBMCatalog = args.uninstall_ibm_catalog
53
+ uninstallCommonServices = args.uninstall_common_services
54
+ uninstallCertManager = args.uninstall_cert_manager
55
+ uninstallUDS = args.uninstall_uds
56
+ uninstallMongoDb = args.uninstall_mongodb
57
+ uninstallSLS = args.uninstall_sls
58
+
59
+ if instanceId is None:
60
+ self.printH1("Set Target OpenShift Cluster")
61
+ # Connect to the target cluster
62
+ self.connect()
63
+ else:
64
+ logger.debug("MAS instance ID is set, so we assume already connected to the desired OCP")
65
+
66
+ if self.dynamicClient is None:
67
+ self.fatalError("The Kubernetes dynamic Client is not available. See log file for details")
68
+
69
+ if instanceId is None:
70
+ # Interactive mode
71
+ self.printH1("Instance Selection")
72
+ self.printDescription(["Select a MAS instance to uninstall from the list below:"])
73
+
74
+ suiteOptions = []
75
+ try:
76
+ suites = listMasInstances(self.dynamicClient)
77
+ for suite in suites:
78
+ self.printDescription([f"- <u>{suite['metadata']['name']}</u> v{suite['status']['versions']['reconciled']}"])
79
+ suiteOptions.append(suite['metadata']['name'])
80
+ except ResourceNotFoundError:
81
+ self.fatalError("No MAS instances were detected on the cluster (Suite.core.mas.ibm.com/v1 API is not available). See log file for details")
82
+
83
+ if len(suiteOptions) == 0:
84
+ self.fatalError("No MAS instances were detected on the cluster (No instances of Suite.core.mas.ibm.com/v1 found). See log file for details")
85
+
86
+ suiteCompleter = WordCompleter(suiteOptions)
87
+ print()
88
+ instanceId = self.promptForString("MAS instance ID", completer=suiteCompleter, validator=InstanceIDValidator())
89
+
90
+ self.printH1("Uninstall MAS Dependencies")
91
+ self.printDescription([
92
+ "If you choose to uninstall Certificate Manager, all other options will be automatically set to uninstall",
93
+ "Other workload on the cluster may be dependant on the Certificate Manager installation, so proceed with caution when choosing 'Yes'"
94
+ ])
95
+ uninstallCertManager = self.yesOrNo("Uninstall Certificate Manager")
96
+ if uninstallCertManager:
97
+ # If you choose to uninstall Cert-Manager, everything will be uninstalled
98
+ uninstallGrafana = True
99
+ uninstallIBMCatalog = True
100
+ uninstallCommonServices = True
101
+ uninstallUDS = True
102
+ uninstallMongoDb = True
103
+ uninstallSLS = True
104
+ else:
105
+ self.printDescription(["If you choose to uninstall MongoDb, IBM Suite License Service will be automatically set to uninstall as well"])
106
+ uninstallMongoDb = self.yesOrNo("Uninstall MongoDb")
107
+ if uninstallMongoDb:
108
+ # If you are removing MongoDb then SLS needs to be uninstalled too
109
+ uninstallSLS = True
110
+ else:
111
+ uninstallSLS = self.yesOrNo("Uninstall IBM Suite Licensing Service")
112
+
113
+ uninstallGrafana = self.yesOrNo("Uninstall Grafana")
114
+ self.printDescription(["If you choose to uninstall the IBM Operator Catalog, IBM Common Services, IBM User Data Services, &amp; IBM Suite License Service will be automatically set to uninstall as well"])
115
+ uninstallIBMCatalog = self.yesOrNo("Uninstall IBM operator Catalog")
116
+ if uninstallIBMCatalog:
117
+ # If you choose to uninstall IBM Operator Catalog, everything from the catalog will be uninstalled
118
+ uninstallCommonServices = True
119
+ uninstallUDS = True
120
+ uninstallSLS = True
121
+ else:
122
+ uninstallCommonServices = self.yesOrNo("Uninstall IBM Common Services")
123
+ uninstallUDS = self.yesOrNo("Uninstall IBM User Data Services")
124
+
125
+ else:
126
+ # Non-interactive mode
127
+ if not verifyMasInstance(self.dynamicClient, instanceId):
128
+ self.fatalError(f"MAS Instance {instanceId} not found on this cluster</Red>")
129
+
130
+ # Default to Red Hat Cert-Manager, and check if IBM cert-manager is installed
131
+ certManagerProvider = "redhat"
132
+ try:
133
+ # Check if 'ibm-common-services' namespace exist, this will throw NotFoundError exception when not found.
134
+ namespaceAPI = self.dynamicClient.resources.get(api_version="v1", kind="Namespace")
135
+ namespaceAPI.get(name="ibm-common-services")
136
+
137
+ podsAPI = self.dynamicClient.resources.get(api_version="v1", kind="Pod")
138
+ podsList = podsAPI.get(namespace="ibm-common-services")
139
+ for pod in podsList.items:
140
+ if pod is not None and "cert-manager-cainjector" in pod.metadata.name:
141
+ certManagerProvider = "ibm"
142
+ except NotFoundError:
143
+ print()
144
+ # ibm cert manager not found, proceed with default redhat.
145
+
146
+ self.printH1("Review Settings")
147
+ self.printSummary("Instance ID", instanceId)
148
+ self.printSummary("Uninstall Cert-Manager", f"{uninstallCertManager} ({certManagerProvider})")
149
+ self.printSummary("Uninstall Grafana", uninstallGrafana)
150
+ self.printSummary("Uninstall IBM Operator Catalog", uninstallIBMCatalog)
151
+ self.printSummary("Uninstall IBM Common Services", uninstallCommonServices)
152
+ self.printSummary("Uninstall UDS", uninstallUDS)
153
+ self.printSummary("Uninstall MongoDb", uninstallMongoDb)
154
+ self.printSummary("Uninstall SLS", uninstallSLS)
155
+
156
+ if not self.noConfirm:
157
+ print()
158
+ continueWithUninstall = self.yesOrNo("Proceed with these settings")
159
+
160
+ if self.noConfirm or continueWithUninstall:
161
+ self.createTektonFileWithDigest()
162
+
163
+ self.printH1("Launch uninstall")
164
+ pipelinesNamespace = f"mas-{instanceId}-pipelines"
165
+
166
+ with Halo(text='Validating OpenShift Pipelines installation', spinner=self.spinner) as h:
167
+ installOpenShiftPipelines(self.dynamicClient)
168
+ h.stop_and_persist(symbol=self.successIcon, text="OpenShift Pipelines Operator is installed and ready to use")
169
+
170
+ with Halo(text=f'Preparing namespace ({pipelinesNamespace})', spinner=self.spinner) as h:
171
+ createNamespace(self.dynamicClient, pipelinesNamespace)
172
+ h.stop_and_persist(symbol=self.successIcon, text=f"Namespace is ready ({pipelinesNamespace})")
173
+
174
+ with Halo(text=f'Installing latest Tekton definitions (v{self.version})', spinner=self.spinner) as h:
175
+ updateTektonDefinitions(pipelinesNamespace, self.tektonDefsPath)
176
+ h.stop_and_persist(symbol=self.successIcon, text=f"Latest Tekton definitions are installed (v{self.version})")
177
+
178
+ with Halo(text=f'Submitting PipelineRun for {instanceId} uninstall', spinner=self.spinner) as h:
179
+ pipelineURL = launchUninstallPipeline(
180
+ dynClient=self.dynamicClient,
181
+ instanceId=instanceId,
182
+ certManagerProvider="redhat",
183
+ uninstallCertManager=uninstallCertManager,
184
+ uninstallGrafana=uninstallGrafana,
185
+ uninstallCatalog=uninstallCommonServices,
186
+ uninstallCommonServices=uninstallCommonServices,
187
+ uninstallUDS=uninstallUDS,
188
+ uninstallMongoDb=uninstallMongoDb,
189
+ uninstallSLS=uninstallSLS,
190
+ droNamespace=droNamespace
191
+ )
192
+ if pipelineURL is not None:
193
+ h.stop_and_persist(symbol=self.successIcon, text=f"PipelineRun for {instanceId} uninstall submitted")
194
+ print_formatted_text(HTML(f"\nView progress:\n <Cyan><u>{pipelineURL}</u></Cyan>\n"))
195
+ else:
196
+ h.stop_and_persist(symbol=self.failureIcon, text=f"Failed to submit PipelineRun for {instanceId} uninstall, see log file for details")
197
+ print()
@@ -0,0 +1,115 @@
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
+
13
+ from .. import __version__ as packageVersion
14
+ from ..cli import getHelpFormatter
15
+
16
+ uninstallArgParser = argparse.ArgumentParser(
17
+ prog='mas uninstall',
18
+ description="\n".join([
19
+ f"IBM Maximo Application Suite Admin CLI v{packageVersion}",
20
+ "Uninstall MAS by configuring and launching the MAS Uninstall Tekton Pipeline.\n",
21
+ "Interactive Mode:",
22
+ "Omitting the --instance-id option will trigger an interactive prompt"
23
+ ]),
24
+ epilog="Refer to the online documentation for more information: https://ibm-mas.github.io/cli/",
25
+ formatter_class=getHelpFormatter(),
26
+ add_help=False
27
+ )
28
+
29
+ masArgGroup = uninstallArgParser.add_argument_group('MAS Instance Selection')
30
+ masArgGroup.add_argument(
31
+ '--mas-instance-id',
32
+ required=False,
33
+ help="The MAS instance ID to be uninstalled"
34
+ )
35
+
36
+ masArgGroup.add_argument(
37
+ '--dro-namespace',
38
+ required=False,
39
+ default='redhat-marketplace',
40
+ help="The DRO namespace to be uninstalled"
41
+ )
42
+
43
+ depsArgGroup = uninstallArgParser.add_argument_group('MAS Dependencies Selection')
44
+ depsArgGroup.add_argument(
45
+ '--uninstall-all-deps',
46
+ required=False,
47
+ action='store_true',
48
+ default=False,
49
+ help="Uninstall all MAS-related dependencies from the target cluster",
50
+ )
51
+
52
+ depsArgGroup.add_argument(
53
+ '--uninstall-cert-manager',
54
+ required=False,
55
+ action='store_true',
56
+ default=False,
57
+ help="Uninstall Certificate Manager from the target cluster",
58
+ )
59
+ depsArgGroup.add_argument(
60
+ '--uninstall-common-services',
61
+ required=False,
62
+ action='store_true',
63
+ default=False,
64
+ help="Uninstall IBM Common Services from the target cluster",
65
+ )
66
+ depsArgGroup.add_argument(
67
+ '--uninstall-grafana',
68
+ required=False,
69
+ action='store_true',
70
+ default=False,
71
+ help="Uninstall Grafana from the target cluster",
72
+ )
73
+ depsArgGroup.add_argument(
74
+ '--uninstall-ibm-catalog',
75
+ required=False,
76
+ action='store_true',
77
+ default=False,
78
+ help="Uninstall the IBM Maximo Operator Catalog Source (ibm-operator-catalog) from the target cluster",
79
+ )
80
+ depsArgGroup.add_argument(
81
+ '--uninstall-mongodb',
82
+ required=False,
83
+ action='store_true',
84
+ default=False,
85
+ help="Uninstall MongoDb from the target cluster",
86
+ )
87
+ depsArgGroup.add_argument(
88
+ '--uninstall-sls',
89
+ required=False,
90
+ action='store_true',
91
+ default=False,
92
+ help="Uninstall IBM Suite License Service from the target cluster",
93
+ )
94
+ depsArgGroup.add_argument(
95
+ '--uninstall-uds',
96
+ required=False,
97
+ action='store_true',
98
+ default=False,
99
+ help="Uninstall IBM User Data Services from the target cluster",
100
+ )
101
+
102
+ otherArgGroup = uninstallArgParser.add_argument_group('More')
103
+ otherArgGroup.add_argument(
104
+ '--no-confirm',
105
+ required=False,
106
+ action='store_true',
107
+ default=False,
108
+ help="Launch the upgrade without prompting for confirmation",
109
+ )
110
+ otherArgGroup.add_argument(
111
+ '-h', "--help",
112
+ action='help',
113
+ default=False,
114
+ help="Show this help message and exit",
115
+ )
@@ -0,0 +1,11 @@
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
+ from ..cli import BaseApp # noqa: F401