ibm-platform-services 0.61.0__py3-none-any.whl → 0.62.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.
- ibm_platform_services/global_catalog_v1.py +2052 -1188
- ibm_platform_services/usage_reports_v4.py +55 -15
- ibm_platform_services/version.py +1 -1
- {ibm_platform_services-0.61.0.dist-info → ibm_platform_services-0.62.0.dist-info}/METADATA +2 -2
- {ibm_platform_services-0.61.0.dist-info → ibm_platform_services-0.62.0.dist-info}/RECORD +8 -8
- {ibm_platform_services-0.61.0.dist-info → ibm_platform_services-0.62.0.dist-info}/WHEEL +1 -1
- {ibm_platform_services-0.61.0.dist-info → ibm_platform_services-0.62.0.dist-info}/LICENSE +0 -0
- {ibm_platform_services-0.61.0.dist-info → ibm_platform_services-0.62.0.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# coding: utf-8
|
|
2
2
|
|
|
3
|
-
# (C) Copyright IBM Corp.
|
|
3
|
+
# (C) Copyright IBM Corp. 2025.
|
|
4
4
|
#
|
|
5
5
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
6
|
# you may not use this file except in compliance with the License.
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
# See the License for the specific language governing permissions and
|
|
15
15
|
# limitations under the License.
|
|
16
16
|
|
|
17
|
-
# IBM OpenAPI SDK Code Generator Version:
|
|
17
|
+
# IBM OpenAPI SDK Code Generator Version: 3.102.0-615ec964-20250307-203034
|
|
18
18
|
|
|
19
19
|
"""
|
|
20
20
|
The catalog service manages offerings across geographies as the system of record. The
|
|
@@ -24,11 +24,13 @@ the endpoints to retrieve metadata about services in the catalog and manage serv
|
|
|
24
24
|
visbility. Depending on the kind of object, the metadata can include information about
|
|
25
25
|
pricing, provisioning, regions, and more. For more information, see the [catalog
|
|
26
26
|
documentation](https://cloud.ibm.com/docs/overview/catalog.html#global-catalog-overview).
|
|
27
|
+
|
|
28
|
+
API Version: 1.0.3
|
|
27
29
|
"""
|
|
28
30
|
|
|
29
31
|
from datetime import datetime
|
|
30
32
|
from enum import Enum
|
|
31
|
-
from typing import BinaryIO, Dict, List
|
|
33
|
+
from typing import BinaryIO, Dict, List, Optional
|
|
32
34
|
import json
|
|
33
35
|
|
|
34
36
|
from ibm_cloud_sdk_core import BaseService, DetailedResponse
|
|
@@ -71,7 +73,7 @@ class GlobalCatalogV1(BaseService):
|
|
|
71
73
|
Construct a new client for the Global Catalog service.
|
|
72
74
|
|
|
73
75
|
:param Authenticator authenticator: The authenticator specifies the authentication mechanism.
|
|
74
|
-
Get up to date information from https://github.com/IBM/python-sdk-core/blob/
|
|
76
|
+
Get up to date information from https://github.com/IBM/python-sdk-core/blob/main/README.md
|
|
75
77
|
about initializing the authenticator of your choice.
|
|
76
78
|
"""
|
|
77
79
|
BaseService.__init__(self, service_url=self.DEFAULT_SERVICE_URL, authenticator=authenticator)
|
|
@@ -83,16 +85,16 @@ class GlobalCatalogV1(BaseService):
|
|
|
83
85
|
def list_catalog_entries(
|
|
84
86
|
self,
|
|
85
87
|
*,
|
|
86
|
-
account: str = None,
|
|
87
|
-
include: str = None,
|
|
88
|
-
q: str = None,
|
|
89
|
-
sort_by: str = None,
|
|
90
|
-
descending: str = None,
|
|
91
|
-
languages: str = None,
|
|
92
|
-
catalog: bool = None,
|
|
93
|
-
complete: bool = None,
|
|
94
|
-
offset: int = None,
|
|
95
|
-
limit: int = None,
|
|
88
|
+
account: Optional[str] = None,
|
|
89
|
+
include: Optional[str] = None,
|
|
90
|
+
q: Optional[str] = None,
|
|
91
|
+
sort_by: Optional[str] = None,
|
|
92
|
+
descending: Optional[str] = None,
|
|
93
|
+
languages: Optional[str] = None,
|
|
94
|
+
catalog: Optional[bool] = None,
|
|
95
|
+
complete: Optional[bool] = None,
|
|
96
|
+
offset: Optional[int] = None,
|
|
97
|
+
limit: Optional[int] = None,
|
|
96
98
|
**kwargs,
|
|
97
99
|
) -> DetailedResponse:
|
|
98
100
|
"""
|
|
@@ -126,8 +128,8 @@ class GlobalCatalogV1(BaseService):
|
|
|
126
128
|
:param str descending: (optional) Sets the sort order. The default is
|
|
127
129
|
false, which is ascending.
|
|
128
130
|
:param str languages: (optional) Return the data strings in a specified
|
|
129
|
-
|
|
130
|
-
your browser through the Accept-
|
|
131
|
+
language. By default, the strings returned are of the language preferred by
|
|
132
|
+
your browser through the Accept-Language header, which allows an override
|
|
131
133
|
of the header. Languages are specified in standard form, such as `en-us`.
|
|
132
134
|
To include all languages use a wildcard (*).
|
|
133
135
|
:param bool catalog: (optional) Checks to see if a catalog's object is
|
|
@@ -149,7 +151,9 @@ class GlobalCatalogV1(BaseService):
|
|
|
149
151
|
|
|
150
152
|
headers = {}
|
|
151
153
|
sdk_headers = get_sdk_headers(
|
|
152
|
-
service_name=self.DEFAULT_SERVICE_NAME,
|
|
154
|
+
service_name=self.DEFAULT_SERVICE_NAME,
|
|
155
|
+
service_version='V1',
|
|
156
|
+
operation_id='list_catalog_entries',
|
|
153
157
|
)
|
|
154
158
|
headers.update(sdk_headers)
|
|
155
159
|
|
|
@@ -168,12 +172,18 @@ class GlobalCatalogV1(BaseService):
|
|
|
168
172
|
|
|
169
173
|
if 'headers' in kwargs:
|
|
170
174
|
headers.update(kwargs.get('headers'))
|
|
175
|
+
del kwargs['headers']
|
|
171
176
|
headers['Accept'] = 'application/json'
|
|
172
177
|
|
|
173
178
|
url = '/'
|
|
174
|
-
request = self.prepare_request(
|
|
179
|
+
request = self.prepare_request(
|
|
180
|
+
method='GET',
|
|
181
|
+
url=url,
|
|
182
|
+
headers=headers,
|
|
183
|
+
params=params,
|
|
184
|
+
)
|
|
175
185
|
|
|
176
|
-
response = self.send(request)
|
|
186
|
+
response = self.send(request, **kwargs)
|
|
177
187
|
return response
|
|
178
188
|
|
|
179
189
|
def create_catalog_entry(
|
|
@@ -187,11 +197,12 @@ class GlobalCatalogV1(BaseService):
|
|
|
187
197
|
provider: 'Provider',
|
|
188
198
|
id: str,
|
|
189
199
|
*,
|
|
190
|
-
parent_id: str = None,
|
|
191
|
-
group: bool = None,
|
|
192
|
-
active: bool = None,
|
|
193
|
-
|
|
194
|
-
|
|
200
|
+
parent_id: Optional[str] = None,
|
|
201
|
+
group: Optional[bool] = None,
|
|
202
|
+
active: Optional[bool] = None,
|
|
203
|
+
url: Optional[str] = None,
|
|
204
|
+
metadata: Optional['ObjectMetadataSet'] = None,
|
|
205
|
+
account: Optional[str] = None,
|
|
195
206
|
**kwargs,
|
|
196
207
|
) -> DetailedResponse:
|
|
197
208
|
"""
|
|
@@ -225,6 +236,7 @@ class GlobalCatalogV1(BaseService):
|
|
|
225
236
|
catalog entry is a group.
|
|
226
237
|
:param bool active: (optional) Boolean value that describes whether the
|
|
227
238
|
service is active.
|
|
239
|
+
:param str url: (optional) Url of the object.
|
|
228
240
|
:param ObjectMetadataSet metadata: (optional) Model used to describe
|
|
229
241
|
metadata object that can be set.
|
|
230
242
|
:param str account: (optional) This changes the scope of the request
|
|
@@ -258,11 +270,15 @@ class GlobalCatalogV1(BaseService):
|
|
|
258
270
|
metadata = convert_model(metadata)
|
|
259
271
|
headers = {}
|
|
260
272
|
sdk_headers = get_sdk_headers(
|
|
261
|
-
service_name=self.DEFAULT_SERVICE_NAME,
|
|
273
|
+
service_name=self.DEFAULT_SERVICE_NAME,
|
|
274
|
+
service_version='V1',
|
|
275
|
+
operation_id='create_catalog_entry',
|
|
262
276
|
)
|
|
263
277
|
headers.update(sdk_headers)
|
|
264
278
|
|
|
265
|
-
params = {
|
|
279
|
+
params = {
|
|
280
|
+
'account': account,
|
|
281
|
+
}
|
|
266
282
|
|
|
267
283
|
data = {
|
|
268
284
|
'name': name,
|
|
@@ -276,6 +292,7 @@ class GlobalCatalogV1(BaseService):
|
|
|
276
292
|
'parent_id': parent_id,
|
|
277
293
|
'group': group,
|
|
278
294
|
'active': active,
|
|
295
|
+
'url': url,
|
|
279
296
|
'metadata': metadata,
|
|
280
297
|
}
|
|
281
298
|
data = {k: v for (k, v) in data.items() if v is not None}
|
|
@@ -284,23 +301,30 @@ class GlobalCatalogV1(BaseService):
|
|
|
284
301
|
|
|
285
302
|
if 'headers' in kwargs:
|
|
286
303
|
headers.update(kwargs.get('headers'))
|
|
304
|
+
del kwargs['headers']
|
|
287
305
|
headers['Accept'] = 'application/json'
|
|
288
306
|
|
|
289
307
|
url = '/'
|
|
290
|
-
request = self.prepare_request(
|
|
308
|
+
request = self.prepare_request(
|
|
309
|
+
method='POST',
|
|
310
|
+
url=url,
|
|
311
|
+
headers=headers,
|
|
312
|
+
params=params,
|
|
313
|
+
data=data,
|
|
314
|
+
)
|
|
291
315
|
|
|
292
|
-
response = self.send(request)
|
|
316
|
+
response = self.send(request, **kwargs)
|
|
293
317
|
return response
|
|
294
318
|
|
|
295
319
|
def get_catalog_entry(
|
|
296
320
|
self,
|
|
297
321
|
id: str,
|
|
298
322
|
*,
|
|
299
|
-
account: str = None,
|
|
300
|
-
include: str = None,
|
|
301
|
-
languages: str = None,
|
|
302
|
-
complete: bool = None,
|
|
303
|
-
depth: int = None,
|
|
323
|
+
account: Optional[str] = None,
|
|
324
|
+
include: Optional[str] = None,
|
|
325
|
+
languages: Optional[str] = None,
|
|
326
|
+
complete: Optional[bool] = None,
|
|
327
|
+
depth: Optional[int] = None,
|
|
304
328
|
**kwargs,
|
|
305
329
|
) -> DetailedResponse:
|
|
306
330
|
"""
|
|
@@ -311,7 +335,7 @@ class GlobalCatalogV1(BaseService):
|
|
|
311
335
|
enabled. This can be used by an unauthenticated user for publicly available
|
|
312
336
|
services.
|
|
313
337
|
|
|
314
|
-
:param str id: The catalog entry's
|
|
338
|
+
:param str id: The catalog entry's unique ID.
|
|
315
339
|
:param str account: (optional) This changes the scope of the request
|
|
316
340
|
regardless of the authorization header. Example scopes are `account` and
|
|
317
341
|
`global`. `account=global` is reqired if operating with a service ID that
|
|
@@ -323,8 +347,8 @@ class GlobalCatalogV1(BaseService):
|
|
|
323
347
|
with a colon (:), for example `GET
|
|
324
348
|
/id?include=metadata.ui:metadata.pricing`.
|
|
325
349
|
:param str languages: (optional) Return the data strings in the specified
|
|
326
|
-
|
|
327
|
-
your browser through the Accept-
|
|
350
|
+
language. By default the strings returned are of the language preferred by
|
|
351
|
+
your browser through the Accept-Language header, which allows an override
|
|
328
352
|
of the header. Languages are specified in standard form, such as `en-us`.
|
|
329
353
|
To include all languages use a wildcard (*).
|
|
330
354
|
:param bool complete: (optional) Returns all available fields for all
|
|
@@ -340,27 +364,41 @@ class GlobalCatalogV1(BaseService):
|
|
|
340
364
|
:rtype: DetailedResponse with `dict` result representing a `CatalogEntry` object
|
|
341
365
|
"""
|
|
342
366
|
|
|
343
|
-
if id
|
|
367
|
+
if not id:
|
|
344
368
|
raise ValueError('id must be provided')
|
|
345
369
|
headers = {}
|
|
346
370
|
sdk_headers = get_sdk_headers(
|
|
347
|
-
service_name=self.DEFAULT_SERVICE_NAME,
|
|
371
|
+
service_name=self.DEFAULT_SERVICE_NAME,
|
|
372
|
+
service_version='V1',
|
|
373
|
+
operation_id='get_catalog_entry',
|
|
348
374
|
)
|
|
349
375
|
headers.update(sdk_headers)
|
|
350
376
|
|
|
351
|
-
params = {
|
|
377
|
+
params = {
|
|
378
|
+
'account': account,
|
|
379
|
+
'include': include,
|
|
380
|
+
'languages': languages,
|
|
381
|
+
'complete': complete,
|
|
382
|
+
'depth': depth,
|
|
383
|
+
}
|
|
352
384
|
|
|
353
385
|
if 'headers' in kwargs:
|
|
354
386
|
headers.update(kwargs.get('headers'))
|
|
387
|
+
del kwargs['headers']
|
|
355
388
|
headers['Accept'] = 'application/json'
|
|
356
389
|
|
|
357
390
|
path_param_keys = ['id']
|
|
358
391
|
path_param_values = self.encode_path_vars(id)
|
|
359
392
|
path_param_dict = dict(zip(path_param_keys, path_param_values))
|
|
360
393
|
url = '/{id}'.format(**path_param_dict)
|
|
361
|
-
request = self.prepare_request(
|
|
394
|
+
request = self.prepare_request(
|
|
395
|
+
method='GET',
|
|
396
|
+
url=url,
|
|
397
|
+
headers=headers,
|
|
398
|
+
params=params,
|
|
399
|
+
)
|
|
362
400
|
|
|
363
|
-
response = self.send(request)
|
|
401
|
+
response = self.send(request, **kwargs)
|
|
364
402
|
return response
|
|
365
403
|
|
|
366
404
|
def update_catalog_entry(
|
|
@@ -374,12 +412,13 @@ class GlobalCatalogV1(BaseService):
|
|
|
374
412
|
tags: List[str],
|
|
375
413
|
provider: 'Provider',
|
|
376
414
|
*,
|
|
377
|
-
parent_id: str = None,
|
|
378
|
-
group: bool = None,
|
|
379
|
-
active: bool = None,
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
415
|
+
parent_id: Optional[str] = None,
|
|
416
|
+
group: Optional[bool] = None,
|
|
417
|
+
active: Optional[bool] = None,
|
|
418
|
+
url: Optional[str] = None,
|
|
419
|
+
metadata: Optional['ObjectMetadataSet'] = None,
|
|
420
|
+
account: Optional[str] = None,
|
|
421
|
+
move: Optional[str] = None,
|
|
383
422
|
**kwargs,
|
|
384
423
|
) -> DetailedResponse:
|
|
385
424
|
"""
|
|
@@ -412,6 +451,7 @@ class GlobalCatalogV1(BaseService):
|
|
|
412
451
|
catalog entry is a group.
|
|
413
452
|
:param bool active: (optional) Boolean value that describes whether the
|
|
414
453
|
service is active.
|
|
454
|
+
:param str url: (optional) Url of the object.
|
|
415
455
|
:param ObjectMetadataSet metadata: (optional) Model used to describe
|
|
416
456
|
metadata object that can be set.
|
|
417
457
|
:param str account: (optional) This changes the scope of the request
|
|
@@ -429,7 +469,7 @@ class GlobalCatalogV1(BaseService):
|
|
|
429
469
|
:rtype: DetailedResponse with `dict` result representing a `CatalogEntry` object
|
|
430
470
|
"""
|
|
431
471
|
|
|
432
|
-
if id
|
|
472
|
+
if not id:
|
|
433
473
|
raise ValueError('id must be provided')
|
|
434
474
|
if name is None:
|
|
435
475
|
raise ValueError('name must be provided')
|
|
@@ -451,11 +491,16 @@ class GlobalCatalogV1(BaseService):
|
|
|
451
491
|
metadata = convert_model(metadata)
|
|
452
492
|
headers = {}
|
|
453
493
|
sdk_headers = get_sdk_headers(
|
|
454
|
-
service_name=self.DEFAULT_SERVICE_NAME,
|
|
494
|
+
service_name=self.DEFAULT_SERVICE_NAME,
|
|
495
|
+
service_version='V1',
|
|
496
|
+
operation_id='update_catalog_entry',
|
|
455
497
|
)
|
|
456
498
|
headers.update(sdk_headers)
|
|
457
499
|
|
|
458
|
-
params = {
|
|
500
|
+
params = {
|
|
501
|
+
'account': account,
|
|
502
|
+
'move': move,
|
|
503
|
+
}
|
|
459
504
|
|
|
460
505
|
data = {
|
|
461
506
|
'name': name,
|
|
@@ -468,6 +513,7 @@ class GlobalCatalogV1(BaseService):
|
|
|
468
513
|
'parent_id': parent_id,
|
|
469
514
|
'group': group,
|
|
470
515
|
'active': active,
|
|
516
|
+
'url': url,
|
|
471
517
|
'metadata': metadata,
|
|
472
518
|
}
|
|
473
519
|
data = {k: v for (k, v) in data.items() if v is not None}
|
|
@@ -476,18 +522,32 @@ class GlobalCatalogV1(BaseService):
|
|
|
476
522
|
|
|
477
523
|
if 'headers' in kwargs:
|
|
478
524
|
headers.update(kwargs.get('headers'))
|
|
525
|
+
del kwargs['headers']
|
|
479
526
|
headers['Accept'] = 'application/json'
|
|
480
527
|
|
|
481
528
|
path_param_keys = ['id']
|
|
482
529
|
path_param_values = self.encode_path_vars(id)
|
|
483
530
|
path_param_dict = dict(zip(path_param_keys, path_param_values))
|
|
484
531
|
url = '/{id}'.format(**path_param_dict)
|
|
485
|
-
request = self.prepare_request(
|
|
532
|
+
request = self.prepare_request(
|
|
533
|
+
method='PUT',
|
|
534
|
+
url=url,
|
|
535
|
+
headers=headers,
|
|
536
|
+
params=params,
|
|
537
|
+
data=data,
|
|
538
|
+
)
|
|
486
539
|
|
|
487
|
-
response = self.send(request)
|
|
540
|
+
response = self.send(request, **kwargs)
|
|
488
541
|
return response
|
|
489
542
|
|
|
490
|
-
def delete_catalog_entry(
|
|
543
|
+
def delete_catalog_entry(
|
|
544
|
+
self,
|
|
545
|
+
id: str,
|
|
546
|
+
*,
|
|
547
|
+
account: Optional[str] = None,
|
|
548
|
+
force: Optional[bool] = None,
|
|
549
|
+
**kwargs,
|
|
550
|
+
) -> DetailedResponse:
|
|
491
551
|
"""
|
|
492
552
|
Delete a catalog entry.
|
|
493
553
|
|
|
@@ -509,26 +569,37 @@ class GlobalCatalogV1(BaseService):
|
|
|
509
569
|
:rtype: DetailedResponse
|
|
510
570
|
"""
|
|
511
571
|
|
|
512
|
-
if id
|
|
572
|
+
if not id:
|
|
513
573
|
raise ValueError('id must be provided')
|
|
514
574
|
headers = {}
|
|
515
575
|
sdk_headers = get_sdk_headers(
|
|
516
|
-
service_name=self.DEFAULT_SERVICE_NAME,
|
|
576
|
+
service_name=self.DEFAULT_SERVICE_NAME,
|
|
577
|
+
service_version='V1',
|
|
578
|
+
operation_id='delete_catalog_entry',
|
|
517
579
|
)
|
|
518
580
|
headers.update(sdk_headers)
|
|
519
581
|
|
|
520
|
-
params = {
|
|
582
|
+
params = {
|
|
583
|
+
'account': account,
|
|
584
|
+
'force': force,
|
|
585
|
+
}
|
|
521
586
|
|
|
522
587
|
if 'headers' in kwargs:
|
|
523
588
|
headers.update(kwargs.get('headers'))
|
|
589
|
+
del kwargs['headers']
|
|
524
590
|
|
|
525
591
|
path_param_keys = ['id']
|
|
526
592
|
path_param_values = self.encode_path_vars(id)
|
|
527
593
|
path_param_dict = dict(zip(path_param_keys, path_param_values))
|
|
528
594
|
url = '/{id}'.format(**path_param_dict)
|
|
529
|
-
request = self.prepare_request(
|
|
595
|
+
request = self.prepare_request(
|
|
596
|
+
method='DELETE',
|
|
597
|
+
url=url,
|
|
598
|
+
headers=headers,
|
|
599
|
+
params=params,
|
|
600
|
+
)
|
|
530
601
|
|
|
531
|
-
response = self.send(request)
|
|
602
|
+
response = self.send(request, **kwargs)
|
|
532
603
|
return response
|
|
533
604
|
|
|
534
605
|
def get_child_objects(
|
|
@@ -536,15 +607,15 @@ class GlobalCatalogV1(BaseService):
|
|
|
536
607
|
id: str,
|
|
537
608
|
kind: str,
|
|
538
609
|
*,
|
|
539
|
-
account: str = None,
|
|
540
|
-
include: str = None,
|
|
541
|
-
q: str = None,
|
|
542
|
-
sort_by: str = None,
|
|
543
|
-
descending: str = None,
|
|
544
|
-
languages: str = None,
|
|
545
|
-
complete: bool = None,
|
|
546
|
-
offset: int = None,
|
|
547
|
-
limit: int = None,
|
|
610
|
+
account: Optional[str] = None,
|
|
611
|
+
include: Optional[str] = None,
|
|
612
|
+
q: Optional[str] = None,
|
|
613
|
+
sort_by: Optional[str] = None,
|
|
614
|
+
descending: Optional[str] = None,
|
|
615
|
+
languages: Optional[str] = None,
|
|
616
|
+
complete: Optional[bool] = None,
|
|
617
|
+
offset: Optional[int] = None,
|
|
618
|
+
limit: Optional[int] = None,
|
|
548
619
|
**kwargs,
|
|
549
620
|
) -> DetailedResponse:
|
|
550
621
|
"""
|
|
@@ -574,8 +645,8 @@ class GlobalCatalogV1(BaseService):
|
|
|
574
645
|
:param str descending: (optional) The sort order. The default is false,
|
|
575
646
|
which is ascending.
|
|
576
647
|
:param str languages: (optional) Return the data strings in the specified
|
|
577
|
-
|
|
578
|
-
your browser through the Accept-
|
|
648
|
+
language. By default the strings returned are of the language preferred by
|
|
649
|
+
your browser through the Accept-Language header. This allows an override of
|
|
579
650
|
the header. Languages are specified in standard form, such as `en-us`. To
|
|
580
651
|
include all languages use the wildcard (*).
|
|
581
652
|
:param bool complete: (optional) Use the value `?complete=true` as shortcut
|
|
@@ -589,13 +660,15 @@ class GlobalCatalogV1(BaseService):
|
|
|
589
660
|
:rtype: DetailedResponse with `dict` result representing a `EntrySearchResult` object
|
|
590
661
|
"""
|
|
591
662
|
|
|
592
|
-
if id
|
|
663
|
+
if not id:
|
|
593
664
|
raise ValueError('id must be provided')
|
|
594
|
-
if kind
|
|
665
|
+
if not kind:
|
|
595
666
|
raise ValueError('kind must be provided')
|
|
596
667
|
headers = {}
|
|
597
668
|
sdk_headers = get_sdk_headers(
|
|
598
|
-
service_name=self.DEFAULT_SERVICE_NAME,
|
|
669
|
+
service_name=self.DEFAULT_SERVICE_NAME,
|
|
670
|
+
service_version='V1',
|
|
671
|
+
operation_id='get_child_objects',
|
|
599
672
|
)
|
|
600
673
|
headers.update(sdk_headers)
|
|
601
674
|
|
|
@@ -613,18 +686,30 @@ class GlobalCatalogV1(BaseService):
|
|
|
613
686
|
|
|
614
687
|
if 'headers' in kwargs:
|
|
615
688
|
headers.update(kwargs.get('headers'))
|
|
689
|
+
del kwargs['headers']
|
|
616
690
|
headers['Accept'] = 'application/json'
|
|
617
691
|
|
|
618
692
|
path_param_keys = ['id', 'kind']
|
|
619
693
|
path_param_values = self.encode_path_vars(id, kind)
|
|
620
694
|
path_param_dict = dict(zip(path_param_keys, path_param_values))
|
|
621
695
|
url = '/{id}/{kind}'.format(**path_param_dict)
|
|
622
|
-
request = self.prepare_request(
|
|
696
|
+
request = self.prepare_request(
|
|
697
|
+
method='GET',
|
|
698
|
+
url=url,
|
|
699
|
+
headers=headers,
|
|
700
|
+
params=params,
|
|
701
|
+
)
|
|
623
702
|
|
|
624
|
-
response = self.send(request)
|
|
703
|
+
response = self.send(request, **kwargs)
|
|
625
704
|
return response
|
|
626
705
|
|
|
627
|
-
def restore_catalog_entry(
|
|
706
|
+
def restore_catalog_entry(
|
|
707
|
+
self,
|
|
708
|
+
id: str,
|
|
709
|
+
*,
|
|
710
|
+
account: Optional[str] = None,
|
|
711
|
+
**kwargs,
|
|
712
|
+
) -> DetailedResponse:
|
|
628
713
|
"""
|
|
629
714
|
Restore archived catalog entry.
|
|
630
715
|
|
|
@@ -641,33 +726,49 @@ class GlobalCatalogV1(BaseService):
|
|
|
641
726
|
:rtype: DetailedResponse
|
|
642
727
|
"""
|
|
643
728
|
|
|
644
|
-
if id
|
|
729
|
+
if not id:
|
|
645
730
|
raise ValueError('id must be provided')
|
|
646
731
|
headers = {}
|
|
647
732
|
sdk_headers = get_sdk_headers(
|
|
648
|
-
service_name=self.DEFAULT_SERVICE_NAME,
|
|
733
|
+
service_name=self.DEFAULT_SERVICE_NAME,
|
|
734
|
+
service_version='V1',
|
|
735
|
+
operation_id='restore_catalog_entry',
|
|
649
736
|
)
|
|
650
737
|
headers.update(sdk_headers)
|
|
651
738
|
|
|
652
|
-
params = {
|
|
739
|
+
params = {
|
|
740
|
+
'account': account,
|
|
741
|
+
}
|
|
653
742
|
|
|
654
743
|
if 'headers' in kwargs:
|
|
655
744
|
headers.update(kwargs.get('headers'))
|
|
745
|
+
del kwargs['headers']
|
|
656
746
|
|
|
657
747
|
path_param_keys = ['id']
|
|
658
748
|
path_param_values = self.encode_path_vars(id)
|
|
659
749
|
path_param_dict = dict(zip(path_param_keys, path_param_values))
|
|
660
750
|
url = '/{id}/restore'.format(**path_param_dict)
|
|
661
|
-
request = self.prepare_request(
|
|
751
|
+
request = self.prepare_request(
|
|
752
|
+
method='PUT',
|
|
753
|
+
url=url,
|
|
754
|
+
headers=headers,
|
|
755
|
+
params=params,
|
|
756
|
+
)
|
|
662
757
|
|
|
663
|
-
response = self.send(request)
|
|
758
|
+
response = self.send(request, **kwargs)
|
|
664
759
|
return response
|
|
665
760
|
|
|
666
761
|
#########################
|
|
667
762
|
# Visibility
|
|
668
763
|
#########################
|
|
669
764
|
|
|
670
|
-
def get_visibility(
|
|
765
|
+
def get_visibility(
|
|
766
|
+
self,
|
|
767
|
+
id: str,
|
|
768
|
+
*,
|
|
769
|
+
account: Optional[str] = None,
|
|
770
|
+
**kwargs,
|
|
771
|
+
) -> DetailedResponse:
|
|
671
772
|
"""
|
|
672
773
|
Get the visibility constraints for an object.
|
|
673
774
|
|
|
@@ -686,37 +787,47 @@ class GlobalCatalogV1(BaseService):
|
|
|
686
787
|
:rtype: DetailedResponse with `dict` result representing a `Visibility` object
|
|
687
788
|
"""
|
|
688
789
|
|
|
689
|
-
if id
|
|
790
|
+
if not id:
|
|
690
791
|
raise ValueError('id must be provided')
|
|
691
792
|
headers = {}
|
|
692
793
|
sdk_headers = get_sdk_headers(
|
|
693
|
-
service_name=self.DEFAULT_SERVICE_NAME,
|
|
794
|
+
service_name=self.DEFAULT_SERVICE_NAME,
|
|
795
|
+
service_version='V1',
|
|
796
|
+
operation_id='get_visibility',
|
|
694
797
|
)
|
|
695
798
|
headers.update(sdk_headers)
|
|
696
799
|
|
|
697
|
-
params = {
|
|
800
|
+
params = {
|
|
801
|
+
'account': account,
|
|
802
|
+
}
|
|
698
803
|
|
|
699
804
|
if 'headers' in kwargs:
|
|
700
805
|
headers.update(kwargs.get('headers'))
|
|
806
|
+
del kwargs['headers']
|
|
701
807
|
headers['Accept'] = 'application/json'
|
|
702
808
|
|
|
703
809
|
path_param_keys = ['id']
|
|
704
810
|
path_param_values = self.encode_path_vars(id)
|
|
705
811
|
path_param_dict = dict(zip(path_param_keys, path_param_values))
|
|
706
812
|
url = '/{id}/visibility'.format(**path_param_dict)
|
|
707
|
-
request = self.prepare_request(
|
|
813
|
+
request = self.prepare_request(
|
|
814
|
+
method='GET',
|
|
815
|
+
url=url,
|
|
816
|
+
headers=headers,
|
|
817
|
+
params=params,
|
|
818
|
+
)
|
|
708
819
|
|
|
709
|
-
response = self.send(request)
|
|
820
|
+
response = self.send(request, **kwargs)
|
|
710
821
|
return response
|
|
711
822
|
|
|
712
823
|
def update_visibility(
|
|
713
824
|
self,
|
|
714
825
|
id: str,
|
|
715
826
|
*,
|
|
716
|
-
extendable: bool = None,
|
|
717
|
-
include: 'VisibilityDetail' = None,
|
|
718
|
-
exclude: 'VisibilityDetail' = None,
|
|
719
|
-
account: str = None,
|
|
827
|
+
extendable: Optional[bool] = None,
|
|
828
|
+
include: Optional['VisibilityDetail'] = None,
|
|
829
|
+
exclude: Optional['VisibilityDetail'] = None,
|
|
830
|
+
account: Optional[str] = None,
|
|
720
831
|
**kwargs,
|
|
721
832
|
) -> DetailedResponse:
|
|
722
833
|
"""
|
|
@@ -740,7 +851,7 @@ class GlobalCatalogV1(BaseService):
|
|
|
740
851
|
:rtype: DetailedResponse
|
|
741
852
|
"""
|
|
742
853
|
|
|
743
|
-
if id
|
|
854
|
+
if not id:
|
|
744
855
|
raise ValueError('id must be provided')
|
|
745
856
|
if include is not None:
|
|
746
857
|
include = convert_model(include)
|
|
@@ -748,34 +859,56 @@ class GlobalCatalogV1(BaseService):
|
|
|
748
859
|
exclude = convert_model(exclude)
|
|
749
860
|
headers = {}
|
|
750
861
|
sdk_headers = get_sdk_headers(
|
|
751
|
-
service_name=self.DEFAULT_SERVICE_NAME,
|
|
862
|
+
service_name=self.DEFAULT_SERVICE_NAME,
|
|
863
|
+
service_version='V1',
|
|
864
|
+
operation_id='update_visibility',
|
|
752
865
|
)
|
|
753
866
|
headers.update(sdk_headers)
|
|
754
867
|
|
|
755
|
-
params = {
|
|
868
|
+
params = {
|
|
869
|
+
'account': account,
|
|
870
|
+
}
|
|
756
871
|
|
|
757
|
-
data = {
|
|
872
|
+
data = {
|
|
873
|
+
'extendable': extendable,
|
|
874
|
+
'include': include,
|
|
875
|
+
'exclude': exclude,
|
|
876
|
+
}
|
|
758
877
|
data = {k: v for (k, v) in data.items() if v is not None}
|
|
759
878
|
data = json.dumps(data)
|
|
760
879
|
headers['content-type'] = 'application/json'
|
|
761
880
|
|
|
762
881
|
if 'headers' in kwargs:
|
|
763
882
|
headers.update(kwargs.get('headers'))
|
|
883
|
+
del kwargs['headers']
|
|
764
884
|
|
|
765
885
|
path_param_keys = ['id']
|
|
766
886
|
path_param_values = self.encode_path_vars(id)
|
|
767
887
|
path_param_dict = dict(zip(path_param_keys, path_param_values))
|
|
768
888
|
url = '/{id}/visibility'.format(**path_param_dict)
|
|
769
|
-
request = self.prepare_request(
|
|
889
|
+
request = self.prepare_request(
|
|
890
|
+
method='PUT',
|
|
891
|
+
url=url,
|
|
892
|
+
headers=headers,
|
|
893
|
+
params=params,
|
|
894
|
+
data=data,
|
|
895
|
+
)
|
|
770
896
|
|
|
771
|
-
response = self.send(request)
|
|
897
|
+
response = self.send(request, **kwargs)
|
|
772
898
|
return response
|
|
773
899
|
|
|
774
900
|
#########################
|
|
775
901
|
# Pricing
|
|
776
902
|
#########################
|
|
777
903
|
|
|
778
|
-
def get_pricing(
|
|
904
|
+
def get_pricing(
|
|
905
|
+
self,
|
|
906
|
+
id: str,
|
|
907
|
+
*,
|
|
908
|
+
account: Optional[str] = None,
|
|
909
|
+
deployment_region: Optional[str] = None,
|
|
910
|
+
**kwargs,
|
|
911
|
+
) -> DetailedResponse:
|
|
779
912
|
"""
|
|
780
913
|
Get the pricing for an object.
|
|
781
914
|
|
|
@@ -788,32 +921,104 @@ class GlobalCatalogV1(BaseService):
|
|
|
788
921
|
regardless of the authorization header. Example scopes are `account` and
|
|
789
922
|
`global`. `account=global` is reqired if operating with a service ID that
|
|
790
923
|
has a global admin policy, for example `GET /?account=global`.
|
|
924
|
+
:param str deployment_region: (optional) Specify a region to retrieve plan
|
|
925
|
+
pricing for a global deployment. The value must match an entry in the
|
|
926
|
+
`deployment_regions` list.
|
|
791
927
|
:param dict headers: A `dict` containing the request headers
|
|
792
928
|
:return: A `DetailedResponse` containing the result, headers and HTTP status code.
|
|
793
929
|
:rtype: DetailedResponse with `dict` result representing a `PricingGet` object
|
|
794
930
|
"""
|
|
795
931
|
|
|
796
|
-
if id
|
|
932
|
+
if not id:
|
|
797
933
|
raise ValueError('id must be provided')
|
|
798
934
|
headers = {}
|
|
799
935
|
sdk_headers = get_sdk_headers(
|
|
800
|
-
service_name=self.DEFAULT_SERVICE_NAME,
|
|
936
|
+
service_name=self.DEFAULT_SERVICE_NAME,
|
|
937
|
+
service_version='V1',
|
|
938
|
+
operation_id='get_pricing',
|
|
801
939
|
)
|
|
802
940
|
headers.update(sdk_headers)
|
|
803
941
|
|
|
804
|
-
params = {
|
|
942
|
+
params = {
|
|
943
|
+
'account': account,
|
|
944
|
+
'deployment_region': deployment_region,
|
|
945
|
+
}
|
|
805
946
|
|
|
806
947
|
if 'headers' in kwargs:
|
|
807
948
|
headers.update(kwargs.get('headers'))
|
|
949
|
+
del kwargs['headers']
|
|
808
950
|
headers['Accept'] = 'application/json'
|
|
809
951
|
|
|
810
952
|
path_param_keys = ['id']
|
|
811
953
|
path_param_values = self.encode_path_vars(id)
|
|
812
954
|
path_param_dict = dict(zip(path_param_keys, path_param_values))
|
|
813
955
|
url = '/{id}/pricing'.format(**path_param_dict)
|
|
814
|
-
request = self.prepare_request(
|
|
956
|
+
request = self.prepare_request(
|
|
957
|
+
method='GET',
|
|
958
|
+
url=url,
|
|
959
|
+
headers=headers,
|
|
960
|
+
params=params,
|
|
961
|
+
)
|
|
815
962
|
|
|
816
|
-
response = self.send(request)
|
|
963
|
+
response = self.send(request, **kwargs)
|
|
964
|
+
return response
|
|
965
|
+
|
|
966
|
+
def get_pricing_deployments(
|
|
967
|
+
self,
|
|
968
|
+
id: str,
|
|
969
|
+
*,
|
|
970
|
+
account: Optional[str] = None,
|
|
971
|
+
**kwargs,
|
|
972
|
+
) -> DetailedResponse:
|
|
973
|
+
"""
|
|
974
|
+
Get the pricing deployments for a plan.
|
|
975
|
+
|
|
976
|
+
This endpoint returns the deployment pricing for a plan. For a plan it returns a
|
|
977
|
+
pricing for each visible child deployment object. Static pricing is defined in the
|
|
978
|
+
catalog. Dynamic pricing is stored in IBM Cloud Pricing Catalog. This can be used
|
|
979
|
+
by an unauthenticated user for publicly available services.
|
|
980
|
+
|
|
981
|
+
:param str id: The object's unique ID.
|
|
982
|
+
:param str account: (optional) This changes the scope of the request
|
|
983
|
+
regardless of the authorization header. Example scopes are `account` and
|
|
984
|
+
`global`. `account=global` is reqired if operating with a service ID that
|
|
985
|
+
has a global admin policy, for example `GET /?account=global`.
|
|
986
|
+
:param dict headers: A `dict` containing the request headers
|
|
987
|
+
:return: A `DetailedResponse` containing the result, headers and HTTP status code.
|
|
988
|
+
:rtype: DetailedResponse with `dict` result representing a `PricingSearchResult` object
|
|
989
|
+
"""
|
|
990
|
+
|
|
991
|
+
if not id:
|
|
992
|
+
raise ValueError('id must be provided')
|
|
993
|
+
headers = {}
|
|
994
|
+
sdk_headers = get_sdk_headers(
|
|
995
|
+
service_name=self.DEFAULT_SERVICE_NAME,
|
|
996
|
+
service_version='V1',
|
|
997
|
+
operation_id='get_pricing_deployments',
|
|
998
|
+
)
|
|
999
|
+
headers.update(sdk_headers)
|
|
1000
|
+
|
|
1001
|
+
params = {
|
|
1002
|
+
'account': account,
|
|
1003
|
+
}
|
|
1004
|
+
|
|
1005
|
+
if 'headers' in kwargs:
|
|
1006
|
+
headers.update(kwargs.get('headers'))
|
|
1007
|
+
del kwargs['headers']
|
|
1008
|
+
headers['Accept'] = 'application/json'
|
|
1009
|
+
|
|
1010
|
+
path_param_keys = ['id']
|
|
1011
|
+
path_param_values = self.encode_path_vars(id)
|
|
1012
|
+
path_param_dict = dict(zip(path_param_keys, path_param_values))
|
|
1013
|
+
url = '/{id}/pricing/deployment'.format(**path_param_dict)
|
|
1014
|
+
request = self.prepare_request(
|
|
1015
|
+
method='GET',
|
|
1016
|
+
url=url,
|
|
1017
|
+
headers=headers,
|
|
1018
|
+
params=params,
|
|
1019
|
+
)
|
|
1020
|
+
|
|
1021
|
+
response = self.send(request, **kwargs)
|
|
817
1022
|
return response
|
|
818
1023
|
|
|
819
1024
|
#########################
|
|
@@ -824,11 +1029,11 @@ class GlobalCatalogV1(BaseService):
|
|
|
824
1029
|
self,
|
|
825
1030
|
id: str,
|
|
826
1031
|
*,
|
|
827
|
-
account: str = None,
|
|
828
|
-
ascending: str = None,
|
|
829
|
-
startat: str = None,
|
|
830
|
-
offset: int = None,
|
|
831
|
-
limit: int = None,
|
|
1032
|
+
account: Optional[str] = None,
|
|
1033
|
+
ascending: Optional[str] = None,
|
|
1034
|
+
startat: Optional[str] = None,
|
|
1035
|
+
offset: Optional[int] = None,
|
|
1036
|
+
limit: Optional[int] = None,
|
|
832
1037
|
**kwargs,
|
|
833
1038
|
) -> DetailedResponse:
|
|
834
1039
|
"""
|
|
@@ -859,34 +1064,54 @@ class GlobalCatalogV1(BaseService):
|
|
|
859
1064
|
:rtype: DetailedResponse with `dict` result representing a `AuditSearchResult` object
|
|
860
1065
|
"""
|
|
861
1066
|
|
|
862
|
-
if id
|
|
1067
|
+
if not id:
|
|
863
1068
|
raise ValueError('id must be provided')
|
|
864
1069
|
headers = {}
|
|
865
1070
|
sdk_headers = get_sdk_headers(
|
|
866
|
-
service_name=self.DEFAULT_SERVICE_NAME,
|
|
1071
|
+
service_name=self.DEFAULT_SERVICE_NAME,
|
|
1072
|
+
service_version='V1',
|
|
1073
|
+
operation_id='get_audit_logs',
|
|
867
1074
|
)
|
|
868
1075
|
headers.update(sdk_headers)
|
|
869
1076
|
|
|
870
|
-
params = {
|
|
1077
|
+
params = {
|
|
1078
|
+
'account': account,
|
|
1079
|
+
'ascending': ascending,
|
|
1080
|
+
'startat': startat,
|
|
1081
|
+
'_offset': offset,
|
|
1082
|
+
'_limit': limit,
|
|
1083
|
+
}
|
|
871
1084
|
|
|
872
1085
|
if 'headers' in kwargs:
|
|
873
1086
|
headers.update(kwargs.get('headers'))
|
|
1087
|
+
del kwargs['headers']
|
|
874
1088
|
headers['Accept'] = 'application/json'
|
|
875
1089
|
|
|
876
1090
|
path_param_keys = ['id']
|
|
877
1091
|
path_param_values = self.encode_path_vars(id)
|
|
878
1092
|
path_param_dict = dict(zip(path_param_keys, path_param_values))
|
|
879
1093
|
url = '/{id}/logs'.format(**path_param_dict)
|
|
880
|
-
request = self.prepare_request(
|
|
1094
|
+
request = self.prepare_request(
|
|
1095
|
+
method='GET',
|
|
1096
|
+
url=url,
|
|
1097
|
+
headers=headers,
|
|
1098
|
+
params=params,
|
|
1099
|
+
)
|
|
881
1100
|
|
|
882
|
-
response = self.send(request)
|
|
1101
|
+
response = self.send(request, **kwargs)
|
|
883
1102
|
return response
|
|
884
1103
|
|
|
885
1104
|
#########################
|
|
886
1105
|
# Artifact
|
|
887
1106
|
#########################
|
|
888
1107
|
|
|
889
|
-
def list_artifacts(
|
|
1108
|
+
def list_artifacts(
|
|
1109
|
+
self,
|
|
1110
|
+
object_id: str,
|
|
1111
|
+
*,
|
|
1112
|
+
account: Optional[str] = None,
|
|
1113
|
+
**kwargs,
|
|
1114
|
+
) -> DetailedResponse:
|
|
890
1115
|
"""
|
|
891
1116
|
Get artifacts.
|
|
892
1117
|
|
|
@@ -902,30 +1127,47 @@ class GlobalCatalogV1(BaseService):
|
|
|
902
1127
|
:rtype: DetailedResponse with `dict` result representing a `Artifacts` object
|
|
903
1128
|
"""
|
|
904
1129
|
|
|
905
|
-
if object_id
|
|
1130
|
+
if not object_id:
|
|
906
1131
|
raise ValueError('object_id must be provided')
|
|
907
1132
|
headers = {}
|
|
908
1133
|
sdk_headers = get_sdk_headers(
|
|
909
|
-
service_name=self.DEFAULT_SERVICE_NAME,
|
|
1134
|
+
service_name=self.DEFAULT_SERVICE_NAME,
|
|
1135
|
+
service_version='V1',
|
|
1136
|
+
operation_id='list_artifacts',
|
|
910
1137
|
)
|
|
911
1138
|
headers.update(sdk_headers)
|
|
912
1139
|
|
|
913
|
-
params = {
|
|
1140
|
+
params = {
|
|
1141
|
+
'account': account,
|
|
1142
|
+
}
|
|
914
1143
|
|
|
915
1144
|
if 'headers' in kwargs:
|
|
916
1145
|
headers.update(kwargs.get('headers'))
|
|
1146
|
+
del kwargs['headers']
|
|
917
1147
|
headers['Accept'] = 'application/json'
|
|
918
1148
|
|
|
919
1149
|
path_param_keys = ['object_id']
|
|
920
1150
|
path_param_values = self.encode_path_vars(object_id)
|
|
921
1151
|
path_param_dict = dict(zip(path_param_keys, path_param_values))
|
|
922
1152
|
url = '/{object_id}/artifacts'.format(**path_param_dict)
|
|
923
|
-
request = self.prepare_request(
|
|
1153
|
+
request = self.prepare_request(
|
|
1154
|
+
method='GET',
|
|
1155
|
+
url=url,
|
|
1156
|
+
headers=headers,
|
|
1157
|
+
params=params,
|
|
1158
|
+
)
|
|
924
1159
|
|
|
925
|
-
response = self.send(request)
|
|
1160
|
+
response = self.send(request, **kwargs)
|
|
926
1161
|
return response
|
|
927
1162
|
|
|
928
|
-
def get_artifact(
|
|
1163
|
+
def get_artifact(
|
|
1164
|
+
self,
|
|
1165
|
+
object_id: str,
|
|
1166
|
+
artifact_id: str,
|
|
1167
|
+
*,
|
|
1168
|
+
account: Optional[str] = None,
|
|
1169
|
+
**kwargs,
|
|
1170
|
+
) -> DetailedResponse:
|
|
929
1171
|
"""
|
|
930
1172
|
Get artifact.
|
|
931
1173
|
|
|
@@ -942,29 +1184,39 @@ class GlobalCatalogV1(BaseService):
|
|
|
942
1184
|
:rtype: DetailedResponse with `BinaryIO` result
|
|
943
1185
|
"""
|
|
944
1186
|
|
|
945
|
-
if object_id
|
|
1187
|
+
if not object_id:
|
|
946
1188
|
raise ValueError('object_id must be provided')
|
|
947
|
-
if artifact_id
|
|
1189
|
+
if not artifact_id:
|
|
948
1190
|
raise ValueError('artifact_id must be provided')
|
|
949
1191
|
headers = {}
|
|
950
1192
|
sdk_headers = get_sdk_headers(
|
|
951
|
-
service_name=self.DEFAULT_SERVICE_NAME,
|
|
1193
|
+
service_name=self.DEFAULT_SERVICE_NAME,
|
|
1194
|
+
service_version='V1',
|
|
1195
|
+
operation_id='get_artifact',
|
|
952
1196
|
)
|
|
953
1197
|
headers.update(sdk_headers)
|
|
954
1198
|
|
|
955
|
-
params = {
|
|
1199
|
+
params = {
|
|
1200
|
+
'account': account,
|
|
1201
|
+
}
|
|
956
1202
|
|
|
957
1203
|
if 'headers' in kwargs:
|
|
958
1204
|
headers.update(kwargs.get('headers'))
|
|
1205
|
+
del kwargs['headers']
|
|
959
1206
|
headers['Accept'] = '*/*'
|
|
960
1207
|
|
|
961
1208
|
path_param_keys = ['object_id', 'artifact_id']
|
|
962
1209
|
path_param_values = self.encode_path_vars(object_id, artifact_id)
|
|
963
1210
|
path_param_dict = dict(zip(path_param_keys, path_param_values))
|
|
964
1211
|
url = '/{object_id}/artifacts/{artifact_id}'.format(**path_param_dict)
|
|
965
|
-
request = self.prepare_request(
|
|
1212
|
+
request = self.prepare_request(
|
|
1213
|
+
method='GET',
|
|
1214
|
+
url=url,
|
|
1215
|
+
headers=headers,
|
|
1216
|
+
params=params,
|
|
1217
|
+
)
|
|
966
1218
|
|
|
967
|
-
response = self.send(request)
|
|
1219
|
+
response = self.send(request, **kwargs)
|
|
968
1220
|
return response
|
|
969
1221
|
|
|
970
1222
|
def upload_artifact(
|
|
@@ -972,9 +1224,9 @@ class GlobalCatalogV1(BaseService):
|
|
|
972
1224
|
object_id: str,
|
|
973
1225
|
artifact_id: str,
|
|
974
1226
|
*,
|
|
975
|
-
artifact: BinaryIO = None,
|
|
976
|
-
content_type: str = None,
|
|
977
|
-
account: str = None,
|
|
1227
|
+
artifact: Optional[BinaryIO] = None,
|
|
1228
|
+
content_type: Optional[str] = None,
|
|
1229
|
+
account: Optional[str] = None,
|
|
978
1230
|
**kwargs,
|
|
979
1231
|
) -> DetailedResponse:
|
|
980
1232
|
"""
|
|
@@ -996,33 +1248,53 @@ class GlobalCatalogV1(BaseService):
|
|
|
996
1248
|
:rtype: DetailedResponse
|
|
997
1249
|
"""
|
|
998
1250
|
|
|
999
|
-
if object_id
|
|
1251
|
+
if not object_id:
|
|
1000
1252
|
raise ValueError('object_id must be provided')
|
|
1001
|
-
if artifact_id
|
|
1253
|
+
if not artifact_id:
|
|
1002
1254
|
raise ValueError('artifact_id must be provided')
|
|
1003
|
-
headers = {
|
|
1255
|
+
headers = {
|
|
1256
|
+
'Content-Type': content_type,
|
|
1257
|
+
}
|
|
1004
1258
|
sdk_headers = get_sdk_headers(
|
|
1005
|
-
service_name=self.DEFAULT_SERVICE_NAME,
|
|
1259
|
+
service_name=self.DEFAULT_SERVICE_NAME,
|
|
1260
|
+
service_version='V1',
|
|
1261
|
+
operation_id='upload_artifact',
|
|
1006
1262
|
)
|
|
1007
1263
|
headers.update(sdk_headers)
|
|
1008
1264
|
|
|
1009
|
-
params = {
|
|
1265
|
+
params = {
|
|
1266
|
+
'account': account,
|
|
1267
|
+
}
|
|
1010
1268
|
|
|
1011
1269
|
data = artifact
|
|
1012
1270
|
|
|
1013
1271
|
if 'headers' in kwargs:
|
|
1014
1272
|
headers.update(kwargs.get('headers'))
|
|
1273
|
+
del kwargs['headers']
|
|
1015
1274
|
|
|
1016
1275
|
path_param_keys = ['object_id', 'artifact_id']
|
|
1017
1276
|
path_param_values = self.encode_path_vars(object_id, artifact_id)
|
|
1018
1277
|
path_param_dict = dict(zip(path_param_keys, path_param_values))
|
|
1019
1278
|
url = '/{object_id}/artifacts/{artifact_id}'.format(**path_param_dict)
|
|
1020
|
-
request = self.prepare_request(
|
|
1279
|
+
request = self.prepare_request(
|
|
1280
|
+
method='PUT',
|
|
1281
|
+
url=url,
|
|
1282
|
+
headers=headers,
|
|
1283
|
+
params=params,
|
|
1284
|
+
data=data,
|
|
1285
|
+
)
|
|
1021
1286
|
|
|
1022
|
-
response = self.send(request)
|
|
1287
|
+
response = self.send(request, **kwargs)
|
|
1023
1288
|
return response
|
|
1024
1289
|
|
|
1025
|
-
def delete_artifact(
|
|
1290
|
+
def delete_artifact(
|
|
1291
|
+
self,
|
|
1292
|
+
object_id: str,
|
|
1293
|
+
artifact_id: str,
|
|
1294
|
+
*,
|
|
1295
|
+
account: Optional[str] = None,
|
|
1296
|
+
**kwargs,
|
|
1297
|
+
) -> DetailedResponse:
|
|
1026
1298
|
"""
|
|
1027
1299
|
Delete artifact.
|
|
1028
1300
|
|
|
@@ -1040,28 +1312,38 @@ class GlobalCatalogV1(BaseService):
|
|
|
1040
1312
|
:rtype: DetailedResponse
|
|
1041
1313
|
"""
|
|
1042
1314
|
|
|
1043
|
-
if object_id
|
|
1315
|
+
if not object_id:
|
|
1044
1316
|
raise ValueError('object_id must be provided')
|
|
1045
|
-
if artifact_id
|
|
1317
|
+
if not artifact_id:
|
|
1046
1318
|
raise ValueError('artifact_id must be provided')
|
|
1047
1319
|
headers = {}
|
|
1048
1320
|
sdk_headers = get_sdk_headers(
|
|
1049
|
-
service_name=self.DEFAULT_SERVICE_NAME,
|
|
1321
|
+
service_name=self.DEFAULT_SERVICE_NAME,
|
|
1322
|
+
service_version='V1',
|
|
1323
|
+
operation_id='delete_artifact',
|
|
1050
1324
|
)
|
|
1051
1325
|
headers.update(sdk_headers)
|
|
1052
1326
|
|
|
1053
|
-
params = {
|
|
1327
|
+
params = {
|
|
1328
|
+
'account': account,
|
|
1329
|
+
}
|
|
1054
1330
|
|
|
1055
1331
|
if 'headers' in kwargs:
|
|
1056
1332
|
headers.update(kwargs.get('headers'))
|
|
1333
|
+
del kwargs['headers']
|
|
1057
1334
|
|
|
1058
1335
|
path_param_keys = ['object_id', 'artifact_id']
|
|
1059
1336
|
path_param_values = self.encode_path_vars(object_id, artifact_id)
|
|
1060
1337
|
path_param_dict = dict(zip(path_param_keys, path_param_values))
|
|
1061
1338
|
url = '/{object_id}/artifacts/{artifact_id}'.format(**path_param_dict)
|
|
1062
|
-
request = self.prepare_request(
|
|
1339
|
+
request = self.prepare_request(
|
|
1340
|
+
method='DELETE',
|
|
1341
|
+
url=url,
|
|
1342
|
+
headers=headers,
|
|
1343
|
+
params=params,
|
|
1344
|
+
)
|
|
1063
1345
|
|
|
1064
|
-
response = self.send(request)
|
|
1346
|
+
response = self.send(request, **kwargs)
|
|
1065
1347
|
return response
|
|
1066
1348
|
|
|
1067
1349
|
|
|
@@ -1074,12 +1356,17 @@ class AliasMetaData:
|
|
|
1074
1356
|
"""
|
|
1075
1357
|
Alias-related metadata.
|
|
1076
1358
|
|
|
1077
|
-
:
|
|
1078
|
-
:
|
|
1359
|
+
:param str type: (optional) Type of alias.
|
|
1360
|
+
:param str plan_id: (optional) Points to the plan that this object is an alias
|
|
1079
1361
|
for.
|
|
1080
1362
|
"""
|
|
1081
1363
|
|
|
1082
|
-
def __init__(
|
|
1364
|
+
def __init__(
|
|
1365
|
+
self,
|
|
1366
|
+
*,
|
|
1367
|
+
type: Optional[str] = None,
|
|
1368
|
+
plan_id: Optional[str] = None,
|
|
1369
|
+
) -> None:
|
|
1083
1370
|
"""
|
|
1084
1371
|
Initialize a AliasMetaData object.
|
|
1085
1372
|
|
|
@@ -1094,10 +1381,10 @@ class AliasMetaData:
|
|
|
1094
1381
|
def from_dict(cls, _dict: Dict) -> 'AliasMetaData':
|
|
1095
1382
|
"""Initialize a AliasMetaData object from a json dictionary."""
|
|
1096
1383
|
args = {}
|
|
1097
|
-
if 'type'
|
|
1098
|
-
args['type'] =
|
|
1099
|
-
if 'plan_id'
|
|
1100
|
-
args['plan_id'] =
|
|
1384
|
+
if (type := _dict.get('type')) is not None:
|
|
1385
|
+
args['type'] = type
|
|
1386
|
+
if (plan_id := _dict.get('plan_id')) is not None:
|
|
1387
|
+
args['plan_id'] = plan_id
|
|
1101
1388
|
return cls(**args)
|
|
1102
1389
|
|
|
1103
1390
|
@classmethod
|
|
@@ -1137,12 +1424,18 @@ class Amount:
|
|
|
1137
1424
|
"""
|
|
1138
1425
|
Country-specific pricing information.
|
|
1139
1426
|
|
|
1140
|
-
:
|
|
1141
|
-
:
|
|
1142
|
-
:
|
|
1427
|
+
:param str country: (optional) Country.
|
|
1428
|
+
:param str currency: (optional) Currency.
|
|
1429
|
+
:param List[Price] prices: (optional) See Price for nested fields.
|
|
1143
1430
|
"""
|
|
1144
1431
|
|
|
1145
|
-
def __init__(
|
|
1432
|
+
def __init__(
|
|
1433
|
+
self,
|
|
1434
|
+
*,
|
|
1435
|
+
country: Optional[str] = None,
|
|
1436
|
+
currency: Optional[str] = None,
|
|
1437
|
+
prices: Optional[List['Price']] = None,
|
|
1438
|
+
) -> None:
|
|
1146
1439
|
"""
|
|
1147
1440
|
Initialize a Amount object.
|
|
1148
1441
|
|
|
@@ -1158,12 +1451,12 @@ class Amount:
|
|
|
1158
1451
|
def from_dict(cls, _dict: Dict) -> 'Amount':
|
|
1159
1452
|
"""Initialize a Amount object from a json dictionary."""
|
|
1160
1453
|
args = {}
|
|
1161
|
-
if 'country'
|
|
1162
|
-
args['country'] =
|
|
1163
|
-
if 'currency'
|
|
1164
|
-
args['currency'] =
|
|
1165
|
-
if 'prices'
|
|
1166
|
-
args['prices'] = [Price.from_dict(
|
|
1454
|
+
if (country := _dict.get('country')) is not None:
|
|
1455
|
+
args['country'] = country
|
|
1456
|
+
if (currency := _dict.get('currency')) is not None:
|
|
1457
|
+
args['currency'] = currency
|
|
1458
|
+
if (prices := _dict.get('prices')) is not None:
|
|
1459
|
+
args['prices'] = [Price.from_dict(v) for v in prices]
|
|
1167
1460
|
return cls(**args)
|
|
1168
1461
|
|
|
1169
1462
|
@classmethod
|
|
@@ -1179,7 +1472,13 @@ class Amount:
|
|
|
1179
1472
|
if hasattr(self, 'currency') and self.currency is not None:
|
|
1180
1473
|
_dict['currency'] = self.currency
|
|
1181
1474
|
if hasattr(self, 'prices') and self.prices is not None:
|
|
1182
|
-
|
|
1475
|
+
prices_list = []
|
|
1476
|
+
for v in self.prices:
|
|
1477
|
+
if isinstance(v, dict):
|
|
1478
|
+
prices_list.append(v)
|
|
1479
|
+
else:
|
|
1480
|
+
prices_list.append(v.to_dict())
|
|
1481
|
+
_dict['prices'] = prices_list
|
|
1183
1482
|
return _dict
|
|
1184
1483
|
|
|
1185
1484
|
def _to_dict(self):
|
|
@@ -1205,16 +1504,22 @@ class Artifact:
|
|
|
1205
1504
|
"""
|
|
1206
1505
|
Artifact Details.
|
|
1207
1506
|
|
|
1208
|
-
:
|
|
1209
|
-
:
|
|
1507
|
+
:param str name: (optional) The name of the artifact.
|
|
1508
|
+
:param datetime updated: (optional) The timestamp of the last update to the
|
|
1210
1509
|
artifact.
|
|
1211
|
-
:
|
|
1212
|
-
:
|
|
1213
|
-
:
|
|
1510
|
+
:param str url: (optional) The url for the artifact.
|
|
1511
|
+
:param str etag: (optional) The etag of the artifact.
|
|
1512
|
+
:param int size: (optional) The content length of the artifact.
|
|
1214
1513
|
"""
|
|
1215
1514
|
|
|
1216
1515
|
def __init__(
|
|
1217
|
-
self,
|
|
1516
|
+
self,
|
|
1517
|
+
*,
|
|
1518
|
+
name: Optional[str] = None,
|
|
1519
|
+
updated: Optional[datetime] = None,
|
|
1520
|
+
url: Optional[str] = None,
|
|
1521
|
+
etag: Optional[str] = None,
|
|
1522
|
+
size: Optional[int] = None,
|
|
1218
1523
|
) -> None:
|
|
1219
1524
|
"""
|
|
1220
1525
|
Initialize a Artifact object.
|
|
@@ -1236,16 +1541,16 @@ class Artifact:
|
|
|
1236
1541
|
def from_dict(cls, _dict: Dict) -> 'Artifact':
|
|
1237
1542
|
"""Initialize a Artifact object from a json dictionary."""
|
|
1238
1543
|
args = {}
|
|
1239
|
-
if 'name'
|
|
1240
|
-
args['name'] =
|
|
1241
|
-
if 'updated'
|
|
1242
|
-
args['updated'] = string_to_datetime(
|
|
1243
|
-
if 'url'
|
|
1244
|
-
args['url'] =
|
|
1245
|
-
if 'etag'
|
|
1246
|
-
args['etag'] =
|
|
1247
|
-
if 'size'
|
|
1248
|
-
args['size'] =
|
|
1544
|
+
if (name := _dict.get('name')) is not None:
|
|
1545
|
+
args['name'] = name
|
|
1546
|
+
if (updated := _dict.get('updated')) is not None:
|
|
1547
|
+
args['updated'] = string_to_datetime(updated)
|
|
1548
|
+
if (url := _dict.get('url')) is not None:
|
|
1549
|
+
args['url'] = url
|
|
1550
|
+
if (etag := _dict.get('etag')) is not None:
|
|
1551
|
+
args['etag'] = etag
|
|
1552
|
+
if (size := _dict.get('size')) is not None:
|
|
1553
|
+
args['size'] = size
|
|
1249
1554
|
return cls(**args)
|
|
1250
1555
|
|
|
1251
1556
|
@classmethod
|
|
@@ -1291,11 +1596,16 @@ class Artifacts:
|
|
|
1291
1596
|
"""
|
|
1292
1597
|
Artifacts List.
|
|
1293
1598
|
|
|
1294
|
-
:
|
|
1295
|
-
:
|
|
1599
|
+
:param int count: (optional) The total number of artifacts.
|
|
1600
|
+
:param List[Artifact] resources: (optional) The list of artifacts.
|
|
1296
1601
|
"""
|
|
1297
1602
|
|
|
1298
|
-
def __init__(
|
|
1603
|
+
def __init__(
|
|
1604
|
+
self,
|
|
1605
|
+
*,
|
|
1606
|
+
count: Optional[int] = None,
|
|
1607
|
+
resources: Optional[List['Artifact']] = None,
|
|
1608
|
+
) -> None:
|
|
1299
1609
|
"""
|
|
1300
1610
|
Initialize a Artifacts object.
|
|
1301
1611
|
|
|
@@ -1309,10 +1619,10 @@ class Artifacts:
|
|
|
1309
1619
|
def from_dict(cls, _dict: Dict) -> 'Artifacts':
|
|
1310
1620
|
"""Initialize a Artifacts object from a json dictionary."""
|
|
1311
1621
|
args = {}
|
|
1312
|
-
if 'count'
|
|
1313
|
-
args['count'] =
|
|
1314
|
-
if 'resources'
|
|
1315
|
-
args['resources'] = [Artifact.from_dict(
|
|
1622
|
+
if (count := _dict.get('count')) is not None:
|
|
1623
|
+
args['count'] = count
|
|
1624
|
+
if (resources := _dict.get('resources')) is not None:
|
|
1625
|
+
args['resources'] = [Artifact.from_dict(v) for v in resources]
|
|
1316
1626
|
return cls(**args)
|
|
1317
1627
|
|
|
1318
1628
|
@classmethod
|
|
@@ -1326,7 +1636,13 @@ class Artifacts:
|
|
|
1326
1636
|
if hasattr(self, 'count') and self.count is not None:
|
|
1327
1637
|
_dict['count'] = self.count
|
|
1328
1638
|
if hasattr(self, 'resources') and self.resources is not None:
|
|
1329
|
-
|
|
1639
|
+
resources_list = []
|
|
1640
|
+
for v in self.resources:
|
|
1641
|
+
if isinstance(v, dict):
|
|
1642
|
+
resources_list.append(v)
|
|
1643
|
+
else:
|
|
1644
|
+
resources_list.append(v.to_dict())
|
|
1645
|
+
_dict['resources'] = resources_list
|
|
1330
1646
|
return _dict
|
|
1331
1647
|
|
|
1332
1648
|
def _to_dict(self):
|
|
@@ -1352,36 +1668,38 @@ class AuditSearchResult:
|
|
|
1352
1668
|
"""
|
|
1353
1669
|
A paginated search result containing audit logs.
|
|
1354
1670
|
|
|
1355
|
-
:
|
|
1356
|
-
page of search results.
|
|
1357
|
-
:
|
|
1671
|
+
:param int offset: (optional) The offset (origin 0) of the first resource in
|
|
1672
|
+
this page of search results.
|
|
1673
|
+
:param int limit: (optional) The maximum number of resources returned in each
|
|
1358
1674
|
page of search results.
|
|
1359
|
-
:
|
|
1675
|
+
:param int count: (optional) The overall total number of resources in the search
|
|
1360
1676
|
result set.
|
|
1361
|
-
:
|
|
1677
|
+
:param int resource_count: (optional) The number of resources returned in this
|
|
1362
1678
|
page of search results.
|
|
1363
|
-
:
|
|
1679
|
+
:param str first: (optional) A URL for retrieving the first page of search
|
|
1364
1680
|
results.
|
|
1365
|
-
:
|
|
1366
|
-
:attr str prev: (optional) A URL for retrieving the previous page of search
|
|
1681
|
+
:param str last: (optional) A URL for retrieving the last page of search
|
|
1367
1682
|
results.
|
|
1368
|
-
:
|
|
1369
|
-
|
|
1683
|
+
:param str prev: (optional) A URL for retrieving the previous page of search
|
|
1684
|
+
results.
|
|
1685
|
+
:param str next: (optional) A URL for retrieving the next page of search
|
|
1686
|
+
results.
|
|
1687
|
+
:param List[Message] resources: (optional) The resources (audit messages)
|
|
1370
1688
|
contained in this page of search results.
|
|
1371
1689
|
"""
|
|
1372
1690
|
|
|
1373
1691
|
def __init__(
|
|
1374
1692
|
self,
|
|
1375
1693
|
*,
|
|
1376
|
-
offset: int = None,
|
|
1377
|
-
limit: int = None,
|
|
1378
|
-
count: int = None,
|
|
1379
|
-
resource_count: int = None,
|
|
1380
|
-
first: str = None,
|
|
1381
|
-
last: str = None,
|
|
1382
|
-
prev: str = None,
|
|
1383
|
-
next: str = None,
|
|
1384
|
-
resources: List['Message'] = None,
|
|
1694
|
+
offset: Optional[int] = None,
|
|
1695
|
+
limit: Optional[int] = None,
|
|
1696
|
+
count: Optional[int] = None,
|
|
1697
|
+
resource_count: Optional[int] = None,
|
|
1698
|
+
first: Optional[str] = None,
|
|
1699
|
+
last: Optional[str] = None,
|
|
1700
|
+
prev: Optional[str] = None,
|
|
1701
|
+
next: Optional[str] = None,
|
|
1702
|
+
resources: Optional[List['Message']] = None,
|
|
1385
1703
|
) -> None:
|
|
1386
1704
|
"""
|
|
1387
1705
|
Initialize a AuditSearchResult object.
|
|
@@ -1419,24 +1737,24 @@ class AuditSearchResult:
|
|
|
1419
1737
|
def from_dict(cls, _dict: Dict) -> 'AuditSearchResult':
|
|
1420
1738
|
"""Initialize a AuditSearchResult object from a json dictionary."""
|
|
1421
1739
|
args = {}
|
|
1422
|
-
if 'offset'
|
|
1423
|
-
args['offset'] =
|
|
1424
|
-
if 'limit'
|
|
1425
|
-
args['limit'] =
|
|
1426
|
-
if 'count'
|
|
1427
|
-
args['count'] =
|
|
1428
|
-
if 'resource_count'
|
|
1429
|
-
args['resource_count'] =
|
|
1430
|
-
if 'first'
|
|
1431
|
-
args['first'] =
|
|
1432
|
-
if 'last'
|
|
1433
|
-
args['last'] =
|
|
1434
|
-
if 'prev'
|
|
1435
|
-
args['prev'] =
|
|
1436
|
-
if 'next'
|
|
1437
|
-
args['next'] =
|
|
1438
|
-
if 'resources'
|
|
1439
|
-
args['resources'] = [Message.from_dict(
|
|
1740
|
+
if (offset := _dict.get('offset')) is not None:
|
|
1741
|
+
args['offset'] = offset
|
|
1742
|
+
if (limit := _dict.get('limit')) is not None:
|
|
1743
|
+
args['limit'] = limit
|
|
1744
|
+
if (count := _dict.get('count')) is not None:
|
|
1745
|
+
args['count'] = count
|
|
1746
|
+
if (resource_count := _dict.get('resource_count')) is not None:
|
|
1747
|
+
args['resource_count'] = resource_count
|
|
1748
|
+
if (first := _dict.get('first')) is not None:
|
|
1749
|
+
args['first'] = first
|
|
1750
|
+
if (last := _dict.get('last')) is not None:
|
|
1751
|
+
args['last'] = last
|
|
1752
|
+
if (prev := _dict.get('prev')) is not None:
|
|
1753
|
+
args['prev'] = prev
|
|
1754
|
+
if (next := _dict.get('next')) is not None:
|
|
1755
|
+
args['next'] = next
|
|
1756
|
+
if (resources := _dict.get('resources')) is not None:
|
|
1757
|
+
args['resources'] = [Message.from_dict(v) for v in resources]
|
|
1440
1758
|
return cls(**args)
|
|
1441
1759
|
|
|
1442
1760
|
@classmethod
|
|
@@ -1464,7 +1782,13 @@ class AuditSearchResult:
|
|
|
1464
1782
|
if hasattr(self, 'next') and self.next is not None:
|
|
1465
1783
|
_dict['next'] = self.next
|
|
1466
1784
|
if hasattr(self, 'resources') and self.resources is not None:
|
|
1467
|
-
|
|
1785
|
+
resources_list = []
|
|
1786
|
+
for v in self.resources:
|
|
1787
|
+
if isinstance(v, dict):
|
|
1788
|
+
resources_list.append(v)
|
|
1789
|
+
else:
|
|
1790
|
+
resources_list.append(v.to_dict())
|
|
1791
|
+
_dict['resources'] = resources_list
|
|
1468
1792
|
return _dict
|
|
1469
1793
|
|
|
1470
1794
|
def _to_dict(self):
|
|
@@ -1490,11 +1814,16 @@ class Broker:
|
|
|
1490
1814
|
"""
|
|
1491
1815
|
The broker associated with a catalog entry.
|
|
1492
1816
|
|
|
1493
|
-
:
|
|
1494
|
-
:
|
|
1817
|
+
:param str name: (optional) Broker name.
|
|
1818
|
+
:param str guid: (optional) Broker guid.
|
|
1495
1819
|
"""
|
|
1496
1820
|
|
|
1497
|
-
def __init__(
|
|
1821
|
+
def __init__(
|
|
1822
|
+
self,
|
|
1823
|
+
*,
|
|
1824
|
+
name: Optional[str] = None,
|
|
1825
|
+
guid: Optional[str] = None,
|
|
1826
|
+
) -> None:
|
|
1498
1827
|
"""
|
|
1499
1828
|
Initialize a Broker object.
|
|
1500
1829
|
|
|
@@ -1508,10 +1837,10 @@ class Broker:
|
|
|
1508
1837
|
def from_dict(cls, _dict: Dict) -> 'Broker':
|
|
1509
1838
|
"""Initialize a Broker object from a json dictionary."""
|
|
1510
1839
|
args = {}
|
|
1511
|
-
if 'name'
|
|
1512
|
-
args['name'] =
|
|
1513
|
-
if 'guid'
|
|
1514
|
-
args['guid'] =
|
|
1840
|
+
if (name := _dict.get('name')) is not None:
|
|
1841
|
+
args['name'] = name
|
|
1842
|
+
if (guid := _dict.get('guid')) is not None:
|
|
1843
|
+
args['guid'] = guid
|
|
1515
1844
|
return cls(**args)
|
|
1516
1845
|
|
|
1517
1846
|
@classmethod
|
|
@@ -1551,13 +1880,20 @@ class Bullets:
|
|
|
1551
1880
|
"""
|
|
1552
1881
|
Information related to list delimiters.
|
|
1553
1882
|
|
|
1554
|
-
:
|
|
1555
|
-
:
|
|
1556
|
-
:
|
|
1557
|
-
:
|
|
1883
|
+
:param str title: (optional) The bullet title.
|
|
1884
|
+
:param str description: (optional) The bullet description.
|
|
1885
|
+
:param str icon: (optional) The icon to use for rendering the bullet.
|
|
1886
|
+
:param int quantity: (optional) The bullet quantity.
|
|
1558
1887
|
"""
|
|
1559
1888
|
|
|
1560
|
-
def __init__(
|
|
1889
|
+
def __init__(
|
|
1890
|
+
self,
|
|
1891
|
+
*,
|
|
1892
|
+
title: Optional[str] = None,
|
|
1893
|
+
description: Optional[str] = None,
|
|
1894
|
+
icon: Optional[str] = None,
|
|
1895
|
+
quantity: Optional[int] = None,
|
|
1896
|
+
) -> None:
|
|
1561
1897
|
"""
|
|
1562
1898
|
Initialize a Bullets object.
|
|
1563
1899
|
|
|
@@ -1575,14 +1911,14 @@ class Bullets:
|
|
|
1575
1911
|
def from_dict(cls, _dict: Dict) -> 'Bullets':
|
|
1576
1912
|
"""Initialize a Bullets object from a json dictionary."""
|
|
1577
1913
|
args = {}
|
|
1578
|
-
if 'title'
|
|
1579
|
-
args['title'] =
|
|
1580
|
-
if 'description'
|
|
1581
|
-
args['description'] =
|
|
1582
|
-
if 'icon'
|
|
1583
|
-
args['icon'] =
|
|
1584
|
-
if 'quantity'
|
|
1585
|
-
args['quantity'] =
|
|
1914
|
+
if (title := _dict.get('title')) is not None:
|
|
1915
|
+
args['title'] = title
|
|
1916
|
+
if (description := _dict.get('description')) is not None:
|
|
1917
|
+
args['description'] = description
|
|
1918
|
+
if (icon := _dict.get('icon')) is not None:
|
|
1919
|
+
args['icon'] = icon
|
|
1920
|
+
if (quantity := _dict.get('quantity')) is not None:
|
|
1921
|
+
args['quantity'] = quantity
|
|
1586
1922
|
return cls(**args)
|
|
1587
1923
|
|
|
1588
1924
|
@classmethod
|
|
@@ -1626,31 +1962,31 @@ class CFMetaData:
|
|
|
1626
1962
|
"""
|
|
1627
1963
|
Service-related metadata.
|
|
1628
1964
|
|
|
1629
|
-
:
|
|
1630
|
-
:
|
|
1965
|
+
:param str type: (optional) Type of service.
|
|
1966
|
+
:param bool iam_compatible: (optional) Boolean value that describes whether the
|
|
1631
1967
|
service is compatible with Identity and Access Management.
|
|
1632
|
-
:
|
|
1968
|
+
:param bool unique_api_key: (optional) Boolean value that describes whether the
|
|
1633
1969
|
service has a unique API key.
|
|
1634
|
-
:
|
|
1970
|
+
:param bool provisionable: (optional) Boolean value that describes whether the
|
|
1635
1971
|
service is provisionable or not. You may need sales or support to create this
|
|
1636
1972
|
service.
|
|
1637
|
-
:
|
|
1973
|
+
:param bool bindable: (optional) Boolean value that describes whether you can
|
|
1638
1974
|
create bindings for this service.
|
|
1639
|
-
:
|
|
1640
|
-
whether the service supports asynchronous provisioning.
|
|
1641
|
-
:
|
|
1975
|
+
:param bool async_provisioning_supported: (optional) Boolean value that
|
|
1976
|
+
describes whether the service supports asynchronous provisioning.
|
|
1977
|
+
:param bool async_unprovisioning_supported: (optional) Boolean value that
|
|
1642
1978
|
describes whether the service supports asynchronous unprovisioning.
|
|
1643
|
-
:
|
|
1644
|
-
:
|
|
1979
|
+
:param List[str] requires: (optional) Service dependencies.
|
|
1980
|
+
:param bool plan_updateable: (optional) Boolean value that describes whether the
|
|
1645
1981
|
service supports upgrade or downgrade for some plans.
|
|
1646
|
-
:
|
|
1982
|
+
:param str state: (optional) String that describes whether the service is active
|
|
1647
1983
|
or inactive.
|
|
1648
|
-
:
|
|
1984
|
+
:param bool service_check_enabled: (optional) Boolean value that describes
|
|
1649
1985
|
whether the service check is enabled.
|
|
1650
|
-
:
|
|
1651
|
-
:
|
|
1986
|
+
:param int test_check_interval: (optional) Test check interval.
|
|
1987
|
+
:param bool service_key_supported: (optional) Boolean value that describes
|
|
1652
1988
|
whether the service supports service keys.
|
|
1653
|
-
:
|
|
1989
|
+
:param dict cf_guid: (optional) If the field is imported from Cloud Foundry, the
|
|
1654
1990
|
Cloud Foundry region's GUID. This is a required field. For example,
|
|
1655
1991
|
`us-south=123`.
|
|
1656
1992
|
"""
|
|
@@ -1658,20 +1994,20 @@ class CFMetaData:
|
|
|
1658
1994
|
def __init__(
|
|
1659
1995
|
self,
|
|
1660
1996
|
*,
|
|
1661
|
-
type: str = None,
|
|
1662
|
-
iam_compatible: bool = None,
|
|
1663
|
-
unique_api_key: bool = None,
|
|
1664
|
-
provisionable: bool = None,
|
|
1665
|
-
bindable: bool = None,
|
|
1666
|
-
async_provisioning_supported: bool = None,
|
|
1667
|
-
async_unprovisioning_supported: bool = None,
|
|
1668
|
-
requires: List[str] = None,
|
|
1669
|
-
plan_updateable: bool = None,
|
|
1670
|
-
state: str = None,
|
|
1671
|
-
service_check_enabled: bool = None,
|
|
1672
|
-
test_check_interval: int = None,
|
|
1673
|
-
service_key_supported: bool = None,
|
|
1674
|
-
cf_guid: dict = None,
|
|
1997
|
+
type: Optional[str] = None,
|
|
1998
|
+
iam_compatible: Optional[bool] = None,
|
|
1999
|
+
unique_api_key: Optional[bool] = None,
|
|
2000
|
+
provisionable: Optional[bool] = None,
|
|
2001
|
+
bindable: Optional[bool] = None,
|
|
2002
|
+
async_provisioning_supported: Optional[bool] = None,
|
|
2003
|
+
async_unprovisioning_supported: Optional[bool] = None,
|
|
2004
|
+
requires: Optional[List[str]] = None,
|
|
2005
|
+
plan_updateable: Optional[bool] = None,
|
|
2006
|
+
state: Optional[str] = None,
|
|
2007
|
+
service_check_enabled: Optional[bool] = None,
|
|
2008
|
+
test_check_interval: Optional[int] = None,
|
|
2009
|
+
service_key_supported: Optional[bool] = None,
|
|
2010
|
+
cf_guid: Optional[dict] = None,
|
|
1675
2011
|
) -> None:
|
|
1676
2012
|
"""
|
|
1677
2013
|
Initialize a CFMetaData object.
|
|
@@ -1723,34 +2059,34 @@ class CFMetaData:
|
|
|
1723
2059
|
def from_dict(cls, _dict: Dict) -> 'CFMetaData':
|
|
1724
2060
|
"""Initialize a CFMetaData object from a json dictionary."""
|
|
1725
2061
|
args = {}
|
|
1726
|
-
if 'type'
|
|
1727
|
-
args['type'] =
|
|
1728
|
-
if 'iam_compatible'
|
|
1729
|
-
args['iam_compatible'] =
|
|
1730
|
-
if 'unique_api_key'
|
|
1731
|
-
args['unique_api_key'] =
|
|
1732
|
-
if 'provisionable'
|
|
1733
|
-
args['provisionable'] =
|
|
1734
|
-
if 'bindable'
|
|
1735
|
-
args['bindable'] =
|
|
1736
|
-
if 'async_provisioning_supported'
|
|
1737
|
-
args['async_provisioning_supported'] =
|
|
1738
|
-
if 'async_unprovisioning_supported'
|
|
1739
|
-
args['async_unprovisioning_supported'] =
|
|
1740
|
-
if 'requires'
|
|
1741
|
-
args['requires'] =
|
|
1742
|
-
if 'plan_updateable'
|
|
1743
|
-
args['plan_updateable'] =
|
|
1744
|
-
if 'state'
|
|
1745
|
-
args['state'] =
|
|
1746
|
-
if 'service_check_enabled'
|
|
1747
|
-
args['service_check_enabled'] =
|
|
1748
|
-
if 'test_check_interval'
|
|
1749
|
-
args['test_check_interval'] =
|
|
1750
|
-
if 'service_key_supported'
|
|
1751
|
-
args['service_key_supported'] =
|
|
1752
|
-
if 'cf_guid'
|
|
1753
|
-
args['cf_guid'] =
|
|
2062
|
+
if (type := _dict.get('type')) is not None:
|
|
2063
|
+
args['type'] = type
|
|
2064
|
+
if (iam_compatible := _dict.get('iam_compatible')) is not None:
|
|
2065
|
+
args['iam_compatible'] = iam_compatible
|
|
2066
|
+
if (unique_api_key := _dict.get('unique_api_key')) is not None:
|
|
2067
|
+
args['unique_api_key'] = unique_api_key
|
|
2068
|
+
if (provisionable := _dict.get('provisionable')) is not None:
|
|
2069
|
+
args['provisionable'] = provisionable
|
|
2070
|
+
if (bindable := _dict.get('bindable')) is not None:
|
|
2071
|
+
args['bindable'] = bindable
|
|
2072
|
+
if (async_provisioning_supported := _dict.get('async_provisioning_supported')) is not None:
|
|
2073
|
+
args['async_provisioning_supported'] = async_provisioning_supported
|
|
2074
|
+
if (async_unprovisioning_supported := _dict.get('async_unprovisioning_supported')) is not None:
|
|
2075
|
+
args['async_unprovisioning_supported'] = async_unprovisioning_supported
|
|
2076
|
+
if (requires := _dict.get('requires')) is not None:
|
|
2077
|
+
args['requires'] = requires
|
|
2078
|
+
if (plan_updateable := _dict.get('plan_updateable')) is not None:
|
|
2079
|
+
args['plan_updateable'] = plan_updateable
|
|
2080
|
+
if (state := _dict.get('state')) is not None:
|
|
2081
|
+
args['state'] = state
|
|
2082
|
+
if (service_check_enabled := _dict.get('service_check_enabled')) is not None:
|
|
2083
|
+
args['service_check_enabled'] = service_check_enabled
|
|
2084
|
+
if (test_check_interval := _dict.get('test_check_interval')) is not None:
|
|
2085
|
+
args['test_check_interval'] = test_check_interval
|
|
2086
|
+
if (service_key_supported := _dict.get('service_key_supported')) is not None:
|
|
2087
|
+
args['service_key_supported'] = service_key_supported
|
|
2088
|
+
if (cf_guid := _dict.get('cf_guid')) is not None:
|
|
2089
|
+
args['cf_guid'] = cf_guid
|
|
1754
2090
|
return cls(**args)
|
|
1755
2091
|
|
|
1756
2092
|
@classmethod
|
|
@@ -1814,34 +2150,34 @@ class Callbacks:
|
|
|
1814
2150
|
"""
|
|
1815
2151
|
Callback-related information associated with a catalog entry.
|
|
1816
2152
|
|
|
1817
|
-
:
|
|
1818
|
-
:
|
|
1819
|
-
:
|
|
2153
|
+
:param str controller_url: (optional) The URL of the deployment controller.
|
|
2154
|
+
:param str broker_url: (optional) The URL of the deployment broker.
|
|
2155
|
+
:param str broker_proxy_url: (optional) The URL of the deployment broker SC
|
|
1820
2156
|
proxy.
|
|
1821
|
-
:
|
|
1822
|
-
:
|
|
1823
|
-
:
|
|
2157
|
+
:param str dashboard_url: (optional) The URL of dashboard callback.
|
|
2158
|
+
:param str dashboard_data_url: (optional) The URL of dashboard data.
|
|
2159
|
+
:param str dashboard_detail_tab_url: (optional) The URL of the dashboard detail
|
|
1824
2160
|
tab.
|
|
1825
|
-
:
|
|
2161
|
+
:param str dashboard_detail_tab_ext_url: (optional) The URL of the dashboard
|
|
1826
2162
|
detail tab extension.
|
|
1827
|
-
:
|
|
1828
|
-
:
|
|
1829
|
-
:
|
|
2163
|
+
:param str service_monitor_api: (optional) Service monitor API URL.
|
|
2164
|
+
:param str service_monitor_app: (optional) Service monitor app URL.
|
|
2165
|
+
:param dict api_endpoint: (optional) API endpoint.
|
|
1830
2166
|
"""
|
|
1831
2167
|
|
|
1832
2168
|
def __init__(
|
|
1833
2169
|
self,
|
|
1834
2170
|
*,
|
|
1835
|
-
controller_url: str = None,
|
|
1836
|
-
broker_url: str = None,
|
|
1837
|
-
broker_proxy_url: str = None,
|
|
1838
|
-
dashboard_url: str = None,
|
|
1839
|
-
dashboard_data_url: str = None,
|
|
1840
|
-
dashboard_detail_tab_url: str = None,
|
|
1841
|
-
dashboard_detail_tab_ext_url: str = None,
|
|
1842
|
-
service_monitor_api: str = None,
|
|
1843
|
-
service_monitor_app: str = None,
|
|
1844
|
-
api_endpoint: dict = None,
|
|
2171
|
+
controller_url: Optional[str] = None,
|
|
2172
|
+
broker_url: Optional[str] = None,
|
|
2173
|
+
broker_proxy_url: Optional[str] = None,
|
|
2174
|
+
dashboard_url: Optional[str] = None,
|
|
2175
|
+
dashboard_data_url: Optional[str] = None,
|
|
2176
|
+
dashboard_detail_tab_url: Optional[str] = None,
|
|
2177
|
+
dashboard_detail_tab_ext_url: Optional[str] = None,
|
|
2178
|
+
service_monitor_api: Optional[str] = None,
|
|
2179
|
+
service_monitor_app: Optional[str] = None,
|
|
2180
|
+
api_endpoint: Optional[dict] = None,
|
|
1845
2181
|
) -> None:
|
|
1846
2182
|
"""
|
|
1847
2183
|
Initialize a Callbacks object.
|
|
@@ -1875,26 +2211,26 @@ class Callbacks:
|
|
|
1875
2211
|
def from_dict(cls, _dict: Dict) -> 'Callbacks':
|
|
1876
2212
|
"""Initialize a Callbacks object from a json dictionary."""
|
|
1877
2213
|
args = {}
|
|
1878
|
-
if 'controller_url'
|
|
1879
|
-
args['controller_url'] =
|
|
1880
|
-
if 'broker_url'
|
|
1881
|
-
args['broker_url'] =
|
|
1882
|
-
if 'broker_proxy_url'
|
|
1883
|
-
args['broker_proxy_url'] =
|
|
1884
|
-
if 'dashboard_url'
|
|
1885
|
-
args['dashboard_url'] =
|
|
1886
|
-
if 'dashboard_data_url'
|
|
1887
|
-
args['dashboard_data_url'] =
|
|
1888
|
-
if 'dashboard_detail_tab_url'
|
|
1889
|
-
args['dashboard_detail_tab_url'] =
|
|
1890
|
-
if 'dashboard_detail_tab_ext_url'
|
|
1891
|
-
args['dashboard_detail_tab_ext_url'] =
|
|
1892
|
-
if 'service_monitor_api'
|
|
1893
|
-
args['service_monitor_api'] =
|
|
1894
|
-
if 'service_monitor_app'
|
|
1895
|
-
args['service_monitor_app'] =
|
|
1896
|
-
if 'api_endpoint'
|
|
1897
|
-
args['api_endpoint'] =
|
|
2214
|
+
if (controller_url := _dict.get('controller_url')) is not None:
|
|
2215
|
+
args['controller_url'] = controller_url
|
|
2216
|
+
if (broker_url := _dict.get('broker_url')) is not None:
|
|
2217
|
+
args['broker_url'] = broker_url
|
|
2218
|
+
if (broker_proxy_url := _dict.get('broker_proxy_url')) is not None:
|
|
2219
|
+
args['broker_proxy_url'] = broker_proxy_url
|
|
2220
|
+
if (dashboard_url := _dict.get('dashboard_url')) is not None:
|
|
2221
|
+
args['dashboard_url'] = dashboard_url
|
|
2222
|
+
if (dashboard_data_url := _dict.get('dashboard_data_url')) is not None:
|
|
2223
|
+
args['dashboard_data_url'] = dashboard_data_url
|
|
2224
|
+
if (dashboard_detail_tab_url := _dict.get('dashboard_detail_tab_url')) is not None:
|
|
2225
|
+
args['dashboard_detail_tab_url'] = dashboard_detail_tab_url
|
|
2226
|
+
if (dashboard_detail_tab_ext_url := _dict.get('dashboard_detail_tab_ext_url')) is not None:
|
|
2227
|
+
args['dashboard_detail_tab_ext_url'] = dashboard_detail_tab_ext_url
|
|
2228
|
+
if (service_monitor_api := _dict.get('service_monitor_api')) is not None:
|
|
2229
|
+
args['service_monitor_api'] = service_monitor_api
|
|
2230
|
+
if (service_monitor_app := _dict.get('service_monitor_app')) is not None:
|
|
2231
|
+
args['service_monitor_app'] = service_monitor_app
|
|
2232
|
+
if (api_endpoint := _dict.get('api_endpoint')) is not None:
|
|
2233
|
+
args['api_endpoint'] = api_endpoint
|
|
1898
2234
|
return cls(**args)
|
|
1899
2235
|
|
|
1900
2236
|
@classmethod
|
|
@@ -1950,39 +2286,42 @@ class CatalogEntry:
|
|
|
1950
2286
|
"""
|
|
1951
2287
|
An entry in the global catalog.
|
|
1952
2288
|
|
|
1953
|
-
:
|
|
2289
|
+
:param str name: Programmatic name for this catalog entry, which must be
|
|
1954
2290
|
formatted like a CRN segment. See the display name in OverviewUI for a
|
|
1955
2291
|
user-readable name.
|
|
1956
|
-
:
|
|
2292
|
+
:param str kind: The type of catalog entry, **service**, **template**,
|
|
1957
2293
|
**dashboard**, which determines the type and shape of the object.
|
|
1958
|
-
:
|
|
2294
|
+
:param dict overview_ui: Overview is nested in the top level. The key value pair
|
|
1959
2295
|
is `[_language_]overview_ui`.
|
|
1960
|
-
:
|
|
1961
|
-
|
|
1962
|
-
:
|
|
1963
|
-
|
|
1964
|
-
:
|
|
1965
|
-
|
|
1966
|
-
|
|
2296
|
+
:param Image images: Image annotation for this catalog entry. The image is a
|
|
2297
|
+
URL.
|
|
2298
|
+
:param str parent_id: (optional) The ID of the parent catalog entry if it
|
|
2299
|
+
exists.
|
|
2300
|
+
:param bool disabled: Boolean value that determines the global visibility for
|
|
2301
|
+
the catalog entry, and its children. If it is not enabled, all plans are
|
|
2302
|
+
disabled.
|
|
2303
|
+
:param List[str] tags: A list of tags. For example, IBM, 3rd Party, Beta, GA,
|
|
2304
|
+
and Single Tenant.
|
|
2305
|
+
:param bool group: (optional) Boolean value that determines whether the catalog
|
|
1967
2306
|
entry is a group.
|
|
1968
|
-
:
|
|
2307
|
+
:param Provider provider: Information related to the provider associated with a
|
|
1969
2308
|
catalog entry.
|
|
1970
|
-
:
|
|
2309
|
+
:param bool active: (optional) Boolean value that describes whether the service
|
|
1971
2310
|
is active.
|
|
1972
|
-
:
|
|
2311
|
+
:param str url: (optional) URL to get details about this object.
|
|
2312
|
+
:param CatalogEntryMetadata metadata: (optional) Model used to describe metadata
|
|
1973
2313
|
object returned.
|
|
1974
|
-
:
|
|
2314
|
+
:param str id: (optional) Catalog entry's unique ID. It's the same across all
|
|
1975
2315
|
catalog instances.
|
|
1976
|
-
:
|
|
1977
|
-
:
|
|
1978
|
-
:attr str children_url: (optional) URL to get details about children of this
|
|
2316
|
+
:param str catalog_crn: (optional) The CRN associated with the catalog entry.
|
|
2317
|
+
:param str children_url: (optional) URL to get details about children of this
|
|
1979
2318
|
object.
|
|
1980
|
-
:
|
|
1981
|
-
is deployable to.
|
|
1982
|
-
:
|
|
2319
|
+
:param List[str] geo_tags: (optional) tags to indicate the locations this
|
|
2320
|
+
service is deployable to.
|
|
2321
|
+
:param List[str] pricing_tags: (optional) tags to indicate the type of pricing
|
|
1983
2322
|
plans this service supports.
|
|
1984
|
-
:
|
|
1985
|
-
:
|
|
2323
|
+
:param datetime created: (optional) Date created.
|
|
2324
|
+
:param datetime updated: (optional) Date last updated.
|
|
1986
2325
|
"""
|
|
1987
2326
|
|
|
1988
2327
|
def __init__(
|
|
@@ -1995,18 +2334,18 @@ class CatalogEntry:
|
|
|
1995
2334
|
tags: List[str],
|
|
1996
2335
|
provider: 'Provider',
|
|
1997
2336
|
*,
|
|
1998
|
-
parent_id: str = None,
|
|
1999
|
-
group: bool = None,
|
|
2000
|
-
active: bool = None,
|
|
2001
|
-
|
|
2002
|
-
|
|
2003
|
-
|
|
2004
|
-
|
|
2005
|
-
children_url: str = None,
|
|
2006
|
-
geo_tags: List[str] = None,
|
|
2007
|
-
pricing_tags: List[str] = None,
|
|
2008
|
-
created: datetime = None,
|
|
2009
|
-
updated: datetime = None,
|
|
2337
|
+
parent_id: Optional[str] = None,
|
|
2338
|
+
group: Optional[bool] = None,
|
|
2339
|
+
active: Optional[bool] = None,
|
|
2340
|
+
url: Optional[str] = None,
|
|
2341
|
+
metadata: Optional['CatalogEntryMetadata'] = None,
|
|
2342
|
+
id: Optional[str] = None,
|
|
2343
|
+
catalog_crn: Optional[str] = None,
|
|
2344
|
+
children_url: Optional[str] = None,
|
|
2345
|
+
geo_tags: Optional[List[str]] = None,
|
|
2346
|
+
pricing_tags: Optional[List[str]] = None,
|
|
2347
|
+
created: Optional[datetime] = None,
|
|
2348
|
+
updated: Optional[datetime] = None,
|
|
2010
2349
|
) -> None:
|
|
2011
2350
|
"""
|
|
2012
2351
|
Initialize a CatalogEntry object.
|
|
@@ -2046,10 +2385,10 @@ class CatalogEntry:
|
|
|
2046
2385
|
self.group = group
|
|
2047
2386
|
self.provider = provider
|
|
2048
2387
|
self.active = active
|
|
2388
|
+
self.url = url
|
|
2049
2389
|
self.metadata = metadata
|
|
2050
2390
|
self.id = id
|
|
2051
2391
|
self.catalog_crn = catalog_crn
|
|
2052
|
-
self.url = url
|
|
2053
2392
|
self.children_url = children_url
|
|
2054
2393
|
self.geo_tags = geo_tags
|
|
2055
2394
|
self.pricing_tags = pricing_tags
|
|
@@ -2060,58 +2399,58 @@ class CatalogEntry:
|
|
|
2060
2399
|
def from_dict(cls, _dict: Dict) -> 'CatalogEntry':
|
|
2061
2400
|
"""Initialize a CatalogEntry object from a json dictionary."""
|
|
2062
2401
|
args = {}
|
|
2063
|
-
if 'name'
|
|
2064
|
-
args['name'] =
|
|
2402
|
+
if (name := _dict.get('name')) is not None:
|
|
2403
|
+
args['name'] = name
|
|
2065
2404
|
else:
|
|
2066
2405
|
raise ValueError('Required property \'name\' not present in CatalogEntry JSON')
|
|
2067
|
-
if 'kind'
|
|
2068
|
-
args['kind'] =
|
|
2406
|
+
if (kind := _dict.get('kind')) is not None:
|
|
2407
|
+
args['kind'] = kind
|
|
2069
2408
|
else:
|
|
2070
2409
|
raise ValueError('Required property \'kind\' not present in CatalogEntry JSON')
|
|
2071
|
-
if 'overview_ui'
|
|
2072
|
-
args['overview_ui'] = {k: Overview.from_dict(v) for k, v in
|
|
2410
|
+
if (overview_ui := _dict.get('overview_ui')) is not None:
|
|
2411
|
+
args['overview_ui'] = {k: Overview.from_dict(v) for k, v in overview_ui.items()}
|
|
2073
2412
|
else:
|
|
2074
2413
|
raise ValueError('Required property \'overview_ui\' not present in CatalogEntry JSON')
|
|
2075
|
-
if 'images'
|
|
2076
|
-
args['images'] = Image.from_dict(
|
|
2414
|
+
if (images := _dict.get('images')) is not None:
|
|
2415
|
+
args['images'] = Image.from_dict(images)
|
|
2077
2416
|
else:
|
|
2078
2417
|
raise ValueError('Required property \'images\' not present in CatalogEntry JSON')
|
|
2079
|
-
if 'parent_id'
|
|
2080
|
-
args['parent_id'] =
|
|
2081
|
-
if 'disabled'
|
|
2082
|
-
args['disabled'] =
|
|
2418
|
+
if (parent_id := _dict.get('parent_id')) is not None:
|
|
2419
|
+
args['parent_id'] = parent_id
|
|
2420
|
+
if (disabled := _dict.get('disabled')) is not None:
|
|
2421
|
+
args['disabled'] = disabled
|
|
2083
2422
|
else:
|
|
2084
2423
|
raise ValueError('Required property \'disabled\' not present in CatalogEntry JSON')
|
|
2085
|
-
if 'tags'
|
|
2086
|
-
args['tags'] =
|
|
2424
|
+
if (tags := _dict.get('tags')) is not None:
|
|
2425
|
+
args['tags'] = tags
|
|
2087
2426
|
else:
|
|
2088
2427
|
raise ValueError('Required property \'tags\' not present in CatalogEntry JSON')
|
|
2089
|
-
if 'group'
|
|
2090
|
-
args['group'] =
|
|
2091
|
-
if 'provider'
|
|
2092
|
-
args['provider'] = Provider.from_dict(
|
|
2428
|
+
if (group := _dict.get('group')) is not None:
|
|
2429
|
+
args['group'] = group
|
|
2430
|
+
if (provider := _dict.get('provider')) is not None:
|
|
2431
|
+
args['provider'] = Provider.from_dict(provider)
|
|
2093
2432
|
else:
|
|
2094
2433
|
raise ValueError('Required property \'provider\' not present in CatalogEntry JSON')
|
|
2095
|
-
if 'active'
|
|
2096
|
-
args['active'] =
|
|
2097
|
-
if '
|
|
2098
|
-
args['
|
|
2099
|
-
if '
|
|
2100
|
-
args['
|
|
2101
|
-
if '
|
|
2102
|
-
args['
|
|
2103
|
-
if '
|
|
2104
|
-
args['
|
|
2105
|
-
if 'children_url'
|
|
2106
|
-
args['children_url'] =
|
|
2107
|
-
if 'geo_tags'
|
|
2108
|
-
args['geo_tags'] =
|
|
2109
|
-
if 'pricing_tags'
|
|
2110
|
-
args['pricing_tags'] =
|
|
2111
|
-
if 'created'
|
|
2112
|
-
args['created'] = string_to_datetime(
|
|
2113
|
-
if 'updated'
|
|
2114
|
-
args['updated'] = string_to_datetime(
|
|
2434
|
+
if (active := _dict.get('active')) is not None:
|
|
2435
|
+
args['active'] = active
|
|
2436
|
+
if (url := _dict.get('url')) is not None:
|
|
2437
|
+
args['url'] = url
|
|
2438
|
+
if (metadata := _dict.get('metadata')) is not None:
|
|
2439
|
+
args['metadata'] = CatalogEntryMetadata.from_dict(metadata)
|
|
2440
|
+
if (id := _dict.get('id')) is not None:
|
|
2441
|
+
args['id'] = id
|
|
2442
|
+
if (catalog_crn := _dict.get('catalog_crn')) is not None:
|
|
2443
|
+
args['catalog_crn'] = catalog_crn
|
|
2444
|
+
if (children_url := _dict.get('children_url')) is not None:
|
|
2445
|
+
args['children_url'] = children_url
|
|
2446
|
+
if (geo_tags := _dict.get('geo_tags')) is not None:
|
|
2447
|
+
args['geo_tags'] = geo_tags
|
|
2448
|
+
if (pricing_tags := _dict.get('pricing_tags')) is not None:
|
|
2449
|
+
args['pricing_tags'] = pricing_tags
|
|
2450
|
+
if (created := _dict.get('created')) is not None:
|
|
2451
|
+
args['created'] = string_to_datetime(created)
|
|
2452
|
+
if (updated := _dict.get('updated')) is not None:
|
|
2453
|
+
args['updated'] = string_to_datetime(updated)
|
|
2115
2454
|
return cls(**args)
|
|
2116
2455
|
|
|
2117
2456
|
@classmethod
|
|
@@ -2127,9 +2466,18 @@ class CatalogEntry:
|
|
|
2127
2466
|
if hasattr(self, 'kind') and self.kind is not None:
|
|
2128
2467
|
_dict['kind'] = self.kind
|
|
2129
2468
|
if hasattr(self, 'overview_ui') and self.overview_ui is not None:
|
|
2130
|
-
|
|
2469
|
+
overview_ui_map = {}
|
|
2470
|
+
for k, v in self.overview_ui.items():
|
|
2471
|
+
if isinstance(v, dict):
|
|
2472
|
+
overview_ui_map[k] = v
|
|
2473
|
+
else:
|
|
2474
|
+
overview_ui_map[k] = v.to_dict()
|
|
2475
|
+
_dict['overview_ui'] = overview_ui_map
|
|
2131
2476
|
if hasattr(self, 'images') and self.images is not None:
|
|
2132
|
-
|
|
2477
|
+
if isinstance(self.images, dict):
|
|
2478
|
+
_dict['images'] = self.images
|
|
2479
|
+
else:
|
|
2480
|
+
_dict['images'] = self.images.to_dict()
|
|
2133
2481
|
if hasattr(self, 'parent_id') and self.parent_id is not None:
|
|
2134
2482
|
_dict['parent_id'] = self.parent_id
|
|
2135
2483
|
if hasattr(self, 'disabled') and self.disabled is not None:
|
|
@@ -2139,17 +2487,23 @@ class CatalogEntry:
|
|
|
2139
2487
|
if hasattr(self, 'group') and self.group is not None:
|
|
2140
2488
|
_dict['group'] = self.group
|
|
2141
2489
|
if hasattr(self, 'provider') and self.provider is not None:
|
|
2142
|
-
|
|
2490
|
+
if isinstance(self.provider, dict):
|
|
2491
|
+
_dict['provider'] = self.provider
|
|
2492
|
+
else:
|
|
2493
|
+
_dict['provider'] = self.provider.to_dict()
|
|
2143
2494
|
if hasattr(self, 'active') and self.active is not None:
|
|
2144
2495
|
_dict['active'] = self.active
|
|
2496
|
+
if hasattr(self, 'url') and getattr(self, 'url') is not None:
|
|
2497
|
+
_dict['url'] = getattr(self, 'url')
|
|
2145
2498
|
if hasattr(self, 'metadata') and self.metadata is not None:
|
|
2146
|
-
|
|
2499
|
+
if isinstance(self.metadata, dict):
|
|
2500
|
+
_dict['metadata'] = self.metadata
|
|
2501
|
+
else:
|
|
2502
|
+
_dict['metadata'] = self.metadata.to_dict()
|
|
2147
2503
|
if hasattr(self, 'id') and getattr(self, 'id') is not None:
|
|
2148
2504
|
_dict['id'] = getattr(self, 'id')
|
|
2149
2505
|
if hasattr(self, 'catalog_crn') and getattr(self, 'catalog_crn') is not None:
|
|
2150
2506
|
_dict['catalog_crn'] = getattr(self, 'catalog_crn')
|
|
2151
|
-
if hasattr(self, 'url') and getattr(self, 'url') is not None:
|
|
2152
|
-
_dict['url'] = getattr(self, 'url')
|
|
2153
2507
|
if hasattr(self, 'children_url') and getattr(self, 'children_url') is not None:
|
|
2154
2508
|
_dict['children_url'] = getattr(self, 'children_url')
|
|
2155
2509
|
if hasattr(self, 'geo_tags') and getattr(self, 'geo_tags') is not None:
|
|
@@ -2195,44 +2549,45 @@ class CatalogEntryMetadata:
|
|
|
2195
2549
|
"""
|
|
2196
2550
|
Model used to describe metadata object returned.
|
|
2197
2551
|
|
|
2198
|
-
:
|
|
2552
|
+
:param bool rc_compatible: (optional) Boolean value that describes whether the
|
|
2199
2553
|
service is compatible with the Resource Controller.
|
|
2200
|
-
:
|
|
2201
|
-
:
|
|
2202
|
-
:
|
|
2203
|
-
:
|
|
2204
|
-
:
|
|
2554
|
+
:param CFMetaData service: (optional) Service-related metadata.
|
|
2555
|
+
:param PlanMetaData plan: (optional) Plan-related metadata.
|
|
2556
|
+
:param AliasMetaData alias: (optional) Alias-related metadata.
|
|
2557
|
+
:param TemplateMetaData template: (optional) Template-related metadata.
|
|
2558
|
+
:param UIMetaData ui: (optional) Information related to the UI presentation
|
|
2205
2559
|
associated with a catalog entry.
|
|
2206
|
-
:
|
|
2207
|
-
|
|
2208
|
-
:
|
|
2560
|
+
:param List[str] compliance: (optional) Compliance information for HIPAA and
|
|
2561
|
+
PCI.
|
|
2562
|
+
:param SLAMetaData sla: (optional) Service Level Agreement related metadata.
|
|
2563
|
+
:param Callbacks callbacks: (optional) Callback-related information associated
|
|
2209
2564
|
with a catalog entry.
|
|
2210
|
-
:
|
|
2211
|
-
:
|
|
2212
|
-
:
|
|
2213
|
-
:
|
|
2565
|
+
:param str original_name: (optional) The original name of the object.
|
|
2566
|
+
:param str version: (optional) Optional version of the object.
|
|
2567
|
+
:param dict other: (optional) Additional information.
|
|
2568
|
+
:param CatalogEntryMetadataPricing pricing: (optional) Pricing-related
|
|
2214
2569
|
information.
|
|
2215
|
-
:
|
|
2570
|
+
:param CatalogEntryMetadataDeployment deployment: (optional) Deployment-related
|
|
2216
2571
|
metadata.
|
|
2217
2572
|
"""
|
|
2218
2573
|
|
|
2219
2574
|
def __init__(
|
|
2220
2575
|
self,
|
|
2221
2576
|
*,
|
|
2222
|
-
rc_compatible: bool = None,
|
|
2223
|
-
service: 'CFMetaData' = None,
|
|
2224
|
-
plan: 'PlanMetaData' = None,
|
|
2225
|
-
alias: 'AliasMetaData' = None,
|
|
2226
|
-
template: 'TemplateMetaData' = None,
|
|
2227
|
-
ui: 'UIMetaData' = None,
|
|
2228
|
-
compliance: List[str] = None,
|
|
2229
|
-
sla: 'SLAMetaData' = None,
|
|
2230
|
-
callbacks: 'Callbacks' = None,
|
|
2231
|
-
original_name: str = None,
|
|
2232
|
-
version: str = None,
|
|
2233
|
-
other: dict = None,
|
|
2234
|
-
pricing: 'CatalogEntryMetadataPricing' = None,
|
|
2235
|
-
deployment: 'CatalogEntryMetadataDeployment' = None,
|
|
2577
|
+
rc_compatible: Optional[bool] = None,
|
|
2578
|
+
service: Optional['CFMetaData'] = None,
|
|
2579
|
+
plan: Optional['PlanMetaData'] = None,
|
|
2580
|
+
alias: Optional['AliasMetaData'] = None,
|
|
2581
|
+
template: Optional['TemplateMetaData'] = None,
|
|
2582
|
+
ui: Optional['UIMetaData'] = None,
|
|
2583
|
+
compliance: Optional[List[str]] = None,
|
|
2584
|
+
sla: Optional['SLAMetaData'] = None,
|
|
2585
|
+
callbacks: Optional['Callbacks'] = None,
|
|
2586
|
+
original_name: Optional[str] = None,
|
|
2587
|
+
version: Optional[str] = None,
|
|
2588
|
+
other: Optional[dict] = None,
|
|
2589
|
+
pricing: Optional['CatalogEntryMetadataPricing'] = None,
|
|
2590
|
+
deployment: Optional['CatalogEntryMetadataDeployment'] = None,
|
|
2236
2591
|
) -> None:
|
|
2237
2592
|
"""
|
|
2238
2593
|
Initialize a CatalogEntryMetadata object.
|
|
@@ -2278,34 +2633,34 @@ class CatalogEntryMetadata:
|
|
|
2278
2633
|
def from_dict(cls, _dict: Dict) -> 'CatalogEntryMetadata':
|
|
2279
2634
|
"""Initialize a CatalogEntryMetadata object from a json dictionary."""
|
|
2280
2635
|
args = {}
|
|
2281
|
-
if 'rc_compatible'
|
|
2282
|
-
args['rc_compatible'] =
|
|
2283
|
-
if 'service'
|
|
2284
|
-
args['service'] = CFMetaData.from_dict(
|
|
2285
|
-
if 'plan'
|
|
2286
|
-
args['plan'] = PlanMetaData.from_dict(
|
|
2287
|
-
if 'alias'
|
|
2288
|
-
args['alias'] = AliasMetaData.from_dict(
|
|
2289
|
-
if 'template'
|
|
2290
|
-
args['template'] = TemplateMetaData.from_dict(
|
|
2291
|
-
if 'ui'
|
|
2292
|
-
args['ui'] = UIMetaData.from_dict(
|
|
2293
|
-
if 'compliance'
|
|
2294
|
-
args['compliance'] =
|
|
2295
|
-
if 'sla'
|
|
2296
|
-
args['sla'] = SLAMetaData.from_dict(
|
|
2297
|
-
if 'callbacks'
|
|
2298
|
-
args['callbacks'] = Callbacks.from_dict(
|
|
2299
|
-
if 'original_name'
|
|
2300
|
-
args['original_name'] =
|
|
2301
|
-
if 'version'
|
|
2302
|
-
args['version'] =
|
|
2303
|
-
if 'other'
|
|
2304
|
-
args['other'] =
|
|
2305
|
-
if 'pricing'
|
|
2306
|
-
args['pricing'] = CatalogEntryMetadataPricing.from_dict(
|
|
2307
|
-
if 'deployment'
|
|
2308
|
-
args['deployment'] = CatalogEntryMetadataDeployment.from_dict(
|
|
2636
|
+
if (rc_compatible := _dict.get('rc_compatible')) is not None:
|
|
2637
|
+
args['rc_compatible'] = rc_compatible
|
|
2638
|
+
if (service := _dict.get('service')) is not None:
|
|
2639
|
+
args['service'] = CFMetaData.from_dict(service)
|
|
2640
|
+
if (plan := _dict.get('plan')) is not None:
|
|
2641
|
+
args['plan'] = PlanMetaData.from_dict(plan)
|
|
2642
|
+
if (alias := _dict.get('alias')) is not None:
|
|
2643
|
+
args['alias'] = AliasMetaData.from_dict(alias)
|
|
2644
|
+
if (template := _dict.get('template')) is not None:
|
|
2645
|
+
args['template'] = TemplateMetaData.from_dict(template)
|
|
2646
|
+
if (ui := _dict.get('ui')) is not None:
|
|
2647
|
+
args['ui'] = UIMetaData.from_dict(ui)
|
|
2648
|
+
if (compliance := _dict.get('compliance')) is not None:
|
|
2649
|
+
args['compliance'] = compliance
|
|
2650
|
+
if (sla := _dict.get('sla')) is not None:
|
|
2651
|
+
args['sla'] = SLAMetaData.from_dict(sla)
|
|
2652
|
+
if (callbacks := _dict.get('callbacks')) is not None:
|
|
2653
|
+
args['callbacks'] = Callbacks.from_dict(callbacks)
|
|
2654
|
+
if (original_name := _dict.get('original_name')) is not None:
|
|
2655
|
+
args['original_name'] = original_name
|
|
2656
|
+
if (version := _dict.get('version')) is not None:
|
|
2657
|
+
args['version'] = version
|
|
2658
|
+
if (other := _dict.get('other')) is not None:
|
|
2659
|
+
args['other'] = other
|
|
2660
|
+
if (pricing := _dict.get('pricing')) is not None:
|
|
2661
|
+
args['pricing'] = CatalogEntryMetadataPricing.from_dict(pricing)
|
|
2662
|
+
if (deployment := _dict.get('deployment')) is not None:
|
|
2663
|
+
args['deployment'] = CatalogEntryMetadataDeployment.from_dict(deployment)
|
|
2309
2664
|
return cls(**args)
|
|
2310
2665
|
|
|
2311
2666
|
@classmethod
|
|
@@ -2319,21 +2674,42 @@ class CatalogEntryMetadata:
|
|
|
2319
2674
|
if hasattr(self, 'rc_compatible') and self.rc_compatible is not None:
|
|
2320
2675
|
_dict['rc_compatible'] = self.rc_compatible
|
|
2321
2676
|
if hasattr(self, 'service') and self.service is not None:
|
|
2322
|
-
|
|
2677
|
+
if isinstance(self.service, dict):
|
|
2678
|
+
_dict['service'] = self.service
|
|
2679
|
+
else:
|
|
2680
|
+
_dict['service'] = self.service.to_dict()
|
|
2323
2681
|
if hasattr(self, 'plan') and self.plan is not None:
|
|
2324
|
-
|
|
2682
|
+
if isinstance(self.plan, dict):
|
|
2683
|
+
_dict['plan'] = self.plan
|
|
2684
|
+
else:
|
|
2685
|
+
_dict['plan'] = self.plan.to_dict()
|
|
2325
2686
|
if hasattr(self, 'alias') and self.alias is not None:
|
|
2326
|
-
|
|
2687
|
+
if isinstance(self.alias, dict):
|
|
2688
|
+
_dict['alias'] = self.alias
|
|
2689
|
+
else:
|
|
2690
|
+
_dict['alias'] = self.alias.to_dict()
|
|
2327
2691
|
if hasattr(self, 'template') and self.template is not None:
|
|
2328
|
-
|
|
2692
|
+
if isinstance(self.template, dict):
|
|
2693
|
+
_dict['template'] = self.template
|
|
2694
|
+
else:
|
|
2695
|
+
_dict['template'] = self.template.to_dict()
|
|
2329
2696
|
if hasattr(self, 'ui') and self.ui is not None:
|
|
2330
|
-
|
|
2697
|
+
if isinstance(self.ui, dict):
|
|
2698
|
+
_dict['ui'] = self.ui
|
|
2699
|
+
else:
|
|
2700
|
+
_dict['ui'] = self.ui.to_dict()
|
|
2331
2701
|
if hasattr(self, 'compliance') and self.compliance is not None:
|
|
2332
2702
|
_dict['compliance'] = self.compliance
|
|
2333
2703
|
if hasattr(self, 'sla') and self.sla is not None:
|
|
2334
|
-
|
|
2704
|
+
if isinstance(self.sla, dict):
|
|
2705
|
+
_dict['sla'] = self.sla
|
|
2706
|
+
else:
|
|
2707
|
+
_dict['sla'] = self.sla.to_dict()
|
|
2335
2708
|
if hasattr(self, 'callbacks') and self.callbacks is not None:
|
|
2336
|
-
|
|
2709
|
+
if isinstance(self.callbacks, dict):
|
|
2710
|
+
_dict['callbacks'] = self.callbacks
|
|
2711
|
+
else:
|
|
2712
|
+
_dict['callbacks'] = self.callbacks.to_dict()
|
|
2337
2713
|
if hasattr(self, 'original_name') and self.original_name is not None:
|
|
2338
2714
|
_dict['original_name'] = self.original_name
|
|
2339
2715
|
if hasattr(self, 'version') and self.version is not None:
|
|
@@ -2341,9 +2717,15 @@ class CatalogEntryMetadata:
|
|
|
2341
2717
|
if hasattr(self, 'other') and self.other is not None:
|
|
2342
2718
|
_dict['other'] = self.other
|
|
2343
2719
|
if hasattr(self, 'pricing') and self.pricing is not None:
|
|
2344
|
-
|
|
2720
|
+
if isinstance(self.pricing, dict):
|
|
2721
|
+
_dict['pricing'] = self.pricing
|
|
2722
|
+
else:
|
|
2723
|
+
_dict['pricing'] = self.pricing.to_dict()
|
|
2345
2724
|
if hasattr(self, 'deployment') and self.deployment is not None:
|
|
2346
|
-
|
|
2725
|
+
if isinstance(self.deployment, dict):
|
|
2726
|
+
_dict['deployment'] = self.deployment
|
|
2727
|
+
else:
|
|
2728
|
+
_dict['deployment'] = self.deployment.to_dict()
|
|
2347
2729
|
return _dict
|
|
2348
2730
|
|
|
2349
2731
|
def _to_dict(self):
|
|
@@ -2369,33 +2751,33 @@ class CatalogEntryMetadataDeployment:
|
|
|
2369
2751
|
"""
|
|
2370
2752
|
Deployment-related metadata.
|
|
2371
2753
|
|
|
2372
|
-
:
|
|
2754
|
+
:param str location: (optional) Describes the region where the service is
|
|
2373
2755
|
located.
|
|
2374
|
-
:
|
|
2756
|
+
:param str location_url: (optional) Pointer to the location resource in the
|
|
2375
2757
|
catalog.
|
|
2376
|
-
:
|
|
2377
|
-
:
|
|
2758
|
+
:param str original_location: (optional) Original service location.
|
|
2759
|
+
:param str target_crn: (optional) A CRN that describes the deployment.
|
|
2378
2760
|
crn:v1:[cname]:[ctype]:[location]:[scope]::[resource-type]:[resource].
|
|
2379
|
-
:
|
|
2380
|
-
:
|
|
2381
|
-
:
|
|
2382
|
-
:
|
|
2761
|
+
:param str service_crn: (optional) CRN for the service.
|
|
2762
|
+
:param str mccp_id: (optional) ID for MCCP.
|
|
2763
|
+
:param Broker broker: (optional) The broker associated with a catalog entry.
|
|
2764
|
+
:param bool supports_rc_migration: (optional) This deployment not only supports
|
|
2383
2765
|
RC but is ready to migrate and support the RC broker for a location.
|
|
2384
|
-
:
|
|
2766
|
+
:param str target_network: (optional) network to use during deployment.
|
|
2385
2767
|
"""
|
|
2386
2768
|
|
|
2387
2769
|
def __init__(
|
|
2388
2770
|
self,
|
|
2389
2771
|
*,
|
|
2390
|
-
location: str = None,
|
|
2391
|
-
location_url: str = None,
|
|
2392
|
-
original_location: str = None,
|
|
2393
|
-
target_crn: str = None,
|
|
2394
|
-
service_crn: str = None,
|
|
2395
|
-
mccp_id: str = None,
|
|
2396
|
-
broker: 'Broker' = None,
|
|
2397
|
-
supports_rc_migration: bool = None,
|
|
2398
|
-
target_network: str = None,
|
|
2772
|
+
location: Optional[str] = None,
|
|
2773
|
+
location_url: Optional[str] = None,
|
|
2774
|
+
original_location: Optional[str] = None,
|
|
2775
|
+
target_crn: Optional[str] = None,
|
|
2776
|
+
service_crn: Optional[str] = None,
|
|
2777
|
+
mccp_id: Optional[str] = None,
|
|
2778
|
+
broker: Optional['Broker'] = None,
|
|
2779
|
+
supports_rc_migration: Optional[bool] = None,
|
|
2780
|
+
target_network: Optional[str] = None,
|
|
2399
2781
|
) -> None:
|
|
2400
2782
|
"""
|
|
2401
2783
|
Initialize a CatalogEntryMetadataDeployment object.
|
|
@@ -2428,24 +2810,24 @@ class CatalogEntryMetadataDeployment:
|
|
|
2428
2810
|
def from_dict(cls, _dict: Dict) -> 'CatalogEntryMetadataDeployment':
|
|
2429
2811
|
"""Initialize a CatalogEntryMetadataDeployment object from a json dictionary."""
|
|
2430
2812
|
args = {}
|
|
2431
|
-
if 'location'
|
|
2432
|
-
args['location'] =
|
|
2433
|
-
if 'location_url'
|
|
2434
|
-
args['location_url'] =
|
|
2435
|
-
if 'original_location'
|
|
2436
|
-
args['original_location'] =
|
|
2437
|
-
if 'target_crn'
|
|
2438
|
-
args['target_crn'] =
|
|
2439
|
-
if 'service_crn'
|
|
2440
|
-
args['service_crn'] =
|
|
2441
|
-
if 'mccp_id'
|
|
2442
|
-
args['mccp_id'] =
|
|
2443
|
-
if 'broker'
|
|
2444
|
-
args['broker'] = Broker.from_dict(
|
|
2445
|
-
if 'supports_rc_migration'
|
|
2446
|
-
args['supports_rc_migration'] =
|
|
2447
|
-
if 'target_network'
|
|
2448
|
-
args['target_network'] =
|
|
2813
|
+
if (location := _dict.get('location')) is not None:
|
|
2814
|
+
args['location'] = location
|
|
2815
|
+
if (location_url := _dict.get('location_url')) is not None:
|
|
2816
|
+
args['location_url'] = location_url
|
|
2817
|
+
if (original_location := _dict.get('original_location')) is not None:
|
|
2818
|
+
args['original_location'] = original_location
|
|
2819
|
+
if (target_crn := _dict.get('target_crn')) is not None:
|
|
2820
|
+
args['target_crn'] = target_crn
|
|
2821
|
+
if (service_crn := _dict.get('service_crn')) is not None:
|
|
2822
|
+
args['service_crn'] = service_crn
|
|
2823
|
+
if (mccp_id := _dict.get('mccp_id')) is not None:
|
|
2824
|
+
args['mccp_id'] = mccp_id
|
|
2825
|
+
if (broker := _dict.get('broker')) is not None:
|
|
2826
|
+
args['broker'] = Broker.from_dict(broker)
|
|
2827
|
+
if (supports_rc_migration := _dict.get('supports_rc_migration')) is not None:
|
|
2828
|
+
args['supports_rc_migration'] = supports_rc_migration
|
|
2829
|
+
if (target_network := _dict.get('target_network')) is not None:
|
|
2830
|
+
args['target_network'] = target_network
|
|
2449
2831
|
return cls(**args)
|
|
2450
2832
|
|
|
2451
2833
|
@classmethod
|
|
@@ -2469,7 +2851,10 @@ class CatalogEntryMetadataDeployment:
|
|
|
2469
2851
|
if hasattr(self, 'mccp_id') and self.mccp_id is not None:
|
|
2470
2852
|
_dict['mccp_id'] = self.mccp_id
|
|
2471
2853
|
if hasattr(self, 'broker') and self.broker is not None:
|
|
2472
|
-
|
|
2854
|
+
if isinstance(self.broker, dict):
|
|
2855
|
+
_dict['broker'] = self.broker
|
|
2856
|
+
else:
|
|
2857
|
+
_dict['broker'] = self.broker.to_dict()
|
|
2473
2858
|
if hasattr(self, 'supports_rc_migration') and self.supports_rc_migration is not None:
|
|
2474
2859
|
_dict['supports_rc_migration'] = self.supports_rc_migration
|
|
2475
2860
|
if hasattr(self, 'target_network') and self.target_network is not None:
|
|
@@ -2499,21 +2884,35 @@ class CatalogEntryMetadataPricing:
|
|
|
2499
2884
|
"""
|
|
2500
2885
|
Pricing-related information.
|
|
2501
2886
|
|
|
2502
|
-
:
|
|
2887
|
+
:param str type: (optional) Type of plan. Valid values are `free`, `trial`,
|
|
2503
2888
|
`paygo`, `bluemix-subscription`, and `ibm-subscription`.
|
|
2504
|
-
:
|
|
2505
|
-
:
|
|
2889
|
+
:param str origin: (optional) Defines where the pricing originates.
|
|
2890
|
+
:param StartingPrice starting_price: (optional) Plan-specific starting price
|
|
2506
2891
|
information.
|
|
2507
|
-
:
|
|
2892
|
+
:param str deployment_id: (optional) The deployment object id this pricing is
|
|
2893
|
+
from. Only set if object kind is deployment.
|
|
2894
|
+
:param str deployment_location: (optional) The deployment location this pricing
|
|
2895
|
+
is from. Only set if object kind is deployment.
|
|
2896
|
+
:param bool deployment_location_no_price_available: (optional) Is the location
|
|
2897
|
+
price not available. Only set in api /pricing/deployment and only set if true.
|
|
2898
|
+
This means for the given deployment object there was no pricing set in pricing
|
|
2899
|
+
catalog.
|
|
2900
|
+
:param List[Metrics] metrics: (optional) Plan-specific cost metric structure.
|
|
2901
|
+
:param List[str] deployment_regions: (optional) List of regions where region
|
|
2902
|
+
pricing is available. Only set on global deployments if enabled by owner.
|
|
2508
2903
|
"""
|
|
2509
2904
|
|
|
2510
2905
|
def __init__(
|
|
2511
2906
|
self,
|
|
2512
2907
|
*,
|
|
2513
|
-
type: str = None,
|
|
2514
|
-
origin: str = None,
|
|
2515
|
-
starting_price: 'StartingPrice' = None,
|
|
2516
|
-
|
|
2908
|
+
type: Optional[str] = None,
|
|
2909
|
+
origin: Optional[str] = None,
|
|
2910
|
+
starting_price: Optional['StartingPrice'] = None,
|
|
2911
|
+
deployment_id: Optional[str] = None,
|
|
2912
|
+
deployment_location: Optional[str] = None,
|
|
2913
|
+
deployment_location_no_price_available: Optional[bool] = None,
|
|
2914
|
+
metrics: Optional[List['Metrics']] = None,
|
|
2915
|
+
deployment_regions: Optional[List[str]] = None,
|
|
2517
2916
|
) -> None:
|
|
2518
2917
|
"""
|
|
2519
2918
|
Initialize a CatalogEntryMetadataPricing object.
|
|
@@ -2523,26 +2922,49 @@ class CatalogEntryMetadataPricing:
|
|
|
2523
2922
|
:param str origin: (optional) Defines where the pricing originates.
|
|
2524
2923
|
:param StartingPrice starting_price: (optional) Plan-specific starting
|
|
2525
2924
|
price information.
|
|
2925
|
+
:param str deployment_id: (optional) The deployment object id this pricing
|
|
2926
|
+
is from. Only set if object kind is deployment.
|
|
2927
|
+
:param str deployment_location: (optional) The deployment location this
|
|
2928
|
+
pricing is from. Only set if object kind is deployment.
|
|
2929
|
+
:param bool deployment_location_no_price_available: (optional) Is the
|
|
2930
|
+
location price not available. Only set in api /pricing/deployment and only
|
|
2931
|
+
set if true. This means for the given deployment object there was no
|
|
2932
|
+
pricing set in pricing catalog.
|
|
2526
2933
|
:param List[Metrics] metrics: (optional) Plan-specific cost metric
|
|
2527
2934
|
structure.
|
|
2935
|
+
:param List[str] deployment_regions: (optional) List of regions where
|
|
2936
|
+
region pricing is available. Only set on global deployments if enabled by
|
|
2937
|
+
owner.
|
|
2528
2938
|
"""
|
|
2529
2939
|
self.type = type
|
|
2530
2940
|
self.origin = origin
|
|
2531
2941
|
self.starting_price = starting_price
|
|
2942
|
+
self.deployment_id = deployment_id
|
|
2943
|
+
self.deployment_location = deployment_location
|
|
2944
|
+
self.deployment_location_no_price_available = deployment_location_no_price_available
|
|
2532
2945
|
self.metrics = metrics
|
|
2946
|
+
self.deployment_regions = deployment_regions
|
|
2533
2947
|
|
|
2534
2948
|
@classmethod
|
|
2535
2949
|
def from_dict(cls, _dict: Dict) -> 'CatalogEntryMetadataPricing':
|
|
2536
2950
|
"""Initialize a CatalogEntryMetadataPricing object from a json dictionary."""
|
|
2537
2951
|
args = {}
|
|
2538
|
-
if 'type'
|
|
2539
|
-
args['type'] =
|
|
2540
|
-
if 'origin'
|
|
2541
|
-
args['origin'] =
|
|
2542
|
-
if 'starting_price'
|
|
2543
|
-
args['starting_price'] = StartingPrice.from_dict(
|
|
2544
|
-
if '
|
|
2545
|
-
args['
|
|
2952
|
+
if (type := _dict.get('type')) is not None:
|
|
2953
|
+
args['type'] = type
|
|
2954
|
+
if (origin := _dict.get('origin')) is not None:
|
|
2955
|
+
args['origin'] = origin
|
|
2956
|
+
if (starting_price := _dict.get('starting_price')) is not None:
|
|
2957
|
+
args['starting_price'] = StartingPrice.from_dict(starting_price)
|
|
2958
|
+
if (deployment_id := _dict.get('deployment_id')) is not None:
|
|
2959
|
+
args['deployment_id'] = deployment_id
|
|
2960
|
+
if (deployment_location := _dict.get('deployment_location')) is not None:
|
|
2961
|
+
args['deployment_location'] = deployment_location
|
|
2962
|
+
if (deployment_location_no_price_available := _dict.get('deployment_location_no_price_available')) is not None:
|
|
2963
|
+
args['deployment_location_no_price_available'] = deployment_location_no_price_available
|
|
2964
|
+
if (metrics := _dict.get('metrics')) is not None:
|
|
2965
|
+
args['metrics'] = [Metrics.from_dict(v) for v in metrics]
|
|
2966
|
+
if (deployment_regions := _dict.get('deployment_regions')) is not None:
|
|
2967
|
+
args['deployment_regions'] = deployment_regions
|
|
2546
2968
|
return cls(**args)
|
|
2547
2969
|
|
|
2548
2970
|
@classmethod
|
|
@@ -2558,9 +2980,29 @@ class CatalogEntryMetadataPricing:
|
|
|
2558
2980
|
if hasattr(self, 'origin') and self.origin is not None:
|
|
2559
2981
|
_dict['origin'] = self.origin
|
|
2560
2982
|
if hasattr(self, 'starting_price') and self.starting_price is not None:
|
|
2561
|
-
|
|
2983
|
+
if isinstance(self.starting_price, dict):
|
|
2984
|
+
_dict['starting_price'] = self.starting_price
|
|
2985
|
+
else:
|
|
2986
|
+
_dict['starting_price'] = self.starting_price.to_dict()
|
|
2987
|
+
if hasattr(self, 'deployment_id') and self.deployment_id is not None:
|
|
2988
|
+
_dict['deployment_id'] = self.deployment_id
|
|
2989
|
+
if hasattr(self, 'deployment_location') and self.deployment_location is not None:
|
|
2990
|
+
_dict['deployment_location'] = self.deployment_location
|
|
2991
|
+
if (
|
|
2992
|
+
hasattr(self, 'deployment_location_no_price_available')
|
|
2993
|
+
and self.deployment_location_no_price_available is not None
|
|
2994
|
+
):
|
|
2995
|
+
_dict['deployment_location_no_price_available'] = self.deployment_location_no_price_available
|
|
2562
2996
|
if hasattr(self, 'metrics') and self.metrics is not None:
|
|
2563
|
-
|
|
2997
|
+
metrics_list = []
|
|
2998
|
+
for v in self.metrics:
|
|
2999
|
+
if isinstance(v, dict):
|
|
3000
|
+
metrics_list.append(v)
|
|
3001
|
+
else:
|
|
3002
|
+
metrics_list.append(v.to_dict())
|
|
3003
|
+
_dict['metrics'] = metrics_list
|
|
3004
|
+
if hasattr(self, 'deployment_regions') and self.deployment_regions is not None:
|
|
3005
|
+
_dict['deployment_regions'] = self.deployment_regions
|
|
2564
3006
|
return _dict
|
|
2565
3007
|
|
|
2566
3008
|
def _to_dict(self):
|
|
@@ -2586,13 +3028,18 @@ class DRMetaData:
|
|
|
2586
3028
|
"""
|
|
2587
3029
|
SLA Disaster Recovery-related metadata.
|
|
2588
3030
|
|
|
2589
|
-
:
|
|
2590
|
-
recovery is on.
|
|
2591
|
-
:
|
|
3031
|
+
:param bool dr: (optional) Required boolean value that describes whether
|
|
3032
|
+
disaster recovery is on.
|
|
3033
|
+
:param str description: (optional) Description of the disaster recovery
|
|
2592
3034
|
implementation.
|
|
2593
3035
|
"""
|
|
2594
3036
|
|
|
2595
|
-
def __init__(
|
|
3037
|
+
def __init__(
|
|
3038
|
+
self,
|
|
3039
|
+
*,
|
|
3040
|
+
dr: Optional[bool] = None,
|
|
3041
|
+
description: Optional[str] = None,
|
|
3042
|
+
) -> None:
|
|
2596
3043
|
"""
|
|
2597
3044
|
Initialize a DRMetaData object.
|
|
2598
3045
|
|
|
@@ -2608,10 +3055,10 @@ class DRMetaData:
|
|
|
2608
3055
|
def from_dict(cls, _dict: Dict) -> 'DRMetaData':
|
|
2609
3056
|
"""Initialize a DRMetaData object from a json dictionary."""
|
|
2610
3057
|
args = {}
|
|
2611
|
-
if 'dr'
|
|
2612
|
-
args['dr'] =
|
|
2613
|
-
if 'description'
|
|
2614
|
-
args['description'] =
|
|
3058
|
+
if (dr := _dict.get('dr')) is not None:
|
|
3059
|
+
args['dr'] = dr
|
|
3060
|
+
if (description := _dict.get('description')) is not None:
|
|
3061
|
+
args['description'] = description
|
|
2615
3062
|
return cls(**args)
|
|
2616
3063
|
|
|
2617
3064
|
@classmethod
|
|
@@ -2651,32 +3098,32 @@ class DeploymentBase:
|
|
|
2651
3098
|
"""
|
|
2652
3099
|
Deployment-related metadata.
|
|
2653
3100
|
|
|
2654
|
-
:
|
|
3101
|
+
:param str location: (optional) Describes the region where the service is
|
|
2655
3102
|
located.
|
|
2656
|
-
:
|
|
2657
|
-
:
|
|
2658
|
-
:
|
|
3103
|
+
:param str location_url: (optional) URL of deployment.
|
|
3104
|
+
:param str original_location: (optional) Original service location.
|
|
3105
|
+
:param str target_crn: (optional) A CRN that describes the deployment.
|
|
2659
3106
|
crn:v1:[cname]:[ctype]:[location]:[scope]::[resource-type]:[resource].
|
|
2660
|
-
:
|
|
2661
|
-
:
|
|
2662
|
-
:
|
|
2663
|
-
:
|
|
3107
|
+
:param str service_crn: (optional) CRN for the service.
|
|
3108
|
+
:param str mccp_id: (optional) ID for MCCP.
|
|
3109
|
+
:param Broker broker: (optional) The broker associated with a catalog entry.
|
|
3110
|
+
:param bool supports_rc_migration: (optional) This deployment not only supports
|
|
2664
3111
|
RC but is ready to migrate and support the RC broker for a location.
|
|
2665
|
-
:
|
|
3112
|
+
:param str target_network: (optional) network to use during deployment.
|
|
2666
3113
|
"""
|
|
2667
3114
|
|
|
2668
3115
|
def __init__(
|
|
2669
3116
|
self,
|
|
2670
3117
|
*,
|
|
2671
|
-
location: str = None,
|
|
2672
|
-
location_url: str = None,
|
|
2673
|
-
original_location: str = None,
|
|
2674
|
-
target_crn: str = None,
|
|
2675
|
-
service_crn: str = None,
|
|
2676
|
-
mccp_id: str = None,
|
|
2677
|
-
broker: 'Broker' = None,
|
|
2678
|
-
supports_rc_migration: bool = None,
|
|
2679
|
-
target_network: str = None,
|
|
3118
|
+
location: Optional[str] = None,
|
|
3119
|
+
location_url: Optional[str] = None,
|
|
3120
|
+
original_location: Optional[str] = None,
|
|
3121
|
+
target_crn: Optional[str] = None,
|
|
3122
|
+
service_crn: Optional[str] = None,
|
|
3123
|
+
mccp_id: Optional[str] = None,
|
|
3124
|
+
broker: Optional['Broker'] = None,
|
|
3125
|
+
supports_rc_migration: Optional[bool] = None,
|
|
3126
|
+
target_network: Optional[str] = None,
|
|
2680
3127
|
) -> None:
|
|
2681
3128
|
"""
|
|
2682
3129
|
Initialize a DeploymentBase object.
|
|
@@ -2710,24 +3157,24 @@ class DeploymentBase:
|
|
|
2710
3157
|
def from_dict(cls, _dict: Dict) -> 'DeploymentBase':
|
|
2711
3158
|
"""Initialize a DeploymentBase object from a json dictionary."""
|
|
2712
3159
|
args = {}
|
|
2713
|
-
if 'location'
|
|
2714
|
-
args['location'] =
|
|
2715
|
-
if 'location_url'
|
|
2716
|
-
args['location_url'] =
|
|
2717
|
-
if 'original_location'
|
|
2718
|
-
args['original_location'] =
|
|
2719
|
-
if 'target_crn'
|
|
2720
|
-
args['target_crn'] =
|
|
2721
|
-
if 'service_crn'
|
|
2722
|
-
args['service_crn'] =
|
|
2723
|
-
if 'mccp_id'
|
|
2724
|
-
args['mccp_id'] =
|
|
2725
|
-
if 'broker'
|
|
2726
|
-
args['broker'] = Broker.from_dict(
|
|
2727
|
-
if 'supports_rc_migration'
|
|
2728
|
-
args['supports_rc_migration'] =
|
|
2729
|
-
if 'target_network'
|
|
2730
|
-
args['target_network'] =
|
|
3160
|
+
if (location := _dict.get('location')) is not None:
|
|
3161
|
+
args['location'] = location
|
|
3162
|
+
if (location_url := _dict.get('location_url')) is not None:
|
|
3163
|
+
args['location_url'] = location_url
|
|
3164
|
+
if (original_location := _dict.get('original_location')) is not None:
|
|
3165
|
+
args['original_location'] = original_location
|
|
3166
|
+
if (target_crn := _dict.get('target_crn')) is not None:
|
|
3167
|
+
args['target_crn'] = target_crn
|
|
3168
|
+
if (service_crn := _dict.get('service_crn')) is not None:
|
|
3169
|
+
args['service_crn'] = service_crn
|
|
3170
|
+
if (mccp_id := _dict.get('mccp_id')) is not None:
|
|
3171
|
+
args['mccp_id'] = mccp_id
|
|
3172
|
+
if (broker := _dict.get('broker')) is not None:
|
|
3173
|
+
args['broker'] = Broker.from_dict(broker)
|
|
3174
|
+
if (supports_rc_migration := _dict.get('supports_rc_migration')) is not None:
|
|
3175
|
+
args['supports_rc_migration'] = supports_rc_migration
|
|
3176
|
+
if (target_network := _dict.get('target_network')) is not None:
|
|
3177
|
+
args['target_network'] = target_network
|
|
2731
3178
|
return cls(**args)
|
|
2732
3179
|
|
|
2733
3180
|
@classmethod
|
|
@@ -2751,7 +3198,10 @@ class DeploymentBase:
|
|
|
2751
3198
|
if hasattr(self, 'mccp_id') and self.mccp_id is not None:
|
|
2752
3199
|
_dict['mccp_id'] = self.mccp_id
|
|
2753
3200
|
if hasattr(self, 'broker') and self.broker is not None:
|
|
2754
|
-
|
|
3201
|
+
if isinstance(self.broker, dict):
|
|
3202
|
+
_dict['broker'] = self.broker
|
|
3203
|
+
else:
|
|
3204
|
+
_dict['broker'] = self.broker.to_dict()
|
|
2755
3205
|
if hasattr(self, 'supports_rc_migration') and self.supports_rc_migration is not None:
|
|
2756
3206
|
_dict['supports_rc_migration'] = self.supports_rc_migration
|
|
2757
3207
|
if hasattr(self, 'target_network') and self.target_network is not None:
|
|
@@ -2781,36 +3231,38 @@ class EntrySearchResult:
|
|
|
2781
3231
|
"""
|
|
2782
3232
|
A paginated search result containing catalog entries.
|
|
2783
3233
|
|
|
2784
|
-
:
|
|
2785
|
-
page of search results.
|
|
2786
|
-
:
|
|
3234
|
+
:param int offset: (optional) The offset (origin 0) of the first resource in
|
|
3235
|
+
this page of search results.
|
|
3236
|
+
:param int limit: (optional) The maximum number of resources returned in each
|
|
2787
3237
|
page of search results.
|
|
2788
|
-
:
|
|
3238
|
+
:param int count: (optional) The overall total number of resources in the search
|
|
2789
3239
|
result set.
|
|
2790
|
-
:
|
|
3240
|
+
:param int resource_count: (optional) The number of resources returned in this
|
|
2791
3241
|
page of search results.
|
|
2792
|
-
:
|
|
3242
|
+
:param str first: (optional) A URL for retrieving the first page of search
|
|
2793
3243
|
results.
|
|
2794
|
-
:
|
|
2795
|
-
:attr str prev: (optional) A URL for retrieving the previous page of search
|
|
3244
|
+
:param str last: (optional) A URL for retrieving the last page of search
|
|
2796
3245
|
results.
|
|
2797
|
-
:
|
|
2798
|
-
|
|
3246
|
+
:param str prev: (optional) A URL for retrieving the previous page of search
|
|
3247
|
+
results.
|
|
3248
|
+
:param str next: (optional) A URL for retrieving the next page of search
|
|
3249
|
+
results.
|
|
3250
|
+
:param List[CatalogEntry] resources: (optional) The resources (catalog entries)
|
|
2799
3251
|
contained in this page of search results.
|
|
2800
3252
|
"""
|
|
2801
3253
|
|
|
2802
3254
|
def __init__(
|
|
2803
3255
|
self,
|
|
2804
3256
|
*,
|
|
2805
|
-
offset: int = None,
|
|
2806
|
-
limit: int = None,
|
|
2807
|
-
count: int = None,
|
|
2808
|
-
resource_count: int = None,
|
|
2809
|
-
first: str = None,
|
|
2810
|
-
last: str = None,
|
|
2811
|
-
prev: str = None,
|
|
2812
|
-
next: str = None,
|
|
2813
|
-
resources: List['CatalogEntry'] = None,
|
|
3257
|
+
offset: Optional[int] = None,
|
|
3258
|
+
limit: Optional[int] = None,
|
|
3259
|
+
count: Optional[int] = None,
|
|
3260
|
+
resource_count: Optional[int] = None,
|
|
3261
|
+
first: Optional[str] = None,
|
|
3262
|
+
last: Optional[str] = None,
|
|
3263
|
+
prev: Optional[str] = None,
|
|
3264
|
+
next: Optional[str] = None,
|
|
3265
|
+
resources: Optional[List['CatalogEntry']] = None,
|
|
2814
3266
|
) -> None:
|
|
2815
3267
|
"""
|
|
2816
3268
|
Initialize a EntrySearchResult object.
|
|
@@ -2848,24 +3300,24 @@ class EntrySearchResult:
|
|
|
2848
3300
|
def from_dict(cls, _dict: Dict) -> 'EntrySearchResult':
|
|
2849
3301
|
"""Initialize a EntrySearchResult object from a json dictionary."""
|
|
2850
3302
|
args = {}
|
|
2851
|
-
if 'offset'
|
|
2852
|
-
args['offset'] =
|
|
2853
|
-
if 'limit'
|
|
2854
|
-
args['limit'] =
|
|
2855
|
-
if 'count'
|
|
2856
|
-
args['count'] =
|
|
2857
|
-
if 'resource_count'
|
|
2858
|
-
args['resource_count'] =
|
|
2859
|
-
if 'first'
|
|
2860
|
-
args['first'] =
|
|
2861
|
-
if 'last'
|
|
2862
|
-
args['last'] =
|
|
2863
|
-
if 'prev'
|
|
2864
|
-
args['prev'] =
|
|
2865
|
-
if 'next'
|
|
2866
|
-
args['next'] =
|
|
2867
|
-
if 'resources'
|
|
2868
|
-
args['resources'] = [CatalogEntry.from_dict(
|
|
3303
|
+
if (offset := _dict.get('offset')) is not None:
|
|
3304
|
+
args['offset'] = offset
|
|
3305
|
+
if (limit := _dict.get('limit')) is not None:
|
|
3306
|
+
args['limit'] = limit
|
|
3307
|
+
if (count := _dict.get('count')) is not None:
|
|
3308
|
+
args['count'] = count
|
|
3309
|
+
if (resource_count := _dict.get('resource_count')) is not None:
|
|
3310
|
+
args['resource_count'] = resource_count
|
|
3311
|
+
if (first := _dict.get('first')) is not None:
|
|
3312
|
+
args['first'] = first
|
|
3313
|
+
if (last := _dict.get('last')) is not None:
|
|
3314
|
+
args['last'] = last
|
|
3315
|
+
if (prev := _dict.get('prev')) is not None:
|
|
3316
|
+
args['prev'] = prev
|
|
3317
|
+
if (next := _dict.get('next')) is not None:
|
|
3318
|
+
args['next'] = next
|
|
3319
|
+
if (resources := _dict.get('resources')) is not None:
|
|
3320
|
+
args['resources'] = [CatalogEntry.from_dict(v) for v in resources]
|
|
2869
3321
|
return cls(**args)
|
|
2870
3322
|
|
|
2871
3323
|
@classmethod
|
|
@@ -2893,7 +3345,13 @@ class EntrySearchResult:
|
|
|
2893
3345
|
if hasattr(self, 'next') and self.next is not None:
|
|
2894
3346
|
_dict['next'] = self.next
|
|
2895
3347
|
if hasattr(self, 'resources') and self.resources is not None:
|
|
2896
|
-
|
|
3348
|
+
resources_list = []
|
|
3349
|
+
for v in self.resources:
|
|
3350
|
+
if isinstance(v, dict):
|
|
3351
|
+
resources_list.append(v)
|
|
3352
|
+
else:
|
|
3353
|
+
resources_list.append(v.to_dict())
|
|
3354
|
+
_dict['resources'] = resources_list
|
|
2897
3355
|
return _dict
|
|
2898
3356
|
|
|
2899
3357
|
def _to_dict(self):
|
|
@@ -2919,14 +3377,19 @@ class Image:
|
|
|
2919
3377
|
"""
|
|
2920
3378
|
Image annotation for this catalog entry. The image is a URL.
|
|
2921
3379
|
|
|
2922
|
-
:
|
|
2923
|
-
:
|
|
2924
|
-
:
|
|
2925
|
-
:
|
|
3380
|
+
:param str image: URL for the large, default image.
|
|
3381
|
+
:param str small_image: (optional) URL for a small image.
|
|
3382
|
+
:param str medium_image: (optional) URL for a medium image.
|
|
3383
|
+
:param str feature_image: (optional) URL for a featured image.
|
|
2926
3384
|
"""
|
|
2927
3385
|
|
|
2928
3386
|
def __init__(
|
|
2929
|
-
self,
|
|
3387
|
+
self,
|
|
3388
|
+
image: str,
|
|
3389
|
+
*,
|
|
3390
|
+
small_image: Optional[str] = None,
|
|
3391
|
+
medium_image: Optional[str] = None,
|
|
3392
|
+
feature_image: Optional[str] = None,
|
|
2930
3393
|
) -> None:
|
|
2931
3394
|
"""
|
|
2932
3395
|
Initialize a Image object.
|
|
@@ -2945,16 +3408,16 @@ class Image:
|
|
|
2945
3408
|
def from_dict(cls, _dict: Dict) -> 'Image':
|
|
2946
3409
|
"""Initialize a Image object from a json dictionary."""
|
|
2947
3410
|
args = {}
|
|
2948
|
-
if 'image'
|
|
2949
|
-
args['image'] =
|
|
3411
|
+
if (image := _dict.get('image')) is not None:
|
|
3412
|
+
args['image'] = image
|
|
2950
3413
|
else:
|
|
2951
3414
|
raise ValueError('Required property \'image\' not present in Image JSON')
|
|
2952
|
-
if 'small_image'
|
|
2953
|
-
args['small_image'] =
|
|
2954
|
-
if 'medium_image'
|
|
2955
|
-
args['medium_image'] =
|
|
2956
|
-
if 'feature_image'
|
|
2957
|
-
args['feature_image'] =
|
|
3415
|
+
if (small_image := _dict.get('small_image')) is not None:
|
|
3416
|
+
args['small_image'] = small_image
|
|
3417
|
+
if (medium_image := _dict.get('medium_image')) is not None:
|
|
3418
|
+
args['medium_image'] = medium_image
|
|
3419
|
+
if (feature_image := _dict.get('feature_image')) is not None:
|
|
3420
|
+
args['feature_image'] = feature_image
|
|
2958
3421
|
return cls(**args)
|
|
2959
3422
|
|
|
2960
3423
|
@classmethod
|
|
@@ -2998,35 +3461,35 @@ class Message:
|
|
|
2998
3461
|
"""
|
|
2999
3462
|
log object describing who did what.
|
|
3000
3463
|
|
|
3001
|
-
:
|
|
3002
|
-
:
|
|
3464
|
+
:param str id: (optional) id of catalog entry.
|
|
3465
|
+
:param Visibility effective: (optional) Information related to the visibility of
|
|
3003
3466
|
a catalog entry.
|
|
3004
|
-
:
|
|
3005
|
-
:
|
|
3006
|
-
:
|
|
3007
|
-
:
|
|
3008
|
-
:
|
|
3009
|
-
:
|
|
3010
|
-
:
|
|
3011
|
-
:
|
|
3012
|
-
:
|
|
3467
|
+
:param datetime time: (optional) time of action.
|
|
3468
|
+
:param str who_id: (optional) user ID of person who did action.
|
|
3469
|
+
:param str who_name: (optional) name of person who did action.
|
|
3470
|
+
:param str who_email: (optional) user email of person who did action.
|
|
3471
|
+
:param str instance: (optional) Global catalog instance where this occured.
|
|
3472
|
+
:param str gid: (optional) transaction id associatd with action.
|
|
3473
|
+
:param str type: (optional) type of action taken.
|
|
3474
|
+
:param str message: (optional) message describing action.
|
|
3475
|
+
:param dict data: (optional) An object containing details on changes made to
|
|
3013
3476
|
object data.
|
|
3014
3477
|
"""
|
|
3015
3478
|
|
|
3016
3479
|
def __init__(
|
|
3017
3480
|
self,
|
|
3018
3481
|
*,
|
|
3019
|
-
id: str = None,
|
|
3020
|
-
effective: 'Visibility' = None,
|
|
3021
|
-
time: datetime = None,
|
|
3022
|
-
who_id: str = None,
|
|
3023
|
-
who_name: str = None,
|
|
3024
|
-
who_email: str = None,
|
|
3025
|
-
instance: str = None,
|
|
3026
|
-
gid: str = None,
|
|
3027
|
-
type: str = None,
|
|
3028
|
-
message: str = None,
|
|
3029
|
-
data: dict = None,
|
|
3482
|
+
id: Optional[str] = None,
|
|
3483
|
+
effective: Optional['Visibility'] = None,
|
|
3484
|
+
time: Optional[datetime] = None,
|
|
3485
|
+
who_id: Optional[str] = None,
|
|
3486
|
+
who_name: Optional[str] = None,
|
|
3487
|
+
who_email: Optional[str] = None,
|
|
3488
|
+
instance: Optional[str] = None,
|
|
3489
|
+
gid: Optional[str] = None,
|
|
3490
|
+
type: Optional[str] = None,
|
|
3491
|
+
message: Optional[str] = None,
|
|
3492
|
+
data: Optional[dict] = None,
|
|
3030
3493
|
) -> None:
|
|
3031
3494
|
"""
|
|
3032
3495
|
Initialize a Message object.
|
|
@@ -3061,28 +3524,28 @@ class Message:
|
|
|
3061
3524
|
def from_dict(cls, _dict: Dict) -> 'Message':
|
|
3062
3525
|
"""Initialize a Message object from a json dictionary."""
|
|
3063
3526
|
args = {}
|
|
3064
|
-
if 'id'
|
|
3065
|
-
args['id'] =
|
|
3066
|
-
if 'effective'
|
|
3067
|
-
args['effective'] = Visibility.from_dict(
|
|
3068
|
-
if 'time'
|
|
3069
|
-
args['time'] = string_to_datetime(
|
|
3070
|
-
if 'who_id'
|
|
3071
|
-
args['who_id'] =
|
|
3072
|
-
if 'who_name'
|
|
3073
|
-
args['who_name'] =
|
|
3074
|
-
if 'who_email'
|
|
3075
|
-
args['who_email'] =
|
|
3076
|
-
if 'instance'
|
|
3077
|
-
args['instance'] =
|
|
3078
|
-
if 'gid'
|
|
3079
|
-
args['gid'] =
|
|
3080
|
-
if 'type'
|
|
3081
|
-
args['type'] =
|
|
3082
|
-
if 'message'
|
|
3083
|
-
args['message'] =
|
|
3084
|
-
if 'data'
|
|
3085
|
-
args['data'] =
|
|
3527
|
+
if (id := _dict.get('id')) is not None:
|
|
3528
|
+
args['id'] = id
|
|
3529
|
+
if (effective := _dict.get('effective')) is not None:
|
|
3530
|
+
args['effective'] = Visibility.from_dict(effective)
|
|
3531
|
+
if (time := _dict.get('time')) is not None:
|
|
3532
|
+
args['time'] = string_to_datetime(time)
|
|
3533
|
+
if (who_id := _dict.get('who_id')) is not None:
|
|
3534
|
+
args['who_id'] = who_id
|
|
3535
|
+
if (who_name := _dict.get('who_name')) is not None:
|
|
3536
|
+
args['who_name'] = who_name
|
|
3537
|
+
if (who_email := _dict.get('who_email')) is not None:
|
|
3538
|
+
args['who_email'] = who_email
|
|
3539
|
+
if (instance := _dict.get('instance')) is not None:
|
|
3540
|
+
args['instance'] = instance
|
|
3541
|
+
if (gid := _dict.get('gid')) is not None:
|
|
3542
|
+
args['gid'] = gid
|
|
3543
|
+
if (type := _dict.get('type')) is not None:
|
|
3544
|
+
args['type'] = type
|
|
3545
|
+
if (message := _dict.get('message')) is not None:
|
|
3546
|
+
args['message'] = message
|
|
3547
|
+
if (data := _dict.get('data')) is not None:
|
|
3548
|
+
args['data'] = data
|
|
3086
3549
|
return cls(**args)
|
|
3087
3550
|
|
|
3088
3551
|
@classmethod
|
|
@@ -3096,7 +3559,10 @@ class Message:
|
|
|
3096
3559
|
if hasattr(self, 'id') and self.id is not None:
|
|
3097
3560
|
_dict['id'] = self.id
|
|
3098
3561
|
if hasattr(self, 'effective') and self.effective is not None:
|
|
3099
|
-
|
|
3562
|
+
if isinstance(self.effective, dict):
|
|
3563
|
+
_dict['effective'] = self.effective
|
|
3564
|
+
else:
|
|
3565
|
+
_dict['effective'] = self.effective.to_dict()
|
|
3100
3566
|
if hasattr(self, 'time') and self.time is not None:
|
|
3101
3567
|
_dict['time'] = datetime_to_string(self.time)
|
|
3102
3568
|
if hasattr(self, 'who_id') and self.who_id is not None:
|
|
@@ -3140,38 +3606,38 @@ class Metrics:
|
|
|
3140
3606
|
"""
|
|
3141
3607
|
Plan-specific cost metrics information.
|
|
3142
3608
|
|
|
3143
|
-
:
|
|
3144
|
-
:
|
|
3145
|
-
:
|
|
3146
|
-
:
|
|
3147
|
-
:
|
|
3148
|
-
:
|
|
3149
|
-
:
|
|
3150
|
-
:
|
|
3151
|
-
:
|
|
3152
|
-
:
|
|
3153
|
-
:
|
|
3154
|
-
:
|
|
3155
|
-
:
|
|
3609
|
+
:param str part_ref: (optional) The part reference.
|
|
3610
|
+
:param str metric_id: (optional) The metric ID or part number.
|
|
3611
|
+
:param str tier_model: (optional) The tier model.
|
|
3612
|
+
:param str charge_unit: (optional) The unit to charge.
|
|
3613
|
+
:param str charge_unit_name: (optional) The charge unit name.
|
|
3614
|
+
:param int charge_unit_quantity: (optional) The charge unit quantity.
|
|
3615
|
+
:param str resource_display_name: (optional) Display name of the resource.
|
|
3616
|
+
:param str charge_unit_display_name: (optional) Display name of the charge unit.
|
|
3617
|
+
:param int usage_cap_qty: (optional) Usage limit for the metric.
|
|
3618
|
+
:param int display_cap: (optional) Display capacity.
|
|
3619
|
+
:param datetime effective_from: (optional) Effective from time.
|
|
3620
|
+
:param datetime effective_until: (optional) Effective until time.
|
|
3621
|
+
:param List[Amount] amounts: (optional) The pricing per metric by country and
|
|
3156
3622
|
currency.
|
|
3157
3623
|
"""
|
|
3158
3624
|
|
|
3159
3625
|
def __init__(
|
|
3160
3626
|
self,
|
|
3161
3627
|
*,
|
|
3162
|
-
part_ref: str = None,
|
|
3163
|
-
metric_id: str = None,
|
|
3164
|
-
tier_model: str = None,
|
|
3165
|
-
charge_unit: str = None,
|
|
3166
|
-
charge_unit_name: str = None,
|
|
3167
|
-
charge_unit_quantity:
|
|
3168
|
-
resource_display_name: str = None,
|
|
3169
|
-
charge_unit_display_name: str = None,
|
|
3170
|
-
usage_cap_qty: int = None,
|
|
3171
|
-
display_cap: int = None,
|
|
3172
|
-
effective_from: datetime = None,
|
|
3173
|
-
effective_until: datetime = None,
|
|
3174
|
-
amounts: List['Amount'] = None,
|
|
3628
|
+
part_ref: Optional[str] = None,
|
|
3629
|
+
metric_id: Optional[str] = None,
|
|
3630
|
+
tier_model: Optional[str] = None,
|
|
3631
|
+
charge_unit: Optional[str] = None,
|
|
3632
|
+
charge_unit_name: Optional[str] = None,
|
|
3633
|
+
charge_unit_quantity: Optional[int] = None,
|
|
3634
|
+
resource_display_name: Optional[str] = None,
|
|
3635
|
+
charge_unit_display_name: Optional[str] = None,
|
|
3636
|
+
usage_cap_qty: Optional[int] = None,
|
|
3637
|
+
display_cap: Optional[int] = None,
|
|
3638
|
+
effective_from: Optional[datetime] = None,
|
|
3639
|
+
effective_until: Optional[datetime] = None,
|
|
3640
|
+
amounts: Optional[List['Amount']] = None,
|
|
3175
3641
|
) -> None:
|
|
3176
3642
|
"""
|
|
3177
3643
|
Initialize a Metrics object.
|
|
@@ -3181,7 +3647,7 @@ class Metrics:
|
|
|
3181
3647
|
:param str tier_model: (optional) The tier model.
|
|
3182
3648
|
:param str charge_unit: (optional) The unit to charge.
|
|
3183
3649
|
:param str charge_unit_name: (optional) The charge unit name.
|
|
3184
|
-
:param
|
|
3650
|
+
:param int charge_unit_quantity: (optional) The charge unit quantity.
|
|
3185
3651
|
:param str resource_display_name: (optional) Display name of the resource.
|
|
3186
3652
|
:param str charge_unit_display_name: (optional) Display name of the charge
|
|
3187
3653
|
unit.
|
|
@@ -3210,32 +3676,32 @@ class Metrics:
|
|
|
3210
3676
|
def from_dict(cls, _dict: Dict) -> 'Metrics':
|
|
3211
3677
|
"""Initialize a Metrics object from a json dictionary."""
|
|
3212
3678
|
args = {}
|
|
3213
|
-
if 'part_ref'
|
|
3214
|
-
args['part_ref'] =
|
|
3215
|
-
if 'metric_id'
|
|
3216
|
-
args['metric_id'] =
|
|
3217
|
-
if 'tier_model'
|
|
3218
|
-
args['tier_model'] =
|
|
3219
|
-
if 'charge_unit'
|
|
3220
|
-
args['charge_unit'] =
|
|
3221
|
-
if 'charge_unit_name'
|
|
3222
|
-
args['charge_unit_name'] =
|
|
3223
|
-
if 'charge_unit_quantity'
|
|
3224
|
-
args['charge_unit_quantity'] =
|
|
3225
|
-
if 'resource_display_name'
|
|
3226
|
-
args['resource_display_name'] =
|
|
3227
|
-
if 'charge_unit_display_name'
|
|
3228
|
-
args['charge_unit_display_name'] =
|
|
3229
|
-
if 'usage_cap_qty'
|
|
3230
|
-
args['usage_cap_qty'] =
|
|
3231
|
-
if 'display_cap'
|
|
3232
|
-
args['display_cap'] =
|
|
3233
|
-
if 'effective_from'
|
|
3234
|
-
args['effective_from'] = string_to_datetime(
|
|
3235
|
-
if 'effective_until'
|
|
3236
|
-
args['effective_until'] = string_to_datetime(
|
|
3237
|
-
if 'amounts'
|
|
3238
|
-
args['amounts'] = [Amount.from_dict(
|
|
3679
|
+
if (part_ref := _dict.get('part_ref')) is not None:
|
|
3680
|
+
args['part_ref'] = part_ref
|
|
3681
|
+
if (metric_id := _dict.get('metric_id')) is not None:
|
|
3682
|
+
args['metric_id'] = metric_id
|
|
3683
|
+
if (tier_model := _dict.get('tier_model')) is not None:
|
|
3684
|
+
args['tier_model'] = tier_model
|
|
3685
|
+
if (charge_unit := _dict.get('charge_unit')) is not None:
|
|
3686
|
+
args['charge_unit'] = charge_unit
|
|
3687
|
+
if (charge_unit_name := _dict.get('charge_unit_name')) is not None:
|
|
3688
|
+
args['charge_unit_name'] = charge_unit_name
|
|
3689
|
+
if (charge_unit_quantity := _dict.get('charge_unit_quantity')) is not None:
|
|
3690
|
+
args['charge_unit_quantity'] = charge_unit_quantity
|
|
3691
|
+
if (resource_display_name := _dict.get('resource_display_name')) is not None:
|
|
3692
|
+
args['resource_display_name'] = resource_display_name
|
|
3693
|
+
if (charge_unit_display_name := _dict.get('charge_unit_display_name')) is not None:
|
|
3694
|
+
args['charge_unit_display_name'] = charge_unit_display_name
|
|
3695
|
+
if (usage_cap_qty := _dict.get('usage_cap_qty')) is not None:
|
|
3696
|
+
args['usage_cap_qty'] = usage_cap_qty
|
|
3697
|
+
if (display_cap := _dict.get('display_cap')) is not None:
|
|
3698
|
+
args['display_cap'] = display_cap
|
|
3699
|
+
if (effective_from := _dict.get('effective_from')) is not None:
|
|
3700
|
+
args['effective_from'] = string_to_datetime(effective_from)
|
|
3701
|
+
if (effective_until := _dict.get('effective_until')) is not None:
|
|
3702
|
+
args['effective_until'] = string_to_datetime(effective_until)
|
|
3703
|
+
if (amounts := _dict.get('amounts')) is not None:
|
|
3704
|
+
args['amounts'] = [Amount.from_dict(v) for v in amounts]
|
|
3239
3705
|
return cls(**args)
|
|
3240
3706
|
|
|
3241
3707
|
@classmethod
|
|
@@ -3271,7 +3737,13 @@ class Metrics:
|
|
|
3271
3737
|
if hasattr(self, 'effective_until') and self.effective_until is not None:
|
|
3272
3738
|
_dict['effective_until'] = datetime_to_string(self.effective_until)
|
|
3273
3739
|
if hasattr(self, 'amounts') and self.amounts is not None:
|
|
3274
|
-
|
|
3740
|
+
amounts_list = []
|
|
3741
|
+
for v in self.amounts:
|
|
3742
|
+
if isinstance(v, dict):
|
|
3743
|
+
amounts_list.append(v)
|
|
3744
|
+
else:
|
|
3745
|
+
amounts_list.append(v.to_dict())
|
|
3746
|
+
_dict['amounts'] = amounts_list
|
|
3275
3747
|
return _dict
|
|
3276
3748
|
|
|
3277
3749
|
def _to_dict(self):
|
|
@@ -3297,42 +3769,43 @@ class ObjectMetadataSet:
|
|
|
3297
3769
|
"""
|
|
3298
3770
|
Model used to describe metadata object that can be set.
|
|
3299
3771
|
|
|
3300
|
-
:
|
|
3772
|
+
:param bool rc_compatible: (optional) Boolean value that describes whether the
|
|
3301
3773
|
service is compatible with the Resource Controller.
|
|
3302
|
-
:
|
|
3303
|
-
:
|
|
3304
|
-
:
|
|
3305
|
-
:
|
|
3306
|
-
:
|
|
3774
|
+
:param CFMetaData service: (optional) Service-related metadata.
|
|
3775
|
+
:param PlanMetaData plan: (optional) Plan-related metadata.
|
|
3776
|
+
:param AliasMetaData alias: (optional) Alias-related metadata.
|
|
3777
|
+
:param TemplateMetaData template: (optional) Template-related metadata.
|
|
3778
|
+
:param UIMetaData ui: (optional) Information related to the UI presentation
|
|
3307
3779
|
associated with a catalog entry.
|
|
3308
|
-
:
|
|
3309
|
-
|
|
3310
|
-
:
|
|
3780
|
+
:param List[str] compliance: (optional) Compliance information for HIPAA and
|
|
3781
|
+
PCI.
|
|
3782
|
+
:param SLAMetaData sla: (optional) Service Level Agreement related metadata.
|
|
3783
|
+
:param Callbacks callbacks: (optional) Callback-related information associated
|
|
3311
3784
|
with a catalog entry.
|
|
3312
|
-
:
|
|
3313
|
-
:
|
|
3314
|
-
:
|
|
3315
|
-
:
|
|
3316
|
-
:
|
|
3785
|
+
:param str original_name: (optional) The original name of the object.
|
|
3786
|
+
:param str version: (optional) Optional version of the object.
|
|
3787
|
+
:param dict other: (optional) Additional information.
|
|
3788
|
+
:param PricingSet pricing: (optional) Pricing-related information.
|
|
3789
|
+
:param DeploymentBase deployment: (optional) Deployment-related metadata.
|
|
3317
3790
|
"""
|
|
3318
3791
|
|
|
3319
3792
|
def __init__(
|
|
3320
3793
|
self,
|
|
3321
3794
|
*,
|
|
3322
|
-
rc_compatible: bool = None,
|
|
3323
|
-
service: 'CFMetaData' = None,
|
|
3324
|
-
plan: 'PlanMetaData' = None,
|
|
3325
|
-
alias: 'AliasMetaData' = None,
|
|
3326
|
-
template: 'TemplateMetaData' = None,
|
|
3327
|
-
ui: 'UIMetaData' = None,
|
|
3328
|
-
compliance: List[str] = None,
|
|
3329
|
-
sla: 'SLAMetaData' = None,
|
|
3330
|
-
callbacks: 'Callbacks' = None,
|
|
3331
|
-
original_name: str = None,
|
|
3332
|
-
version: str = None,
|
|
3333
|
-
other: dict = None,
|
|
3334
|
-
pricing: 'PricingSet' = None,
|
|
3335
|
-
deployment: 'DeploymentBase' = None,
|
|
3795
|
+
rc_compatible: Optional[bool] = None,
|
|
3796
|
+
service: Optional['CFMetaData'] = None,
|
|
3797
|
+
plan: Optional['PlanMetaData'] = None,
|
|
3798
|
+
alias: Optional['AliasMetaData'] = None,
|
|
3799
|
+
template: Optional['TemplateMetaData'] = None,
|
|
3800
|
+
ui: Optional['UIMetaData'] = None,
|
|
3801
|
+
compliance: Optional[List[str]] = None,
|
|
3802
|
+
sla: Optional['SLAMetaData'] = None,
|
|
3803
|
+
callbacks: Optional['Callbacks'] = None,
|
|
3804
|
+
original_name: Optional[str] = None,
|
|
3805
|
+
version: Optional[str] = None,
|
|
3806
|
+
other: Optional[dict] = None,
|
|
3807
|
+
pricing: Optional['PricingSet'] = None,
|
|
3808
|
+
deployment: Optional['DeploymentBase'] = None,
|
|
3336
3809
|
) -> None:
|
|
3337
3810
|
"""
|
|
3338
3811
|
Initialize a ObjectMetadataSet object.
|
|
@@ -3376,34 +3849,34 @@ class ObjectMetadataSet:
|
|
|
3376
3849
|
def from_dict(cls, _dict: Dict) -> 'ObjectMetadataSet':
|
|
3377
3850
|
"""Initialize a ObjectMetadataSet object from a json dictionary."""
|
|
3378
3851
|
args = {}
|
|
3379
|
-
if 'rc_compatible'
|
|
3380
|
-
args['rc_compatible'] =
|
|
3381
|
-
if 'service'
|
|
3382
|
-
args['service'] = CFMetaData.from_dict(
|
|
3383
|
-
if 'plan'
|
|
3384
|
-
args['plan'] = PlanMetaData.from_dict(
|
|
3385
|
-
if 'alias'
|
|
3386
|
-
args['alias'] = AliasMetaData.from_dict(
|
|
3387
|
-
if 'template'
|
|
3388
|
-
args['template'] = TemplateMetaData.from_dict(
|
|
3389
|
-
if 'ui'
|
|
3390
|
-
args['ui'] = UIMetaData.from_dict(
|
|
3391
|
-
if 'compliance'
|
|
3392
|
-
args['compliance'] =
|
|
3393
|
-
if 'sla'
|
|
3394
|
-
args['sla'] = SLAMetaData.from_dict(
|
|
3395
|
-
if 'callbacks'
|
|
3396
|
-
args['callbacks'] = Callbacks.from_dict(
|
|
3397
|
-
if 'original_name'
|
|
3398
|
-
args['original_name'] =
|
|
3399
|
-
if 'version'
|
|
3400
|
-
args['version'] =
|
|
3401
|
-
if 'other'
|
|
3402
|
-
args['other'] =
|
|
3403
|
-
if 'pricing'
|
|
3404
|
-
args['pricing'] = PricingSet.from_dict(
|
|
3405
|
-
if 'deployment'
|
|
3406
|
-
args['deployment'] = DeploymentBase.from_dict(
|
|
3852
|
+
if (rc_compatible := _dict.get('rc_compatible')) is not None:
|
|
3853
|
+
args['rc_compatible'] = rc_compatible
|
|
3854
|
+
if (service := _dict.get('service')) is not None:
|
|
3855
|
+
args['service'] = CFMetaData.from_dict(service)
|
|
3856
|
+
if (plan := _dict.get('plan')) is not None:
|
|
3857
|
+
args['plan'] = PlanMetaData.from_dict(plan)
|
|
3858
|
+
if (alias := _dict.get('alias')) is not None:
|
|
3859
|
+
args['alias'] = AliasMetaData.from_dict(alias)
|
|
3860
|
+
if (template := _dict.get('template')) is not None:
|
|
3861
|
+
args['template'] = TemplateMetaData.from_dict(template)
|
|
3862
|
+
if (ui := _dict.get('ui')) is not None:
|
|
3863
|
+
args['ui'] = UIMetaData.from_dict(ui)
|
|
3864
|
+
if (compliance := _dict.get('compliance')) is not None:
|
|
3865
|
+
args['compliance'] = compliance
|
|
3866
|
+
if (sla := _dict.get('sla')) is not None:
|
|
3867
|
+
args['sla'] = SLAMetaData.from_dict(sla)
|
|
3868
|
+
if (callbacks := _dict.get('callbacks')) is not None:
|
|
3869
|
+
args['callbacks'] = Callbacks.from_dict(callbacks)
|
|
3870
|
+
if (original_name := _dict.get('original_name')) is not None:
|
|
3871
|
+
args['original_name'] = original_name
|
|
3872
|
+
if (version := _dict.get('version')) is not None:
|
|
3873
|
+
args['version'] = version
|
|
3874
|
+
if (other := _dict.get('other')) is not None:
|
|
3875
|
+
args['other'] = other
|
|
3876
|
+
if (pricing := _dict.get('pricing')) is not None:
|
|
3877
|
+
args['pricing'] = PricingSet.from_dict(pricing)
|
|
3878
|
+
if (deployment := _dict.get('deployment')) is not None:
|
|
3879
|
+
args['deployment'] = DeploymentBase.from_dict(deployment)
|
|
3407
3880
|
return cls(**args)
|
|
3408
3881
|
|
|
3409
3882
|
@classmethod
|
|
@@ -3417,21 +3890,42 @@ class ObjectMetadataSet:
|
|
|
3417
3890
|
if hasattr(self, 'rc_compatible') and self.rc_compatible is not None:
|
|
3418
3891
|
_dict['rc_compatible'] = self.rc_compatible
|
|
3419
3892
|
if hasattr(self, 'service') and self.service is not None:
|
|
3420
|
-
|
|
3893
|
+
if isinstance(self.service, dict):
|
|
3894
|
+
_dict['service'] = self.service
|
|
3895
|
+
else:
|
|
3896
|
+
_dict['service'] = self.service.to_dict()
|
|
3421
3897
|
if hasattr(self, 'plan') and self.plan is not None:
|
|
3422
|
-
|
|
3898
|
+
if isinstance(self.plan, dict):
|
|
3899
|
+
_dict['plan'] = self.plan
|
|
3900
|
+
else:
|
|
3901
|
+
_dict['plan'] = self.plan.to_dict()
|
|
3423
3902
|
if hasattr(self, 'alias') and self.alias is not None:
|
|
3424
|
-
|
|
3903
|
+
if isinstance(self.alias, dict):
|
|
3904
|
+
_dict['alias'] = self.alias
|
|
3905
|
+
else:
|
|
3906
|
+
_dict['alias'] = self.alias.to_dict()
|
|
3425
3907
|
if hasattr(self, 'template') and self.template is not None:
|
|
3426
|
-
|
|
3908
|
+
if isinstance(self.template, dict):
|
|
3909
|
+
_dict['template'] = self.template
|
|
3910
|
+
else:
|
|
3911
|
+
_dict['template'] = self.template.to_dict()
|
|
3427
3912
|
if hasattr(self, 'ui') and self.ui is not None:
|
|
3428
|
-
|
|
3913
|
+
if isinstance(self.ui, dict):
|
|
3914
|
+
_dict['ui'] = self.ui
|
|
3915
|
+
else:
|
|
3916
|
+
_dict['ui'] = self.ui.to_dict()
|
|
3429
3917
|
if hasattr(self, 'compliance') and self.compliance is not None:
|
|
3430
3918
|
_dict['compliance'] = self.compliance
|
|
3431
3919
|
if hasattr(self, 'sla') and self.sla is not None:
|
|
3432
|
-
|
|
3920
|
+
if isinstance(self.sla, dict):
|
|
3921
|
+
_dict['sla'] = self.sla
|
|
3922
|
+
else:
|
|
3923
|
+
_dict['sla'] = self.sla.to_dict()
|
|
3433
3924
|
if hasattr(self, 'callbacks') and self.callbacks is not None:
|
|
3434
|
-
|
|
3925
|
+
if isinstance(self.callbacks, dict):
|
|
3926
|
+
_dict['callbacks'] = self.callbacks
|
|
3927
|
+
else:
|
|
3928
|
+
_dict['callbacks'] = self.callbacks.to_dict()
|
|
3435
3929
|
if hasattr(self, 'original_name') and self.original_name is not None:
|
|
3436
3930
|
_dict['original_name'] = self.original_name
|
|
3437
3931
|
if hasattr(self, 'version') and self.version is not None:
|
|
@@ -3439,9 +3933,15 @@ class ObjectMetadataSet:
|
|
|
3439
3933
|
if hasattr(self, 'other') and self.other is not None:
|
|
3440
3934
|
_dict['other'] = self.other
|
|
3441
3935
|
if hasattr(self, 'pricing') and self.pricing is not None:
|
|
3442
|
-
|
|
3936
|
+
if isinstance(self.pricing, dict):
|
|
3937
|
+
_dict['pricing'] = self.pricing
|
|
3938
|
+
else:
|
|
3939
|
+
_dict['pricing'] = self.pricing.to_dict()
|
|
3443
3940
|
if hasattr(self, 'deployment') and self.deployment is not None:
|
|
3444
|
-
|
|
3941
|
+
if isinstance(self.deployment, dict):
|
|
3942
|
+
_dict['deployment'] = self.deployment
|
|
3943
|
+
else:
|
|
3944
|
+
_dict['deployment'] = self.deployment.to_dict()
|
|
3445
3945
|
return _dict
|
|
3446
3946
|
|
|
3447
3947
|
def _to_dict(self):
|
|
@@ -3467,15 +3967,20 @@ class Overview:
|
|
|
3467
3967
|
"""
|
|
3468
3968
|
Overview is nested in the top level. The key value pair is `[_language_]overview_ui`.
|
|
3469
3969
|
|
|
3470
|
-
:
|
|
3471
|
-
:
|
|
3472
|
-
:
|
|
3473
|
-
:
|
|
3970
|
+
:param str display_name: The translated display name.
|
|
3971
|
+
:param str long_description: The translated long description.
|
|
3972
|
+
:param str description: The translated description.
|
|
3973
|
+
:param str featured_description: (optional) The translated description that will
|
|
3474
3974
|
be featured.
|
|
3475
3975
|
"""
|
|
3476
3976
|
|
|
3477
3977
|
def __init__(
|
|
3478
|
-
self,
|
|
3978
|
+
self,
|
|
3979
|
+
display_name: str,
|
|
3980
|
+
long_description: str,
|
|
3981
|
+
description: str,
|
|
3982
|
+
*,
|
|
3983
|
+
featured_description: Optional[str] = None,
|
|
3479
3984
|
) -> None:
|
|
3480
3985
|
"""
|
|
3481
3986
|
Initialize a Overview object.
|
|
@@ -3495,20 +4000,20 @@ class Overview:
|
|
|
3495
4000
|
def from_dict(cls, _dict: Dict) -> 'Overview':
|
|
3496
4001
|
"""Initialize a Overview object from a json dictionary."""
|
|
3497
4002
|
args = {}
|
|
3498
|
-
if 'display_name'
|
|
3499
|
-
args['display_name'] =
|
|
4003
|
+
if (display_name := _dict.get('display_name')) is not None:
|
|
4004
|
+
args['display_name'] = display_name
|
|
3500
4005
|
else:
|
|
3501
4006
|
raise ValueError('Required property \'display_name\' not present in Overview JSON')
|
|
3502
|
-
if 'long_description'
|
|
3503
|
-
args['long_description'] =
|
|
4007
|
+
if (long_description := _dict.get('long_description')) is not None:
|
|
4008
|
+
args['long_description'] = long_description
|
|
3504
4009
|
else:
|
|
3505
4010
|
raise ValueError('Required property \'long_description\' not present in Overview JSON')
|
|
3506
|
-
if 'description'
|
|
3507
|
-
args['description'] =
|
|
4011
|
+
if (description := _dict.get('description')) is not None:
|
|
4012
|
+
args['description'] = description
|
|
3508
4013
|
else:
|
|
3509
4014
|
raise ValueError('Required property \'description\' not present in Overview JSON')
|
|
3510
|
-
if 'featured_description'
|
|
3511
|
-
args['featured_description'] =
|
|
4015
|
+
if (featured_description := _dict.get('featured_description')) is not None:
|
|
4016
|
+
args['featured_description'] = featured_description
|
|
3512
4017
|
return cls(**args)
|
|
3513
4018
|
|
|
3514
4019
|
@classmethod
|
|
@@ -3552,21 +4057,21 @@ class PlanMetaData:
|
|
|
3552
4057
|
"""
|
|
3553
4058
|
Plan-related metadata.
|
|
3554
4059
|
|
|
3555
|
-
:
|
|
3556
|
-
can be bound to an application.
|
|
3557
|
-
:
|
|
4060
|
+
:param bool bindable: (optional) Boolean value that describes whether the
|
|
4061
|
+
service can be bound to an application.
|
|
4062
|
+
:param bool reservable: (optional) Boolean value that describes whether the
|
|
3558
4063
|
service can be reserved.
|
|
3559
|
-
:
|
|
3560
|
-
the service can be used internally.
|
|
3561
|
-
:
|
|
3562
|
-
whether the service can be provisioned asynchronously.
|
|
3563
|
-
:
|
|
4064
|
+
:param bool allow_internal_users: (optional) Boolean value that describes
|
|
4065
|
+
whether the service can be used internally.
|
|
4066
|
+
:param bool async_provisioning_supported: (optional) Boolean value that
|
|
4067
|
+
describes whether the service can be provisioned asynchronously.
|
|
4068
|
+
:param bool async_unprovisioning_supported: (optional) Boolean value that
|
|
3564
4069
|
describes whether the service can be unprovisioned asynchronously.
|
|
3565
|
-
:
|
|
3566
|
-
:
|
|
3567
|
-
:
|
|
4070
|
+
:param int test_check_interval: (optional) Test check interval.
|
|
4071
|
+
:param str single_scope_instance: (optional) Single scope instance.
|
|
4072
|
+
:param bool service_check_enabled: (optional) Boolean value that describes
|
|
3568
4073
|
whether the service check is enabled.
|
|
3569
|
-
:
|
|
4074
|
+
:param dict cf_guid: (optional) If the field is imported from Cloud Foundry, the
|
|
3570
4075
|
Cloud Foundry region's GUID. This is a required field. For example,
|
|
3571
4076
|
`us-south=123`.
|
|
3572
4077
|
"""
|
|
@@ -3574,15 +4079,15 @@ class PlanMetaData:
|
|
|
3574
4079
|
def __init__(
|
|
3575
4080
|
self,
|
|
3576
4081
|
*,
|
|
3577
|
-
bindable: bool = None,
|
|
3578
|
-
reservable: bool = None,
|
|
3579
|
-
allow_internal_users: bool = None,
|
|
3580
|
-
async_provisioning_supported: bool = None,
|
|
3581
|
-
async_unprovisioning_supported: bool = None,
|
|
3582
|
-
test_check_interval: int = None,
|
|
3583
|
-
single_scope_instance: str = None,
|
|
3584
|
-
service_check_enabled: bool = None,
|
|
3585
|
-
cf_guid: dict = None,
|
|
4082
|
+
bindable: Optional[bool] = None,
|
|
4083
|
+
reservable: Optional[bool] = None,
|
|
4084
|
+
allow_internal_users: Optional[bool] = None,
|
|
4085
|
+
async_provisioning_supported: Optional[bool] = None,
|
|
4086
|
+
async_unprovisioning_supported: Optional[bool] = None,
|
|
4087
|
+
test_check_interval: Optional[int] = None,
|
|
4088
|
+
single_scope_instance: Optional[str] = None,
|
|
4089
|
+
service_check_enabled: Optional[bool] = None,
|
|
4090
|
+
cf_guid: Optional[dict] = None,
|
|
3586
4091
|
) -> None:
|
|
3587
4092
|
"""
|
|
3588
4093
|
Initialize a PlanMetaData object.
|
|
@@ -3619,24 +4124,24 @@ class PlanMetaData:
|
|
|
3619
4124
|
def from_dict(cls, _dict: Dict) -> 'PlanMetaData':
|
|
3620
4125
|
"""Initialize a PlanMetaData object from a json dictionary."""
|
|
3621
4126
|
args = {}
|
|
3622
|
-
if 'bindable'
|
|
3623
|
-
args['bindable'] =
|
|
3624
|
-
if 'reservable'
|
|
3625
|
-
args['reservable'] =
|
|
3626
|
-
if 'allow_internal_users'
|
|
3627
|
-
args['allow_internal_users'] =
|
|
3628
|
-
if 'async_provisioning_supported'
|
|
3629
|
-
args['async_provisioning_supported'] =
|
|
3630
|
-
if 'async_unprovisioning_supported'
|
|
3631
|
-
args['async_unprovisioning_supported'] =
|
|
3632
|
-
if 'test_check_interval'
|
|
3633
|
-
args['test_check_interval'] =
|
|
3634
|
-
if 'single_scope_instance'
|
|
3635
|
-
args['single_scope_instance'] =
|
|
3636
|
-
if 'service_check_enabled'
|
|
3637
|
-
args['service_check_enabled'] =
|
|
3638
|
-
if 'cf_guid'
|
|
3639
|
-
args['cf_guid'] =
|
|
4127
|
+
if (bindable := _dict.get('bindable')) is not None:
|
|
4128
|
+
args['bindable'] = bindable
|
|
4129
|
+
if (reservable := _dict.get('reservable')) is not None:
|
|
4130
|
+
args['reservable'] = reservable
|
|
4131
|
+
if (allow_internal_users := _dict.get('allow_internal_users')) is not None:
|
|
4132
|
+
args['allow_internal_users'] = allow_internal_users
|
|
4133
|
+
if (async_provisioning_supported := _dict.get('async_provisioning_supported')) is not None:
|
|
4134
|
+
args['async_provisioning_supported'] = async_provisioning_supported
|
|
4135
|
+
if (async_unprovisioning_supported := _dict.get('async_unprovisioning_supported')) is not None:
|
|
4136
|
+
args['async_unprovisioning_supported'] = async_unprovisioning_supported
|
|
4137
|
+
if (test_check_interval := _dict.get('test_check_interval')) is not None:
|
|
4138
|
+
args['test_check_interval'] = test_check_interval
|
|
4139
|
+
if (single_scope_instance := _dict.get('single_scope_instance')) is not None:
|
|
4140
|
+
args['single_scope_instance'] = single_scope_instance
|
|
4141
|
+
if (service_check_enabled := _dict.get('service_check_enabled')) is not None:
|
|
4142
|
+
args['service_check_enabled'] = service_check_enabled
|
|
4143
|
+
if (cf_guid := _dict.get('cf_guid')) is not None:
|
|
4144
|
+
args['cf_guid'] = cf_guid
|
|
3640
4145
|
return cls(**args)
|
|
3641
4146
|
|
|
3642
4147
|
@classmethod
|
|
@@ -3690,11 +4195,16 @@ class Price:
|
|
|
3690
4195
|
"""
|
|
3691
4196
|
Pricing-related information.
|
|
3692
4197
|
|
|
3693
|
-
:
|
|
3694
|
-
:
|
|
4198
|
+
:param int quantity_tier: (optional) Pricing tier.
|
|
4199
|
+
:param float price: (optional) Price in the selected currency.
|
|
3695
4200
|
"""
|
|
3696
4201
|
|
|
3697
|
-
def __init__(
|
|
4202
|
+
def __init__(
|
|
4203
|
+
self,
|
|
4204
|
+
*,
|
|
4205
|
+
quantity_tier: Optional[int] = None,
|
|
4206
|
+
price: Optional[float] = None,
|
|
4207
|
+
) -> None:
|
|
3698
4208
|
"""
|
|
3699
4209
|
Initialize a Price object.
|
|
3700
4210
|
|
|
@@ -3708,10 +4218,10 @@ class Price:
|
|
|
3708
4218
|
def from_dict(cls, _dict: Dict) -> 'Price':
|
|
3709
4219
|
"""Initialize a Price object from a json dictionary."""
|
|
3710
4220
|
args = {}
|
|
3711
|
-
if 'quantity_tier'
|
|
3712
|
-
args['quantity_tier'] =
|
|
3713
|
-
if '
|
|
3714
|
-
args['price'] =
|
|
4221
|
+
if (quantity_tier := _dict.get('quantity_tier')) is not None:
|
|
4222
|
+
args['quantity_tier'] = quantity_tier
|
|
4223
|
+
if (price := _dict.get('price')) is not None:
|
|
4224
|
+
args['price'] = price
|
|
3715
4225
|
return cls(**args)
|
|
3716
4226
|
|
|
3717
4227
|
@classmethod
|
|
@@ -3725,7 +4235,7 @@ class Price:
|
|
|
3725
4235
|
if hasattr(self, 'quantity_tier') and self.quantity_tier is not None:
|
|
3726
4236
|
_dict['quantity_tier'] = self.quantity_tier
|
|
3727
4237
|
if hasattr(self, 'price') and self.price is not None:
|
|
3728
|
-
_dict['
|
|
4238
|
+
_dict['price'] = self.price
|
|
3729
4239
|
return _dict
|
|
3730
4240
|
|
|
3731
4241
|
def _to_dict(self):
|
|
@@ -3751,25 +4261,47 @@ class PricingGet:
|
|
|
3751
4261
|
"""
|
|
3752
4262
|
Pricing-related information.
|
|
3753
4263
|
|
|
3754
|
-
:
|
|
4264
|
+
:param str deployment_id: (optional) The deployment object id this pricing is
|
|
4265
|
+
from. Only set if object kind is deployment.
|
|
4266
|
+
:param str deployment_location: (optional) The deployment location this pricing
|
|
4267
|
+
is from. Only set if object kind is deployment.
|
|
4268
|
+
:param bool deployment_location_no_price_available: (optional) Is the location
|
|
4269
|
+
price not available. Only set in api /pricing/deployment and only set if true.
|
|
4270
|
+
This means for the given deployment object there was no pricing set in pricing
|
|
4271
|
+
catalog.
|
|
4272
|
+
:param str type: (optional) Type of plan. Valid values are `free`, `trial`,
|
|
3755
4273
|
`paygo`, `bluemix-subscription`, and `ibm-subscription`.
|
|
3756
|
-
:
|
|
3757
|
-
:
|
|
4274
|
+
:param str origin: (optional) Defines where the pricing originates.
|
|
4275
|
+
:param StartingPrice starting_price: (optional) Plan-specific starting price
|
|
3758
4276
|
information.
|
|
3759
|
-
:
|
|
4277
|
+
:param List[Metrics] metrics: (optional) Plan-specific cost metric structure.
|
|
4278
|
+
:param List[str] deployment_regions: (optional) List of regions where region
|
|
4279
|
+
pricing is available. Only set on global deployments if enabled by owner.
|
|
3760
4280
|
"""
|
|
3761
4281
|
|
|
3762
4282
|
def __init__(
|
|
3763
4283
|
self,
|
|
3764
4284
|
*,
|
|
3765
|
-
|
|
3766
|
-
|
|
3767
|
-
|
|
3768
|
-
|
|
4285
|
+
deployment_id: Optional[str] = None,
|
|
4286
|
+
deployment_location: Optional[str] = None,
|
|
4287
|
+
deployment_location_no_price_available: Optional[bool] = None,
|
|
4288
|
+
type: Optional[str] = None,
|
|
4289
|
+
origin: Optional[str] = None,
|
|
4290
|
+
starting_price: Optional['StartingPrice'] = None,
|
|
4291
|
+
metrics: Optional[List['Metrics']] = None,
|
|
4292
|
+
deployment_regions: Optional[List[str]] = None,
|
|
3769
4293
|
) -> None:
|
|
3770
4294
|
"""
|
|
3771
4295
|
Initialize a PricingGet object.
|
|
3772
4296
|
|
|
4297
|
+
:param str deployment_id: (optional) The deployment object id this pricing
|
|
4298
|
+
is from. Only set if object kind is deployment.
|
|
4299
|
+
:param str deployment_location: (optional) The deployment location this
|
|
4300
|
+
pricing is from. Only set if object kind is deployment.
|
|
4301
|
+
:param bool deployment_location_no_price_available: (optional) Is the
|
|
4302
|
+
location price not available. Only set in api /pricing/deployment and only
|
|
4303
|
+
set if true. This means for the given deployment object there was no
|
|
4304
|
+
pricing set in pricing catalog.
|
|
3773
4305
|
:param str type: (optional) Type of plan. Valid values are `free`, `trial`,
|
|
3774
4306
|
`paygo`, `bluemix-subscription`, and `ibm-subscription`.
|
|
3775
4307
|
:param str origin: (optional) Defines where the pricing originates.
|
|
@@ -3777,24 +4309,39 @@ class PricingGet:
|
|
|
3777
4309
|
price information.
|
|
3778
4310
|
:param List[Metrics] metrics: (optional) Plan-specific cost metric
|
|
3779
4311
|
structure.
|
|
4312
|
+
:param List[str] deployment_regions: (optional) List of regions where
|
|
4313
|
+
region pricing is available. Only set on global deployments if enabled by
|
|
4314
|
+
owner.
|
|
3780
4315
|
"""
|
|
4316
|
+
self.deployment_id = deployment_id
|
|
4317
|
+
self.deployment_location = deployment_location
|
|
4318
|
+
self.deployment_location_no_price_available = deployment_location_no_price_available
|
|
3781
4319
|
self.type = type
|
|
3782
4320
|
self.origin = origin
|
|
3783
4321
|
self.starting_price = starting_price
|
|
3784
4322
|
self.metrics = metrics
|
|
4323
|
+
self.deployment_regions = deployment_regions
|
|
3785
4324
|
|
|
3786
4325
|
@classmethod
|
|
3787
4326
|
def from_dict(cls, _dict: Dict) -> 'PricingGet':
|
|
3788
4327
|
"""Initialize a PricingGet object from a json dictionary."""
|
|
3789
4328
|
args = {}
|
|
3790
|
-
if '
|
|
3791
|
-
args['
|
|
3792
|
-
if '
|
|
3793
|
-
args['
|
|
3794
|
-
if '
|
|
3795
|
-
args['
|
|
3796
|
-
if '
|
|
3797
|
-
args['
|
|
4329
|
+
if (deployment_id := _dict.get('deployment_id')) is not None:
|
|
4330
|
+
args['deployment_id'] = deployment_id
|
|
4331
|
+
if (deployment_location := _dict.get('deployment_location')) is not None:
|
|
4332
|
+
args['deployment_location'] = deployment_location
|
|
4333
|
+
if (deployment_location_no_price_available := _dict.get('deployment_location_no_price_available')) is not None:
|
|
4334
|
+
args['deployment_location_no_price_available'] = deployment_location_no_price_available
|
|
4335
|
+
if (type := _dict.get('type')) is not None:
|
|
4336
|
+
args['type'] = type
|
|
4337
|
+
if (origin := _dict.get('origin')) is not None:
|
|
4338
|
+
args['origin'] = origin
|
|
4339
|
+
if (starting_price := _dict.get('starting_price')) is not None:
|
|
4340
|
+
args['starting_price'] = StartingPrice.from_dict(starting_price)
|
|
4341
|
+
if (metrics := _dict.get('metrics')) is not None:
|
|
4342
|
+
args['metrics'] = [Metrics.from_dict(v) for v in metrics]
|
|
4343
|
+
if (deployment_regions := _dict.get('deployment_regions')) is not None:
|
|
4344
|
+
args['deployment_regions'] = deployment_regions
|
|
3798
4345
|
return cls(**args)
|
|
3799
4346
|
|
|
3800
4347
|
@classmethod
|
|
@@ -3805,14 +4352,34 @@ class PricingGet:
|
|
|
3805
4352
|
def to_dict(self) -> Dict:
|
|
3806
4353
|
"""Return a json dictionary representing this model."""
|
|
3807
4354
|
_dict = {}
|
|
4355
|
+
if hasattr(self, 'deployment_id') and self.deployment_id is not None:
|
|
4356
|
+
_dict['deployment_id'] = self.deployment_id
|
|
4357
|
+
if hasattr(self, 'deployment_location') and self.deployment_location is not None:
|
|
4358
|
+
_dict['deployment_location'] = self.deployment_location
|
|
4359
|
+
if (
|
|
4360
|
+
hasattr(self, 'deployment_location_no_price_available')
|
|
4361
|
+
and self.deployment_location_no_price_available is not None
|
|
4362
|
+
):
|
|
4363
|
+
_dict['deployment_location_no_price_available'] = self.deployment_location_no_price_available
|
|
3808
4364
|
if hasattr(self, 'type') and self.type is not None:
|
|
3809
4365
|
_dict['type'] = self.type
|
|
3810
4366
|
if hasattr(self, 'origin') and self.origin is not None:
|
|
3811
4367
|
_dict['origin'] = self.origin
|
|
3812
4368
|
if hasattr(self, 'starting_price') and self.starting_price is not None:
|
|
3813
|
-
|
|
4369
|
+
if isinstance(self.starting_price, dict):
|
|
4370
|
+
_dict['starting_price'] = self.starting_price
|
|
4371
|
+
else:
|
|
4372
|
+
_dict['starting_price'] = self.starting_price.to_dict()
|
|
3814
4373
|
if hasattr(self, 'metrics') and self.metrics is not None:
|
|
3815
|
-
|
|
4374
|
+
metrics_list = []
|
|
4375
|
+
for v in self.metrics:
|
|
4376
|
+
if isinstance(v, dict):
|
|
4377
|
+
metrics_list.append(v)
|
|
4378
|
+
else:
|
|
4379
|
+
metrics_list.append(v.to_dict())
|
|
4380
|
+
_dict['metrics'] = metrics_list
|
|
4381
|
+
if hasattr(self, 'deployment_regions') and self.deployment_regions is not None:
|
|
4382
|
+
_dict['deployment_regions'] = self.deployment_regions
|
|
3816
4383
|
return _dict
|
|
3817
4384
|
|
|
3818
4385
|
def _to_dict(self):
|
|
@@ -3834,18 +4401,170 @@ class PricingGet:
|
|
|
3834
4401
|
return not self == other
|
|
3835
4402
|
|
|
3836
4403
|
|
|
4404
|
+
class PricingSearchResult:
|
|
4405
|
+
"""
|
|
4406
|
+
A paginated result containing pricing entries.
|
|
4407
|
+
|
|
4408
|
+
:param int offset: (optional) The offset (origin 0) of the first resource in
|
|
4409
|
+
this page of search results.
|
|
4410
|
+
:param int limit: (optional) The maximum number of resources returned in each
|
|
4411
|
+
page of search results.
|
|
4412
|
+
:param int count: (optional) The overall total number of resources in the search
|
|
4413
|
+
result set.
|
|
4414
|
+
:param int resource_count: (optional) The number of resources returned in this
|
|
4415
|
+
page of search results.
|
|
4416
|
+
:param str first: (optional) A URL for retrieving the first page of search
|
|
4417
|
+
results.
|
|
4418
|
+
:param str last: (optional) A URL for retrieving the last page of search
|
|
4419
|
+
results.
|
|
4420
|
+
:param str prev: (optional) A URL for retrieving the previous page of search
|
|
4421
|
+
results.
|
|
4422
|
+
:param str next: (optional) A URL for retrieving the next page of search
|
|
4423
|
+
results.
|
|
4424
|
+
:param List[PricingGet] resources: (optional) The resources (prices) contained
|
|
4425
|
+
in this page of search results.
|
|
4426
|
+
"""
|
|
4427
|
+
|
|
4428
|
+
def __init__(
|
|
4429
|
+
self,
|
|
4430
|
+
*,
|
|
4431
|
+
offset: Optional[int] = None,
|
|
4432
|
+
limit: Optional[int] = None,
|
|
4433
|
+
count: Optional[int] = None,
|
|
4434
|
+
resource_count: Optional[int] = None,
|
|
4435
|
+
first: Optional[str] = None,
|
|
4436
|
+
last: Optional[str] = None,
|
|
4437
|
+
prev: Optional[str] = None,
|
|
4438
|
+
next: Optional[str] = None,
|
|
4439
|
+
resources: Optional[List['PricingGet']] = None,
|
|
4440
|
+
) -> None:
|
|
4441
|
+
"""
|
|
4442
|
+
Initialize a PricingSearchResult object.
|
|
4443
|
+
|
|
4444
|
+
:param int offset: (optional) The offset (origin 0) of the first resource
|
|
4445
|
+
in this page of search results.
|
|
4446
|
+
:param int limit: (optional) The maximum number of resources returned in
|
|
4447
|
+
each page of search results.
|
|
4448
|
+
:param int count: (optional) The overall total number of resources in the
|
|
4449
|
+
search result set.
|
|
4450
|
+
:param int resource_count: (optional) The number of resources returned in
|
|
4451
|
+
this page of search results.
|
|
4452
|
+
:param str first: (optional) A URL for retrieving the first page of search
|
|
4453
|
+
results.
|
|
4454
|
+
:param str last: (optional) A URL for retrieving the last page of search
|
|
4455
|
+
results.
|
|
4456
|
+
:param str prev: (optional) A URL for retrieving the previous page of
|
|
4457
|
+
search results.
|
|
4458
|
+
:param str next: (optional) A URL for retrieving the next page of search
|
|
4459
|
+
results.
|
|
4460
|
+
:param List[PricingGet] resources: (optional) The resources (prices)
|
|
4461
|
+
contained in this page of search results.
|
|
4462
|
+
"""
|
|
4463
|
+
self.offset = offset
|
|
4464
|
+
self.limit = limit
|
|
4465
|
+
self.count = count
|
|
4466
|
+
self.resource_count = resource_count
|
|
4467
|
+
self.first = first
|
|
4468
|
+
self.last = last
|
|
4469
|
+
self.prev = prev
|
|
4470
|
+
self.next = next
|
|
4471
|
+
self.resources = resources
|
|
4472
|
+
|
|
4473
|
+
@classmethod
|
|
4474
|
+
def from_dict(cls, _dict: Dict) -> 'PricingSearchResult':
|
|
4475
|
+
"""Initialize a PricingSearchResult object from a json dictionary."""
|
|
4476
|
+
args = {}
|
|
4477
|
+
if (offset := _dict.get('offset')) is not None:
|
|
4478
|
+
args['offset'] = offset
|
|
4479
|
+
if (limit := _dict.get('limit')) is not None:
|
|
4480
|
+
args['limit'] = limit
|
|
4481
|
+
if (count := _dict.get('count')) is not None:
|
|
4482
|
+
args['count'] = count
|
|
4483
|
+
if (resource_count := _dict.get('resource_count')) is not None:
|
|
4484
|
+
args['resource_count'] = resource_count
|
|
4485
|
+
if (first := _dict.get('first')) is not None:
|
|
4486
|
+
args['first'] = first
|
|
4487
|
+
if (last := _dict.get('last')) is not None:
|
|
4488
|
+
args['last'] = last
|
|
4489
|
+
if (prev := _dict.get('prev')) is not None:
|
|
4490
|
+
args['prev'] = prev
|
|
4491
|
+
if (next := _dict.get('next')) is not None:
|
|
4492
|
+
args['next'] = next
|
|
4493
|
+
if (resources := _dict.get('resources')) is not None:
|
|
4494
|
+
args['resources'] = [PricingGet.from_dict(v) for v in resources]
|
|
4495
|
+
return cls(**args)
|
|
4496
|
+
|
|
4497
|
+
@classmethod
|
|
4498
|
+
def _from_dict(cls, _dict):
|
|
4499
|
+
"""Initialize a PricingSearchResult object from a json dictionary."""
|
|
4500
|
+
return cls.from_dict(_dict)
|
|
4501
|
+
|
|
4502
|
+
def to_dict(self) -> Dict:
|
|
4503
|
+
"""Return a json dictionary representing this model."""
|
|
4504
|
+
_dict = {}
|
|
4505
|
+
if hasattr(self, 'offset') and self.offset is not None:
|
|
4506
|
+
_dict['offset'] = self.offset
|
|
4507
|
+
if hasattr(self, 'limit') and self.limit is not None:
|
|
4508
|
+
_dict['limit'] = self.limit
|
|
4509
|
+
if hasattr(self, 'count') and self.count is not None:
|
|
4510
|
+
_dict['count'] = self.count
|
|
4511
|
+
if hasattr(self, 'resource_count') and self.resource_count is not None:
|
|
4512
|
+
_dict['resource_count'] = self.resource_count
|
|
4513
|
+
if hasattr(self, 'first') and self.first is not None:
|
|
4514
|
+
_dict['first'] = self.first
|
|
4515
|
+
if hasattr(self, 'last') and self.last is not None:
|
|
4516
|
+
_dict['last'] = self.last
|
|
4517
|
+
if hasattr(self, 'prev') and self.prev is not None:
|
|
4518
|
+
_dict['prev'] = self.prev
|
|
4519
|
+
if hasattr(self, 'next') and self.next is not None:
|
|
4520
|
+
_dict['next'] = self.next
|
|
4521
|
+
if hasattr(self, 'resources') and self.resources is not None:
|
|
4522
|
+
resources_list = []
|
|
4523
|
+
for v in self.resources:
|
|
4524
|
+
if isinstance(v, dict):
|
|
4525
|
+
resources_list.append(v)
|
|
4526
|
+
else:
|
|
4527
|
+
resources_list.append(v.to_dict())
|
|
4528
|
+
_dict['resources'] = resources_list
|
|
4529
|
+
return _dict
|
|
4530
|
+
|
|
4531
|
+
def _to_dict(self):
|
|
4532
|
+
"""Return a json dictionary representing this model."""
|
|
4533
|
+
return self.to_dict()
|
|
4534
|
+
|
|
4535
|
+
def __str__(self) -> str:
|
|
4536
|
+
"""Return a `str` version of this PricingSearchResult object."""
|
|
4537
|
+
return json.dumps(self.to_dict(), indent=2)
|
|
4538
|
+
|
|
4539
|
+
def __eq__(self, other: 'PricingSearchResult') -> bool:
|
|
4540
|
+
"""Return `true` when self and other are equal, false otherwise."""
|
|
4541
|
+
if not isinstance(other, self.__class__):
|
|
4542
|
+
return False
|
|
4543
|
+
return self.__dict__ == other.__dict__
|
|
4544
|
+
|
|
4545
|
+
def __ne__(self, other: 'PricingSearchResult') -> bool:
|
|
4546
|
+
"""Return `true` when self and other are not equal, false otherwise."""
|
|
4547
|
+
return not self == other
|
|
4548
|
+
|
|
4549
|
+
|
|
3837
4550
|
class PricingSet:
|
|
3838
4551
|
"""
|
|
3839
4552
|
Pricing-related information.
|
|
3840
4553
|
|
|
3841
|
-
:
|
|
4554
|
+
:param str type: (optional) Type of plan. Valid values are `free`, `trial`,
|
|
3842
4555
|
`paygo`, `bluemix-subscription`, and `ibm-subscription`.
|
|
3843
|
-
:
|
|
3844
|
-
:
|
|
4556
|
+
:param str origin: (optional) Defines where the pricing originates.
|
|
4557
|
+
:param StartingPrice starting_price: (optional) Plan-specific starting price
|
|
3845
4558
|
information.
|
|
3846
4559
|
"""
|
|
3847
4560
|
|
|
3848
|
-
def __init__(
|
|
4561
|
+
def __init__(
|
|
4562
|
+
self,
|
|
4563
|
+
*,
|
|
4564
|
+
type: Optional[str] = None,
|
|
4565
|
+
origin: Optional[str] = None,
|
|
4566
|
+
starting_price: Optional['StartingPrice'] = None,
|
|
4567
|
+
) -> None:
|
|
3849
4568
|
"""
|
|
3850
4569
|
Initialize a PricingSet object.
|
|
3851
4570
|
|
|
@@ -3863,12 +4582,12 @@ class PricingSet:
|
|
|
3863
4582
|
def from_dict(cls, _dict: Dict) -> 'PricingSet':
|
|
3864
4583
|
"""Initialize a PricingSet object from a json dictionary."""
|
|
3865
4584
|
args = {}
|
|
3866
|
-
if 'type'
|
|
3867
|
-
args['type'] =
|
|
3868
|
-
if 'origin'
|
|
3869
|
-
args['origin'] =
|
|
3870
|
-
if 'starting_price'
|
|
3871
|
-
args['starting_price'] = StartingPrice.from_dict(
|
|
4585
|
+
if (type := _dict.get('type')) is not None:
|
|
4586
|
+
args['type'] = type
|
|
4587
|
+
if (origin := _dict.get('origin')) is not None:
|
|
4588
|
+
args['origin'] = origin
|
|
4589
|
+
if (starting_price := _dict.get('starting_price')) is not None:
|
|
4590
|
+
args['starting_price'] = StartingPrice.from_dict(starting_price)
|
|
3872
4591
|
return cls(**args)
|
|
3873
4592
|
|
|
3874
4593
|
@classmethod
|
|
@@ -3884,7 +4603,10 @@ class PricingSet:
|
|
|
3884
4603
|
if hasattr(self, 'origin') and self.origin is not None:
|
|
3885
4604
|
_dict['origin'] = self.origin
|
|
3886
4605
|
if hasattr(self, 'starting_price') and self.starting_price is not None:
|
|
3887
|
-
|
|
4606
|
+
if isinstance(self.starting_price, dict):
|
|
4607
|
+
_dict['starting_price'] = self.starting_price
|
|
4608
|
+
else:
|
|
4609
|
+
_dict['starting_price'] = self.starting_price.to_dict()
|
|
3888
4610
|
return _dict
|
|
3889
4611
|
|
|
3890
4612
|
def _to_dict(self):
|
|
@@ -3910,15 +4632,21 @@ class Provider:
|
|
|
3910
4632
|
"""
|
|
3911
4633
|
Information related to the provider associated with a catalog entry.
|
|
3912
4634
|
|
|
3913
|
-
:
|
|
3914
|
-
:
|
|
3915
|
-
:
|
|
3916
|
-
:
|
|
3917
|
-
:
|
|
4635
|
+
:param str email: Provider's email address for this catalog entry.
|
|
4636
|
+
:param str name: Provider's name, for example, IBM.
|
|
4637
|
+
:param str contact: (optional) Provider's contact name.
|
|
4638
|
+
:param str support_email: (optional) Provider's support email.
|
|
4639
|
+
:param str phone: (optional) Provider's contact phone.
|
|
3918
4640
|
"""
|
|
3919
4641
|
|
|
3920
4642
|
def __init__(
|
|
3921
|
-
self,
|
|
4643
|
+
self,
|
|
4644
|
+
email: str,
|
|
4645
|
+
name: str,
|
|
4646
|
+
*,
|
|
4647
|
+
contact: Optional[str] = None,
|
|
4648
|
+
support_email: Optional[str] = None,
|
|
4649
|
+
phone: Optional[str] = None,
|
|
3922
4650
|
) -> None:
|
|
3923
4651
|
"""
|
|
3924
4652
|
Initialize a Provider object.
|
|
@@ -3939,20 +4667,20 @@ class Provider:
|
|
|
3939
4667
|
def from_dict(cls, _dict: Dict) -> 'Provider':
|
|
3940
4668
|
"""Initialize a Provider object from a json dictionary."""
|
|
3941
4669
|
args = {}
|
|
3942
|
-
if 'email'
|
|
3943
|
-
args['email'] =
|
|
4670
|
+
if (email := _dict.get('email')) is not None:
|
|
4671
|
+
args['email'] = email
|
|
3944
4672
|
else:
|
|
3945
4673
|
raise ValueError('Required property \'email\' not present in Provider JSON')
|
|
3946
|
-
if 'name'
|
|
3947
|
-
args['name'] =
|
|
4674
|
+
if (name := _dict.get('name')) is not None:
|
|
4675
|
+
args['name'] = name
|
|
3948
4676
|
else:
|
|
3949
4677
|
raise ValueError('Required property \'name\' not present in Provider JSON')
|
|
3950
|
-
if 'contact'
|
|
3951
|
-
args['contact'] =
|
|
3952
|
-
if 'support_email'
|
|
3953
|
-
args['support_email'] =
|
|
3954
|
-
if 'phone'
|
|
3955
|
-
args['phone'] =
|
|
4678
|
+
if (contact := _dict.get('contact')) is not None:
|
|
4679
|
+
args['contact'] = contact
|
|
4680
|
+
if (support_email := _dict.get('support_email')) is not None:
|
|
4681
|
+
args['support_email'] = support_email
|
|
4682
|
+
if (phone := _dict.get('phone')) is not None:
|
|
4683
|
+
args['phone'] = phone
|
|
3956
4684
|
return cls(**args)
|
|
3957
4685
|
|
|
3958
4686
|
@classmethod
|
|
@@ -3998,24 +4726,25 @@ class SLAMetaData:
|
|
|
3998
4726
|
"""
|
|
3999
4727
|
Service Level Agreement related metadata.
|
|
4000
4728
|
|
|
4001
|
-
:
|
|
4002
|
-
:
|
|
4729
|
+
:param str terms: (optional) Required Service License Agreement Terms of Use.
|
|
4730
|
+
:param str tenancy: (optional) Required deployment type. Valid values are
|
|
4003
4731
|
dedicated, local, or public. It can be Single or Multi tennancy, more
|
|
4004
4732
|
specifically on a Server, VM, Physical, or Pod.
|
|
4005
|
-
:
|
|
4006
|
-
|
|
4733
|
+
:param float provisioning: (optional) Provisioning reliability, for example,
|
|
4734
|
+
99.95.
|
|
4735
|
+
:param float responsiveness: (optional) Uptime reliability of the service, for
|
|
4007
4736
|
example, 99.95.
|
|
4008
|
-
:
|
|
4737
|
+
:param DRMetaData dr: (optional) SLA Disaster Recovery-related metadata.
|
|
4009
4738
|
"""
|
|
4010
4739
|
|
|
4011
4740
|
def __init__(
|
|
4012
4741
|
self,
|
|
4013
4742
|
*,
|
|
4014
|
-
terms: str = None,
|
|
4015
|
-
tenancy: str = None,
|
|
4016
|
-
provisioning:
|
|
4017
|
-
responsiveness:
|
|
4018
|
-
dr: 'DRMetaData' = None,
|
|
4743
|
+
terms: Optional[str] = None,
|
|
4744
|
+
tenancy: Optional[str] = None,
|
|
4745
|
+
provisioning: Optional[float] = None,
|
|
4746
|
+
responsiveness: Optional[float] = None,
|
|
4747
|
+
dr: Optional['DRMetaData'] = None,
|
|
4019
4748
|
) -> None:
|
|
4020
4749
|
"""
|
|
4021
4750
|
Initialize a SLAMetaData object.
|
|
@@ -4025,9 +4754,9 @@ class SLAMetaData:
|
|
|
4025
4754
|
:param str tenancy: (optional) Required deployment type. Valid values are
|
|
4026
4755
|
dedicated, local, or public. It can be Single or Multi tennancy, more
|
|
4027
4756
|
specifically on a Server, VM, Physical, or Pod.
|
|
4028
|
-
:param
|
|
4029
|
-
99.95.
|
|
4030
|
-
:param
|
|
4757
|
+
:param float provisioning: (optional) Provisioning reliability, for
|
|
4758
|
+
example, 99.95.
|
|
4759
|
+
:param float responsiveness: (optional) Uptime reliability of the service,
|
|
4031
4760
|
for example, 99.95.
|
|
4032
4761
|
:param DRMetaData dr: (optional) SLA Disaster Recovery-related metadata.
|
|
4033
4762
|
"""
|
|
@@ -4041,16 +4770,16 @@ class SLAMetaData:
|
|
|
4041
4770
|
def from_dict(cls, _dict: Dict) -> 'SLAMetaData':
|
|
4042
4771
|
"""Initialize a SLAMetaData object from a json dictionary."""
|
|
4043
4772
|
args = {}
|
|
4044
|
-
if 'terms'
|
|
4045
|
-
args['terms'] =
|
|
4046
|
-
if 'tenancy'
|
|
4047
|
-
args['tenancy'] =
|
|
4048
|
-
if 'provisioning'
|
|
4049
|
-
args['provisioning'] =
|
|
4050
|
-
if 'responsiveness'
|
|
4051
|
-
args['responsiveness'] =
|
|
4052
|
-
if 'dr'
|
|
4053
|
-
args['dr'] = DRMetaData.from_dict(
|
|
4773
|
+
if (terms := _dict.get('terms')) is not None:
|
|
4774
|
+
args['terms'] = terms
|
|
4775
|
+
if (tenancy := _dict.get('tenancy')) is not None:
|
|
4776
|
+
args['tenancy'] = tenancy
|
|
4777
|
+
if (provisioning := _dict.get('provisioning')) is not None:
|
|
4778
|
+
args['provisioning'] = provisioning
|
|
4779
|
+
if (responsiveness := _dict.get('responsiveness')) is not None:
|
|
4780
|
+
args['responsiveness'] = responsiveness
|
|
4781
|
+
if (dr := _dict.get('dr')) is not None:
|
|
4782
|
+
args['dr'] = DRMetaData.from_dict(dr)
|
|
4054
4783
|
return cls(**args)
|
|
4055
4784
|
|
|
4056
4785
|
@classmethod
|
|
@@ -4070,7 +4799,10 @@ class SLAMetaData:
|
|
|
4070
4799
|
if hasattr(self, 'responsiveness') and self.responsiveness is not None:
|
|
4071
4800
|
_dict['responsiveness'] = self.responsiveness
|
|
4072
4801
|
if hasattr(self, 'dr') and self.dr is not None:
|
|
4073
|
-
|
|
4802
|
+
if isinstance(self.dr, dict):
|
|
4803
|
+
_dict['dr'] = self.dr
|
|
4804
|
+
else:
|
|
4805
|
+
_dict['dr'] = self.dr.to_dict()
|
|
4074
4806
|
return _dict
|
|
4075
4807
|
|
|
4076
4808
|
def _to_dict(self):
|
|
@@ -4096,12 +4828,18 @@ class SourceMetaData:
|
|
|
4096
4828
|
"""
|
|
4097
4829
|
Location of your applications source files.
|
|
4098
4830
|
|
|
4099
|
-
:
|
|
4100
|
-
:
|
|
4101
|
-
:
|
|
4831
|
+
:param str path: (optional) Path to your application.
|
|
4832
|
+
:param str type: (optional) Type of source, for example, git.
|
|
4833
|
+
:param str url: (optional) URL to source.
|
|
4102
4834
|
"""
|
|
4103
4835
|
|
|
4104
|
-
def __init__(
|
|
4836
|
+
def __init__(
|
|
4837
|
+
self,
|
|
4838
|
+
*,
|
|
4839
|
+
path: Optional[str] = None,
|
|
4840
|
+
type: Optional[str] = None,
|
|
4841
|
+
url: Optional[str] = None,
|
|
4842
|
+
) -> None:
|
|
4105
4843
|
"""
|
|
4106
4844
|
Initialize a SourceMetaData object.
|
|
4107
4845
|
|
|
@@ -4117,12 +4855,12 @@ class SourceMetaData:
|
|
|
4117
4855
|
def from_dict(cls, _dict: Dict) -> 'SourceMetaData':
|
|
4118
4856
|
"""Initialize a SourceMetaData object from a json dictionary."""
|
|
4119
4857
|
args = {}
|
|
4120
|
-
if 'path'
|
|
4121
|
-
args['path'] =
|
|
4122
|
-
if 'type'
|
|
4123
|
-
args['type'] =
|
|
4124
|
-
if 'url'
|
|
4125
|
-
args['url'] =
|
|
4858
|
+
if (path := _dict.get('path')) is not None:
|
|
4859
|
+
args['path'] = path
|
|
4860
|
+
if (type := _dict.get('type')) is not None:
|
|
4861
|
+
args['type'] = type
|
|
4862
|
+
if (url := _dict.get('url')) is not None:
|
|
4863
|
+
args['url'] = url
|
|
4126
4864
|
return cls(**args)
|
|
4127
4865
|
|
|
4128
4866
|
@classmethod
|
|
@@ -4164,16 +4902,21 @@ class StartingPrice:
|
|
|
4164
4902
|
"""
|
|
4165
4903
|
Plan-specific starting price information.
|
|
4166
4904
|
|
|
4167
|
-
:
|
|
4168
|
-
:
|
|
4905
|
+
:param str plan_id: (optional) ID of the plan the starting price is calculated.
|
|
4906
|
+
:param str deployment_id: (optional) ID of the deployment the starting price is
|
|
4169
4907
|
calculated.
|
|
4170
|
-
:
|
|
4171
|
-
:
|
|
4908
|
+
:param str unit: (optional) Pricing unit.
|
|
4909
|
+
:param List[Amount] amount: (optional) The pricing per metric by country and
|
|
4172
4910
|
currency.
|
|
4173
4911
|
"""
|
|
4174
4912
|
|
|
4175
4913
|
def __init__(
|
|
4176
|
-
self,
|
|
4914
|
+
self,
|
|
4915
|
+
*,
|
|
4916
|
+
plan_id: Optional[str] = None,
|
|
4917
|
+
deployment_id: Optional[str] = None,
|
|
4918
|
+
unit: Optional[str] = None,
|
|
4919
|
+
amount: Optional[List['Amount']] = None,
|
|
4177
4920
|
) -> None:
|
|
4178
4921
|
"""
|
|
4179
4922
|
Initialize a StartingPrice object.
|
|
@@ -4195,14 +4938,14 @@ class StartingPrice:
|
|
|
4195
4938
|
def from_dict(cls, _dict: Dict) -> 'StartingPrice':
|
|
4196
4939
|
"""Initialize a StartingPrice object from a json dictionary."""
|
|
4197
4940
|
args = {}
|
|
4198
|
-
if 'plan_id'
|
|
4199
|
-
args['plan_id'] =
|
|
4200
|
-
if 'deployment_id'
|
|
4201
|
-
args['deployment_id'] =
|
|
4202
|
-
if 'unit'
|
|
4203
|
-
args['unit'] =
|
|
4204
|
-
if 'amount'
|
|
4205
|
-
args['amount'] = [Amount.from_dict(
|
|
4941
|
+
if (plan_id := _dict.get('plan_id')) is not None:
|
|
4942
|
+
args['plan_id'] = plan_id
|
|
4943
|
+
if (deployment_id := _dict.get('deployment_id')) is not None:
|
|
4944
|
+
args['deployment_id'] = deployment_id
|
|
4945
|
+
if (unit := _dict.get('unit')) is not None:
|
|
4946
|
+
args['unit'] = unit
|
|
4947
|
+
if (amount := _dict.get('amount')) is not None:
|
|
4948
|
+
args['amount'] = [Amount.from_dict(v) for v in amount]
|
|
4206
4949
|
return cls(**args)
|
|
4207
4950
|
|
|
4208
4951
|
@classmethod
|
|
@@ -4220,7 +4963,13 @@ class StartingPrice:
|
|
|
4220
4963
|
if hasattr(self, 'unit') and self.unit is not None:
|
|
4221
4964
|
_dict['unit'] = self.unit
|
|
4222
4965
|
if hasattr(self, 'amount') and self.amount is not None:
|
|
4223
|
-
|
|
4966
|
+
amount_list = []
|
|
4967
|
+
for v in self.amount:
|
|
4968
|
+
if isinstance(v, dict):
|
|
4969
|
+
amount_list.append(v)
|
|
4970
|
+
else:
|
|
4971
|
+
amount_list.append(v.to_dict())
|
|
4972
|
+
_dict['amount'] = amount_list
|
|
4224
4973
|
return _dict
|
|
4225
4974
|
|
|
4226
4975
|
def _to_dict(self):
|
|
@@ -4246,27 +4995,28 @@ class Strings:
|
|
|
4246
4995
|
"""
|
|
4247
4996
|
Information related to a translated text message.
|
|
4248
4997
|
|
|
4249
|
-
:
|
|
4250
|
-
delimiters.
|
|
4251
|
-
:
|
|
4252
|
-
:
|
|
4253
|
-
|
|
4998
|
+
:param List[Bullets] bullets: (optional) Presentation information related to
|
|
4999
|
+
list delimiters.
|
|
5000
|
+
:param List[UIMetaMedia] media: (optional) Media-related metadata.
|
|
5001
|
+
:param str not_creatable_msg: (optional) Warning that a message is not
|
|
5002
|
+
creatable.
|
|
5003
|
+
:param str not_creatable_robot_msg: (optional) Warning that a robot message is
|
|
4254
5004
|
not creatable.
|
|
4255
|
-
:
|
|
4256
|
-
:
|
|
4257
|
-
:
|
|
5005
|
+
:param str deprecation_warning: (optional) Warning for deprecation.
|
|
5006
|
+
:param str popup_warning_message: (optional) Popup warning message.
|
|
5007
|
+
:param str instruction: (optional) Instructions for UI strings.
|
|
4258
5008
|
"""
|
|
4259
5009
|
|
|
4260
5010
|
def __init__(
|
|
4261
5011
|
self,
|
|
4262
5012
|
*,
|
|
4263
|
-
bullets: List['Bullets'] = None,
|
|
4264
|
-
media: List['UIMetaMedia'] = None,
|
|
4265
|
-
not_creatable_msg: str = None,
|
|
4266
|
-
not_creatable_robot_msg: str = None,
|
|
4267
|
-
deprecation_warning: str = None,
|
|
4268
|
-
popup_warning_message: str = None,
|
|
4269
|
-
instruction: str = None,
|
|
5013
|
+
bullets: Optional[List['Bullets']] = None,
|
|
5014
|
+
media: Optional[List['UIMetaMedia']] = None,
|
|
5015
|
+
not_creatable_msg: Optional[str] = None,
|
|
5016
|
+
not_creatable_robot_msg: Optional[str] = None,
|
|
5017
|
+
deprecation_warning: Optional[str] = None,
|
|
5018
|
+
popup_warning_message: Optional[str] = None,
|
|
5019
|
+
instruction: Optional[str] = None,
|
|
4270
5020
|
) -> None:
|
|
4271
5021
|
"""
|
|
4272
5022
|
Initialize a Strings object.
|
|
@@ -4294,20 +5044,20 @@ class Strings:
|
|
|
4294
5044
|
def from_dict(cls, _dict: Dict) -> 'Strings':
|
|
4295
5045
|
"""Initialize a Strings object from a json dictionary."""
|
|
4296
5046
|
args = {}
|
|
4297
|
-
if 'bullets'
|
|
4298
|
-
args['bullets'] = [Bullets.from_dict(
|
|
4299
|
-
if 'media'
|
|
4300
|
-
args['media'] = [UIMetaMedia.from_dict(
|
|
4301
|
-
if 'not_creatable_msg'
|
|
4302
|
-
args['not_creatable_msg'] =
|
|
4303
|
-
if 'not_creatable__robot_msg'
|
|
4304
|
-
args['not_creatable_robot_msg'] =
|
|
4305
|
-
if 'deprecation_warning'
|
|
4306
|
-
args['deprecation_warning'] =
|
|
4307
|
-
if 'popup_warning_message'
|
|
4308
|
-
args['popup_warning_message'] =
|
|
4309
|
-
if 'instruction'
|
|
4310
|
-
args['instruction'] =
|
|
5047
|
+
if (bullets := _dict.get('bullets')) is not None:
|
|
5048
|
+
args['bullets'] = [Bullets.from_dict(v) for v in bullets]
|
|
5049
|
+
if (media := _dict.get('media')) is not None:
|
|
5050
|
+
args['media'] = [UIMetaMedia.from_dict(v) for v in media]
|
|
5051
|
+
if (not_creatable_msg := _dict.get('not_creatable_msg')) is not None:
|
|
5052
|
+
args['not_creatable_msg'] = not_creatable_msg
|
|
5053
|
+
if (not_creatable_robot_msg := _dict.get('not_creatable__robot_msg')) is not None:
|
|
5054
|
+
args['not_creatable_robot_msg'] = not_creatable_robot_msg
|
|
5055
|
+
if (deprecation_warning := _dict.get('deprecation_warning')) is not None:
|
|
5056
|
+
args['deprecation_warning'] = deprecation_warning
|
|
5057
|
+
if (popup_warning_message := _dict.get('popup_warning_message')) is not None:
|
|
5058
|
+
args['popup_warning_message'] = popup_warning_message
|
|
5059
|
+
if (instruction := _dict.get('instruction')) is not None:
|
|
5060
|
+
args['instruction'] = instruction
|
|
4311
5061
|
return cls(**args)
|
|
4312
5062
|
|
|
4313
5063
|
@classmethod
|
|
@@ -4319,9 +5069,21 @@ class Strings:
|
|
|
4319
5069
|
"""Return a json dictionary representing this model."""
|
|
4320
5070
|
_dict = {}
|
|
4321
5071
|
if hasattr(self, 'bullets') and self.bullets is not None:
|
|
4322
|
-
|
|
5072
|
+
bullets_list = []
|
|
5073
|
+
for v in self.bullets:
|
|
5074
|
+
if isinstance(v, dict):
|
|
5075
|
+
bullets_list.append(v)
|
|
5076
|
+
else:
|
|
5077
|
+
bullets_list.append(v.to_dict())
|
|
5078
|
+
_dict['bullets'] = bullets_list
|
|
4323
5079
|
if hasattr(self, 'media') and self.media is not None:
|
|
4324
|
-
|
|
5080
|
+
media_list = []
|
|
5081
|
+
for v in self.media:
|
|
5082
|
+
if isinstance(v, dict):
|
|
5083
|
+
media_list.append(v)
|
|
5084
|
+
else:
|
|
5085
|
+
media_list.append(v.to_dict())
|
|
5086
|
+
_dict['media'] = media_list
|
|
4325
5087
|
if hasattr(self, 'not_creatable_msg') and self.not_creatable_msg is not None:
|
|
4326
5088
|
_dict['not_creatable_msg'] = self.not_creatable_msg
|
|
4327
5089
|
if hasattr(self, 'not_creatable_robot_msg') and self.not_creatable_robot_msg is not None:
|
|
@@ -4357,34 +5119,34 @@ class TemplateMetaData:
|
|
|
4357
5119
|
"""
|
|
4358
5120
|
Template-related metadata.
|
|
4359
5121
|
|
|
4360
|
-
:
|
|
4361
|
-
:
|
|
4362
|
-
:
|
|
4363
|
-
:
|
|
5122
|
+
:param List[str] services: (optional) List of required offering or plan IDs.
|
|
5123
|
+
:param int default_memory: (optional) Cloud Foundry instance memory value.
|
|
5124
|
+
:param str start_cmd: (optional) Start Command.
|
|
5125
|
+
:param SourceMetaData source: (optional) Location of your applications source
|
|
4364
5126
|
files.
|
|
4365
|
-
:
|
|
4366
|
-
:
|
|
4367
|
-
:
|
|
4368
|
-
:
|
|
5127
|
+
:param str runtime_catalog_id: (optional) ID of the runtime.
|
|
5128
|
+
:param str cf_runtime_id: (optional) ID of the Cloud Foundry runtime.
|
|
5129
|
+
:param str template_id: (optional) ID of the boilerplate or template.
|
|
5130
|
+
:param str executable_file: (optional) File path to the executable file for the
|
|
4369
5131
|
template.
|
|
4370
|
-
:
|
|
4371
|
-
:
|
|
5132
|
+
:param str buildpack: (optional) ID of the buildpack used by the template.
|
|
5133
|
+
:param dict environment_variables: (optional) Environment variables (key/value
|
|
4372
5134
|
pairs) for the template.
|
|
4373
5135
|
"""
|
|
4374
5136
|
|
|
4375
5137
|
def __init__(
|
|
4376
5138
|
self,
|
|
4377
5139
|
*,
|
|
4378
|
-
services: List[str] = None,
|
|
4379
|
-
default_memory: int = None,
|
|
4380
|
-
start_cmd: str = None,
|
|
4381
|
-
source: 'SourceMetaData' = None,
|
|
4382
|
-
runtime_catalog_id: str = None,
|
|
4383
|
-
cf_runtime_id: str = None,
|
|
4384
|
-
template_id: str = None,
|
|
4385
|
-
executable_file: str = None,
|
|
4386
|
-
buildpack: str = None,
|
|
4387
|
-
environment_variables: dict = None,
|
|
5140
|
+
services: Optional[List[str]] = None,
|
|
5141
|
+
default_memory: Optional[int] = None,
|
|
5142
|
+
start_cmd: Optional[str] = None,
|
|
5143
|
+
source: Optional['SourceMetaData'] = None,
|
|
5144
|
+
runtime_catalog_id: Optional[str] = None,
|
|
5145
|
+
cf_runtime_id: Optional[str] = None,
|
|
5146
|
+
template_id: Optional[str] = None,
|
|
5147
|
+
executable_file: Optional[str] = None,
|
|
5148
|
+
buildpack: Optional[str] = None,
|
|
5149
|
+
environment_variables: Optional[dict] = None,
|
|
4388
5150
|
) -> None:
|
|
4389
5151
|
"""
|
|
4390
5152
|
Initialize a TemplateMetaData object.
|
|
@@ -4419,26 +5181,26 @@ class TemplateMetaData:
|
|
|
4419
5181
|
def from_dict(cls, _dict: Dict) -> 'TemplateMetaData':
|
|
4420
5182
|
"""Initialize a TemplateMetaData object from a json dictionary."""
|
|
4421
5183
|
args = {}
|
|
4422
|
-
if 'services'
|
|
4423
|
-
args['services'] =
|
|
4424
|
-
if 'default_memory'
|
|
4425
|
-
args['default_memory'] =
|
|
4426
|
-
if 'start_cmd'
|
|
4427
|
-
args['start_cmd'] =
|
|
4428
|
-
if 'source'
|
|
4429
|
-
args['source'] = SourceMetaData.from_dict(
|
|
4430
|
-
if 'runtime_catalog_id'
|
|
4431
|
-
args['runtime_catalog_id'] =
|
|
4432
|
-
if 'cf_runtime_id'
|
|
4433
|
-
args['cf_runtime_id'] =
|
|
4434
|
-
if 'template_id'
|
|
4435
|
-
args['template_id'] =
|
|
4436
|
-
if 'executable_file'
|
|
4437
|
-
args['executable_file'] =
|
|
4438
|
-
if 'buildpack'
|
|
4439
|
-
args['buildpack'] =
|
|
4440
|
-
if 'environment_variables'
|
|
4441
|
-
args['environment_variables'] =
|
|
5184
|
+
if (services := _dict.get('services')) is not None:
|
|
5185
|
+
args['services'] = services
|
|
5186
|
+
if (default_memory := _dict.get('default_memory')) is not None:
|
|
5187
|
+
args['default_memory'] = default_memory
|
|
5188
|
+
if (start_cmd := _dict.get('start_cmd')) is not None:
|
|
5189
|
+
args['start_cmd'] = start_cmd
|
|
5190
|
+
if (source := _dict.get('source')) is not None:
|
|
5191
|
+
args['source'] = SourceMetaData.from_dict(source)
|
|
5192
|
+
if (runtime_catalog_id := _dict.get('runtime_catalog_id')) is not None:
|
|
5193
|
+
args['runtime_catalog_id'] = runtime_catalog_id
|
|
5194
|
+
if (cf_runtime_id := _dict.get('cf_runtime_id')) is not None:
|
|
5195
|
+
args['cf_runtime_id'] = cf_runtime_id
|
|
5196
|
+
if (template_id := _dict.get('template_id')) is not None:
|
|
5197
|
+
args['template_id'] = template_id
|
|
5198
|
+
if (executable_file := _dict.get('executable_file')) is not None:
|
|
5199
|
+
args['executable_file'] = executable_file
|
|
5200
|
+
if (buildpack := _dict.get('buildpack')) is not None:
|
|
5201
|
+
args['buildpack'] = buildpack
|
|
5202
|
+
if (environment_variables := _dict.get('environment_variables')) is not None:
|
|
5203
|
+
args['environment_variables'] = environment_variables
|
|
4442
5204
|
return cls(**args)
|
|
4443
5205
|
|
|
4444
5206
|
@classmethod
|
|
@@ -4456,7 +5218,10 @@ class TemplateMetaData:
|
|
|
4456
5218
|
if hasattr(self, 'start_cmd') and self.start_cmd is not None:
|
|
4457
5219
|
_dict['start_cmd'] = self.start_cmd
|
|
4458
5220
|
if hasattr(self, 'source') and self.source is not None:
|
|
4459
|
-
|
|
5221
|
+
if isinstance(self.source, dict):
|
|
5222
|
+
_dict['source'] = self.source
|
|
5223
|
+
else:
|
|
5224
|
+
_dict['source'] = self.source.to_dict()
|
|
4460
5225
|
if hasattr(self, 'runtime_catalog_id') and self.runtime_catalog_id is not None:
|
|
4461
5226
|
_dict['runtime_catalog_id'] = self.runtime_catalog_id
|
|
4462
5227
|
if hasattr(self, 'cf_runtime_id') and self.cf_runtime_id is not None:
|
|
@@ -4490,52 +5255,118 @@ class TemplateMetaData:
|
|
|
4490
5255
|
return not self == other
|
|
4491
5256
|
|
|
4492
5257
|
|
|
5258
|
+
class UIMediaSourceMetaData:
|
|
5259
|
+
"""
|
|
5260
|
+
Location of your applications media source files.
|
|
5261
|
+
|
|
5262
|
+
:param str type: (optional) Type of source, for example, git.
|
|
5263
|
+
:param str url: (optional) URL to source.
|
|
5264
|
+
"""
|
|
5265
|
+
|
|
5266
|
+
def __init__(
|
|
5267
|
+
self,
|
|
5268
|
+
*,
|
|
5269
|
+
type: Optional[str] = None,
|
|
5270
|
+
url: Optional[str] = None,
|
|
5271
|
+
) -> None:
|
|
5272
|
+
"""
|
|
5273
|
+
Initialize a UIMediaSourceMetaData object.
|
|
5274
|
+
|
|
5275
|
+
:param str type: (optional) Type of source, for example, git.
|
|
5276
|
+
:param str url: (optional) URL to source.
|
|
5277
|
+
"""
|
|
5278
|
+
self.type = type
|
|
5279
|
+
self.url = url
|
|
5280
|
+
|
|
5281
|
+
@classmethod
|
|
5282
|
+
def from_dict(cls, _dict: Dict) -> 'UIMediaSourceMetaData':
|
|
5283
|
+
"""Initialize a UIMediaSourceMetaData object from a json dictionary."""
|
|
5284
|
+
args = {}
|
|
5285
|
+
if (type := _dict.get('type')) is not None:
|
|
5286
|
+
args['type'] = type
|
|
5287
|
+
if (url := _dict.get('url')) is not None:
|
|
5288
|
+
args['url'] = url
|
|
5289
|
+
return cls(**args)
|
|
5290
|
+
|
|
5291
|
+
@classmethod
|
|
5292
|
+
def _from_dict(cls, _dict):
|
|
5293
|
+
"""Initialize a UIMediaSourceMetaData object from a json dictionary."""
|
|
5294
|
+
return cls.from_dict(_dict)
|
|
5295
|
+
|
|
5296
|
+
def to_dict(self) -> Dict:
|
|
5297
|
+
"""Return a json dictionary representing this model."""
|
|
5298
|
+
_dict = {}
|
|
5299
|
+
if hasattr(self, 'type') and self.type is not None:
|
|
5300
|
+
_dict['type'] = self.type
|
|
5301
|
+
if hasattr(self, 'url') and self.url is not None:
|
|
5302
|
+
_dict['url'] = self.url
|
|
5303
|
+
return _dict
|
|
5304
|
+
|
|
5305
|
+
def _to_dict(self):
|
|
5306
|
+
"""Return a json dictionary representing this model."""
|
|
5307
|
+
return self.to_dict()
|
|
5308
|
+
|
|
5309
|
+
def __str__(self) -> str:
|
|
5310
|
+
"""Return a `str` version of this UIMediaSourceMetaData object."""
|
|
5311
|
+
return json.dumps(self.to_dict(), indent=2)
|
|
5312
|
+
|
|
5313
|
+
def __eq__(self, other: 'UIMediaSourceMetaData') -> bool:
|
|
5314
|
+
"""Return `true` when self and other are equal, false otherwise."""
|
|
5315
|
+
if not isinstance(other, self.__class__):
|
|
5316
|
+
return False
|
|
5317
|
+
return self.__dict__ == other.__dict__
|
|
5318
|
+
|
|
5319
|
+
def __ne__(self, other: 'UIMediaSourceMetaData') -> bool:
|
|
5320
|
+
"""Return `true` when self and other are not equal, false otherwise."""
|
|
5321
|
+
return not self == other
|
|
5322
|
+
|
|
5323
|
+
|
|
4493
5324
|
class UIMetaData:
|
|
4494
5325
|
"""
|
|
4495
5326
|
Information related to the UI presentation associated with a catalog entry.
|
|
4496
5327
|
|
|
4497
|
-
:
|
|
5328
|
+
:param dict strings: (optional) Language specific translation of translation
|
|
4498
5329
|
properties, like label and description.
|
|
4499
|
-
:
|
|
4500
|
-
:
|
|
5330
|
+
:param URLS urls: (optional) UI based URLs.
|
|
5331
|
+
:param str embeddable_dashboard: (optional) Describes how the embeddable
|
|
4501
5332
|
dashboard is rendered.
|
|
4502
|
-
:
|
|
5333
|
+
:param bool embeddable_dashboard_full_width: (optional) Describes whether the
|
|
4503
5334
|
embeddable dashboard is rendered at the full width.
|
|
4504
|
-
:
|
|
5335
|
+
:param List[str] navigation_order: (optional) Defines the order of information
|
|
4505
5336
|
presented.
|
|
4506
|
-
:
|
|
5337
|
+
:param bool not_creatable: (optional) Describes whether this entry is able to be
|
|
4507
5338
|
created from the UI element or CLI.
|
|
4508
|
-
:
|
|
5339
|
+
:param str primary_offering_id: (optional) ID of the primary offering for a
|
|
4509
5340
|
group.
|
|
4510
|
-
:
|
|
5341
|
+
:param bool accessible_during_provision: (optional) Alert to ACE to allow
|
|
4511
5342
|
instance UI to be accessible while the provisioning state of instance is in
|
|
4512
5343
|
progress.
|
|
4513
|
-
:
|
|
5344
|
+
:param int side_by_side_index: (optional) Specifies a side by side ordering
|
|
4514
5345
|
weight to the UI.
|
|
4515
|
-
:
|
|
4516
|
-
longer be available.
|
|
4517
|
-
:
|
|
4518
|
-
:
|
|
4519
|
-
:
|
|
4520
|
-
|
|
5346
|
+
:param datetime end_of_service_time: (optional) Date and time the service will
|
|
5347
|
+
no longer be available.
|
|
5348
|
+
:param bool hidden: (optional) Denotes visibility.
|
|
5349
|
+
:param bool hide_lite_metering: (optional) Denotes lite metering visibility.
|
|
5350
|
+
:param bool no_upgrade_next_step: (optional) Denotes whether an upgrade should
|
|
5351
|
+
occur.
|
|
4521
5352
|
"""
|
|
4522
5353
|
|
|
4523
5354
|
def __init__(
|
|
4524
5355
|
self,
|
|
4525
5356
|
*,
|
|
4526
|
-
strings: dict = None,
|
|
4527
|
-
urls: 'URLS' = None,
|
|
4528
|
-
embeddable_dashboard: str = None,
|
|
4529
|
-
embeddable_dashboard_full_width: bool = None,
|
|
4530
|
-
navigation_order: List[str] = None,
|
|
4531
|
-
not_creatable: bool = None,
|
|
4532
|
-
primary_offering_id: str = None,
|
|
4533
|
-
accessible_during_provision: bool = None,
|
|
4534
|
-
side_by_side_index: int = None,
|
|
4535
|
-
end_of_service_time: datetime = None,
|
|
4536
|
-
hidden: bool = None,
|
|
4537
|
-
hide_lite_metering: bool = None,
|
|
4538
|
-
no_upgrade_next_step: bool = None,
|
|
5357
|
+
strings: Optional[dict] = None,
|
|
5358
|
+
urls: Optional['URLS'] = None,
|
|
5359
|
+
embeddable_dashboard: Optional[str] = None,
|
|
5360
|
+
embeddable_dashboard_full_width: Optional[bool] = None,
|
|
5361
|
+
navigation_order: Optional[List[str]] = None,
|
|
5362
|
+
not_creatable: Optional[bool] = None,
|
|
5363
|
+
primary_offering_id: Optional[str] = None,
|
|
5364
|
+
accessible_during_provision: Optional[bool] = None,
|
|
5365
|
+
side_by_side_index: Optional[int] = None,
|
|
5366
|
+
end_of_service_time: Optional[datetime] = None,
|
|
5367
|
+
hidden: Optional[bool] = None,
|
|
5368
|
+
hide_lite_metering: Optional[bool] = None,
|
|
5369
|
+
no_upgrade_next_step: Optional[bool] = None,
|
|
4539
5370
|
) -> None:
|
|
4540
5371
|
"""
|
|
4541
5372
|
Initialize a UIMetaData object.
|
|
@@ -4564,7 +5395,7 @@ class UIMetaData:
|
|
|
4564
5395
|
:param bool hide_lite_metering: (optional) Denotes lite metering
|
|
4565
5396
|
visibility.
|
|
4566
5397
|
:param bool no_upgrade_next_step: (optional) Denotes whether an upgrade
|
|
4567
|
-
should
|
|
5398
|
+
should occur.
|
|
4568
5399
|
"""
|
|
4569
5400
|
self.strings = strings
|
|
4570
5401
|
self.urls = urls
|
|
@@ -4584,32 +5415,32 @@ class UIMetaData:
|
|
|
4584
5415
|
def from_dict(cls, _dict: Dict) -> 'UIMetaData':
|
|
4585
5416
|
"""Initialize a UIMetaData object from a json dictionary."""
|
|
4586
5417
|
args = {}
|
|
4587
|
-
if 'strings'
|
|
4588
|
-
args['strings'] = {k: Strings.from_dict(v) for k, v in
|
|
4589
|
-
if 'urls'
|
|
4590
|
-
args['urls'] = URLS.from_dict(
|
|
4591
|
-
if 'embeddable_dashboard'
|
|
4592
|
-
args['embeddable_dashboard'] =
|
|
4593
|
-
if 'embeddable_dashboard_full_width'
|
|
4594
|
-
args['embeddable_dashboard_full_width'] =
|
|
4595
|
-
if 'navigation_order'
|
|
4596
|
-
args['navigation_order'] =
|
|
4597
|
-
if 'not_creatable'
|
|
4598
|
-
args['not_creatable'] =
|
|
4599
|
-
if 'primary_offering_id'
|
|
4600
|
-
args['primary_offering_id'] =
|
|
4601
|
-
if 'accessible_during_provision'
|
|
4602
|
-
args['accessible_during_provision'] =
|
|
4603
|
-
if 'side_by_side_index'
|
|
4604
|
-
args['side_by_side_index'] =
|
|
4605
|
-
if 'end_of_service_time'
|
|
4606
|
-
args['end_of_service_time'] = string_to_datetime(
|
|
4607
|
-
if 'hidden'
|
|
4608
|
-
args['hidden'] =
|
|
4609
|
-
if 'hide_lite_metering'
|
|
4610
|
-
args['hide_lite_metering'] =
|
|
4611
|
-
if 'no_upgrade_next_step'
|
|
4612
|
-
args['no_upgrade_next_step'] =
|
|
5418
|
+
if (strings := _dict.get('strings')) is not None:
|
|
5419
|
+
args['strings'] = {k: Strings.from_dict(v) for k, v in strings.items()}
|
|
5420
|
+
if (urls := _dict.get('urls')) is not None:
|
|
5421
|
+
args['urls'] = URLS.from_dict(urls)
|
|
5422
|
+
if (embeddable_dashboard := _dict.get('embeddable_dashboard')) is not None:
|
|
5423
|
+
args['embeddable_dashboard'] = embeddable_dashboard
|
|
5424
|
+
if (embeddable_dashboard_full_width := _dict.get('embeddable_dashboard_full_width')) is not None:
|
|
5425
|
+
args['embeddable_dashboard_full_width'] = embeddable_dashboard_full_width
|
|
5426
|
+
if (navigation_order := _dict.get('navigation_order')) is not None:
|
|
5427
|
+
args['navigation_order'] = navigation_order
|
|
5428
|
+
if (not_creatable := _dict.get('not_creatable')) is not None:
|
|
5429
|
+
args['not_creatable'] = not_creatable
|
|
5430
|
+
if (primary_offering_id := _dict.get('primary_offering_id')) is not None:
|
|
5431
|
+
args['primary_offering_id'] = primary_offering_id
|
|
5432
|
+
if (accessible_during_provision := _dict.get('accessible_during_provision')) is not None:
|
|
5433
|
+
args['accessible_during_provision'] = accessible_during_provision
|
|
5434
|
+
if (side_by_side_index := _dict.get('side_by_side_index')) is not None:
|
|
5435
|
+
args['side_by_side_index'] = side_by_side_index
|
|
5436
|
+
if (end_of_service_time := _dict.get('end_of_service_time')) is not None:
|
|
5437
|
+
args['end_of_service_time'] = string_to_datetime(end_of_service_time)
|
|
5438
|
+
if (hidden := _dict.get('hidden')) is not None:
|
|
5439
|
+
args['hidden'] = hidden
|
|
5440
|
+
if (hide_lite_metering := _dict.get('hide_lite_metering')) is not None:
|
|
5441
|
+
args['hide_lite_metering'] = hide_lite_metering
|
|
5442
|
+
if (no_upgrade_next_step := _dict.get('no_upgrade_next_step')) is not None:
|
|
5443
|
+
args['no_upgrade_next_step'] = no_upgrade_next_step
|
|
4613
5444
|
return cls(**args)
|
|
4614
5445
|
|
|
4615
5446
|
@classmethod
|
|
@@ -4621,9 +5452,18 @@ class UIMetaData:
|
|
|
4621
5452
|
"""Return a json dictionary representing this model."""
|
|
4622
5453
|
_dict = {}
|
|
4623
5454
|
if hasattr(self, 'strings') and self.strings is not None:
|
|
4624
|
-
|
|
5455
|
+
strings_map = {}
|
|
5456
|
+
for k, v in self.strings.items():
|
|
5457
|
+
if isinstance(v, dict):
|
|
5458
|
+
strings_map[k] = v
|
|
5459
|
+
else:
|
|
5460
|
+
strings_map[k] = v.to_dict()
|
|
5461
|
+
_dict['strings'] = strings_map
|
|
4625
5462
|
if hasattr(self, 'urls') and self.urls is not None:
|
|
4626
|
-
|
|
5463
|
+
if isinstance(self.urls, dict):
|
|
5464
|
+
_dict['urls'] = self.urls
|
|
5465
|
+
else:
|
|
5466
|
+
_dict['urls'] = self.urls.to_dict()
|
|
4627
5467
|
if hasattr(self, 'embeddable_dashboard') and self.embeddable_dashboard is not None:
|
|
4628
5468
|
_dict['embeddable_dashboard'] = self.embeddable_dashboard
|
|
4629
5469
|
if hasattr(self, 'embeddable_dashboard_full_width') and self.embeddable_dashboard_full_width is not None:
|
|
@@ -4671,21 +5511,22 @@ class UIMetaMedia:
|
|
|
4671
5511
|
"""
|
|
4672
5512
|
Media-related metadata.
|
|
4673
5513
|
|
|
4674
|
-
:
|
|
4675
|
-
:
|
|
4676
|
-
:
|
|
4677
|
-
:
|
|
4678
|
-
:
|
|
5514
|
+
:param str caption: (optional) Caption for an image.
|
|
5515
|
+
:param str thumbnail_url: (optional) URL for thumbnail image.
|
|
5516
|
+
:param str type: (optional) Type of media.
|
|
5517
|
+
:param str url: (optional) URL for media.
|
|
5518
|
+
:param List[UIMediaSourceMetaData] source: (optional) UI media source data for
|
|
5519
|
+
for UI media data.
|
|
4679
5520
|
"""
|
|
4680
5521
|
|
|
4681
5522
|
def __init__(
|
|
4682
5523
|
self,
|
|
4683
5524
|
*,
|
|
4684
|
-
caption: str = None,
|
|
4685
|
-
thumbnail_url: str = None,
|
|
4686
|
-
type: str = None,
|
|
4687
|
-
url: str = None,
|
|
4688
|
-
source: '
|
|
5525
|
+
caption: Optional[str] = None,
|
|
5526
|
+
thumbnail_url: Optional[str] = None,
|
|
5527
|
+
type: Optional[str] = None,
|
|
5528
|
+
url: Optional[str] = None,
|
|
5529
|
+
source: Optional[List['UIMediaSourceMetaData']] = None,
|
|
4689
5530
|
) -> None:
|
|
4690
5531
|
"""
|
|
4691
5532
|
Initialize a UIMetaMedia object.
|
|
@@ -4694,7 +5535,8 @@ class UIMetaMedia:
|
|
|
4694
5535
|
:param str thumbnail_url: (optional) URL for thumbnail image.
|
|
4695
5536
|
:param str type: (optional) Type of media.
|
|
4696
5537
|
:param str url: (optional) URL for media.
|
|
4697
|
-
:param
|
|
5538
|
+
:param List[UIMediaSourceMetaData] source: (optional) UI media source data
|
|
5539
|
+
for for UI media data.
|
|
4698
5540
|
"""
|
|
4699
5541
|
self.caption = caption
|
|
4700
5542
|
self.thumbnail_url = thumbnail_url
|
|
@@ -4706,16 +5548,16 @@ class UIMetaMedia:
|
|
|
4706
5548
|
def from_dict(cls, _dict: Dict) -> 'UIMetaMedia':
|
|
4707
5549
|
"""Initialize a UIMetaMedia object from a json dictionary."""
|
|
4708
5550
|
args = {}
|
|
4709
|
-
if 'caption'
|
|
4710
|
-
args['caption'] =
|
|
4711
|
-
if 'thumbnail_url'
|
|
4712
|
-
args['thumbnail_url'] =
|
|
4713
|
-
if 'type'
|
|
4714
|
-
args['type'] =
|
|
4715
|
-
if 'URL'
|
|
4716
|
-
args['url'] =
|
|
4717
|
-
if 'source'
|
|
4718
|
-
args['source'] =
|
|
5551
|
+
if (caption := _dict.get('caption')) is not None:
|
|
5552
|
+
args['caption'] = caption
|
|
5553
|
+
if (thumbnail_url := _dict.get('thumbnail_url')) is not None:
|
|
5554
|
+
args['thumbnail_url'] = thumbnail_url
|
|
5555
|
+
if (type := _dict.get('type')) is not None:
|
|
5556
|
+
args['type'] = type
|
|
5557
|
+
if (url := _dict.get('URL')) is not None:
|
|
5558
|
+
args['url'] = url
|
|
5559
|
+
if (source := _dict.get('source')) is not None:
|
|
5560
|
+
args['source'] = [UIMediaSourceMetaData.from_dict(v) for v in source]
|
|
4719
5561
|
return cls(**args)
|
|
4720
5562
|
|
|
4721
5563
|
@classmethod
|
|
@@ -4735,7 +5577,13 @@ class UIMetaMedia:
|
|
|
4735
5577
|
if hasattr(self, 'url') and self.url is not None:
|
|
4736
5578
|
_dict['URL'] = self.url
|
|
4737
5579
|
if hasattr(self, 'source') and self.source is not None:
|
|
4738
|
-
|
|
5580
|
+
source_list = []
|
|
5581
|
+
for v in self.source:
|
|
5582
|
+
if isinstance(v, dict):
|
|
5583
|
+
source_list.append(v)
|
|
5584
|
+
else:
|
|
5585
|
+
source_list.append(v.to_dict())
|
|
5586
|
+
_dict['source'] = source_list
|
|
4739
5587
|
return _dict
|
|
4740
5588
|
|
|
4741
5589
|
def _to_dict(self):
|
|
@@ -4761,37 +5609,37 @@ class URLS:
|
|
|
4761
5609
|
"""
|
|
4762
5610
|
UI based URLs.
|
|
4763
5611
|
|
|
4764
|
-
:
|
|
4765
|
-
:
|
|
4766
|
-
:
|
|
4767
|
-
:
|
|
4768
|
-
:
|
|
4769
|
-
:
|
|
4770
|
-
:
|
|
5612
|
+
:param str doc_url: (optional) URL for documentation.
|
|
5613
|
+
:param str instructions_url: (optional) URL for usage instructions.
|
|
5614
|
+
:param str api_url: (optional) API URL.
|
|
5615
|
+
:param str create_url: (optional) URL Creation UI / API.
|
|
5616
|
+
:param str sdk_download_url: (optional) URL to downlaod an SDK.
|
|
5617
|
+
:param str terms_url: (optional) URL to the terms of use for your service.
|
|
5618
|
+
:param str custom_create_page_url: (optional) URL to the custom create page for
|
|
4771
5619
|
your serivce.
|
|
4772
|
-
:
|
|
5620
|
+
:param str catalog_details_url: (optional) URL to the catalog details page for
|
|
4773
5621
|
your serivce.
|
|
4774
|
-
:
|
|
4775
|
-
:
|
|
4776
|
-
:
|
|
4777
|
-
:
|
|
5622
|
+
:param str deprecation_doc_url: (optional) URL for deprecation documentation.
|
|
5623
|
+
:param str dashboard_url: (optional) URL for dashboard.
|
|
5624
|
+
:param str registration_url: (optional) URL for registration.
|
|
5625
|
+
:param str apidocsurl: (optional) URL for API documentation.
|
|
4778
5626
|
"""
|
|
4779
5627
|
|
|
4780
5628
|
def __init__(
|
|
4781
5629
|
self,
|
|
4782
5630
|
*,
|
|
4783
|
-
doc_url: str = None,
|
|
4784
|
-
instructions_url: str = None,
|
|
4785
|
-
api_url: str = None,
|
|
4786
|
-
create_url: str = None,
|
|
4787
|
-
sdk_download_url: str = None,
|
|
4788
|
-
terms_url: str = None,
|
|
4789
|
-
custom_create_page_url: str = None,
|
|
4790
|
-
catalog_details_url: str = None,
|
|
4791
|
-
deprecation_doc_url: str = None,
|
|
4792
|
-
dashboard_url: str = None,
|
|
4793
|
-
registration_url: str = None,
|
|
4794
|
-
apidocsurl: str = None,
|
|
5631
|
+
doc_url: Optional[str] = None,
|
|
5632
|
+
instructions_url: Optional[str] = None,
|
|
5633
|
+
api_url: Optional[str] = None,
|
|
5634
|
+
create_url: Optional[str] = None,
|
|
5635
|
+
sdk_download_url: Optional[str] = None,
|
|
5636
|
+
terms_url: Optional[str] = None,
|
|
5637
|
+
custom_create_page_url: Optional[str] = None,
|
|
5638
|
+
catalog_details_url: Optional[str] = None,
|
|
5639
|
+
deprecation_doc_url: Optional[str] = None,
|
|
5640
|
+
dashboard_url: Optional[str] = None,
|
|
5641
|
+
registration_url: Optional[str] = None,
|
|
5642
|
+
apidocsurl: Optional[str] = None,
|
|
4795
5643
|
) -> None:
|
|
4796
5644
|
"""
|
|
4797
5645
|
Initialize a URLS object.
|
|
@@ -4829,30 +5677,30 @@ class URLS:
|
|
|
4829
5677
|
def from_dict(cls, _dict: Dict) -> 'URLS':
|
|
4830
5678
|
"""Initialize a URLS object from a json dictionary."""
|
|
4831
5679
|
args = {}
|
|
4832
|
-
if 'doc_url'
|
|
4833
|
-
args['doc_url'] =
|
|
4834
|
-
if 'instructions_url'
|
|
4835
|
-
args['instructions_url'] =
|
|
4836
|
-
if 'api_url'
|
|
4837
|
-
args['api_url'] =
|
|
4838
|
-
if 'create_url'
|
|
4839
|
-
args['create_url'] =
|
|
4840
|
-
if 'sdk_download_url'
|
|
4841
|
-
args['sdk_download_url'] =
|
|
4842
|
-
if 'terms_url'
|
|
4843
|
-
args['terms_url'] =
|
|
4844
|
-
if 'custom_create_page_url'
|
|
4845
|
-
args['custom_create_page_url'] =
|
|
4846
|
-
if 'catalog_details_url'
|
|
4847
|
-
args['catalog_details_url'] =
|
|
4848
|
-
if 'deprecation_doc_url'
|
|
4849
|
-
args['deprecation_doc_url'] =
|
|
4850
|
-
if 'dashboard_url'
|
|
4851
|
-
args['dashboard_url'] =
|
|
4852
|
-
if 'registration_url'
|
|
4853
|
-
args['registration_url'] =
|
|
4854
|
-
if 'apidocsurl'
|
|
4855
|
-
args['apidocsurl'] =
|
|
5680
|
+
if (doc_url := _dict.get('doc_url')) is not None:
|
|
5681
|
+
args['doc_url'] = doc_url
|
|
5682
|
+
if (instructions_url := _dict.get('instructions_url')) is not None:
|
|
5683
|
+
args['instructions_url'] = instructions_url
|
|
5684
|
+
if (api_url := _dict.get('api_url')) is not None:
|
|
5685
|
+
args['api_url'] = api_url
|
|
5686
|
+
if (create_url := _dict.get('create_url')) is not None:
|
|
5687
|
+
args['create_url'] = create_url
|
|
5688
|
+
if (sdk_download_url := _dict.get('sdk_download_url')) is not None:
|
|
5689
|
+
args['sdk_download_url'] = sdk_download_url
|
|
5690
|
+
if (terms_url := _dict.get('terms_url')) is not None:
|
|
5691
|
+
args['terms_url'] = terms_url
|
|
5692
|
+
if (custom_create_page_url := _dict.get('custom_create_page_url')) is not None:
|
|
5693
|
+
args['custom_create_page_url'] = custom_create_page_url
|
|
5694
|
+
if (catalog_details_url := _dict.get('catalog_details_url')) is not None:
|
|
5695
|
+
args['catalog_details_url'] = catalog_details_url
|
|
5696
|
+
if (deprecation_doc_url := _dict.get('deprecation_doc_url')) is not None:
|
|
5697
|
+
args['deprecation_doc_url'] = deprecation_doc_url
|
|
5698
|
+
if (dashboard_url := _dict.get('dashboard_url')) is not None:
|
|
5699
|
+
args['dashboard_url'] = dashboard_url
|
|
5700
|
+
if (registration_url := _dict.get('registration_url')) is not None:
|
|
5701
|
+
args['registration_url'] = registration_url
|
|
5702
|
+
if (apidocsurl := _dict.get('apidocsurl')) is not None:
|
|
5703
|
+
args['apidocsurl'] = apidocsurl
|
|
4856
5704
|
return cls(**args)
|
|
4857
5705
|
|
|
4858
5706
|
@classmethod
|
|
@@ -4912,18 +5760,18 @@ class Visibility:
|
|
|
4912
5760
|
"""
|
|
4913
5761
|
Information related to the visibility of a catalog entry.
|
|
4914
5762
|
|
|
4915
|
-
:
|
|
5763
|
+
:param str restrictions: (optional) This controls the overall visibility. It is
|
|
4916
5764
|
an enum of *public*, *ibm_only*, and *private*. public means it is visible to
|
|
4917
5765
|
all. ibm_only means it is visible to all IBM unless their account is explicitly
|
|
4918
5766
|
excluded. private means it is visible only to the included accounts.
|
|
4919
|
-
:
|
|
5767
|
+
:param str owner: (optional) IAM Scope-related information associated with a
|
|
4920
5768
|
catalog entry.
|
|
4921
|
-
:
|
|
4922
|
-
:
|
|
5769
|
+
:param bool extendable: (optional) Allows the visibility to be extenable.
|
|
5770
|
+
:param VisibilityDetail include: (optional) Visibility details related to a
|
|
4923
5771
|
catalog entry.
|
|
4924
|
-
:
|
|
5772
|
+
:param VisibilityDetail exclude: (optional) Visibility details related to a
|
|
4925
5773
|
catalog entry.
|
|
4926
|
-
:
|
|
5774
|
+
:param bool approved: (optional) Determines whether the owning account has full
|
|
4927
5775
|
control over the visibility of the entry such as adding non-IBM accounts to the
|
|
4928
5776
|
whitelist and making entries `private`, `ibm_only` or `public`.
|
|
4929
5777
|
"""
|
|
@@ -4931,12 +5779,12 @@ class Visibility:
|
|
|
4931
5779
|
def __init__(
|
|
4932
5780
|
self,
|
|
4933
5781
|
*,
|
|
4934
|
-
restrictions: str = None,
|
|
4935
|
-
owner: str = None,
|
|
4936
|
-
extendable: bool = None,
|
|
4937
|
-
include: 'VisibilityDetail' = None,
|
|
4938
|
-
exclude: 'VisibilityDetail' = None,
|
|
4939
|
-
approved: bool = None,
|
|
5782
|
+
restrictions: Optional[str] = None,
|
|
5783
|
+
owner: Optional[str] = None,
|
|
5784
|
+
extendable: Optional[bool] = None,
|
|
5785
|
+
include: Optional['VisibilityDetail'] = None,
|
|
5786
|
+
exclude: Optional['VisibilityDetail'] = None,
|
|
5787
|
+
approved: Optional[bool] = None,
|
|
4940
5788
|
) -> None:
|
|
4941
5789
|
"""
|
|
4942
5790
|
Initialize a Visibility object.
|
|
@@ -4958,18 +5806,18 @@ class Visibility:
|
|
|
4958
5806
|
def from_dict(cls, _dict: Dict) -> 'Visibility':
|
|
4959
5807
|
"""Initialize a Visibility object from a json dictionary."""
|
|
4960
5808
|
args = {}
|
|
4961
|
-
if 'restrictions'
|
|
4962
|
-
args['restrictions'] =
|
|
4963
|
-
if 'owner'
|
|
4964
|
-
args['owner'] =
|
|
4965
|
-
if 'extendable'
|
|
4966
|
-
args['extendable'] =
|
|
4967
|
-
if 'include'
|
|
4968
|
-
args['include'] = VisibilityDetail.from_dict(
|
|
4969
|
-
if 'exclude'
|
|
4970
|
-
args['exclude'] = VisibilityDetail.from_dict(
|
|
4971
|
-
if 'approved'
|
|
4972
|
-
args['approved'] =
|
|
5809
|
+
if (restrictions := _dict.get('restrictions')) is not None:
|
|
5810
|
+
args['restrictions'] = restrictions
|
|
5811
|
+
if (owner := _dict.get('owner')) is not None:
|
|
5812
|
+
args['owner'] = owner
|
|
5813
|
+
if (extendable := _dict.get('extendable')) is not None:
|
|
5814
|
+
args['extendable'] = extendable
|
|
5815
|
+
if (include := _dict.get('include')) is not None:
|
|
5816
|
+
args['include'] = VisibilityDetail.from_dict(include)
|
|
5817
|
+
if (exclude := _dict.get('exclude')) is not None:
|
|
5818
|
+
args['exclude'] = VisibilityDetail.from_dict(exclude)
|
|
5819
|
+
if (approved := _dict.get('approved')) is not None:
|
|
5820
|
+
args['approved'] = approved
|
|
4973
5821
|
return cls(**args)
|
|
4974
5822
|
|
|
4975
5823
|
@classmethod
|
|
@@ -4987,9 +5835,15 @@ class Visibility:
|
|
|
4987
5835
|
if hasattr(self, 'extendable') and self.extendable is not None:
|
|
4988
5836
|
_dict['extendable'] = self.extendable
|
|
4989
5837
|
if hasattr(self, 'include') and self.include is not None:
|
|
4990
|
-
|
|
5838
|
+
if isinstance(self.include, dict):
|
|
5839
|
+
_dict['include'] = self.include
|
|
5840
|
+
else:
|
|
5841
|
+
_dict['include'] = self.include.to_dict()
|
|
4991
5842
|
if hasattr(self, 'exclude') and self.exclude is not None:
|
|
4992
|
-
|
|
5843
|
+
if isinstance(self.exclude, dict):
|
|
5844
|
+
_dict['exclude'] = self.exclude
|
|
5845
|
+
else:
|
|
5846
|
+
_dict['exclude'] = self.exclude.to_dict()
|
|
4993
5847
|
if hasattr(self, 'approved') and getattr(self, 'approved') is not None:
|
|
4994
5848
|
_dict['approved'] = getattr(self, 'approved')
|
|
4995
5849
|
return _dict
|
|
@@ -5017,11 +5871,14 @@ class VisibilityDetail:
|
|
|
5017
5871
|
"""
|
|
5018
5872
|
Visibility details related to a catalog entry.
|
|
5019
5873
|
|
|
5020
|
-
:
|
|
5021
|
-
which a catalog entry is visible.
|
|
5874
|
+
:param VisibilityDetailAccounts accounts: Information related to the accounts
|
|
5875
|
+
for which a catalog entry is visible.
|
|
5022
5876
|
"""
|
|
5023
5877
|
|
|
5024
|
-
def __init__(
|
|
5878
|
+
def __init__(
|
|
5879
|
+
self,
|
|
5880
|
+
accounts: 'VisibilityDetailAccounts',
|
|
5881
|
+
) -> None:
|
|
5025
5882
|
"""
|
|
5026
5883
|
Initialize a VisibilityDetail object.
|
|
5027
5884
|
|
|
@@ -5034,8 +5891,8 @@ class VisibilityDetail:
|
|
|
5034
5891
|
def from_dict(cls, _dict: Dict) -> 'VisibilityDetail':
|
|
5035
5892
|
"""Initialize a VisibilityDetail object from a json dictionary."""
|
|
5036
5893
|
args = {}
|
|
5037
|
-
if 'accounts'
|
|
5038
|
-
args['accounts'] = VisibilityDetailAccounts.from_dict(
|
|
5894
|
+
if (accounts := _dict.get('accounts')) is not None:
|
|
5895
|
+
args['accounts'] = VisibilityDetailAccounts.from_dict(accounts)
|
|
5039
5896
|
else:
|
|
5040
5897
|
raise ValueError('Required property \'accounts\' not present in VisibilityDetail JSON')
|
|
5041
5898
|
return cls(**args)
|
|
@@ -5049,7 +5906,10 @@ class VisibilityDetail:
|
|
|
5049
5906
|
"""Return a json dictionary representing this model."""
|
|
5050
5907
|
_dict = {}
|
|
5051
5908
|
if hasattr(self, 'accounts') and self.accounts is not None:
|
|
5052
|
-
|
|
5909
|
+
if isinstance(self.accounts, dict):
|
|
5910
|
+
_dict['accounts'] = self.accounts
|
|
5911
|
+
else:
|
|
5912
|
+
_dict['accounts'] = self.accounts.to_dict()
|
|
5053
5913
|
return _dict
|
|
5054
5914
|
|
|
5055
5915
|
def _to_dict(self):
|
|
@@ -5075,12 +5935,16 @@ class VisibilityDetailAccounts:
|
|
|
5075
5935
|
"""
|
|
5076
5936
|
Information related to the accounts for which a catalog entry is visible.
|
|
5077
5937
|
|
|
5078
|
-
:
|
|
5079
|
-
value is the scope of who set it. For setting visibility use "" as the
|
|
5080
|
-
is replaced with the owner scope when saved.
|
|
5938
|
+
:param str accountid: (optional) (_accountid_) is the GUID of the account and
|
|
5939
|
+
the value is the scope of who set it. For setting visibility use "" as the
|
|
5940
|
+
value. It is replaced with the owner scope when saved.
|
|
5081
5941
|
"""
|
|
5082
5942
|
|
|
5083
|
-
def __init__(
|
|
5943
|
+
def __init__(
|
|
5944
|
+
self,
|
|
5945
|
+
*,
|
|
5946
|
+
accountid: Optional[str] = None,
|
|
5947
|
+
) -> None:
|
|
5084
5948
|
"""
|
|
5085
5949
|
Initialize a VisibilityDetailAccounts object.
|
|
5086
5950
|
|
|
@@ -5094,8 +5958,8 @@ class VisibilityDetailAccounts:
|
|
|
5094
5958
|
def from_dict(cls, _dict: Dict) -> 'VisibilityDetailAccounts':
|
|
5095
5959
|
"""Initialize a VisibilityDetailAccounts object from a json dictionary."""
|
|
5096
5960
|
args = {}
|
|
5097
|
-
if '_accountid_'
|
|
5098
|
-
args['accountid'] =
|
|
5961
|
+
if (accountid := _dict.get('_accountid_')) is not None:
|
|
5962
|
+
args['accountid'] = accountid
|
|
5099
5963
|
return cls(**args)
|
|
5100
5964
|
|
|
5101
5965
|
@classmethod
|