mas-cli 15.1.10__py3-none-any.whl → 15.1.12__py3-none-any.whl

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

Potentially problematic release.


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

mas/cli/__init__.py CHANGED
@@ -8,4 +8,4 @@
8
8
  #
9
9
  # *****************************************************************************
10
10
 
11
- __version__ = "15.1.10" # Python module compatible semver
11
+ __version__ = "15.1.12" # Python module compatible semver
@@ -204,18 +204,19 @@ class AiServiceInstallApp(BaseApp, aiServiceInstallArgBuilderMixin, aiServiceIns
204
204
 
205
205
  elif key == "install_minio_aiservice":
206
206
  incompatibleWithMinioInstall = [
207
- "aiservice_storage_provider",
208
- "aiservice_storage_accesskey",
209
- "aiservice_storage_secretkey",
210
- "aiservice_storage_host",
211
- "aiservice_storage_port",
212
- "aiservice_storage_ssl",
213
- "aiservice_s3_endpoint_url",
214
- "aiservice_storage_region",
215
- "aiservice_tenant_s3_access_key",
216
- "aiservice_tenant_s3_secret_key",
217
- "aiservice_tenant_s3_endpoint_url",
218
- "aiservice_tenant_s3_region"
207
+ # "aiservice_s3_provider",
208
+ "aiservice_s3_accesskey",
209
+ "aiservice_s3_secretkey",
210
+ "aiservice_s3_host",
211
+ "aiservice_s3_port",
212
+ "aiservice_s3_ssl",
213
+ "aiservice_s3_bucket_prefix",
214
+ # "aiservice_s3_endpoint_url",
215
+ "aiservice_s3_region",
216
+ # "aiservice_tenant_s3_access_key",
217
+ # "aiservice_tenant_s3_secret_key",
218
+ # "aiservice_tenant_s3_endpoint_url",
219
+ # "aiservice_tenant_s3_region"
219
220
  ]
220
221
  if value is None:
221
222
  for uKey in incompatibleWithMinioInstall:
@@ -230,23 +231,24 @@ class AiServiceInstallApp(BaseApp, aiServiceInstallArgBuilderMixin, aiServiceIns
230
231
  if vars(self.args)[rKey] is None:
231
232
  self.fatalError(f"Missing required parameter for --install-minio: {rKey}")
232
233
 
233
- self.setParam("aiservice_storage_provider", "minio")
234
+ # self.setParam("aiservice_s3_provider", "minio")
234
235
 
235
- self.setParam("aiservice_storage_accesskey", self.args.minio_root_user)
236
- self.setParam("aiservice_storage_secretkey", self.args.minio_root_password)
236
+ self.setParam("aiservice_s3_accesskey", self.args.minio_root_user)
237
+ self.setParam("aiservice_s3_secretkey", self.args.minio_root_password)
237
238
 
238
239
  # TODO: Duplication -- we already have the URL, why do we need all the individual parts,
239
240
  # especially when we don't need them for the tenant?
240
- self.setParam("aiservice_storage_host", "minio-service.minio.svc.cluster.local")
241
- self.setParam("aiservice_storage_port", "9000")
242
- self.setParam("aiservice_storage_ssl", "false")
243
- self.setParam("aiservice_s3_endpoint_url", "http://minio-service.minio.svc.cluster.local:9000")
244
- self.setParam("aiservice_storage_region", "none")
245
-
246
- self.setParam("aiservice_tenant_s3_access_key", self.args.minio_root_user)
247
- self.setParam("aiservice_tenant_s3_secret_key", self.args.minio_root_password)
248
- self.setParam("aiservice_tenant_s3_endpoint_url", "http://minio-service.minio.svc.cluster.local:9000")
249
- self.setParam("aiservice_tenant_s3_region", "none")
241
+ self.setParam("aiservice_s3_host", "minio-service.minio.svc.cluster.local")
242
+ self.setParam("aiservice_s3_port", "9000")
243
+ self.setParam("aiservice_s3_ssl", "false")
244
+ # self.setParam("aiservice_s3_endpoint_url", "http://minio-service.minio.svc.cluster.local:9000")
245
+ self.setParam("aiservice_s3_region", "none")
246
+ self.setParam("aiservice_s3_bucket_prefix", "aiservice")
247
+
248
+ # self.setParam("aiservice_tenant_s3_access_key", self.args.minio_root_user)
249
+ # self.setParam("aiservice_tenant_s3_secret_key", self.args.minio_root_password)
250
+ # self.setParam("aiservice_tenant_s3_endpoint_url", "http://minio-service.minio.svc.cluster.local:9000")
251
+ # self.setParam("aiservice_tenant_s3_region", "none")
250
252
  else:
251
253
  self.fatalError(f"Unsupported value for --install-minio: {value}")
252
254
 
@@ -544,21 +546,21 @@ class AiServiceInstallApp(BaseApp, aiServiceInstallArgBuilderMixin, aiServiceIns
544
546
  else:
545
547
  # Ask for external storage configuration
546
548
  self.printDescription(["Configure your external object storage (S3-compatible) connection details:"])
547
- s3Completer = WordCompleter(["aws", "minio"])
548
- s3Provider = self.promptForString("Storage provider", completer=s3Completer)
549
- self.setParam("aiservice_storage_provider", s3Provider)
550
- self.promptForString("Storage access key", "aiservice_storage_accesskey")
551
- self.promptForString("Storage secret key", "aiservice_storage_secretkey", isPassword=True)
552
- self.promptForString("Storage host", "aiservice_storage_host")
553
- self.promptForString("Storage port", "aiservice_storage_port")
554
- self.promptForString("Storage ssl", "aiservice_storage_ssl")
555
- self.promptForString("Storage region", "aiservice_storage_region")
556
- self.promptForString("Storage pipelines bucket", "aiservice_storage_pipelines_bucket")
557
- self.promptForString("Storage tenants bucket", "aiservice_storage_tenants_bucket")
558
- self.promptForString("Storage templates bucket", "aiservice_storage_templates_bucket")
549
+ # s3_completer = WordCompleter(["aws", "minio"])
550
+ # s3_provider = self.promptForString("Storage provider", completer=s3_completer)
551
+ # self.setParam("aiservice_s3_provider", s3_provider)
552
+ self.promptForString("Storage access key", "aiservice_s3_accesskey")
553
+ self.promptForString("Storage secret key", "aiservice_s3_secretkey", isPassword=True)
554
+ self.promptForString("Storage host", "aiservice_s3_host")
555
+ self.promptForString("Storage port", "aiservice_s3_port")
556
+ self.promptForString("Storage ssl", "aiservice_s3_ssl")
557
+ self.promptForString("Storage region", "aiservice_s3_region")
558
+ self.promptForString("Storage bucket prefix", "aiservice_s3_bucket_prefix")
559
+ self.promptForString("Storage tenants bucket", "aiservice_s3_tenants_bucket")
560
+ self.promptForString("Storage templates bucket", "aiservice_s3_templates_bucket")
559
561
 
560
562
  # S3 parameters are now auto-derived from storage configuration
561
- self._deriveS3ParametersFromStorage()
563
+ # self._deriveS3ParametersFromStorage()
562
564
 
563
565
  def aiServiceTenantSettings(self) -> None:
564
566
  self.printH1("AI Service Tenant Settings")
@@ -566,65 +568,65 @@ class AiServiceInstallApp(BaseApp, aiServiceInstallArgBuilderMixin, aiServiceIns
566
568
  self.promptForString("Tenant start date", "tenant_entitlement_start_date")
567
569
  self.promptForString("Tenant end date", "tenant_entitlement_end_date")
568
570
 
569
- def _deriveS3ParametersFromStorage(self) -> None:
570
- """
571
- Auto-derive S3 and tenant S3 parameters from the aiservice_storage_* parameters.
572
- This reuses the values provided for kmodel object storage to avoid redundant prompts.
573
- """
574
- storage_provider = self.getParam("aiservice_storage_provider")
575
- storage_host = self.getParam("aiservice_storage_host")
576
- storage_port = self.getParam("aiservice_storage_port")
577
- storage_ssl = self.getParam("aiservice_storage_ssl")
578
- storage_region = self.getParam("aiservice_storage_region")
579
- storage_accesskey = self.getParam("aiservice_storage_accesskey")
580
- storage_secretkey = self.getParam("aiservice_storage_secretkey")
581
-
582
- # Build endpoint URL from storage configuration
583
- protocol = "https" if storage_ssl == "true" else "http"
584
-
585
- if storage_provider == "minio":
586
- endpoint_url = f"{protocol}://{storage_host}:{storage_port}"
587
- elif storage_provider == "s3":
588
- # For AWS S3, construct proper endpoint
589
- if storage_region and storage_region != "none":
590
- endpoint_url = f"{protocol}://s3.{storage_region}.amazonaws.com"
591
- else:
592
- endpoint_url = f"{protocol}://s3.amazonaws.com"
593
- else:
594
- # For other providers, construct basic endpoint
595
- endpoint_url = f"{protocol}://{storage_host}:{storage_port}" if storage_port else f"{protocol}://{storage_host}"
596
-
597
- # Set S3 parameters (reusing storage configuration)
598
- self.setParam("aiservice_s3_bucket_prefix", "aiservice") # Default prefix
599
- if endpoint_url:
600
- self.setParam("aiservice_s3_endpoint_url", endpoint_url)
601
- self.setParam("aiservice_s3_region", storage_region if storage_region else "none")
602
-
603
- # Set tenant S3 parameters (reusing same storage configuration)
604
- self.setParam("aiservice_tenant_s3_bucket_prefix", "tenant") # Default tenant prefix
605
- self.setParam("aiservice_tenant_s3_access_key", storage_accesskey)
606
- self.setParam("aiservice_tenant_s3_secret_key", storage_secretkey)
607
- if endpoint_url:
608
- self.setParam("aiservice_tenant_s3_endpoint_url", endpoint_url)
609
- self.setParam("aiservice_tenant_s3_region", storage_region if storage_region else "none")
571
+ # def _deriveS3ParametersFromStorage(self) -> None:
572
+ # """
573
+ # Auto-derive S3 and tenant S3 parameters from the aiservice_s3_* parameters.
574
+ # This reuses the values provided for kmodel object storage to avoid redundant prompts.
575
+ # """
576
+ # storage_provider = self.getParam("aiservice_s3_provider")
577
+ # storage_host = self.getParam("aiservice_s3_host")
578
+ # storage_port = self.getParam("aiservice_s3_port")
579
+ # storage_ssl = self.getParam("aiservice_s3_ssl")
580
+ # storage_region = self.getParam("aiservice_s3_region")
581
+ # storage_bucket_prefix = self.getParam("aiservice_s3_bucket_prefix")
582
+ # storage_accesskey = self.getParam("aiservice_s3_accesskey")
583
+ # storage_secretkey = self.getParam("aiservice_s3_secretkey")
584
+
585
+ # # Build endpoint URL from storage configuration
586
+ # protocol = "https" if storage_ssl == "true" else "http"
587
+
588
+ # if storage_provider == "minio":
589
+ # endpoint_url = f"{protocol}://{storage_host}:{storage_port}"
590
+ # elif storage_provider == "aws":
591
+ # # For AWS S3, construct proper endpoint
592
+ # if storage_region and storage_region != "none":
593
+ # endpoint_url = f"{protocol}://s3.{storage_region}.amazonaws.com"
594
+ # else:
595
+ # endpoint_url = f"{protocol}://s3.amazonaws.com"
596
+ # else:
597
+ # # For other providers, construct basic endpoint
598
+ # endpoint_url = f"{protocol}://{storage_host}:{storage_port}" if storage_port else f"{protocol}://{storage_host}"
599
+
600
+ # # Set S3 parameters (reusing storage configuration)
601
+ # if endpoint_url:
602
+ # self.setParam("aiservice_s3_endpoint_url", endpoint_url)
603
+ # self.setParam("aiservice_s3_region", storage_region if storage_region else "none")
604
+
605
+ # # Set tenant S3 parameters (reusing same storage configuration)
606
+ # self.setParam("aiservice_tenant_s3_bucket_prefix", "tenant") # Default tenant prefix
607
+ # self.setParam("aiservice_tenant_s3_access_key", storage_accesskey)
608
+ # self.setParam("aiservice_tenant_s3_secret_key", storage_secretkey)
609
+ # if endpoint_url:
610
+ # self.setParam("aiservice_tenant_s3_endpoint_url", endpoint_url)
611
+ # self.setParam("aiservice_tenant_s3_region", storage_region if storage_region else "none")
610
612
 
611
613
  def _setMinioStorageDefaults(self) -> None:
612
614
  """
613
615
  Set MinIO storage defaults when MinIO is being installed in-cluster.
614
616
  This mirrors the logic from non-interactive mode.
615
617
  """
616
- self.setParam("aiservice_storage_provider", "minio")
617
- self.setParam("aiservice_storage_accesskey", self.getParam("minio_root_user"))
618
- self.setParam("aiservice_storage_secretkey", self.getParam("minio_root_password"))
619
- self.setParam("aiservice_storage_host", "minio-service.minio.svc.cluster.local")
620
- self.setParam("aiservice_storage_port", "9000")
621
- self.setParam("aiservice_storage_ssl", "false")
622
- self.setParam("aiservice_storage_region", "none")
618
+ # self.setParam("aiservice_s3_provider", "minio")
619
+ self.setParam("aiservice_s3_accesskey", self.getParam("minio_root_user"))
620
+ self.setParam("aiservice_s3_secretkey", self.getParam("minio_root_password"))
621
+ self.setParam("aiservice_s3_host", "minio-service.minio.svc.cluster.local")
622
+ self.setParam("aiservice_s3_port", "9000")
623
+ self.setParam("aiservice_s3_ssl", "false")
624
+ self.setParam("aiservice_s3_region", "none")
625
+ self.setParam("aiservice_s3_bucket_prefix", "aiservice")
623
626
 
624
627
  # Set default bucket names
625
- self.setParam("aiservice_storage_pipelines_bucket", "km-pipelines")
626
- self.setParam("aiservice_storage_tenants_bucket", "km-tenants")
627
- self.setParam("aiservice_storage_templates_bucket", "km-templates")
628
+ self.setParam("aiservice_s3_tenants_bucket", "km-tenants")
629
+ self.setParam("aiservice_s3_templates_bucket", "km-templates")
628
630
 
629
631
  def aiServiceIntegrations(self) -> None:
630
632
  self.printH1("WatsonX Integration")
@@ -103,28 +103,28 @@ class aiServiceInstallArgBuilderMixin():
103
103
  if self.getParam('service_account_name') != "":
104
104
  command += f" --service-account {self.getParam('service_account_name')}{newline}"
105
105
 
106
- # Aibroker Advanced Settings
106
+ # AI Service Advanced Settings
107
107
  # -----------------------------------------------------------------------------
108
- if self.getParam('aiservice_storage_provider') != "":
109
- command += f" --s3-provider \"{self.getParam('aiservice_storage_provider')}\"{newline}"
110
- if self.getParam('aiservice_storage_accesskey') != "":
111
- command += f" --s3-accesskey \"{self.getParam('aiservice_storage_accesskey')}\"{newline}"
112
- if self.getParam('aiservice_storage_secretkey') != "":
113
- command += f" --s3-secretkey \"{self.getParam('aiservice_storage_secretkey')}\"{newline}"
114
- if self.getParam('aiservice_storage_host') != "":
115
- command += f" --s3-host \"{self.getParam('aiservice_storage_host')}\"{newline}"
116
- if self.getParam('aiservice_storage_port') != "":
117
- command += f" --s3-port \"{self.getParam('aiservice_storage_port')}\"{newline}"
118
- if self.getParam('aiservice_storage_ssl') != "":
119
- command += f" --s3-ssl \"{self.getParam('aiservice_storage_ssl')}\"{newline}"
120
- if self.getParam('aiservice_storage_region') != "":
121
- command += f" --s3-region \"{self.getParam('aiservice_storage_region')}\"{newline}"
122
- if self.getParam('aiservice_storage_pipelines_bucket') != "":
123
- command += f" --s3-pipelines-bucket \"{self.getParam('aiservice_storage_pipelines_bucket')}\"{newline}"
124
- if self.getParam('aiservice_storage_tenants_bucket') != "":
125
- command += f" --s3-tenants-bucket \"{self.getParam('aiservice_storage_tenants_bucket')}\"{newline}"
126
- if self.getParam('aiservice_storage_templates_bucket') != "":
127
- command += f" --s3-templates-bucket \"{self.getParam('aiservice_storage_templates_bucket')}\"{newline}"
108
+ # if self.getParam('aiservice_s3_provider') != "":
109
+ # command += f" --s3-provider \"{self.getParam('aiservice_s3_provider')}\"{newline}"
110
+ if self.getParam('aiservice_s3_accesskey') != "":
111
+ command += f" --s3-accesskey \"{self.getParam('aiservice_s3_accesskey')}\"{newline}"
112
+ if self.getParam('aiservice_s3_secretkey') != "":
113
+ command += f" --s3-secretkey \"{self.getParam('aiservice_s3_secretkey')}\"{newline}"
114
+ if self.getParam('aiservice_s3_host') != "":
115
+ command += f" --s3-host \"{self.getParam('aiservice_s3_host')}\"{newline}"
116
+ if self.getParam('aiservice_s3_port') != "":
117
+ command += f" --s3-port \"{self.getParam('aiservice_s3_port')}\"{newline}"
118
+ if self.getParam('aiservice_s3_ssl') != "":
119
+ command += f" --s3-ssl \"{self.getParam('aiservice_s3_ssl')}\"{newline}"
120
+ if self.getParam('aiservice_s3_region') != "":
121
+ command += f" --s3-region \"{self.getParam('aiservice_s3_region')}\"{newline}"
122
+ if self.getParam('aiservice_s3_bucket_prefix') != "":
123
+ command += f" --s3-bucket-prefix \"{self.getParam('aiservice_s3_bucket_prefix')}\"{newline}"
124
+ if self.getParam('aiservice_s3_tenants_bucket') != "":
125
+ command += f" --s3-tenants-bucket \"{self.getParam('aiservice_s3_tenants_bucket')}\"{newline}"
126
+ if self.getParam('aiservice_s3_templates_bucket') != "":
127
+ command += f" --s3-templates-bucket \"{self.getParam('aiservice_s3_templates_bucket')}\"{newline}"
128
128
 
129
129
  if self.getParam('aiservice_watsonxai_apikey') != "":
130
130
  command += f" --watsonxai-apikey \"{self.getParam('aiservice_watsonxai_apikey')}\"{newline}"
@@ -147,24 +147,6 @@ class aiServiceInstallArgBuilderMixin():
147
147
  if self.getParam('tenant_entitlement_end_date') != "":
148
148
  command += f" --tenant-entitlement-end-date \"{self.getParam('tenant_entitlement_end_date')}\"{newline}"
149
149
 
150
- if self.getParam('aiservice_s3_bucket_prefix') != "":
151
- command += f" --s3-bucket-prefix \"{self.getParam('aiservice_s3_bucket_prefix')}\"{newline}"
152
- if self.getParam('aiservice_s3_endpoint_url') != "":
153
- command += f" --s3-endpoint-url \"{self.getParam('aiservice_s3_endpoint_url')}\"{newline}"
154
- if self.getParam('aiservice_s3_region') != "":
155
- command += f" --s3-region \"{self.getParam('aiservice_s3_region')}\"{newline}"
156
-
157
- if self.getParam('aiservice_tenant_s3_bucket_prefix') != "":
158
- command += f" --s3-bucket-prefix-tenant \"{self.getParam('aiservice_tenant_s3_bucket_prefix')}\"{newline}"
159
- if self.getParam('aiservice_tenant_s3_region') != "":
160
- command += f" --s3-tenant-region \"{self.getParam('aiservice_tenant_s3_region')}\"{newline}"
161
- if self.getParam('aiservice_tenant_s3_endpoint_url') != "":
162
- command += f" --s3-tenant-endpoint-url \"{self.getParam('aiservice_tenant_s3_endpoint_url')}\"{newline}"
163
- if self.getParam('aiservice_tenant_s3_access_key') != "":
164
- command += f" --s3-tenant-access-key \"{self.getParam('aiservice_tenant_s3_access_key')}\"{newline}"
165
- if self.getParam('aiservice_tenant_s3_secret_key') != "":
166
- command += f" --s3-tenant-secret-key \"{self.getParam('aiservice_tenant_s3_secret_key')}\"{newline}"
167
-
168
150
  if self.getParam('rsl_url') != "":
169
151
  command += f" --rsl-url \"{self.getParam('rsl_url')}\"{newline}"
170
152
  if self.getParam('rsl_org_id') != "":
@@ -168,17 +168,26 @@ masAppsArgGroup = aiServiceinstallArgParser.add_argument_group("MAS Applications
168
168
  masAppsArgGroup.add_argument(
169
169
  "--aiservice-channel",
170
170
  required=False,
171
- help="Subscription channel for Maximo Ai Broker"
171
+ help="Subscription channel for Maximo AI Service"
172
172
  )
173
173
 
174
- # AI Broker
174
+ # AI Service
175
175
  # -----------------------------------------------------------------------------
176
- aibrokerArgGroup = aiServiceinstallArgParser.add_argument_group("Maximo AI Broker")
176
+ aiServiceArgGroup = aiServiceinstallArgParser.add_argument_group("Maximo AI Service")
177
177
 
178
+ # S3 - General
179
+ # -----------------------------------------------------------------------------
180
+ s3ArgGroup = aiServiceinstallArgParser.add_argument_group("S3 Storage")
181
+
182
+ # s3ArgGroup.add_argument(
183
+ # "--s3-provider",
184
+ # dest="aiservice_s3_provider",
185
+ # required=False,
186
+ # help="S3 storage provider type (e.g., minio, aws)"
187
+ # )
178
188
 
179
189
  # S3 - Minio
180
190
  # -----------------------------------------------------------------------------
181
- s3ArgGroup = aiServiceinstallArgParser.add_argument_group("S3 Storage")
182
191
  s3ArgGroup.add_argument(
183
192
  "--install-minio",
184
193
  dest="install_minio_aiservice",
@@ -201,126 +210,66 @@ s3ArgGroup.add_argument(
201
210
  help="Password for minio root user"
202
211
  )
203
212
 
204
- # S3 - General
205
- # -----------------------------------------------------------------------------
206
- s3ArgGroup.add_argument(
207
- "--s3-provider",
208
- dest="aiservice_storage_provider",
209
- required=False,
210
- help="S3 storage provider type (e.g., minio, aws)"
211
- )
212
-
213
- # S3 - Bucket Naming
214
- # -----------------------------------------------------------------------------
215
- s3ArgGroup.add_argument(
216
- "--s3-pipelines-bucket",
217
- dest="aiservice_storage_pipelines_bucket",
218
- required=False,
219
- default="km-pipelines",
220
- help="Name of the S3 bucket for pipelines storage"
221
- )
222
- s3ArgGroup.add_argument(
223
- "--s3-tenants-bucket",
224
- dest="aiservice_storage_tenants_bucket",
225
- required=False,
226
- default="km-tenants",
227
- help="Name of the S3 bucket for tenants storage"
228
- )
229
- s3ArgGroup.add_argument(
230
- "--s3-templates-bucket",
231
- dest="aiservice_storage_templates_bucket",
232
- required=False,
233
- default="km-templates",
234
- help="Name of the S3 bucket for templates storage"
235
- )
236
-
237
- # S3 - Bucket Prefixes
238
- # -----------------------------------------------------------------------------
239
- s3ArgGroup.add_argument(
240
- "--s3-bucket-prefix",
241
- dest="aiservice_s3_bucket_prefix",
242
- required=False,
243
- default="s3",
244
- help="s3 bucket prefix"
245
- )
246
- s3ArgGroup.add_argument(
247
- "--s3-bucket-prefix-tenant",
248
- dest="aiservice_tenant_s3_bucket_prefix",
249
- required=False,
250
- default="s3",
251
- help="s3 bucket prefix ( tenant level )"
252
- )
253
-
254
213
  # S3 - External Connection
255
214
  # -----------------------------------------------------------------------------
256
215
  s3ArgGroup.add_argument(
257
216
  "--s3-host",
258
- dest="aiservice_storage_host",
217
+ dest="aiservice_s3_host",
259
218
  required=False,
260
219
  help="Hostname or IP address of the S3 storage service"
261
220
  )
262
221
  s3ArgGroup.add_argument(
263
222
  "--s3-port",
264
- dest="aiservice_storage_port",
223
+ dest="aiservice_s3_port",
265
224
  required=False,
266
225
  help="Port number for the S3 storage service"
267
226
  )
268
227
  s3ArgGroup.add_argument(
269
228
  "--s3-ssl",
270
- dest="aiservice_storage_ssl",
229
+ dest="aiservice_s3_ssl",
271
230
  required=False,
272
231
  help="Enable or disable SSL for S3 connection (true/false)"
273
232
  )
274
233
  s3ArgGroup.add_argument(
275
234
  "--s3-accesskey",
276
- dest="aiservice_storage_accesskey",
235
+ dest="aiservice_s3_accesskey",
277
236
  required=False,
278
237
  help="Access key for authenticating with the S3 storage service"
279
238
  )
280
239
  s3ArgGroup.add_argument(
281
240
  "--s3-secretkey",
282
- dest="aiservice_storage_secretkey",
241
+ dest="aiservice_s3_secretkey",
283
242
  required=False,
284
243
  help="Secret key for authenticating with the S3 storage service"
285
244
  )
286
245
  s3ArgGroup.add_argument(
287
246
  "--s3-region",
288
- dest="aiservice_storage_region",
247
+ dest="aiservice_s3_region",
289
248
  required=False,
290
249
  help="Region for the S3 storage service"
291
250
  )
292
251
  s3ArgGroup.add_argument(
293
- "--s3-endpoint-url",
294
- dest="aiservice_s3_endpoint_url",
252
+ "--s3-bucket-prefix",
253
+ dest="aiservice_s3_bucket_prefix",
295
254
  required=False,
296
- help="endpoint url for s3"
255
+ help="Bucket prefix configured with S3 storage service"
297
256
  )
298
257
 
299
- # S3 - External Access Credentials (Tenant)
258
+ # S3 - Bucket Naming
300
259
  # -----------------------------------------------------------------------------
301
260
  s3ArgGroup.add_argument(
302
- "--s3-tenant-access-key",
303
- dest="aiservice_tenant_s3_access_key",
304
- required=False,
305
- help="access key for s3 ( tenant level )"
306
- )
307
- s3ArgGroup.add_argument(
308
- "--s3-tenant-secret-key",
309
- dest="aiservice_tenant_s3_secret_key",
310
- required=False,
311
- help="secret key for s3 ( tenant level )"
312
- )
313
- s3ArgGroup.add_argument(
314
- "--s3-tenant-region",
315
- dest="aiservice_tenant_s3_region",
261
+ "--s3-tenants-bucket",
262
+ dest="aiservice_s3_tenants_bucket",
316
263
  required=False,
317
- help="s3 region ( tenant level )"
264
+ default="km-tenants",
265
+ help="Name of the S3 bucket for tenants storage"
318
266
  )
319
267
  s3ArgGroup.add_argument(
320
- "--s3-tenant-endpoint-url",
321
- dest="aiservice_tenant_s3_endpoint_url",
268
+ "--s3-templates-bucket",
269
+ dest="aiservice_s3_templates_bucket",
322
270
  required=False,
323
- help="endpoint url for s3 ( tenant level )"
271
+ default="km-templates",
272
+ help="Name of the S3 bucket for templates storage"
324
273
  )
325
274
 
326
275
  # Watsonx
@@ -355,49 +304,49 @@ watsonxArgGroup.add_argument(
355
304
 
356
305
  # AI Service
357
306
  # -----------------------------------------------------------------------------
358
- aibrokerArgGroup.add_argument(
307
+ aiServiceArgGroup.add_argument(
359
308
  "--tenant-entitlement-type",
360
309
  dest="tenant_entitlement_type",
361
310
  required=False,
362
311
  help="Type of aibroker tenant"
363
312
  )
364
- aibrokerArgGroup.add_argument(
313
+ aiServiceArgGroup.add_argument(
365
314
  "--tenant-entitlement-start-date",
366
315
  dest="tenant_entitlement_start_date",
367
316
  required=False,
368
317
  help="Start date for Aibroker tenant"
369
318
  )
370
- aibrokerArgGroup.add_argument(
319
+ aiServiceArgGroup.add_argument(
371
320
  "--tenant-entitlement-end-date",
372
321
  dest="tenant_entitlement_end_date",
373
322
  required=False,
374
323
  help="End date for Aibroker tenant"
375
324
  )
376
- aibrokerArgGroup.add_argument(
325
+ aiServiceArgGroup.add_argument(
377
326
  "--rsl-url",
378
327
  dest="rsl_url",
379
328
  required=False,
380
329
  help="rsl url"
381
330
  )
382
- aibrokerArgGroup.add_argument(
331
+ aiServiceArgGroup.add_argument(
383
332
  "--rsl-org-id",
384
333
  dest="rsl_org_id",
385
334
  required=False,
386
335
  help="org id for rsl"
387
336
  )
388
- aibrokerArgGroup.add_argument(
337
+ aiServiceArgGroup.add_argument(
389
338
  "--rsl-token",
390
339
  dest="rsl_token",
391
340
  required=False,
392
341
  help="token for rsl"
393
342
  )
394
- aibrokerArgGroup.add_argument(
343
+ aiServiceArgGroup.add_argument(
395
344
  "--rsl-ca-crt",
396
345
  dest="rsl_ca_crt",
397
346
  required=False,
398
347
  help="CA certificate for RSL API (PEM format, optional, only if using self-signed certs)"
399
348
  )
400
- aibrokerArgGroup.add_argument(
349
+ aiServiceArgGroup.add_argument(
401
350
  "--environment-type",
402
351
  dest="environment_type",
403
352
  required=False,
@@ -57,17 +57,17 @@ optionalParams = [
57
57
  # Dev Mode
58
58
  "artifactory_username",
59
59
  "artifactory_token",
60
- # Aibroker
61
- "aiservice_storage_provider",
62
- "aiservice_storage_accesskey",
63
- "aiservice_storage_secretkey",
64
- "aiservice_storage_host",
65
- "aiservice_storage_port",
66
- "aiservice_storage_ssl",
67
- "aiservice_storage_region",
68
- "aiservice_storage_pipelines_bucket",
69
- "aiservice_storage_tenants_bucket",
70
- "aiservice_storage_templates_bucket",
60
+ # AI Service
61
+ # "aiservice_s3_provider",
62
+ "aiservice_s3_accesskey",
63
+ "aiservice_s3_secretkey",
64
+ "aiservice_s3_host",
65
+ "aiservice_s3_port",
66
+ "aiservice_s3_ssl",
67
+ "aiservice_s3_region",
68
+ "aiservice_s3_bucket_prefix",
69
+ "aiservice_s3_tenants_bucket",
70
+ "aiservice_s3_templates_bucket",
71
71
 
72
72
  "aiservice_watsonxai_apikey",
73
73
  "aiservice_watsonxai_url",
@@ -83,15 +83,6 @@ optionalParams = [
83
83
  "tenant_entitlement_start_date",
84
84
  "tenant_entitlement_end_date",
85
85
 
86
- "aiservice_s3_bucket_prefix",
87
- "aiservice_s3_region",
88
- "aiservice_s3_endpoint_url",
89
- "aiservice_tenant_s3_bucket_prefix",
90
- "aiservice_tenant_s3_region",
91
- "aiservice_tenant_s3_endpoint_url",
92
- "aiservice_tenant_s3_access_key",
93
- "aiservice_tenant_s3_secret_key",
94
-
95
86
  "rsl_url",
96
87
  "rsl_org_id",
97
88
  "rsl_token",
@@ -48,24 +48,19 @@ class aiServiceInstallSummarizerMixin():
48
48
  self.printParamSummary("Environment type", "environment_type")
49
49
 
50
50
  self.printH2("S3 Configuration")
51
- self.printParamSummary("Storage provider", "aiservice_storage_provider")
52
- if self.getParam("aiservice_storage_provider") == "minio":
51
+ # self.printParamSummary("Storage provider", "aiservice_s3_provider")
52
+ if self.getParam("minio_root_user") is not None and self.getParam("minio_root_user") != "":
53
53
  self.printParamSummary("minio root username", "minio_root_user")
54
54
  print()
55
- self.printParamSummary("Storage access key", "aiservice_storage_accesskey")
56
- self.printParamSummary("Storage host", "aiservice_storage_host")
57
- self.printParamSummary("Storage port", "aiservice_storage_port")
58
- self.printParamSummary("Storage ssl", "aiservice_storage_ssl")
59
- self.printParamSummary("Storage region", "aiservice_storage_region")
60
- self.printParamSummary("Storage pipelines bucket", "aiservice_storage_pipelines_bucket")
61
- self.printParamSummary("Storage tenants bucket", "aiservice_storage_tenants_bucket")
62
- self.printParamSummary("Storage templates bucket", "aiservice_storage_templates_bucket")
63
- print()
55
+ self.printParamSummary("Storage access key", "aiservice_s3_accesskey")
56
+ self.printParamSummary("Storage host", "aiservice_s3_host")
57
+ self.printParamSummary("Storage port", "aiservice_s3_port")
58
+ self.printParamSummary("Storage ssl", "aiservice_s3_ssl")
59
+ self.printParamSummary("Storage region", "aiservice_s3_region")
64
60
  self.printParamSummary("S3 bucket prefix", "aiservice_s3_bucket_prefix")
65
- self.printParamSummary("S3 endpoint url", "aiservice_s3_endpoint_url")
66
- self.printParamSummary("S3 bucket prefix (tenant level)", "aiservice_tenant_s3_bucket_prefix")
67
- self.printParamSummary("S3 region (tenant level)", "aiservice_tenant_s3_region")
68
- self.printParamSummary("S3 endpoint url (tenant level)", "aiservice_tenant_s3_endpoint_url")
61
+ self.printParamSummary("Storage tenants bucket", "aiservice_s3_tenants_bucket")
62
+ self.printParamSummary("Storage templates bucket", "aiservice_s3_templates_bucket")
63
+ print()
69
64
 
70
65
  self.printH2("IBM WatsonX")
71
66
  self.printParamSummary("Watsonxai machine learning url", "aiservice_watsonxai_url")
mas/cli/cli.py CHANGED
@@ -117,7 +117,7 @@ class BaseApp(PrintMixin, PromptMixin):
117
117
  logging.getLogger('asyncio').setLevel(logging.INFO)
118
118
 
119
119
  # Supports extended semver, unlike mas.cli.__version__
120
- self.version = "15.1.10"
120
+ self.version = "15.1.12"
121
121
  self.h1count = 0
122
122
  self.h2count = 0
123
123