pyegeria 5.4.8__py3-none-any.whl → 5.4.8.3__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.
- md_processing/__init__.py +2 -1
- md_processing/data/commands.json +59579 -52198
- md_processing/dr_egeria.py +7 -5
- md_processing/md_commands/solution_architect_commands.py +54 -10
- md_processing/md_processing_utils/common_md_proc_utils.py +8 -4
- md_processing/md_processing_utils/common_md_utils.py +41 -2
- pyegeria/_base_client.py +1 -17
- pyegeria/_client_new.py +1008 -323
- pyegeria/_client_new_backup.py +5359 -0
- pyegeria/_exceptions_new.py +6 -1
- pyegeria/base_report_formats.py +31 -2
- pyegeria/classification_manager.py +1430 -357
- pyegeria/collection_manager.py +52 -54
- pyegeria/config.py +1 -0
- pyegeria/data_designer.py +41 -41
- pyegeria/external_links.py +26 -26
- pyegeria/feedback_manager_omvs.py +13 -31
- pyegeria/glossary_manager.py +32 -35
- pyegeria/governance_officer.py +31 -31
- pyegeria/output_formatter.py +36 -11
- pyegeria/output_formatter_with_machine_keys.py +1127 -0
- pyegeria/project_manager.py +21 -21
- pyegeria/reference_data.py +2 -2
- pyegeria/solution_architect.py +112 -91
- {pyegeria-5.4.8.dist-info → pyegeria-5.4.8.3.dist-info}/METADATA +6 -5
- {pyegeria-5.4.8.dist-info → pyegeria-5.4.8.3.dist-info}/RECORD +30 -29
- pyegeria/md_processing_utils_orig.py +0 -1103
- {pyegeria-5.4.8.dist-info → pyegeria-5.4.8.3.dist-info}/WHEEL +0 -0
- {pyegeria-5.4.8.dist-info → pyegeria-5.4.8.3.dist-info}/entry_points.txt +0 -0
- {pyegeria-5.4.8.dist-info → pyegeria-5.4.8.3.dist-info}/licenses/LICENSE +0 -0
- {pyegeria-5.4.8.dist-info → pyegeria-5.4.8.3.dist-info}/top_level.txt +0 -0
|
@@ -13,15 +13,17 @@ from loguru import logger
|
|
|
13
13
|
from pyegeria import PyegeriaException
|
|
14
14
|
from pyegeria._client_new import Client2
|
|
15
15
|
from pyegeria._globals import default_time_out, NO_ELEMENTS_FOUND
|
|
16
|
-
from pyegeria.models import LevelIdentifierQueryBody, FilterRequestBody, GetRequestBody
|
|
17
|
-
from pyegeria.utils import body_slimmer, dynamic_catch
|
|
18
16
|
from pyegeria.base_report_formats import select_report_spec, get_report_spec_match
|
|
17
|
+
from pyegeria.models import LevelIdentifierQueryBody, FilterRequestBody, GetRequestBody, NewClassificationRequestBody, \
|
|
18
|
+
DeleteClassificationRequestBody, NewRelationshipRequestBody, DeleteRelationshipRequestBody, \
|
|
19
|
+
UpdateRelationshipRequestBody
|
|
19
20
|
from pyegeria.output_formatter import (
|
|
20
21
|
generate_output,
|
|
21
22
|
_extract_referenceable_properties,
|
|
22
23
|
populate_columns_from_properties,
|
|
23
24
|
get_required_relationships,
|
|
24
25
|
)
|
|
26
|
+
from pyegeria.utils import body_slimmer, dynamic_catch
|
|
25
27
|
|
|
26
28
|
|
|
27
29
|
def query_seperator(current_string):
|
|
@@ -93,6 +95,7 @@ class ClassificationManager(Client2):
|
|
|
93
95
|
# Default entity label for formatter when not specified
|
|
94
96
|
self.REFERENCEABLE_LABEL = "Referenceable"
|
|
95
97
|
|
|
98
|
+
@dynamic_catch
|
|
96
99
|
def _extract_referenceable_output_properties(self, element: dict, columns_struct: dict) -> dict:
|
|
97
100
|
"""Populate requested columns from a generic Referenceable element.
|
|
98
101
|
Tolerant of missing values; fills from properties, header, relationships, and mermaid graph.
|
|
@@ -121,6 +124,7 @@ class ClassificationManager(Client2):
|
|
|
121
124
|
|
|
122
125
|
return col_data
|
|
123
126
|
|
|
127
|
+
@dynamic_catch
|
|
124
128
|
def _generate_referenceable_output(self,
|
|
125
129
|
elements: dict | list[dict],
|
|
126
130
|
filter: str | None,
|
|
@@ -164,12 +168,11 @@ class ClassificationManager(Client2):
|
|
|
164
168
|
output_formats,
|
|
165
169
|
)
|
|
166
170
|
|
|
167
|
-
|
|
168
171
|
#
|
|
169
172
|
# Get elements
|
|
170
173
|
#
|
|
171
174
|
@dynamic_catch
|
|
172
|
-
async def
|
|
175
|
+
async def _async_get_classified_elements_by(
|
|
173
176
|
self,
|
|
174
177
|
classification_name: str,
|
|
175
178
|
body: dict | LevelIdentifierQueryBody,
|
|
@@ -224,8 +227,8 @@ class ClassificationManager(Client2):
|
|
|
224
227
|
f"classification-explorer/elements/by-{classification_name}")
|
|
225
228
|
|
|
226
229
|
response = await self._async_get_level_identifier_query_body_request(
|
|
227
|
-
|
|
228
|
-
report_spec=report_spec,body=body
|
|
230
|
+
url=url, _gen_output=self._generate_referenceable_output, output_format=output_format,
|
|
231
|
+
report_spec=report_spec, body=body
|
|
229
232
|
)
|
|
230
233
|
return response
|
|
231
234
|
|
|
@@ -283,14 +286,14 @@ class ClassificationManager(Client2):
|
|
|
283
286
|
|
|
284
287
|
loop = asyncio.get_event_loop()
|
|
285
288
|
response = loop.run_until_complete(
|
|
286
|
-
self.
|
|
289
|
+
self._async_get_classified_elements_by(
|
|
287
290
|
classification_name, body, output_format, report_spec
|
|
288
291
|
)
|
|
289
292
|
)
|
|
290
293
|
return response
|
|
291
294
|
|
|
292
295
|
@dynamic_catch
|
|
293
|
-
async def
|
|
296
|
+
async def _async_get_security_tagged_elements(
|
|
294
297
|
self,
|
|
295
298
|
body: dict,
|
|
296
299
|
output_format: str = "JSON",
|
|
@@ -357,7 +360,7 @@ class ClassificationManager(Client2):
|
|
|
357
360
|
if output_format != 'JSON': # return a simplified markdown representation
|
|
358
361
|
logger.info(f"Found elements, output format: {output_format} and report_spec: {report_spec}")
|
|
359
362
|
return self._generate_referenceable_output(elements, "", "Referenceable",
|
|
360
|
-
|
|
363
|
+
output_format, report_spec)
|
|
361
364
|
return elements
|
|
362
365
|
|
|
363
366
|
@dynamic_catch
|
|
@@ -415,14 +418,14 @@ class ClassificationManager(Client2):
|
|
|
415
418
|
|
|
416
419
|
loop = asyncio.get_event_loop()
|
|
417
420
|
response = loop.run_until_complete(
|
|
418
|
-
self.
|
|
421
|
+
self._async_get_security_tagged_elements(
|
|
419
422
|
body, output_format, report_spec
|
|
420
423
|
)
|
|
421
424
|
)
|
|
422
425
|
return response
|
|
423
426
|
|
|
424
427
|
@dynamic_catch
|
|
425
|
-
async def
|
|
428
|
+
async def _async_get_owners_elements(
|
|
426
429
|
self,
|
|
427
430
|
owner_name: str,
|
|
428
431
|
body: dict | FilterRequestBody,
|
|
@@ -534,14 +537,14 @@ class ClassificationManager(Client2):
|
|
|
534
537
|
|
|
535
538
|
loop = asyncio.get_event_loop()
|
|
536
539
|
response = loop.run_until_complete(
|
|
537
|
-
self.
|
|
540
|
+
self._async_get_owners_elements(
|
|
538
541
|
owner_name, body, output_format, report_spec
|
|
539
542
|
)
|
|
540
543
|
)
|
|
541
544
|
return response
|
|
542
545
|
|
|
543
546
|
@dynamic_catch
|
|
544
|
-
async def
|
|
547
|
+
async def _async_get_subject_area_members(
|
|
545
548
|
self,
|
|
546
549
|
subject_area: str,
|
|
547
550
|
body: dict | FilterRequestBody,
|
|
@@ -656,16 +659,16 @@ class ClassificationManager(Client2):
|
|
|
656
659
|
|
|
657
660
|
loop = asyncio.get_event_loop()
|
|
658
661
|
response = loop.run_until_complete(
|
|
659
|
-
self.
|
|
662
|
+
self._async_get_subject_area_members(
|
|
660
663
|
subject_area, body, output_format, report_spec
|
|
661
664
|
)
|
|
662
665
|
)
|
|
663
666
|
return response
|
|
664
667
|
|
|
665
668
|
@dynamic_catch
|
|
666
|
-
async def
|
|
669
|
+
async def _async_get_elements_by_origin(
|
|
667
670
|
self,
|
|
668
|
-
body: dict
|
|
671
|
+
body: dict,
|
|
669
672
|
output_format: str = "JSON",
|
|
670
673
|
report_spec: dict | str = None
|
|
671
674
|
) -> list | str:
|
|
@@ -736,7 +739,7 @@ class ClassificationManager(Client2):
|
|
|
736
739
|
@dynamic_catch
|
|
737
740
|
def get_elements_by_origin(
|
|
738
741
|
self,
|
|
739
|
-
body: dict
|
|
742
|
+
body: dict,
|
|
740
743
|
output_format: str = "JSON",
|
|
741
744
|
report_spec: dict | str = None
|
|
742
745
|
) -> list | str:
|
|
@@ -789,16 +792,16 @@ class ClassificationManager(Client2):
|
|
|
789
792
|
|
|
790
793
|
loop = asyncio.get_event_loop()
|
|
791
794
|
response = loop.run_until_complete(
|
|
792
|
-
self.
|
|
793
|
-
|
|
795
|
+
self._async_get_elements_by_origin(body, output_format, report_spec
|
|
796
|
+
)
|
|
794
797
|
)
|
|
795
798
|
return response
|
|
796
799
|
|
|
797
800
|
@dynamic_catch
|
|
798
|
-
async def
|
|
801
|
+
async def _async_get_meanings(
|
|
799
802
|
self,
|
|
800
803
|
element_guid: str,
|
|
801
|
-
body: dict
|
|
804
|
+
body: dict,
|
|
802
805
|
output_format: str = "JSON",
|
|
803
806
|
report_spec: dict | str = None
|
|
804
807
|
) -> list | str:
|
|
@@ -874,7 +877,7 @@ class ClassificationManager(Client2):
|
|
|
874
877
|
def get_meanings(
|
|
875
878
|
self,
|
|
876
879
|
element_guid: str,
|
|
877
|
-
body: dict
|
|
880
|
+
body: dict,
|
|
878
881
|
output_format: str = "JSON",
|
|
879
882
|
report_spec: dict | str = None
|
|
880
883
|
) -> list | str:
|
|
@@ -930,16 +933,16 @@ class ClassificationManager(Client2):
|
|
|
930
933
|
|
|
931
934
|
loop = asyncio.get_event_loop()
|
|
932
935
|
response = loop.run_until_complete(
|
|
933
|
-
self.
|
|
934
|
-
|
|
936
|
+
self._async_get_meanings(element_guid, body, output_format, report_spec
|
|
937
|
+
)
|
|
935
938
|
)
|
|
936
939
|
return response
|
|
937
940
|
|
|
938
941
|
@dynamic_catch
|
|
939
|
-
async def
|
|
942
|
+
async def _async_get_semantic_asignees(
|
|
940
943
|
self,
|
|
941
944
|
term_guid: str,
|
|
942
|
-
body: dict
|
|
945
|
+
body: dict,
|
|
943
946
|
output_format: str = "JSON",
|
|
944
947
|
report_spec: dict | str = None
|
|
945
948
|
) -> list | str:
|
|
@@ -1015,7 +1018,7 @@ class ClassificationManager(Client2):
|
|
|
1015
1018
|
def get_semantic_asignees(
|
|
1016
1019
|
self,
|
|
1017
1020
|
term_guid: str,
|
|
1018
|
-
body: dict
|
|
1021
|
+
body: dict,
|
|
1019
1022
|
output_format: str = "JSON",
|
|
1020
1023
|
report_spec: dict | str = None
|
|
1021
1024
|
) -> list | str:
|
|
@@ -1071,13 +1074,13 @@ class ClassificationManager(Client2):
|
|
|
1071
1074
|
|
|
1072
1075
|
loop = asyncio.get_event_loop()
|
|
1073
1076
|
response = loop.run_until_complete(
|
|
1074
|
-
self.
|
|
1075
|
-
|
|
1077
|
+
self._async_get_semantic_asignees(term_guid, body, output_format, report_spec
|
|
1078
|
+
)
|
|
1076
1079
|
)
|
|
1077
1080
|
return response
|
|
1078
1081
|
|
|
1079
1082
|
@dynamic_catch
|
|
1080
|
-
async def
|
|
1083
|
+
async def _async_get_governed_elements(
|
|
1081
1084
|
self,
|
|
1082
1085
|
gov_def_guid: str,
|
|
1083
1086
|
body: dict = None,
|
|
@@ -1198,13 +1201,13 @@ class ClassificationManager(Client2):
|
|
|
1198
1201
|
|
|
1199
1202
|
loop = asyncio.get_event_loop()
|
|
1200
1203
|
response = loop.run_until_complete(
|
|
1201
|
-
self.
|
|
1204
|
+
self._async_get_governed_elements(gov_def_guid, body, output_format, report_spec,
|
|
1202
1205
|
start_from, page_size)
|
|
1203
1206
|
)
|
|
1204
1207
|
return response
|
|
1205
1208
|
|
|
1206
1209
|
@dynamic_catch
|
|
1207
|
-
async def
|
|
1210
|
+
async def _async_get_governed_by_definitions(
|
|
1208
1211
|
self,
|
|
1209
1212
|
element_guid: str,
|
|
1210
1213
|
body: dict = None,
|
|
@@ -1267,7 +1270,6 @@ class ClassificationManager(Client2):
|
|
|
1267
1270
|
report_spec, body)
|
|
1268
1271
|
return response
|
|
1269
1272
|
|
|
1270
|
-
|
|
1271
1273
|
@dynamic_catch
|
|
1272
1274
|
def get_governed_by_definitions(
|
|
1273
1275
|
self,
|
|
@@ -1326,14 +1328,13 @@ class ClassificationManager(Client2):
|
|
|
1326
1328
|
|
|
1327
1329
|
loop = asyncio.get_event_loop()
|
|
1328
1330
|
response = loop.run_until_complete(
|
|
1329
|
-
self.
|
|
1330
|
-
|
|
1331
|
+
self._async_get_governed_by_definitions(element_guid, body, output_format, report_spec,
|
|
1332
|
+
start_from, page_size)
|
|
1331
1333
|
)
|
|
1332
1334
|
return response
|
|
1333
1335
|
|
|
1334
|
-
|
|
1335
1336
|
@dynamic_catch
|
|
1336
|
-
async def
|
|
1337
|
+
async def _async_get_source_elements(
|
|
1337
1338
|
self,
|
|
1338
1339
|
element_guid: str,
|
|
1339
1340
|
body: dict = None,
|
|
@@ -1392,7 +1393,7 @@ class ClassificationManager(Client2):
|
|
|
1392
1393
|
"""
|
|
1393
1394
|
|
|
1394
1395
|
url = (f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/"
|
|
1395
|
-
f"classification-explorer/glossaries/elements/{element_guid
|
|
1396
|
+
f"classification-explorer/glossaries/elements/{element_guid}/source")
|
|
1396
1397
|
|
|
1397
1398
|
response = await self._async_get_results_body_request(url, "Referenceable", self._generate_referenceable_output,
|
|
1398
1399
|
start_from, page_size, output_format,
|
|
@@ -1460,13 +1461,13 @@ class ClassificationManager(Client2):
|
|
|
1460
1461
|
|
|
1461
1462
|
loop = asyncio.get_event_loop()
|
|
1462
1463
|
response = loop.run_until_complete(
|
|
1463
|
-
self.
|
|
1464
|
+
self._async_get_certified_elements(element_guid, body, output_format, report_spec, start_from,
|
|
1464
1465
|
page_size)
|
|
1465
1466
|
)
|
|
1466
1467
|
return response
|
|
1467
1468
|
|
|
1468
1469
|
@dynamic_catch
|
|
1469
|
-
async def
|
|
1470
|
+
async def _async_get_elements_sourced_from(
|
|
1470
1471
|
self,
|
|
1471
1472
|
element_guid: str,
|
|
1472
1473
|
body: dict = None,
|
|
@@ -1591,13 +1592,13 @@ class ClassificationManager(Client2):
|
|
|
1591
1592
|
|
|
1592
1593
|
loop = asyncio.get_event_loop()
|
|
1593
1594
|
response = loop.run_until_complete(
|
|
1594
|
-
self.
|
|
1595
|
-
|
|
1595
|
+
self._async_get_elements_sourced_from(element_guid, body, output_format, report_spec,
|
|
1596
|
+
start_from, page_size)
|
|
1596
1597
|
)
|
|
1597
1598
|
return response
|
|
1598
1599
|
|
|
1599
1600
|
@dynamic_catch
|
|
1600
|
-
async def
|
|
1601
|
+
async def _async_get_scopes(
|
|
1601
1602
|
self,
|
|
1602
1603
|
element_guid: str,
|
|
1603
1604
|
body: dict = None,
|
|
@@ -1718,13 +1719,13 @@ class ClassificationManager(Client2):
|
|
|
1718
1719
|
|
|
1719
1720
|
loop = asyncio.get_event_loop()
|
|
1720
1721
|
response = loop.run_until_complete(
|
|
1721
|
-
self.
|
|
1722
|
+
self._async_get_certified_elements(element_guid, body, output_format, report_spec, start_from,
|
|
1722
1723
|
page_size)
|
|
1723
1724
|
)
|
|
1724
1725
|
return response
|
|
1725
1726
|
|
|
1726
1727
|
@dynamic_catch
|
|
1727
|
-
async def
|
|
1728
|
+
async def _async_get_scoped_elements(
|
|
1728
1729
|
self,
|
|
1729
1730
|
scope_guid: str,
|
|
1730
1731
|
body: dict = None,
|
|
@@ -1845,12 +1846,12 @@ class ClassificationManager(Client2):
|
|
|
1845
1846
|
|
|
1846
1847
|
loop = asyncio.get_event_loop()
|
|
1847
1848
|
response = loop.run_until_complete(
|
|
1848
|
-
self.
|
|
1849
|
+
self._async_get_scoped_elements(scope_guid, body, output_format, report_spec, start_from, page_size)
|
|
1849
1850
|
)
|
|
1850
1851
|
return response
|
|
1851
1852
|
|
|
1852
1853
|
@dynamic_catch
|
|
1853
|
-
async def
|
|
1854
|
+
async def _async_get_licensed_elements(
|
|
1854
1855
|
self,
|
|
1855
1856
|
license_type_guid: str,
|
|
1856
1857
|
body: dict = None,
|
|
@@ -1970,12 +1971,12 @@ class ClassificationManager(Client2):
|
|
|
1970
1971
|
|
|
1971
1972
|
loop = asyncio.get_event_loop()
|
|
1972
1973
|
response = loop.run_until_complete(
|
|
1973
|
-
self.
|
|
1974
|
+
self._async_get_licensed_elements(license_type_guid, body, output_format, report_spec, start_from, page_size)
|
|
1974
1975
|
)
|
|
1975
1976
|
return response
|
|
1976
1977
|
|
|
1977
1978
|
@dynamic_catch
|
|
1978
|
-
async def
|
|
1979
|
+
async def _async_get_licenses(
|
|
1979
1980
|
self,
|
|
1980
1981
|
element_guid: str,
|
|
1981
1982
|
body: dict = None,
|
|
@@ -2096,14 +2097,13 @@ class ClassificationManager(Client2):
|
|
|
2096
2097
|
|
|
2097
2098
|
loop = asyncio.get_event_loop()
|
|
2098
2099
|
response = loop.run_until_complete(
|
|
2099
|
-
self.
|
|
2100
|
-
|
|
2100
|
+
self._async_get_licenses(element_guid, body, output_format, report_spec,
|
|
2101
|
+
start_from, page_size)
|
|
2101
2102
|
)
|
|
2102
2103
|
return response
|
|
2103
2104
|
|
|
2104
|
-
|
|
2105
2105
|
@dynamic_catch
|
|
2106
|
-
async def
|
|
2106
|
+
async def _async_get_certified_elements(
|
|
2107
2107
|
self,
|
|
2108
2108
|
certification_type_guid: str,
|
|
2109
2109
|
body: dict = None,
|
|
@@ -2224,15 +2224,13 @@ class ClassificationManager(Client2):
|
|
|
2224
2224
|
|
|
2225
2225
|
loop = asyncio.get_event_loop()
|
|
2226
2226
|
response = loop.run_until_complete(
|
|
2227
|
-
self.
|
|
2227
|
+
self._async_get_certified_elements(certification_type_guid, body, output_format, report_spec, start_from,
|
|
2228
2228
|
page_size)
|
|
2229
2229
|
)
|
|
2230
2230
|
return response
|
|
2231
2231
|
|
|
2232
|
-
|
|
2233
|
-
|
|
2234
2232
|
@dynamic_catch
|
|
2235
|
-
async def
|
|
2233
|
+
async def _async_get_certifications(
|
|
2236
2234
|
self,
|
|
2237
2235
|
element_guid: str,
|
|
2238
2236
|
body: dict = None,
|
|
@@ -2353,23 +2351,15 @@ class ClassificationManager(Client2):
|
|
|
2353
2351
|
|
|
2354
2352
|
loop = asyncio.get_event_loop()
|
|
2355
2353
|
response = loop.run_until_complete(
|
|
2356
|
-
self.
|
|
2357
|
-
|
|
2354
|
+
self._async_get_certifications(element_guid, body, output_format, report_spec, start_from,
|
|
2355
|
+
page_size)
|
|
2358
2356
|
)
|
|
2359
2357
|
return response
|
|
2360
2358
|
|
|
2361
|
-
|
|
2362
|
-
|
|
2363
|
-
|
|
2364
|
-
|
|
2365
|
-
|
|
2366
|
-
|
|
2367
|
-
|
|
2368
|
-
|
|
2369
2359
|
#
|
|
2370
2360
|
#
|
|
2371
2361
|
#
|
|
2372
|
-
async def
|
|
2362
|
+
async def _async_get_elements(
|
|
2373
2363
|
self,
|
|
2374
2364
|
metadata_element_type_name: str = None,
|
|
2375
2365
|
effective_time: str = None,
|
|
@@ -2484,7 +2474,7 @@ class ClassificationManager(Client2):
|
|
|
2484
2474
|
|
|
2485
2475
|
loop = asyncio.get_event_loop()
|
|
2486
2476
|
response = loop.run_until_complete(
|
|
2487
|
-
self.
|
|
2477
|
+
self._async_get_elements(
|
|
2488
2478
|
metadata_element_type_name,
|
|
2489
2479
|
effective_time,
|
|
2490
2480
|
for_lineage,
|
|
@@ -2503,7 +2493,8 @@ class ClassificationManager(Client2):
|
|
|
2503
2493
|
metadata_element_type_name: str = None, effective_time: str = None,
|
|
2504
2494
|
for_lineage: bool = None, for_duplicate_processing: bool = None,
|
|
2505
2495
|
start_from: int = 0, page_size: int = 0,
|
|
2506
|
-
time_out: int = default_time_out, output_format: str = "JSON",
|
|
2496
|
+
time_out: int = default_time_out, output_format: str = "JSON",
|
|
2497
|
+
report_spec: str | dict = None) -> list | str:
|
|
2507
2498
|
"""
|
|
2508
2499
|
Retrieve elements by a value found in one of the properties specified. The value must match exactly.
|
|
2509
2500
|
An open metadata type name may be supplied to restrict the results. Async version.
|
|
@@ -2583,7 +2574,8 @@ class ClassificationManager(Client2):
|
|
|
2583
2574
|
metadata_element_type_name: str = None, effective_time: str = None,
|
|
2584
2575
|
for_lineage: bool = None, for_duplicate_processing: bool = None,
|
|
2585
2576
|
start_from: int = 0, page_size: int = 0,
|
|
2586
|
-
time_out: int = default_time_out, output_format: str = "JSON",
|
|
2577
|
+
time_out: int = default_time_out, output_format: str = "JSON",
|
|
2578
|
+
report_spec: str | dict = None) -> list | str:
|
|
2587
2579
|
"""
|
|
2588
2580
|
Retrieve elements by a value found in one of the properties specified. The value must match exactly.
|
|
2589
2581
|
An open metadata type name may be supplied to restrict the results.
|
|
@@ -2633,7 +2625,7 @@ class ClassificationManager(Client2):
|
|
|
2633
2625
|
)
|
|
2634
2626
|
return response
|
|
2635
2627
|
|
|
2636
|
-
async def
|
|
2628
|
+
async def _async_find_elements_by_property_value(
|
|
2637
2629
|
self,
|
|
2638
2630
|
property_value: str,
|
|
2639
2631
|
property_names: list[str],
|
|
@@ -2722,13 +2714,13 @@ class ClassificationManager(Client2):
|
|
|
2722
2714
|
if output_format == "JSON":
|
|
2723
2715
|
return elements
|
|
2724
2716
|
else:
|
|
2725
|
-
return
|
|
2726
|
-
|
|
2727
|
-
|
|
2728
|
-
|
|
2729
|
-
|
|
2730
|
-
|
|
2731
|
-
|
|
2717
|
+
return self._generate_referenceable_output(
|
|
2718
|
+
elements=elements,
|
|
2719
|
+
filter=property_value,
|
|
2720
|
+
element_type_name=metadata_element_type_name,
|
|
2721
|
+
output_format=output_format,
|
|
2722
|
+
report_spec=report_spec,
|
|
2723
|
+
)
|
|
2732
2724
|
|
|
2733
2725
|
def find_elements_by_property_value(
|
|
2734
2726
|
self,
|
|
@@ -2798,7 +2790,7 @@ class ClassificationManager(Client2):
|
|
|
2798
2790
|
|
|
2799
2791
|
loop = asyncio.get_event_loop()
|
|
2800
2792
|
response = loop.run_until_complete(
|
|
2801
|
-
self.
|
|
2793
|
+
self._async_find_elements_by_property_value(
|
|
2802
2794
|
property_value,
|
|
2803
2795
|
property_names,
|
|
2804
2796
|
metadata_element_type_name,
|
|
@@ -2812,7 +2804,7 @@ class ClassificationManager(Client2):
|
|
|
2812
2804
|
)
|
|
2813
2805
|
return response
|
|
2814
2806
|
|
|
2815
|
-
async def
|
|
2807
|
+
async def _async_get_element_by_guid(
|
|
2816
2808
|
self,
|
|
2817
2809
|
element_guid: str,
|
|
2818
2810
|
element_type_name: str = None,
|
|
@@ -2852,7 +2844,7 @@ class ClassificationManager(Client2):
|
|
|
2852
2844
|
f"classification-explorer/elements/{element_guid}")
|
|
2853
2845
|
|
|
2854
2846
|
response = await self._async_get_guid_request(url, element_type_name,
|
|
2855
|
-
self._generate_referenceable_output,output_format,
|
|
2847
|
+
self._generate_referenceable_output, output_format,
|
|
2856
2848
|
report_spec, body)
|
|
2857
2849
|
return response
|
|
2858
2850
|
|
|
@@ -2894,7 +2886,7 @@ class ClassificationManager(Client2):
|
|
|
2894
2886
|
|
|
2895
2887
|
loop = asyncio.get_event_loop()
|
|
2896
2888
|
response = loop.run_until_complete(
|
|
2897
|
-
self.
|
|
2889
|
+
self._async_get_element_by_guid(
|
|
2898
2890
|
element_guid,
|
|
2899
2891
|
element_type_name, output_format, report_spec, body
|
|
2900
2892
|
)
|
|
@@ -2910,7 +2902,7 @@ class ClassificationManager(Client2):
|
|
|
2910
2902
|
return "GUID does not represent a UserIdentity"
|
|
2911
2903
|
return details["properties"]["userId"]
|
|
2912
2904
|
|
|
2913
|
-
async def
|
|
2905
|
+
async def _async_get_element_by_unique_name(
|
|
2914
2906
|
self,
|
|
2915
2907
|
name: str,
|
|
2916
2908
|
property_name: str = None,
|
|
@@ -2970,7 +2962,6 @@ class ClassificationManager(Client2):
|
|
|
2970
2962
|
return self._generate_referenceable_output(elements, "GUID", "Referenceable", output_format, report_spec)
|
|
2971
2963
|
return elements
|
|
2972
2964
|
|
|
2973
|
-
|
|
2974
2965
|
def get_element_by_unique_name(
|
|
2975
2966
|
self,
|
|
2976
2967
|
name: str,
|
|
@@ -3009,15 +3000,15 @@ class ClassificationManager(Client2):
|
|
|
3009
3000
|
|
|
3010
3001
|
loop = asyncio.get_event_loop()
|
|
3011
3002
|
response = loop.run_until_complete(
|
|
3012
|
-
self.
|
|
3003
|
+
self._async_get_element_by_unique_name(name, property_name, output_format, report_spec, body)
|
|
3013
3004
|
)
|
|
3014
3005
|
return response
|
|
3015
3006
|
|
|
3016
|
-
async def
|
|
3007
|
+
async def _async_get_element_guid_by_unique_name(
|
|
3017
3008
|
self,
|
|
3018
3009
|
name: str,
|
|
3019
3010
|
property_name: str = None,
|
|
3020
|
-
body: dict = None
|
|
3011
|
+
body: dict = None) -> list | str:
|
|
3021
3012
|
"""
|
|
3022
3013
|
Retrieve the guid associated with the supplied unique element name.
|
|
3023
3014
|
If more than one element returned, an exception is thrown. Async version.
|
|
@@ -3062,7 +3053,7 @@ class ClassificationManager(Client2):
|
|
|
3062
3053
|
self,
|
|
3063
3054
|
name: str,
|
|
3064
3055
|
property_name: str = None,
|
|
3065
|
-
body: dict = None
|
|
3056
|
+
body: dict = None) -> list | str:
|
|
3066
3057
|
"""
|
|
3067
3058
|
Retrieve the guid associated with the supplied unique element name.
|
|
3068
3059
|
If more than one element returned, an exception is thrown.
|
|
@@ -3087,7 +3078,7 @@ class ClassificationManager(Client2):
|
|
|
3087
3078
|
|
|
3088
3079
|
loop = asyncio.get_event_loop()
|
|
3089
3080
|
response = loop.run_until_complete(
|
|
3090
|
-
self.
|
|
3081
|
+
self._async_get_element_guid_by_unique_name(
|
|
3091
3082
|
name,
|
|
3092
3083
|
property_name,
|
|
3093
3084
|
body
|
|
@@ -3096,7 +3087,7 @@ class ClassificationManager(Client2):
|
|
|
3096
3087
|
return response
|
|
3097
3088
|
|
|
3098
3089
|
async def _async_get_guid_for_name(self, name: str, property_name: list[str] = ["qualifiedName", "displayName"],
|
|
3099
|
-
type_name: str = "ValidMetadataValue") ->
|
|
3090
|
+
type_name: str = "ValidMetadataValue") -> str:
|
|
3100
3091
|
"""
|
|
3101
3092
|
Retrieve the guid associated with the supplied element name.
|
|
3102
3093
|
If more than one element returned, an exception is thrown. Async version.
|
|
@@ -3120,20 +3111,20 @@ class ClassificationManager(Client2):
|
|
|
3120
3111
|
PyegeriaException
|
|
3121
3112
|
"""
|
|
3122
3113
|
|
|
3123
|
-
|
|
3124
3114
|
elements = await self._async_get_elements_by_property_value(name, property_name, type_name)
|
|
3125
3115
|
|
|
3126
3116
|
if type(elements) is list:
|
|
3127
3117
|
if len(elements) == 0:
|
|
3128
3118
|
return NO_ELEMENTS_FOUND
|
|
3129
3119
|
elif len(elements) > 1:
|
|
3130
|
-
raise PyegeriaException(context
|
|
3120
|
+
raise PyegeriaException(context={"output": "Multiple elements found for supplied name!"})
|
|
3131
3121
|
elif len(elements) == 1:
|
|
3132
3122
|
return elements[0]["elementHeader"]["guid"]
|
|
3133
3123
|
return elements
|
|
3134
3124
|
|
|
3135
3125
|
def get_guid_for_name(
|
|
3136
|
-
self, name: str, property_name: list[str] = ["qualifiedName", "displayName"],
|
|
3126
|
+
self, name: str, property_name: list[str] = ["qualifiedName", "displayName"],
|
|
3127
|
+
type_name: str = "ValidMetadataValue"
|
|
3137
3128
|
) -> str:
|
|
3138
3129
|
"""
|
|
3139
3130
|
Retrieve the guid associated with the supplied element name.
|
|
@@ -3167,7 +3158,7 @@ class ClassificationManager(Client2):
|
|
|
3167
3158
|
#
|
|
3168
3159
|
# Elements by classification
|
|
3169
3160
|
#
|
|
3170
|
-
async def
|
|
3161
|
+
async def _async_get_elements_by_classification(
|
|
3171
3162
|
self,
|
|
3172
3163
|
classification_name: str,
|
|
3173
3164
|
metadata_element_type_name: str = None,
|
|
@@ -3291,7 +3282,7 @@ class ClassificationManager(Client2):
|
|
|
3291
3282
|
|
|
3292
3283
|
loop = asyncio.get_event_loop()
|
|
3293
3284
|
response = loop.run_until_complete(
|
|
3294
|
-
self.
|
|
3285
|
+
self._async_get_elements_by_classification(
|
|
3295
3286
|
classification_name,
|
|
3296
3287
|
metadata_element_type_name,
|
|
3297
3288
|
effective_time,
|
|
@@ -3310,7 +3301,7 @@ class ClassificationManager(Client2):
|
|
|
3310
3301
|
report_spec=report_spec,
|
|
3311
3302
|
)
|
|
3312
3303
|
|
|
3313
|
-
async def
|
|
3304
|
+
async def _async_get_elements_by_classification_with_property_value(
|
|
3314
3305
|
self,
|
|
3315
3306
|
classification_name: str,
|
|
3316
3307
|
property_value: str,
|
|
@@ -3454,7 +3445,7 @@ class ClassificationManager(Client2):
|
|
|
3454
3445
|
|
|
3455
3446
|
loop = asyncio.get_event_loop()
|
|
3456
3447
|
response = loop.run_until_complete(
|
|
3457
|
-
self.
|
|
3448
|
+
self._async_get_elements_by_classification_with_property_value(
|
|
3458
3449
|
classification_name,
|
|
3459
3450
|
property_value,
|
|
3460
3451
|
property_names,
|
|
@@ -3475,7 +3466,7 @@ class ClassificationManager(Client2):
|
|
|
3475
3466
|
report_spec=report_spec,
|
|
3476
3467
|
)
|
|
3477
3468
|
|
|
3478
|
-
async def
|
|
3469
|
+
async def _async_find_elements_by_classification_with_property_value(
|
|
3479
3470
|
self,
|
|
3480
3471
|
classification_name: str,
|
|
3481
3472
|
property_value: str,
|
|
@@ -3628,7 +3619,7 @@ class ClassificationManager(Client2):
|
|
|
3628
3619
|
|
|
3629
3620
|
loop = asyncio.get_event_loop()
|
|
3630
3621
|
response = loop.run_until_complete(
|
|
3631
|
-
self.
|
|
3622
|
+
self._async_find_elements_by_classification_with_property_value(
|
|
3632
3623
|
classification_name,
|
|
3633
3624
|
property_value,
|
|
3634
3625
|
property_names,
|
|
@@ -3649,7 +3640,7 @@ class ClassificationManager(Client2):
|
|
|
3649
3640
|
# related elements
|
|
3650
3641
|
#
|
|
3651
3642
|
|
|
3652
|
-
async def
|
|
3643
|
+
async def _async_get_related_elements(
|
|
3653
3644
|
self,
|
|
3654
3645
|
element_guid: str,
|
|
3655
3646
|
relationship_type: str = None,
|
|
@@ -3794,7 +3785,7 @@ class ClassificationManager(Client2):
|
|
|
3794
3785
|
|
|
3795
3786
|
loop = asyncio.get_event_loop()
|
|
3796
3787
|
response = loop.run_until_complete(
|
|
3797
|
-
self.
|
|
3788
|
+
self._async_get_related_elements(
|
|
3798
3789
|
element_guid,
|
|
3799
3790
|
relationship_type,
|
|
3800
3791
|
metadata_element_type_name,
|
|
@@ -3985,13 +3976,13 @@ class ClassificationManager(Client2):
|
|
|
3985
3976
|
)
|
|
3986
3977
|
return self._generate_referenceable_output(
|
|
3987
3978
|
elements=response,
|
|
3988
|
-
filter
|
|
3979
|
+
filter=property_value,
|
|
3989
3980
|
element_type_name=metadata_element_type_name,
|
|
3990
3981
|
output_format=output_format,
|
|
3991
3982
|
report_spec=report_spec,
|
|
3992
3983
|
)
|
|
3993
3984
|
|
|
3994
|
-
async def
|
|
3985
|
+
async def _async_find_related_elements_with_property_value(
|
|
3995
3986
|
self,
|
|
3996
3987
|
element_guid: str,
|
|
3997
3988
|
relationship_type: str,
|
|
@@ -4148,7 +4139,7 @@ class ClassificationManager(Client2):
|
|
|
4148
4139
|
|
|
4149
4140
|
loop = asyncio.get_event_loop()
|
|
4150
4141
|
response = loop.run_until_complete(
|
|
4151
|
-
self.
|
|
4142
|
+
self._async_find_related_elements_with_property_value(
|
|
4152
4143
|
element_guid,
|
|
4153
4144
|
relationship_type,
|
|
4154
4145
|
property_value,
|
|
@@ -4165,7 +4156,7 @@ class ClassificationManager(Client2):
|
|
|
4165
4156
|
)
|
|
4166
4157
|
return self._generate_referenceable_output(
|
|
4167
4158
|
elements=response,
|
|
4168
|
-
filter
|
|
4159
|
+
filter=property_value,
|
|
4169
4160
|
element_type_name=metadata_element_type_name,
|
|
4170
4161
|
output_format=output_format,
|
|
4171
4162
|
report_spec=report_spec,
|
|
@@ -4174,7 +4165,7 @@ class ClassificationManager(Client2):
|
|
|
4174
4165
|
#
|
|
4175
4166
|
# relationships
|
|
4176
4167
|
|
|
4177
|
-
async def
|
|
4168
|
+
async def _async_get_relationships(
|
|
4178
4169
|
self,
|
|
4179
4170
|
relationship_type: str,
|
|
4180
4171
|
effective_time: str = None,
|
|
@@ -4280,7 +4271,7 @@ class ClassificationManager(Client2):
|
|
|
4280
4271
|
|
|
4281
4272
|
loop = asyncio.get_event_loop()
|
|
4282
4273
|
response = loop.run_until_complete(
|
|
4283
|
-
self.
|
|
4274
|
+
self._async_get_relationships(
|
|
4284
4275
|
relationship_type,
|
|
4285
4276
|
effective_time,
|
|
4286
4277
|
for_lineage,
|
|
@@ -4292,7 +4283,7 @@ class ClassificationManager(Client2):
|
|
|
4292
4283
|
)
|
|
4293
4284
|
return response
|
|
4294
4285
|
|
|
4295
|
-
async def
|
|
4286
|
+
async def _async_get_relationships_with_property_value(
|
|
4296
4287
|
self,
|
|
4297
4288
|
relationship_type: str,
|
|
4298
4289
|
property_value: str,
|
|
@@ -4419,7 +4410,7 @@ class ClassificationManager(Client2):
|
|
|
4419
4410
|
|
|
4420
4411
|
loop = asyncio.get_event_loop()
|
|
4421
4412
|
response = loop.run_until_complete(
|
|
4422
|
-
self.
|
|
4413
|
+
self._async_get_relationships_with_property_value(
|
|
4423
4414
|
relationship_type,
|
|
4424
4415
|
property_value,
|
|
4425
4416
|
property_names,
|
|
@@ -4433,12 +4424,11 @@ class ClassificationManager(Client2):
|
|
|
4433
4424
|
)
|
|
4434
4425
|
return response
|
|
4435
4426
|
|
|
4436
|
-
|
|
4437
4427
|
#
|
|
4438
4428
|
# guid
|
|
4439
4429
|
#
|
|
4440
4430
|
|
|
4441
|
-
async def
|
|
4431
|
+
async def _async_retrieve_instance_for_guid(
|
|
4442
4432
|
self,
|
|
4443
4433
|
guid: str,
|
|
4444
4434
|
effective_time: str = None,
|
|
@@ -4528,7 +4518,7 @@ class ClassificationManager(Client2):
|
|
|
4528
4518
|
|
|
4529
4519
|
loop = asyncio.get_event_loop()
|
|
4530
4520
|
response = loop.run_until_complete(
|
|
4531
|
-
self.
|
|
4521
|
+
self._async_retrieve_instance_for_guid(
|
|
4532
4522
|
guid,
|
|
4533
4523
|
effective_time,
|
|
4534
4524
|
for_lineage,
|
|
@@ -4542,7 +4532,7 @@ class ClassificationManager(Client2):
|
|
|
4542
4532
|
# Classification CRUD
|
|
4543
4533
|
#
|
|
4544
4534
|
|
|
4545
|
-
async def
|
|
4535
|
+
async def _async_set_confidence_classification(
|
|
4546
4536
|
self,
|
|
4547
4537
|
element_guid: str,
|
|
4548
4538
|
body: dict,
|
|
@@ -4660,14 +4650,14 @@ class ClassificationManager(Client2):
|
|
|
4660
4650
|
|
|
4661
4651
|
loop = asyncio.get_event_loop()
|
|
4662
4652
|
loop.run_until_complete(
|
|
4663
|
-
self.
|
|
4653
|
+
self._async_set_confidence_classification(
|
|
4664
4654
|
element_guid,
|
|
4665
4655
|
body,
|
|
4666
4656
|
time_out,
|
|
4667
4657
|
)
|
|
4668
4658
|
)
|
|
4669
4659
|
|
|
4670
|
-
async def
|
|
4660
|
+
async def _async_clear_confidence_classification(
|
|
4671
4661
|
self,
|
|
4672
4662
|
element_guid: str,
|
|
4673
4663
|
for_lineage: bool = None,
|
|
@@ -4766,7 +4756,7 @@ class ClassificationManager(Client2):
|
|
|
4766
4756
|
|
|
4767
4757
|
loop = asyncio.get_event_loop()
|
|
4768
4758
|
loop.run_until_complete(
|
|
4769
|
-
self.
|
|
4759
|
+
self._async_clear_confidence_classification(
|
|
4770
4760
|
element_guid,
|
|
4771
4761
|
for_lineage,
|
|
4772
4762
|
for_duplicate_processing,
|
|
@@ -4775,7 +4765,7 @@ class ClassificationManager(Client2):
|
|
|
4775
4765
|
)
|
|
4776
4766
|
)
|
|
4777
4767
|
|
|
4778
|
-
async def
|
|
4768
|
+
async def _async_set_confidentiality_classification(
|
|
4779
4769
|
self,
|
|
4780
4770
|
element_guid: str,
|
|
4781
4771
|
body: dict,
|
|
@@ -4899,14 +4889,14 @@ class ClassificationManager(Client2):
|
|
|
4899
4889
|
|
|
4900
4890
|
loop = asyncio.get_event_loop()
|
|
4901
4891
|
loop.run_until_complete(
|
|
4902
|
-
self.
|
|
4892
|
+
self._async_set_confidentiality_classification(
|
|
4903
4893
|
element_guid,
|
|
4904
4894
|
body,
|
|
4905
4895
|
time_out
|
|
4906
4896
|
)
|
|
4907
4897
|
)
|
|
4908
4898
|
|
|
4909
|
-
async def
|
|
4899
|
+
async def _async_clear_confidentiality_classification(
|
|
4910
4900
|
self,
|
|
4911
4901
|
element_guid: str,
|
|
4912
4902
|
for_lineage: bool = None,
|
|
@@ -5002,7 +4992,7 @@ class ClassificationManager(Client2):
|
|
|
5002
4992
|
|
|
5003
4993
|
loop = asyncio.get_event_loop()
|
|
5004
4994
|
loop.run_until_complete(
|
|
5005
|
-
self.
|
|
4995
|
+
self._async_clear_confidentiality_classification(
|
|
5006
4996
|
element_guid,
|
|
5007
4997
|
for_lineage,
|
|
5008
4998
|
for_duplicate_processing,
|
|
@@ -5011,7 +5001,7 @@ class ClassificationManager(Client2):
|
|
|
5011
5001
|
)
|
|
5012
5002
|
)
|
|
5013
5003
|
|
|
5014
|
-
async def
|
|
5004
|
+
async def _async_set_impact_classification(
|
|
5015
5005
|
self,
|
|
5016
5006
|
element_guid: str,
|
|
5017
5007
|
body: dict,
|
|
@@ -5142,14 +5132,14 @@ class ClassificationManager(Client2):
|
|
|
5142
5132
|
|
|
5143
5133
|
loop = asyncio.get_event_loop()
|
|
5144
5134
|
loop.run_until_complete(
|
|
5145
|
-
self.
|
|
5135
|
+
self._async_set_impact_classification(
|
|
5146
5136
|
element_guid,
|
|
5147
5137
|
body,
|
|
5148
5138
|
time_out
|
|
5149
5139
|
)
|
|
5150
5140
|
)
|
|
5151
5141
|
|
|
5152
|
-
async def
|
|
5142
|
+
async def _async_clear_impact_classification(
|
|
5153
5143
|
self,
|
|
5154
5144
|
element_guid: str,
|
|
5155
5145
|
for_lineage: bool = None,
|
|
@@ -5245,7 +5235,7 @@ class ClassificationManager(Client2):
|
|
|
5245
5235
|
|
|
5246
5236
|
loop = asyncio.get_event_loop()
|
|
5247
5237
|
loop.run_until_complete(
|
|
5248
|
-
self.
|
|
5238
|
+
self._async_clear_impact_classification(
|
|
5249
5239
|
element_guid,
|
|
5250
5240
|
for_lineage,
|
|
5251
5241
|
for_duplicate_processing,
|
|
@@ -5254,7 +5244,7 @@ class ClassificationManager(Client2):
|
|
|
5254
5244
|
)
|
|
5255
5245
|
)
|
|
5256
5246
|
|
|
5257
|
-
async def
|
|
5247
|
+
async def _async_set_criticality_classification(
|
|
5258
5248
|
self,
|
|
5259
5249
|
element_guid: str,
|
|
5260
5250
|
body: dict,
|
|
@@ -5373,14 +5363,14 @@ class ClassificationManager(Client2):
|
|
|
5373
5363
|
|
|
5374
5364
|
loop = asyncio.get_event_loop()
|
|
5375
5365
|
loop.run_until_complete(
|
|
5376
|
-
self.
|
|
5366
|
+
self._async_set_criticality_classification(
|
|
5377
5367
|
element_guid,
|
|
5378
5368
|
body,
|
|
5379
5369
|
time_out,
|
|
5380
5370
|
)
|
|
5381
5371
|
)
|
|
5382
5372
|
|
|
5383
|
-
async def
|
|
5373
|
+
async def _async_clear_criticality_classification(
|
|
5384
5374
|
self,
|
|
5385
5375
|
element_guid: str,
|
|
5386
5376
|
for_lineage: bool = None,
|
|
@@ -5476,7 +5466,7 @@ class ClassificationManager(Client2):
|
|
|
5476
5466
|
|
|
5477
5467
|
loop = asyncio.get_event_loop()
|
|
5478
5468
|
loop.run_until_complete(
|
|
5479
|
-
self.
|
|
5469
|
+
self._async_clear_criticality_classification(
|
|
5480
5470
|
element_guid,
|
|
5481
5471
|
for_lineage,
|
|
5482
5472
|
for_duplicate_processing,
|
|
@@ -5485,7 +5475,7 @@ class ClassificationManager(Client2):
|
|
|
5485
5475
|
)
|
|
5486
5476
|
)
|
|
5487
5477
|
|
|
5488
|
-
async def
|
|
5478
|
+
async def _async_add_gov_definition_to_element(
|
|
5489
5479
|
self,
|
|
5490
5480
|
definition_guid: str,
|
|
5491
5481
|
element_guid: str,
|
|
@@ -5581,7 +5571,7 @@ class ClassificationManager(Client2):
|
|
|
5581
5571
|
|
|
5582
5572
|
loop = asyncio.get_event_loop()
|
|
5583
5573
|
loop.run_until_complete(
|
|
5584
|
-
self.
|
|
5574
|
+
self._async_add_gov_definition_to_element(
|
|
5585
5575
|
definition_guid,
|
|
5586
5576
|
element_guid,
|
|
5587
5577
|
effective_time,
|
|
@@ -5591,14 +5581,14 @@ class ClassificationManager(Client2):
|
|
|
5591
5581
|
)
|
|
5592
5582
|
)
|
|
5593
5583
|
|
|
5594
|
-
async def
|
|
5584
|
+
async def _async_clear_gov_definition_from_element(
|
|
5595
5585
|
self,
|
|
5596
5586
|
definition_guid,
|
|
5597
5587
|
element_guid: str,
|
|
5598
5588
|
for_lineage: bool = None,
|
|
5599
5589
|
for_duplicate_processing: bool = None,
|
|
5600
5590
|
effective_time: str = None,
|
|
5601
|
-
|
|
5591
|
+
|
|
5602
5592
|
) -> None:
|
|
5603
5593
|
"""
|
|
5604
5594
|
Remove the GovernedBy relationship between a governance definition and an element. Async Version.
|
|
@@ -5618,10 +5608,6 @@ class ClassificationManager(Client2):
|
|
|
5618
5608
|
effective_time: str, default = None
|
|
5619
5609
|
- Time format is "YYYY-MM-DDTHH:MM:SS" (ISO 8601)
|
|
5620
5610
|
|
|
5621
|
-
|
|
5622
|
-
time_out: int, default = default_time_out
|
|
5623
|
-
- http request timeout for this request
|
|
5624
|
-
|
|
5625
5611
|
Returns
|
|
5626
5612
|
-------
|
|
5627
5613
|
[dict] | str
|
|
@@ -5643,17 +5629,16 @@ class ClassificationManager(Client2):
|
|
|
5643
5629
|
"forDuplicateProcessing": for_duplicate_processing}
|
|
5644
5630
|
|
|
5645
5631
|
await self._async_make_request(
|
|
5646
|
-
"POST", url, body_slimmer(body)
|
|
5632
|
+
"POST", url, body_slimmer(body)
|
|
5647
5633
|
)
|
|
5648
5634
|
|
|
5649
5635
|
def clear_gov_definition_from_element(
|
|
5650
5636
|
self,
|
|
5651
|
-
|
|
5637
|
+
scoped_by_guid,
|
|
5652
5638
|
element_guid: str,
|
|
5653
5639
|
for_lineage: bool = None,
|
|
5654
5640
|
for_duplicate_processing: bool = None,
|
|
5655
5641
|
effective_time: str = None,
|
|
5656
|
-
time_out: int = default_time_out,
|
|
5657
5642
|
) -> None:
|
|
5658
5643
|
"""
|
|
5659
5644
|
Remove the GovernedBy relationship between a governance definition and an element. Async Version.
|
|
@@ -5662,7 +5647,7 @@ class ClassificationManager(Client2):
|
|
|
5662
5647
|
|
|
5663
5648
|
Parameters
|
|
5664
5649
|
----------
|
|
5665
|
-
|
|
5650
|
+
scoped_by_guid: str
|
|
5666
5651
|
- identity of the governance definition to add
|
|
5667
5652
|
element_guid: str
|
|
5668
5653
|
- the identity of the element to update
|
|
@@ -5673,10 +5658,6 @@ class ClassificationManager(Client2):
|
|
|
5673
5658
|
effective_time: str, default = None
|
|
5674
5659
|
- Time format is "YYYY-MM-DDTHH:MM:SS" (ISO 8601)
|
|
5675
5660
|
|
|
5676
|
-
|
|
5677
|
-
time_out: int, default = default_time_out
|
|
5678
|
-
- http request timeout for this request
|
|
5679
|
-
|
|
5680
5661
|
Returns
|
|
5681
5662
|
-------
|
|
5682
5663
|
[dict] | str
|
|
@@ -5691,37 +5672,29 @@ class ClassificationManager(Client2):
|
|
|
5691
5672
|
|
|
5692
5673
|
loop = asyncio.get_event_loop()
|
|
5693
5674
|
loop.run_until_complete(
|
|
5694
|
-
self.
|
|
5695
|
-
|
|
5696
|
-
element_guid,
|
|
5697
|
-
for_lineage,
|
|
5698
|
-
for_duplicate_processing,
|
|
5699
|
-
effective_time,
|
|
5700
|
-
time_out,
|
|
5701
|
-
)
|
|
5675
|
+
self._async_clear_gov_definition_from_element(scoped_by_guid, element_guid, for_lineage,
|
|
5676
|
+
for_duplicate_processing, effective_time)
|
|
5702
5677
|
)
|
|
5703
5678
|
|
|
5704
|
-
async def
|
|
5679
|
+
async def _async_add_scope_to_element(
|
|
5705
5680
|
self,
|
|
5681
|
+
scoped_by_guid: str,
|
|
5706
5682
|
element_guid: str,
|
|
5707
|
-
body: dict,
|
|
5708
|
-
time_out: int = default_time_out,
|
|
5683
|
+
body: dict | NewRelationshipRequestBody = None,
|
|
5709
5684
|
) -> None:
|
|
5710
5685
|
"""
|
|
5711
|
-
|
|
5686
|
+
Link a scope to an element using the ScopedBy relationship. Async version.
|
|
5712
5687
|
|
|
5713
|
-
|
|
5688
|
+
Scopes: https://egeria-project.org/types/1/0120-Assignment-Scopes/
|
|
5714
5689
|
|
|
5715
5690
|
Parameters
|
|
5716
5691
|
----------
|
|
5692
|
+
scoped_by_guid: str
|
|
5693
|
+
- identity of the governance scope to add
|
|
5717
5694
|
element_guid: str
|
|
5718
5695
|
- the identity of the element to update
|
|
5719
|
-
body: dict
|
|
5720
|
-
- structure containing
|
|
5721
|
-
|
|
5722
|
-
|
|
5723
|
-
time_out: int, default = default_time_out
|
|
5724
|
-
- http request timeout for this request
|
|
5696
|
+
body: dict | NewRelationshipRequestBody, optional
|
|
5697
|
+
- structure containing scope information - see Notes
|
|
5725
5698
|
|
|
5726
5699
|
Returns
|
|
5727
5700
|
-------
|
|
@@ -5731,121 +5704,65 @@ class ClassificationManager(Client2):
|
|
|
5731
5704
|
------
|
|
5732
5705
|
PyegeriaException
|
|
5733
5706
|
|
|
5734
|
-
Notes
|
|
5735
|
-
-----
|
|
5736
|
-
|
|
5737
|
-
{
|
|
5738
|
-
"class": "ClassificationRequestBody",
|
|
5739
|
-
"effectiveTime": "an isoTimestamp",
|
|
5740
|
-
"forDuplicateProcessing": false,
|
|
5741
|
-
"forLineage": false,
|
|
5742
|
-
"properties": {
|
|
5743
|
-
"class": "OwnerProperties",
|
|
5744
|
-
"owner": "Add value here",
|
|
5745
|
-
"ownerTypeName": "Add value here",
|
|
5746
|
-
"ownerPropertyName": "Add value here"
|
|
5747
|
-
}
|
|
5748
|
-
}
|
|
5749
|
-
|
|
5750
5707
|
"""
|
|
5751
5708
|
|
|
5752
|
-
url = (
|
|
5753
|
-
f"{base_path(self, self.view_server)}/elements/{element_guid}/ownership"
|
|
5754
|
-
f""
|
|
5755
|
-
)
|
|
5709
|
+
url = f"{base_path(self, self.view_server)}/elements/{element_guid}/scoped-by/{scoped_by_guid}/attach"
|
|
5756
5710
|
|
|
5757
|
-
await self.
|
|
5758
|
-
"POST", url, body_slimmer(body), time_out=time_out
|
|
5759
|
-
)
|
|
5711
|
+
await self._async_new_relationship_request(url, ['ScopedBy'], body)
|
|
5760
5712
|
|
|
5761
|
-
def
|
|
5713
|
+
def add_scope_to_element(
|
|
5762
5714
|
self,
|
|
5715
|
+
scoped_by_guid: str,
|
|
5763
5716
|
element_guid: str,
|
|
5764
|
-
body: dict,
|
|
5765
|
-
time_out: int = default_time_out,
|
|
5717
|
+
body: dict | NewRelationshipRequestBody = None,
|
|
5766
5718
|
) -> None:
|
|
5767
5719
|
"""
|
|
5768
|
-
|
|
5720
|
+
Link a scope to an element using the ScopedBy relationship.
|
|
5769
5721
|
|
|
5770
|
-
|
|
5722
|
+
Scopes: https://egeria-project.org/types/1/0120-Assignment-Scopes/
|
|
5771
5723
|
|
|
5772
5724
|
Parameters
|
|
5773
5725
|
----------
|
|
5726
|
+
scoped_by_guid: str
|
|
5727
|
+
- identity of the governance scope to add
|
|
5774
5728
|
element_guid: str
|
|
5775
5729
|
- the identity of the element to update
|
|
5776
|
-
body: dict
|
|
5777
|
-
- structure containing
|
|
5778
|
-
|
|
5779
|
-
|
|
5780
|
-
time_out: int, default = default_time_out
|
|
5781
|
-
- http request timeout for this request
|
|
5782
|
-
|
|
5783
|
-
Returns
|
|
5784
|
-
-------
|
|
5785
|
-
None
|
|
5786
|
-
|
|
5787
|
-
Raises
|
|
5788
|
-
------
|
|
5789
|
-
PyegeriaException
|
|
5790
|
-
|
|
5791
|
-
Notes
|
|
5792
|
-
-----
|
|
5793
|
-
|
|
5794
|
-
{
|
|
5795
|
-
"class": "ClassificationRequestBody",
|
|
5796
|
-
"effectiveTime": "an isoTimestamp",
|
|
5797
|
-
"forDuplicateProcessing": false,
|
|
5798
|
-
"forLineage": false,
|
|
5799
|
-
"properties": {
|
|
5800
|
-
"class": "OwnerProperties",
|
|
5801
|
-
"owner": "Add value here",
|
|
5802
|
-
"ownerTypeName": "Add value here",
|
|
5803
|
-
"ownerPropertyName": "Add value here"
|
|
5804
|
-
}
|
|
5805
|
-
}
|
|
5730
|
+
body: dict | NewRelationshipRequestBody, optional
|
|
5731
|
+
- structure containing scope information - see Notes
|
|
5806
5732
|
|
|
5807
5733
|
"""
|
|
5808
5734
|
|
|
5809
5735
|
loop = asyncio.get_event_loop()
|
|
5810
5736
|
loop.run_until_complete(
|
|
5811
|
-
self.
|
|
5737
|
+
self._async_add_scope_to_element(
|
|
5738
|
+
scoped_by_guid,
|
|
5812
5739
|
element_guid,
|
|
5813
|
-
body
|
|
5814
|
-
time_out,
|
|
5740
|
+
body
|
|
5815
5741
|
)
|
|
5816
5742
|
)
|
|
5817
5743
|
|
|
5818
|
-
async def
|
|
5744
|
+
async def _async_remove_scope_from_element(
|
|
5819
5745
|
self,
|
|
5746
|
+
scoped_by_guid,
|
|
5820
5747
|
element_guid: str,
|
|
5821
|
-
|
|
5822
|
-
for_duplicate_processing: bool = None,
|
|
5823
|
-
effective_time: str = None,
|
|
5824
|
-
time_out: int = default_time_out,
|
|
5748
|
+
body: dict | DeleteRelationshipRequestBody = None,
|
|
5825
5749
|
) -> None:
|
|
5826
5750
|
"""
|
|
5827
|
-
Remove the
|
|
5751
|
+
Remove the ScopedBy relationship between a scope and an element. Async Version.
|
|
5828
5752
|
|
|
5829
|
-
|
|
5753
|
+
Scopes: https://egeria-project.org/types/1/0120-Assignment-Scopes/
|
|
5830
5754
|
|
|
5831
5755
|
Parameters
|
|
5832
5756
|
----------
|
|
5757
|
+
scoped_by_guid: str
|
|
5758
|
+
- identity of the governance definition to add
|
|
5833
5759
|
element_guid: str
|
|
5834
5760
|
- the identity of the element to update
|
|
5835
|
-
|
|
5836
|
-
-
|
|
5837
|
-
for_duplicate_processing: bool, default is set by server
|
|
5838
|
-
- Normally false. Set true when the caller is part of a deduplication function
|
|
5839
|
-
effective_time: str, default = None
|
|
5840
|
-
- Time format is "YYYY-MM-DDTHH:MM:SS" (ISO 8601)
|
|
5841
|
-
|
|
5842
|
-
|
|
5843
|
-
time_out: int, default = default_time_out
|
|
5844
|
-
- http request timeout for this request
|
|
5761
|
+
body: dict | DeleteRelationshipRequestBody, optional
|
|
5762
|
+
- structure request information
|
|
5845
5763
|
|
|
5846
5764
|
Returns
|
|
5847
5765
|
-------
|
|
5848
|
-
None
|
|
5849
5766
|
|
|
5850
5767
|
Raises
|
|
5851
5768
|
------
|
|
@@ -5854,45 +5771,31 @@ class ClassificationManager(Client2):
|
|
|
5854
5771
|
|
|
5855
5772
|
"""
|
|
5856
5773
|
|
|
5857
|
-
url = (
|
|
5858
|
-
f"{base_path(self, self.view_server)}/elements/{element_guid}/ownership/remove"
|
|
5859
|
-
f""
|
|
5860
|
-
)
|
|
5774
|
+
url = f"{base_path(self, self.view_server)}/elements/{element_guid}/scoped-by/{scoped_by_guid}/detach"
|
|
5861
5775
|
|
|
5862
|
-
body = {"class": "ClassificationRequestBody", "effectiveTime": effective_time, "forLineage": for_lineage,
|
|
5863
|
-
"forDuplicateProcessing": for_duplicate_processing}
|
|
5864
5776
|
|
|
5865
|
-
await self.
|
|
5866
|
-
"POST", url, body_slimmer(body), time_out=time_out
|
|
5867
|
-
)
|
|
5777
|
+
await self._async_delete_relationship_request(url, body_slimmer(body))
|
|
5868
5778
|
|
|
5869
|
-
def
|
|
5779
|
+
def remove_scope_from_element(
|
|
5870
5780
|
self,
|
|
5781
|
+
scoped_by_guid,
|
|
5871
5782
|
element_guid: str,
|
|
5872
|
-
|
|
5873
|
-
for_duplicate_processing: bool = None,
|
|
5874
|
-
effective_time: str = None,
|
|
5875
|
-
time_out: int = default_time_out,
|
|
5783
|
+
body : dict | DeleteRelationshipRequestBody = None,
|
|
5876
5784
|
) -> None:
|
|
5877
5785
|
"""
|
|
5878
|
-
Remove the
|
|
5786
|
+
Remove the ScopeddBy relationship between a scope and an element.
|
|
5879
5787
|
|
|
5880
|
-
|
|
5788
|
+
Scopes: https://egeria-project.org/types/1/0120-Assignment-Scopes/
|
|
5881
5789
|
|
|
5882
5790
|
Parameters
|
|
5883
5791
|
----------
|
|
5792
|
+
scoped_by_guid: str
|
|
5793
|
+
- identity of the governance definition to add
|
|
5884
5794
|
element_guid: str
|
|
5885
5795
|
- the identity of the element to update
|
|
5886
|
-
for_lineage: bool, default is set by server
|
|
5887
|
-
- determines if elements classified as Memento should be returned - normally false
|
|
5888
|
-
for_duplicate_processing: bool, default is set by server
|
|
5889
|
-
- Normally false. Set true when the caller is part of a deduplication function
|
|
5890
|
-
effective_time: str, default = None
|
|
5891
|
-
- Time format is "YYYY-MM-DDTHH:MM:SS" (ISO 8601)
|
|
5892
|
-
|
|
5893
5796
|
|
|
5894
|
-
|
|
5895
|
-
-
|
|
5797
|
+
body: dict | DeleteRelationshipRequestBody, optional
|
|
5798
|
+
- structure request information
|
|
5896
5799
|
|
|
5897
5800
|
Returns
|
|
5898
5801
|
-------
|
|
@@ -5902,113 +5805,1286 @@ class ClassificationManager(Client2):
|
|
|
5902
5805
|
------
|
|
5903
5806
|
PyegeriaException
|
|
5904
5807
|
|
|
5905
|
-
|
|
5906
5808
|
"""
|
|
5907
5809
|
|
|
5908
5810
|
loop = asyncio.get_event_loop()
|
|
5909
5811
|
loop.run_until_complete(
|
|
5910
|
-
self.
|
|
5911
|
-
element_guid,
|
|
5912
|
-
for_lineage,
|
|
5913
|
-
for_duplicate_processing,
|
|
5914
|
-
effective_time,
|
|
5915
|
-
time_out,
|
|
5916
|
-
)
|
|
5812
|
+
self._async_remove_scope_from_element(scoped_by_guid, element_guid, body)
|
|
5917
5813
|
)
|
|
5918
5814
|
|
|
5919
|
-
|
|
5815
|
+
|
|
5816
|
+
async def _async_add_certification_to_element(
|
|
5920
5817
|
self,
|
|
5818
|
+
certification_type_guid: str,
|
|
5921
5819
|
element_guid: str,
|
|
5922
|
-
body: dict,
|
|
5923
|
-
|
|
5924
|
-
) -> None:
|
|
5820
|
+
body: dict | NewRelationshipRequestBody = None,
|
|
5821
|
+
) -> str:
|
|
5925
5822
|
"""
|
|
5926
|
-
|
|
5927
|
-
|
|
5928
|
-
property. The dates after which the element/resource is archived and then deleted are specified in the archiveAfter and deleteAfter
|
|
5929
|
-
properties respectively. Async version
|
|
5930
|
-
|
|
5931
|
-
Governance Action Classifications: https://egeria-project.org/types/4/0422-Governance-Action-Classifications/
|
|
5823
|
+
Link an element to a certification type and include details of the certification in the relationship properties.
|
|
5824
|
+
The GUID returned is the identifier of the relationship. Async Version.
|
|
5932
5825
|
|
|
5933
5826
|
Parameters
|
|
5934
5827
|
----------
|
|
5828
|
+
certification_type_guid: str
|
|
5829
|
+
- identity of the governance certification to add
|
|
5935
5830
|
element_guid: str
|
|
5936
5831
|
- the identity of the element to update
|
|
5937
|
-
body: dict
|
|
5938
|
-
-
|
|
5939
|
-
|
|
5940
|
-
|
|
5941
|
-
|
|
5942
|
-
time_out: int, default = default_time_out
|
|
5943
|
-
- http request timeout for this request
|
|
5832
|
+
body: dict | NewRelationshipRequestBody, optional
|
|
5833
|
+
- structure containing certification information - see Notes
|
|
5944
5834
|
|
|
5945
5835
|
Returns
|
|
5946
5836
|
-------
|
|
5947
|
-
|
|
5948
|
-
Returns a string if no elements found and a list of dict of elements with the results.
|
|
5837
|
+
GUID of the certification.
|
|
5949
5838
|
|
|
5950
5839
|
Raises
|
|
5951
5840
|
------
|
|
5952
5841
|
PyegeriaException
|
|
5953
5842
|
|
|
5954
|
-
|
|
5955
|
-
|
|
5956
|
-
|
|
5957
|
-
|
|
5843
|
+
Notes
|
|
5844
|
+
-----
|
|
5845
|
+
Sample body:
|
|
5958
5846
|
{
|
|
5959
|
-
"class": "
|
|
5960
|
-
"
|
|
5847
|
+
"class" : "NewRelationshipRequestBody",
|
|
5848
|
+
"externalSourceGUID": "Add guid here",
|
|
5849
|
+
"externalSourceName": "Add qualified name here",
|
|
5961
5850
|
"forLineage": false,
|
|
5962
5851
|
"forDuplicateProcessing": false,
|
|
5852
|
+
"effectiveTime" : "{{$isoTimestamp}}",
|
|
5963
5853
|
"properties": {
|
|
5964
|
-
|
|
5965
|
-
|
|
5966
|
-
|
|
5967
|
-
|
|
5968
|
-
|
|
5969
|
-
|
|
5970
|
-
|
|
5971
|
-
|
|
5972
|
-
|
|
5973
|
-
|
|
5974
|
-
|
|
5975
|
-
|
|
5854
|
+
"class" : "LicenseProperties",
|
|
5855
|
+
"certificateId" : "",
|
|
5856
|
+
"startDate" : "{{$isoTimestamp}}",
|
|
5857
|
+
"endDate" : "{{$isoTimestamp}}",
|
|
5858
|
+
"conditions" : "",
|
|
5859
|
+
"certifiedBy" : "",
|
|
5860
|
+
"certifiedByTypeName" : "",
|
|
5861
|
+
"certifiedByPropertyName" : "",
|
|
5862
|
+
"custodian" : "",
|
|
5863
|
+
"custodianTypeName" : "",
|
|
5864
|
+
"custodianPropertyName" : "",
|
|
5865
|
+
"recipient" : "",
|
|
5866
|
+
"recipientTypeName" : "",
|
|
5867
|
+
"recipientPropertyName" : "",
|
|
5868
|
+
"notes" : ""
|
|
5976
5869
|
}
|
|
5977
5870
|
}
|
|
5978
5871
|
|
|
5979
5872
|
"""
|
|
5980
5873
|
|
|
5981
|
-
url = (
|
|
5982
|
-
f"{base_path(self, self.view_server)}/elements/{element_guid}/retention"
|
|
5983
|
-
f""
|
|
5984
|
-
)
|
|
5874
|
+
url = f"{base_path(self, self.view_server)}/elements/{element_guid}/certification-types/{certification_type_guid}/certify"
|
|
5985
5875
|
|
|
5986
|
-
await self._async_make_request(
|
|
5987
|
-
|
|
5988
|
-
)
|
|
5876
|
+
response = await self._async_make_request("POST",url, body_slimmer(body))
|
|
5877
|
+
return response.json().get('guid','Relationship was not created')
|
|
5989
5878
|
|
|
5990
|
-
def
|
|
5879
|
+
def add_certification_to_element(
|
|
5991
5880
|
self,
|
|
5881
|
+
certification_type_guid: str,
|
|
5992
5882
|
element_guid: str,
|
|
5993
|
-
body: dict,
|
|
5994
|
-
|
|
5995
|
-
) -> None:
|
|
5883
|
+
body: dict | NewRelationshipRequestBody = None,
|
|
5884
|
+
) -> str:
|
|
5996
5885
|
"""
|
|
5997
|
-
|
|
5998
|
-
|
|
5999
|
-
property. The dates after which the element/resource is archived and then deleted are specified in the archiveAfter and deleteAfter
|
|
6000
|
-
properties respectively. Async version
|
|
6001
|
-
|
|
6002
|
-
Governance Action Classifications: https://egeria-project.org/types/4/0422-Governance-Action-Classifications/
|
|
5886
|
+
Link an element to a certification type and include details of the certification in the relationship properties.
|
|
5887
|
+
The GUID returned is the identifier of the relationship. Async Version.
|
|
6003
5888
|
|
|
6004
5889
|
Parameters
|
|
6005
5890
|
----------
|
|
5891
|
+
certification_type_guid: str
|
|
5892
|
+
- identity of the governance certification to add
|
|
6006
5893
|
element_guid: str
|
|
6007
5894
|
- the identity of the element to update
|
|
6008
|
-
body: dict
|
|
6009
|
-
-
|
|
5895
|
+
body: dict | NewRelationshipRequestBody, optional
|
|
5896
|
+
- structure containing certification information - see Notes
|
|
6010
5897
|
|
|
6011
|
-
|
|
5898
|
+
Returns
|
|
5899
|
+
-------
|
|
5900
|
+
None
|
|
5901
|
+
|
|
5902
|
+
Raises
|
|
5903
|
+
------
|
|
5904
|
+
PyegeriaException
|
|
5905
|
+
|
|
5906
|
+
Notes
|
|
5907
|
+
-----
|
|
5908
|
+
Sample body:
|
|
5909
|
+
{
|
|
5910
|
+
"class" : "NewRelationshipRequestBody",
|
|
5911
|
+
"externalSourceGUID": "Add guid here",
|
|
5912
|
+
"externalSourceName": "Add qualified name here",
|
|
5913
|
+
"forLineage": false,
|
|
5914
|
+
"forDuplicateProcessing": false,
|
|
5915
|
+
"effectiveTime" : "{{$isoTimestamp}}",
|
|
5916
|
+
"properties": {
|
|
5917
|
+
"class" : "certificationProperties",
|
|
5918
|
+
"certificationId" : "",
|
|
5919
|
+
"startDate" : "{{$isoTimestamp}}",
|
|
5920
|
+
"endDate" : "{{$isoTimestamp}}",
|
|
5921
|
+
"conditions" : "",
|
|
5922
|
+
"certificationdBy" : "",
|
|
5923
|
+
"certificationdByTypeName" : "",
|
|
5924
|
+
"certificationdByPropertyName" : "",
|
|
5925
|
+
"custodian" : "",
|
|
5926
|
+
"custodianTypeName" : "",
|
|
5927
|
+
"custodianPropertyName" : "",
|
|
5928
|
+
"certificatione" : "",
|
|
5929
|
+
"certificationeTypeName" : "",
|
|
5930
|
+
"certificationePropertyName" : "",
|
|
5931
|
+
"entitlements" : "",
|
|
5932
|
+
"restrictions" : "",
|
|
5933
|
+
"obligations" : "",
|
|
5934
|
+
"notes" : ""
|
|
5935
|
+
}
|
|
5936
|
+
}
|
|
5937
|
+
|
|
5938
|
+
"""
|
|
5939
|
+
|
|
5940
|
+
loop = asyncio.get_event_loop()
|
|
5941
|
+
response = loop.run_until_complete(
|
|
5942
|
+
self._async_add_certification_to_element(certification_type_guid, element_guid, body)
|
|
5943
|
+
)
|
|
5944
|
+
return response
|
|
5945
|
+
|
|
5946
|
+
async def _async_update_certification(
|
|
5947
|
+
self,
|
|
5948
|
+
certification_guid: str,
|
|
5949
|
+
body: dict | UpdateRelationshipRequestBody = None,
|
|
5950
|
+
) -> str:
|
|
5951
|
+
"""
|
|
5952
|
+
Update the properties of a certification. Remember to include the certificationId in the properties if the element has multiple
|
|
5953
|
+
certifications for the same certification type. Async version.
|
|
5954
|
+
|
|
5955
|
+
Parameters
|
|
5956
|
+
----------
|
|
5957
|
+
certification_guid: str
|
|
5958
|
+
- identity of the certification to update
|
|
5959
|
+
body: dict | UpdateRelationshipRequestBody, optional
|
|
5960
|
+
- structure containing certification information - see Notes
|
|
5961
|
+
|
|
5962
|
+
Returns
|
|
5963
|
+
-------
|
|
5964
|
+
None
|
|
5965
|
+
|
|
5966
|
+
Raises
|
|
5967
|
+
------
|
|
5968
|
+
PyegeriaException
|
|
5969
|
+
|
|
5970
|
+
Notes
|
|
5971
|
+
-----
|
|
5972
|
+
Sample body:
|
|
5973
|
+
{
|
|
5974
|
+
"class" : "UpdateRelationshipRequestBody",
|
|
5975
|
+
"externalSourceGUID": "Add guid here",
|
|
5976
|
+
"externalSourceName": "Add qualified name here",
|
|
5977
|
+
"forLineage": false,
|
|
5978
|
+
"forDuplicateProcessing": false,
|
|
5979
|
+
"effectiveTime" : "{{$isoTimestamp}}",
|
|
5980
|
+
"properties": {
|
|
5981
|
+
"class" : "CertificationProperties",
|
|
5982
|
+
"certificateId" : "",
|
|
5983
|
+
"startDate" : "{{$isoTimestamp}}",
|
|
5984
|
+
"endDate" : "{{$isoTimestamp}}",
|
|
5985
|
+
"conditions" : "",
|
|
5986
|
+
"certifiedBy" : "",
|
|
5987
|
+
"certifiedByTypeName" : "",
|
|
5988
|
+
"certifiedByPropertyName" : "",
|
|
5989
|
+
"custodian" : "",
|
|
5990
|
+
"custodianTypeName" : "",
|
|
5991
|
+
"custodianPropertyName" : "",
|
|
5992
|
+
"recipient" : "",
|
|
5993
|
+
"recipientTypeName" : "",
|
|
5994
|
+
"recipientPropertyName" : "",
|
|
5995
|
+
"notes" : ""
|
|
5996
|
+
}
|
|
5997
|
+
}
|
|
5998
|
+
"""
|
|
5999
|
+
|
|
6000
|
+
url = f"{base_path(self, self.view_server)}/certifications/{certification_guid}/update"
|
|
6001
|
+
|
|
6002
|
+
await self._async_update_relationship_request(url, None, body_slimmer(body))
|
|
6003
|
+
|
|
6004
|
+
def update_certification(
|
|
6005
|
+
self,
|
|
6006
|
+
certification_guid: str,
|
|
6007
|
+
body: dict | UpdateRelationshipRequestBody = None,
|
|
6008
|
+
) -> str:
|
|
6009
|
+
"""
|
|
6010
|
+
Update the properties of a certification. Remember to include the certificationId in the properties if the element has multiple
|
|
6011
|
+
certifications for the same certification type.
|
|
6012
|
+
|
|
6013
|
+
Parameters
|
|
6014
|
+
----------
|
|
6015
|
+
certification_guid: str
|
|
6016
|
+
- identity of the certification to update
|
|
6017
|
+
body: dict | UpdateRelationshipRequestBody, optional
|
|
6018
|
+
- structure containing certification information - see Notes
|
|
6019
|
+
|
|
6020
|
+
Returns
|
|
6021
|
+
-------
|
|
6022
|
+
None
|
|
6023
|
+
|
|
6024
|
+
Raises
|
|
6025
|
+
------
|
|
6026
|
+
PyegeriaException
|
|
6027
|
+
|
|
6028
|
+
Notes
|
|
6029
|
+
-----
|
|
6030
|
+
Sample body:
|
|
6031
|
+
{
|
|
6032
|
+
"class" : "UpdateRelationshipRequestBody",
|
|
6033
|
+
"externalSourceGUID": "Add guid here",
|
|
6034
|
+
"externalSourceName": "Add qualified name here",
|
|
6035
|
+
"forLineage": false,
|
|
6036
|
+
"forDuplicateProcessing": false,
|
|
6037
|
+
"effectiveTime" : "{{$isoTimestamp}}",
|
|
6038
|
+
"properties": {
|
|
6039
|
+
"class" : "CertificationProperties",
|
|
6040
|
+
"certificateId" : "",
|
|
6041
|
+
"startDate" : "{{$isoTimestamp}}",
|
|
6042
|
+
"endDate" : "{{$isoTimestamp}}",
|
|
6043
|
+
"conditions" : "",
|
|
6044
|
+
"certifiedBy" : "",
|
|
6045
|
+
"certifiedByTypeName" : "",
|
|
6046
|
+
"certifiedByPropertyName" : "",
|
|
6047
|
+
"custodian" : "",
|
|
6048
|
+
"custodianTypeName" : "",
|
|
6049
|
+
"custodianPropertyName" : "",
|
|
6050
|
+
"recipient" : "",
|
|
6051
|
+
"recipientTypeName" : "",
|
|
6052
|
+
"recipientPropertyName" : "",
|
|
6053
|
+
"notes" : ""
|
|
6054
|
+
}
|
|
6055
|
+
}
|
|
6056
|
+
"""
|
|
6057
|
+
|
|
6058
|
+
loop = asyncio.get_event_loop()
|
|
6059
|
+
loop.run_until_complete(
|
|
6060
|
+
self._async_update_certification(certification_guid, body)
|
|
6061
|
+
)
|
|
6062
|
+
|
|
6063
|
+
|
|
6064
|
+
async def _async_decertify_element(
|
|
6065
|
+
self,
|
|
6066
|
+
certification_guid,
|
|
6067
|
+
body: dict | DeleteRelationshipRequestBody = None,
|
|
6068
|
+
) -> None:
|
|
6069
|
+
"""
|
|
6070
|
+
Remove the certification for an element. Async Version.
|
|
6071
|
+
|
|
6072
|
+
Parameters
|
|
6073
|
+
----------
|
|
6074
|
+
certification_guid: str
|
|
6075
|
+
- identity of the certification to remove.
|
|
6076
|
+
body: dict | DeleteRelationshipRequestBody, optional
|
|
6077
|
+
- structure request information
|
|
6078
|
+
|
|
6079
|
+
Returns
|
|
6080
|
+
-------
|
|
6081
|
+
|
|
6082
|
+
Raises
|
|
6083
|
+
------
|
|
6084
|
+
PyegeriaException
|
|
6085
|
+
|
|
6086
|
+
"""
|
|
6087
|
+
|
|
6088
|
+
url = f"{base_path(self, self.view_server)}/certifications/{certification_guid}/delete"
|
|
6089
|
+
await self._async_delete_relationship_request(url, body_slimmer(body))
|
|
6090
|
+
|
|
6091
|
+
def decertify_element(
|
|
6092
|
+
self,
|
|
6093
|
+
certification_guid,
|
|
6094
|
+
body : dict | DeleteRelationshipRequestBody = None,
|
|
6095
|
+
) -> None:
|
|
6096
|
+
"""
|
|
6097
|
+
Remove the certification for an element.
|
|
6098
|
+
|
|
6099
|
+
Parameters
|
|
6100
|
+
----------
|
|
6101
|
+
certification_guid: str
|
|
6102
|
+
- identity of the cerrification to remove
|
|
6103
|
+
body: dict | DeleteRelationshipRequestBody, optional
|
|
6104
|
+
- structure request information
|
|
6105
|
+
|
|
6106
|
+
Returns
|
|
6107
|
+
-------
|
|
6108
|
+
None
|
|
6109
|
+
|
|
6110
|
+
Raises
|
|
6111
|
+
------
|
|
6112
|
+
PyegeriaException
|
|
6113
|
+
|
|
6114
|
+
"""
|
|
6115
|
+
|
|
6116
|
+
loop = asyncio.get_event_loop()
|
|
6117
|
+
loop.run_until_complete(
|
|
6118
|
+
self._async_decertify_element(certification_guid, body)
|
|
6119
|
+
)
|
|
6120
|
+
|
|
6121
|
+
async def _async_add_license_to_element(
|
|
6122
|
+
self,
|
|
6123
|
+
license_type_guid: str,
|
|
6124
|
+
element_guid: str,
|
|
6125
|
+
body: dict | NewRelationshipRequestBody = None,
|
|
6126
|
+
) -> str:
|
|
6127
|
+
"""
|
|
6128
|
+
Link an element to a license type and include details of the license in the relationship properties.
|
|
6129
|
+
The GUID returned is the identifier of the relationship. Async Version.
|
|
6130
|
+
|
|
6131
|
+
Parameters
|
|
6132
|
+
----------
|
|
6133
|
+
license_type_guid: str
|
|
6134
|
+
- identity of the governance license to add
|
|
6135
|
+
element_guid: str
|
|
6136
|
+
- the identity of the element to update
|
|
6137
|
+
body: dict | NewRelationshipRequestBody, optional
|
|
6138
|
+
- structure containing license information - see Notes
|
|
6139
|
+
|
|
6140
|
+
Returns
|
|
6141
|
+
-------
|
|
6142
|
+
Guid of the license.
|
|
6143
|
+
|
|
6144
|
+
Raises
|
|
6145
|
+
------
|
|
6146
|
+
PyegeriaException
|
|
6147
|
+
|
|
6148
|
+
Notes
|
|
6149
|
+
-----
|
|
6150
|
+
Sample body:
|
|
6151
|
+
{
|
|
6152
|
+
"class" : "NewRelationshipRequestBody",
|
|
6153
|
+
"externalSourceGUID": "Add guid here",
|
|
6154
|
+
"externalSourceName": "Add qualified name here",
|
|
6155
|
+
"forLineage": false,
|
|
6156
|
+
"forDuplicateProcessing": false,
|
|
6157
|
+
"effectiveTime" : "{{$isoTimestamp}}",
|
|
6158
|
+
"properties": {
|
|
6159
|
+
"class" : "LicenseProperties",
|
|
6160
|
+
"licenseId" : "",
|
|
6161
|
+
"startDate" : "{{$isoTimestamp}}",
|
|
6162
|
+
"endDate" : "{{$isoTimestamp}}",
|
|
6163
|
+
"conditions" : "",
|
|
6164
|
+
"licensedBy" : "",
|
|
6165
|
+
"licensedByTypeName" : "",
|
|
6166
|
+
"licensedByPropertyName" : "",
|
|
6167
|
+
"custodian" : "",
|
|
6168
|
+
"custodianTypeName" : "",
|
|
6169
|
+
"custodianPropertyName" : "",
|
|
6170
|
+
"licensee" : "",
|
|
6171
|
+
"licenseeTypeName" : "",
|
|
6172
|
+
"licenseePropertyName" : "",
|
|
6173
|
+
"entitlements" : "",
|
|
6174
|
+
"restrictions" : "",
|
|
6175
|
+
"obligations" : "",
|
|
6176
|
+
"notes" : ""
|
|
6177
|
+
}
|
|
6178
|
+
}
|
|
6179
|
+
|
|
6180
|
+
"""
|
|
6181
|
+
|
|
6182
|
+
url = f"{base_path(self, self.view_server)}/elements/{element_guid}/licensed-types/{license_type_guid}/license"
|
|
6183
|
+
|
|
6184
|
+
response = await self._async_make_request("POST",url, body_slimmer(body))
|
|
6185
|
+
return response.json().get('guid','Relationship was not created')
|
|
6186
|
+
|
|
6187
|
+
def add_license_to_element(
|
|
6188
|
+
self,
|
|
6189
|
+
license_type_guid: str,
|
|
6190
|
+
element_guid: str,
|
|
6191
|
+
body: dict | NewRelationshipRequestBody = None,
|
|
6192
|
+
) -> str:
|
|
6193
|
+
"""
|
|
6194
|
+
Link an element to a license type and include details of the license in the relationship properties.
|
|
6195
|
+
The GUID returned is the identifier of the relationship.
|
|
6196
|
+
|
|
6197
|
+
Parameters
|
|
6198
|
+
----------
|
|
6199
|
+
license_type_guid: str
|
|
6200
|
+
- identity of the governance license to add
|
|
6201
|
+
element_guid: str
|
|
6202
|
+
- the identity of the element to update
|
|
6203
|
+
body: dict | NewRelationshipRequestBody, optional
|
|
6204
|
+
- structure containing license information - see Notes
|
|
6205
|
+
|
|
6206
|
+
Returns
|
|
6207
|
+
-------
|
|
6208
|
+
GUID of the license.
|
|
6209
|
+
|
|
6210
|
+
Raises
|
|
6211
|
+
------
|
|
6212
|
+
PyegeriaException
|
|
6213
|
+
|
|
6214
|
+
Notes
|
|
6215
|
+
-----
|
|
6216
|
+
Sample body:
|
|
6217
|
+
{
|
|
6218
|
+
"class" : "NewRelationshipRequestBody",
|
|
6219
|
+
"externalSourceGUID": "Add guid here",
|
|
6220
|
+
"externalSourceName": "Add qualified name here",
|
|
6221
|
+
"forLineage": false,
|
|
6222
|
+
"forDuplicateProcessing": false,
|
|
6223
|
+
"effectiveTime" : "{{$isoTimestamp}}",
|
|
6224
|
+
"properties": {
|
|
6225
|
+
"class" : "LicenseProperties",
|
|
6226
|
+
"licenseId" : "",
|
|
6227
|
+
"startDate" : "{{$isoTimestamp}}",
|
|
6228
|
+
"endDate" : "{{$isoTimestamp}}",
|
|
6229
|
+
"conditions" : "",
|
|
6230
|
+
"licensedBy" : "",
|
|
6231
|
+
"licensedByTypeName" : "",
|
|
6232
|
+
"licensedByPropertyName" : "",
|
|
6233
|
+
"custodian" : "",
|
|
6234
|
+
"custodianTypeName" : "",
|
|
6235
|
+
"custodianPropertyName" : "",
|
|
6236
|
+
"licensee" : "",
|
|
6237
|
+
"licenseeTypeName" : "",
|
|
6238
|
+
"licenseePropertyName" : "",
|
|
6239
|
+
"entitlements" : "",
|
|
6240
|
+
"restrictions" : "",
|
|
6241
|
+
"obligations" : "",
|
|
6242
|
+
"notes" : ""
|
|
6243
|
+
}
|
|
6244
|
+
}
|
|
6245
|
+
|
|
6246
|
+
"""
|
|
6247
|
+
|
|
6248
|
+
loop = asyncio.get_event_loop()
|
|
6249
|
+
response = loop.run_until_complete(
|
|
6250
|
+
self._async_add_license_to_element(license_type_guid, element_guid, body)
|
|
6251
|
+
)
|
|
6252
|
+
return response
|
|
6253
|
+
|
|
6254
|
+
async def _async_update_license(
|
|
6255
|
+
self,
|
|
6256
|
+
license_guid: str,
|
|
6257
|
+
body: dict | UpdateRelationshipRequestBody = None,
|
|
6258
|
+
) -> str:
|
|
6259
|
+
"""
|
|
6260
|
+
Update the properties of a license. Remember to include the licenseId in the properties if the element has multiple
|
|
6261
|
+
licenses for the same license type. Async Version.
|
|
6262
|
+
|
|
6263
|
+
Parameters
|
|
6264
|
+
----------
|
|
6265
|
+
license_guid: str
|
|
6266
|
+
- identity of the license to update
|
|
6267
|
+
body: dict | UpdateRelationshipRequestBody, optional
|
|
6268
|
+
- structure containing license information - see Notes
|
|
6269
|
+
|
|
6270
|
+
Returns
|
|
6271
|
+
-------
|
|
6272
|
+
None
|
|
6273
|
+
|
|
6274
|
+
Raises
|
|
6275
|
+
------
|
|
6276
|
+
PyegeriaException
|
|
6277
|
+
|
|
6278
|
+
Notes
|
|
6279
|
+
-----
|
|
6280
|
+
Sample body:
|
|
6281
|
+
{
|
|
6282
|
+
"class" : "UpdateRelationshipRequestBody",
|
|
6283
|
+
"externalSourceGUID": "Add guid here",
|
|
6284
|
+
"externalSourceName": "Add qualified name here",
|
|
6285
|
+
"forLineage": false,
|
|
6286
|
+
"forDuplicateProcessing": false,
|
|
6287
|
+
"effectiveTime" : "{{$isoTimestamp}}",
|
|
6288
|
+
"properties": {
|
|
6289
|
+
"class" : "LicenseProperties",
|
|
6290
|
+
"licenseId" : "",
|
|
6291
|
+
"startDate" : "{{$isoTimestamp}}",
|
|
6292
|
+
"endDate" : "{{$isoTimestamp}}",
|
|
6293
|
+
"conditions" : "",
|
|
6294
|
+
"licensedBy" : "",
|
|
6295
|
+
"licensedByTypeName" : "",
|
|
6296
|
+
"licensedByPropertyName" : "",
|
|
6297
|
+
"custodian" : "",
|
|
6298
|
+
"custodianTypeName" : "",
|
|
6299
|
+
"custodianPropertyName" : "",
|
|
6300
|
+
"licensee" : "",
|
|
6301
|
+
"licenseeTypeName" : "",
|
|
6302
|
+
"licenseePropertyName" : "",
|
|
6303
|
+
"entitlements" : "",
|
|
6304
|
+
"restrictions" : "",
|
|
6305
|
+
"obligations" : "",
|
|
6306
|
+
"notes" : ""
|
|
6307
|
+
}
|
|
6308
|
+
}
|
|
6309
|
+
|
|
6310
|
+
"""
|
|
6311
|
+
|
|
6312
|
+
url = f"{base_path(self, self.view_server)}/licenses/{license_guid}/update"
|
|
6313
|
+
|
|
6314
|
+
await self._async_update_relationship_request(url, None, body_slimmer(body))
|
|
6315
|
+
|
|
6316
|
+
def update_license(
|
|
6317
|
+
self,
|
|
6318
|
+
license_guid: str,
|
|
6319
|
+
body: dict | UpdateRelationshipRequestBody = None,
|
|
6320
|
+
) -> str:
|
|
6321
|
+
"""
|
|
6322
|
+
Update the properties of a license. Remember to include the licenseId in the properties if the element has multiple
|
|
6323
|
+
licenses for the same license type.
|
|
6324
|
+
|
|
6325
|
+
Parameters
|
|
6326
|
+
----------
|
|
6327
|
+
license_guid: str
|
|
6328
|
+
- identity of the license to update
|
|
6329
|
+
body: dict | UpdateRelationshipRequestBody, optional
|
|
6330
|
+
- structure containing license information - see Notes
|
|
6331
|
+
|
|
6332
|
+
Returns
|
|
6333
|
+
-------
|
|
6334
|
+
None
|
|
6335
|
+
|
|
6336
|
+
Raises
|
|
6337
|
+
------
|
|
6338
|
+
PyegeriaException
|
|
6339
|
+
|
|
6340
|
+
Notes
|
|
6341
|
+
-----
|
|
6342
|
+
Sample body:
|
|
6343
|
+
{
|
|
6344
|
+
"class" : "UpdateRelationshipRequestBody",
|
|
6345
|
+
"externalSourceGUID": "Add guid here",
|
|
6346
|
+
"externalSourceName": "Add qualified name here",
|
|
6347
|
+
"forLineage": false,
|
|
6348
|
+
"forDuplicateProcessing": false,
|
|
6349
|
+
"effectiveTime" : "{{$isoTimestamp}}",
|
|
6350
|
+
"properties": {
|
|
6351
|
+
"class" : "LicenseProperties",
|
|
6352
|
+
"licenseId" : "",
|
|
6353
|
+
"startDate" : "{{$isoTimestamp}}",
|
|
6354
|
+
"endDate" : "{{$isoTimestamp}}",
|
|
6355
|
+
"conditions" : "",
|
|
6356
|
+
"licensedBy" : "",
|
|
6357
|
+
"licensedByTypeName" : "",
|
|
6358
|
+
"licensedByPropertyName" : "",
|
|
6359
|
+
"custodian" : "",
|
|
6360
|
+
"custodianTypeName" : "",
|
|
6361
|
+
"custodianPropertyName" : "",
|
|
6362
|
+
"licensee" : "",
|
|
6363
|
+
"licenseeTypeName" : "",
|
|
6364
|
+
"licenseePropertyName" : "",
|
|
6365
|
+
"entitlements" : "",
|
|
6366
|
+
"restrictions" : "",
|
|
6367
|
+
"obligations" : "",
|
|
6368
|
+
"notes" : ""
|
|
6369
|
+
}
|
|
6370
|
+
}
|
|
6371
|
+
|
|
6372
|
+
"""
|
|
6373
|
+
|
|
6374
|
+
loop = asyncio.get_event_loop()
|
|
6375
|
+
loop.run_until_complete(
|
|
6376
|
+
self._async_update_license(license_guid, body)
|
|
6377
|
+
)
|
|
6378
|
+
|
|
6379
|
+
|
|
6380
|
+
async def _async_unlicense_element(
|
|
6381
|
+
self,
|
|
6382
|
+
license_guid,
|
|
6383
|
+
body: dict | DeleteRelationshipRequestBody = None,
|
|
6384
|
+
) -> None:
|
|
6385
|
+
"""
|
|
6386
|
+
Remove the licensed for an element. Async Version.
|
|
6387
|
+
|
|
6388
|
+
licenses: https://egeria-project.org/types/1/0120-Assignment-licenses/
|
|
6389
|
+
|
|
6390
|
+
Parameters
|
|
6391
|
+
----------
|
|
6392
|
+
license_guid: str
|
|
6393
|
+
- identity of the license to remove.
|
|
6394
|
+
body: dict | DeleteRelationshipRequestBody, optional
|
|
6395
|
+
- structure request information
|
|
6396
|
+
|
|
6397
|
+
Returns
|
|
6398
|
+
-------
|
|
6399
|
+
|
|
6400
|
+
Raises
|
|
6401
|
+
------
|
|
6402
|
+
PyegeriaException
|
|
6403
|
+
|
|
6404
|
+
|
|
6405
|
+
"""
|
|
6406
|
+
|
|
6407
|
+
url = f"{base_path(self, self.view_server)}/licenses/{license_guid}/delete"
|
|
6408
|
+
await self._async_delete_relationship_request(url, body_slimmer(body))
|
|
6409
|
+
|
|
6410
|
+
def unlicense_element(
|
|
6411
|
+
self,
|
|
6412
|
+
license_guid,
|
|
6413
|
+
body : dict | DeleteRelationshipRequestBody = None,
|
|
6414
|
+
) -> None:
|
|
6415
|
+
"""
|
|
6416
|
+
Remove the licensed for an element.
|
|
6417
|
+
|
|
6418
|
+
licenses: https://egeria-project.org/types/1/0120-Assignment-licenses/
|
|
6419
|
+
|
|
6420
|
+
Parameters
|
|
6421
|
+
----------
|
|
6422
|
+
license_guid: str
|
|
6423
|
+
- identity of the license to remove
|
|
6424
|
+
body: dict | DeleteRelationshipRequestBody, optional
|
|
6425
|
+
- structure request information
|
|
6426
|
+
|
|
6427
|
+
Returns
|
|
6428
|
+
-------
|
|
6429
|
+
None
|
|
6430
|
+
|
|
6431
|
+
Raises
|
|
6432
|
+
------
|
|
6433
|
+
PyegeriaException
|
|
6434
|
+
|
|
6435
|
+
"""
|
|
6436
|
+
|
|
6437
|
+
loop = asyncio.get_event_loop()
|
|
6438
|
+
loop.run_until_complete(
|
|
6439
|
+
self._async_unlicense_element(license_guid, body)
|
|
6440
|
+
)
|
|
6441
|
+
|
|
6442
|
+
|
|
6443
|
+
|
|
6444
|
+
|
|
6445
|
+
async def _async_add_ownership_to_element(
|
|
6446
|
+
self,
|
|
6447
|
+
element_guid: str,
|
|
6448
|
+
body: dict,
|
|
6449
|
+
time_out: int = default_time_out,
|
|
6450
|
+
) -> None:
|
|
6451
|
+
"""
|
|
6452
|
+
Add or replace the ownership classification for an element. Async version.
|
|
6453
|
+
|
|
6454
|
+
Ownership: https://egeria-project.org/types/4/0445-Governance-Roles/
|
|
6455
|
+
|
|
6456
|
+
Parameters
|
|
6457
|
+
----------
|
|
6458
|
+
element_guid: str
|
|
6459
|
+
- the identity of the element to update
|
|
6460
|
+
body: dict
|
|
6461
|
+
- structure containing ownership information - see Notes
|
|
6462
|
+
|
|
6463
|
+
|
|
6464
|
+
time_out: int, default = default_time_out
|
|
6465
|
+
- http request timeout for this request
|
|
6466
|
+
|
|
6467
|
+
Returns
|
|
6468
|
+
-------
|
|
6469
|
+
None
|
|
6470
|
+
|
|
6471
|
+
Raises
|
|
6472
|
+
------
|
|
6473
|
+
PyegeriaException
|
|
6474
|
+
|
|
6475
|
+
Notes
|
|
6476
|
+
-----
|
|
6477
|
+
|
|
6478
|
+
{
|
|
6479
|
+
"class": "ClassificationRequestBody",
|
|
6480
|
+
"effectiveTime": "an isoTimestamp",
|
|
6481
|
+
"forDuplicateProcessing": false,
|
|
6482
|
+
"forLineage": false,
|
|
6483
|
+
"properties": {
|
|
6484
|
+
"class": "OwnerProperties",
|
|
6485
|
+
"owner": "Add value here",
|
|
6486
|
+
"ownerTypeName": "Add value here",
|
|
6487
|
+
"ownerPropertyName": "Add value here"
|
|
6488
|
+
}
|
|
6489
|
+
}
|
|
6490
|
+
|
|
6491
|
+
"""
|
|
6492
|
+
|
|
6493
|
+
url = (
|
|
6494
|
+
f"{base_path(self, self.view_server)}/elements/{element_guid}/ownership"
|
|
6495
|
+
f""
|
|
6496
|
+
)
|
|
6497
|
+
|
|
6498
|
+
await self._async_make_request(
|
|
6499
|
+
"POST", url, body_slimmer(body), time_out=time_out
|
|
6500
|
+
)
|
|
6501
|
+
|
|
6502
|
+
def add_ownership_to_element(
|
|
6503
|
+
self,
|
|
6504
|
+
element_guid: str,
|
|
6505
|
+
body: dict,
|
|
6506
|
+
time_out: int = default_time_out,
|
|
6507
|
+
) -> None:
|
|
6508
|
+
"""
|
|
6509
|
+
Add or replace the ownership classification for an element.
|
|
6510
|
+
|
|
6511
|
+
Ownership: https://egeria-project.org/types/4/0445-Governance-Roles/
|
|
6512
|
+
|
|
6513
|
+
Parameters
|
|
6514
|
+
----------
|
|
6515
|
+
element_guid: str
|
|
6516
|
+
- the identity of the element to update
|
|
6517
|
+
body: dict
|
|
6518
|
+
- structure containing ownership information - see Notes
|
|
6519
|
+
|
|
6520
|
+
|
|
6521
|
+
time_out: int, default = default_time_out
|
|
6522
|
+
- http request timeout for this request
|
|
6523
|
+
|
|
6524
|
+
Returns
|
|
6525
|
+
-------
|
|
6526
|
+
None
|
|
6527
|
+
|
|
6528
|
+
Raises
|
|
6529
|
+
------
|
|
6530
|
+
PyegeriaException
|
|
6531
|
+
|
|
6532
|
+
Notes
|
|
6533
|
+
-----
|
|
6534
|
+
|
|
6535
|
+
{
|
|
6536
|
+
"class": "ClassificationRequestBody",
|
|
6537
|
+
"effectiveTime": "an isoTimestamp",
|
|
6538
|
+
"forDuplicateProcessing": false,
|
|
6539
|
+
"forLineage": false,
|
|
6540
|
+
"properties": {
|
|
6541
|
+
"class": "OwnerProperties",
|
|
6542
|
+
"owner": "Add value here",
|
|
6543
|
+
"ownerTypeName": "Add value here",
|
|
6544
|
+
"ownerPropertyName": "Add value here"
|
|
6545
|
+
}
|
|
6546
|
+
}
|
|
6547
|
+
|
|
6548
|
+
"""
|
|
6549
|
+
|
|
6550
|
+
loop = asyncio.get_event_loop()
|
|
6551
|
+
loop.run_until_complete(
|
|
6552
|
+
self._async_add_ownership_to_element(
|
|
6553
|
+
element_guid,
|
|
6554
|
+
body,
|
|
6555
|
+
time_out,
|
|
6556
|
+
)
|
|
6557
|
+
)
|
|
6558
|
+
|
|
6559
|
+
async def _async_clear_ownership_from_element(
|
|
6560
|
+
self,
|
|
6561
|
+
element_guid: str,
|
|
6562
|
+
for_lineage: bool = None,
|
|
6563
|
+
for_duplicate_processing: bool = None,
|
|
6564
|
+
effective_time: str = None,
|
|
6565
|
+
time_out: int = default_time_out,
|
|
6566
|
+
) -> None:
|
|
6567
|
+
"""
|
|
6568
|
+
Remove the ownership classification from an element. Async version.
|
|
6569
|
+
|
|
6570
|
+
Ownership: https://egeria-project.org/types/4/0445-Governance-Roles/
|
|
6571
|
+
|
|
6572
|
+
Parameters
|
|
6573
|
+
----------
|
|
6574
|
+
element_guid: str
|
|
6575
|
+
- the identity of the element to update
|
|
6576
|
+
for_lineage: bool, default is set by server
|
|
6577
|
+
- determines if elements classified as Memento should be returned - normally false
|
|
6578
|
+
for_duplicate_processing: bool, default is set by server
|
|
6579
|
+
- Normally false. Set true when the caller is part of a deduplication function
|
|
6580
|
+
effective_time: str, default = None
|
|
6581
|
+
- Time format is "YYYY-MM-DDTHH:MM:SS" (ISO 8601)
|
|
6582
|
+
|
|
6583
|
+
|
|
6584
|
+
time_out: int, default = default_time_out
|
|
6585
|
+
- http request timeout for this request
|
|
6586
|
+
|
|
6587
|
+
Returns
|
|
6588
|
+
-------
|
|
6589
|
+
None
|
|
6590
|
+
|
|
6591
|
+
Raises
|
|
6592
|
+
------
|
|
6593
|
+
PyegeriaException
|
|
6594
|
+
|
|
6595
|
+
|
|
6596
|
+
"""
|
|
6597
|
+
|
|
6598
|
+
url = (
|
|
6599
|
+
f"{base_path(self, self.view_server)}/elements/{element_guid}/ownership/remove"
|
|
6600
|
+
f""
|
|
6601
|
+
)
|
|
6602
|
+
|
|
6603
|
+
body = {"class": "ClassificationRequestBody", "effectiveTime": effective_time, "forLineage": for_lineage,
|
|
6604
|
+
"forDuplicateProcessing": for_duplicate_processing}
|
|
6605
|
+
|
|
6606
|
+
await self._async_make_request(
|
|
6607
|
+
"POST", url, body_slimmer(body), time_out=time_out
|
|
6608
|
+
)
|
|
6609
|
+
|
|
6610
|
+
def clear_ownership_from_element(
|
|
6611
|
+
self,
|
|
6612
|
+
element_guid: str,
|
|
6613
|
+
for_lineage: bool = None,
|
|
6614
|
+
for_duplicate_processing: bool = None,
|
|
6615
|
+
effective_time: str = None,
|
|
6616
|
+
time_out: int = default_time_out,
|
|
6617
|
+
) -> None:
|
|
6618
|
+
"""
|
|
6619
|
+
Remove the ownership classification from an element.
|
|
6620
|
+
|
|
6621
|
+
Ownership: https://egeria-project.org/types/4/0445-Governance-Roles/
|
|
6622
|
+
|
|
6623
|
+
Parameters
|
|
6624
|
+
----------
|
|
6625
|
+
element_guid: str
|
|
6626
|
+
- the identity of the element to update
|
|
6627
|
+
for_lineage: bool, default is set by server
|
|
6628
|
+
- determines if elements classified as Memento should be returned - normally false
|
|
6629
|
+
for_duplicate_processing: bool, default is set by server
|
|
6630
|
+
- Normally false. Set true when the caller is part of a deduplication function
|
|
6631
|
+
effective_time: str, default = None
|
|
6632
|
+
- Time format is "YYYY-MM-DDTHH:MM:SS" (ISO 8601)
|
|
6633
|
+
|
|
6634
|
+
|
|
6635
|
+
time_out: int, default = default_time_out
|
|
6636
|
+
- http request timeout for this request
|
|
6637
|
+
|
|
6638
|
+
Returns
|
|
6639
|
+
-------
|
|
6640
|
+
None
|
|
6641
|
+
|
|
6642
|
+
Raises
|
|
6643
|
+
------
|
|
6644
|
+
PyegeriaException
|
|
6645
|
+
|
|
6646
|
+
|
|
6647
|
+
"""
|
|
6648
|
+
|
|
6649
|
+
loop = asyncio.get_event_loop()
|
|
6650
|
+
loop.run_until_complete(
|
|
6651
|
+
self._async_clear_digital_resource_origin_from_element(element_guid, for_lineage, for_duplicate_processing,
|
|
6652
|
+
effective_time, time_out)
|
|
6653
|
+
)
|
|
6654
|
+
|
|
6655
|
+
@dynamic_catch
|
|
6656
|
+
async def _async_add_digital_resource_origin(
|
|
6657
|
+
self,
|
|
6658
|
+
element_guid: str,
|
|
6659
|
+
body: dict | NewClassificationRequestBody
|
|
6660
|
+
) -> None:
|
|
6661
|
+
"""
|
|
6662
|
+
Add the digital resource origin classification for an element. Async Version.
|
|
6663
|
+
|
|
6664
|
+
Origin: https://egeria-project.org/types/4/0440-Organizational-Controls/
|
|
6665
|
+
|
|
6666
|
+
Parameters
|
|
6667
|
+
----------
|
|
6668
|
+
element_guid: str
|
|
6669
|
+
- the identity of the element to update
|
|
6670
|
+
body: dict | NewClassificationRequestBody
|
|
6671
|
+
- structure containing origin information - see Notes
|
|
6672
|
+
|
|
6673
|
+
Returns
|
|
6674
|
+
-------
|
|
6675
|
+
None
|
|
6676
|
+
|
|
6677
|
+
Raises
|
|
6678
|
+
------
|
|
6679
|
+
PyegeriaException
|
|
6680
|
+
|
|
6681
|
+
Notes
|
|
6682
|
+
-----
|
|
6683
|
+
|
|
6684
|
+
{
|
|
6685
|
+
"class": "NewClassificationRequestBody",
|
|
6686
|
+
"effectiveTime": "an isoTimestamp",
|
|
6687
|
+
"forDuplicateProcessing": false,
|
|
6688
|
+
"forLineage": false,
|
|
6689
|
+
"properties": {
|
|
6690
|
+
"class": "DigitalResourceOriginProperties",
|
|
6691
|
+
"owner": "Add value here",
|
|
6692
|
+
"ownerTypeName": "Add value here",
|
|
6693
|
+
"ownerPropertyName": "Add value here"
|
|
6694
|
+
}
|
|
6695
|
+
}
|
|
6696
|
+
|
|
6697
|
+
"""
|
|
6698
|
+
|
|
6699
|
+
url = f"{base_path(self, self.view_server)}/elements/{element_guid}/digital-resource-origin"
|
|
6700
|
+
await self._async_new_classification_request(url, ["DigitalResourceOriginProperties"], body)
|
|
6701
|
+
|
|
6702
|
+
@dynamic_catch
|
|
6703
|
+
def add_digital_resource_origin(
|
|
6704
|
+
self,
|
|
6705
|
+
element_guid: str,
|
|
6706
|
+
body: dict | NewClassificationRequestBody
|
|
6707
|
+
) -> None:
|
|
6708
|
+
"""
|
|
6709
|
+
Add or replace the digital resource origin classification for an element.
|
|
6710
|
+
|
|
6711
|
+
Origin: https://egeria-project.org/types/4/0440-Organizational-Controls/
|
|
6712
|
+
|
|
6713
|
+
Parameters
|
|
6714
|
+
----------
|
|
6715
|
+
element_guid: str
|
|
6716
|
+
- the identity of the element to update
|
|
6717
|
+
body: dict | NewClassificationRequestBody
|
|
6718
|
+
- structure containing ownership information - see Notes
|
|
6719
|
+
|
|
6720
|
+
Returns
|
|
6721
|
+
-------
|
|
6722
|
+
None
|
|
6723
|
+
|
|
6724
|
+
Raises
|
|
6725
|
+
------
|
|
6726
|
+
PyegeriaException
|
|
6727
|
+
|
|
6728
|
+
Notes
|
|
6729
|
+
-----
|
|
6730
|
+
|
|
6731
|
+
{
|
|
6732
|
+
"class": "ClassificationRequestBody",
|
|
6733
|
+
"effectiveTime": "an isoTimestamp",
|
|
6734
|
+
"forDuplicateProcessing": false,
|
|
6735
|
+
"forLineage": false,
|
|
6736
|
+
"properties": {
|
|
6737
|
+
"class": "DigitalResourceOriginProperties",
|
|
6738
|
+
"owner": "Add value here",
|
|
6739
|
+
"ownerTypeName": "Add value here",
|
|
6740
|
+
"ownerPropertyName": "Add value here"
|
|
6741
|
+
}
|
|
6742
|
+
}
|
|
6743
|
+
|
|
6744
|
+
"""
|
|
6745
|
+
|
|
6746
|
+
loop = asyncio.get_event_loop()
|
|
6747
|
+
loop.run_until_complete(
|
|
6748
|
+
self._async_add_digital_resource_origin(
|
|
6749
|
+
element_guid,
|
|
6750
|
+
body,
|
|
6751
|
+
)
|
|
6752
|
+
)
|
|
6753
|
+
|
|
6754
|
+
@dynamic_catch
|
|
6755
|
+
async def _async_clear_digital_resource_origin_from_element(
|
|
6756
|
+
self,
|
|
6757
|
+
element_guid: str,
|
|
6758
|
+
body: dict | DeleteClassificationRequestBody
|
|
6759
|
+
) -> None:
|
|
6760
|
+
"""
|
|
6761
|
+
Remove the digital resource classification from an element. Async version.
|
|
6762
|
+
|
|
6763
|
+
Ownership: https://egeria-project.org/types/4/0445-Governance-Roles/
|
|
6764
|
+
|
|
6765
|
+
Parameters
|
|
6766
|
+
----------
|
|
6767
|
+
element_guid: str
|
|
6768
|
+
- the identity of the element to update
|
|
6769
|
+
body: dict | DeleteClassificationRequestBody
|
|
6770
|
+
- structure containing digital resource request - see Notes
|
|
6771
|
+
|
|
6772
|
+
Returns
|
|
6773
|
+
-------
|
|
6774
|
+
None
|
|
6775
|
+
|
|
6776
|
+
Raises
|
|
6777
|
+
------
|
|
6778
|
+
PyegeriaException
|
|
6779
|
+
|
|
6780
|
+
|
|
6781
|
+
"""
|
|
6782
|
+
|
|
6783
|
+
url = f"{base_path(self, self.view_server)}/elements/{element_guid}/digital-resource-origin/remove"
|
|
6784
|
+
|
|
6785
|
+
await self._async_delete_classification_request(
|
|
6786
|
+
url, body
|
|
6787
|
+
)
|
|
6788
|
+
|
|
6789
|
+
@dynamic_catch
|
|
6790
|
+
def clear_digital_resource_origin_from_element(
|
|
6791
|
+
self,
|
|
6792
|
+
element_guid: str,
|
|
6793
|
+
body: dict | DeleteClassificationRequestBody
|
|
6794
|
+
) -> None:
|
|
6795
|
+
"""
|
|
6796
|
+
Remove the digital resource classification from an element.
|
|
6797
|
+
|
|
6798
|
+
Ownership: https://egeria-project.org/types/4/0445-Governance-Roles/
|
|
6799
|
+
|
|
6800
|
+
Parameters
|
|
6801
|
+
----------
|
|
6802
|
+
element_guid: str
|
|
6803
|
+
- the identity of the element to update
|
|
6804
|
+
body: dict | DeleteClassificationRequestBody
|
|
6805
|
+
- structure containing digital resource request - see Notes
|
|
6806
|
+
|
|
6807
|
+
|
|
6808
|
+
Returns
|
|
6809
|
+
-------
|
|
6810
|
+
None
|
|
6811
|
+
|
|
6812
|
+
Raises
|
|
6813
|
+
------
|
|
6814
|
+
PyegeriaException
|
|
6815
|
+
|
|
6816
|
+
"""
|
|
6817
|
+
|
|
6818
|
+
loop = asyncio.get_event_loop()
|
|
6819
|
+
loop.run_until_complete(
|
|
6820
|
+
self._async_clear_digital_resource_origin_from_element(element_guid, body)
|
|
6821
|
+
)
|
|
6822
|
+
|
|
6823
|
+
@dynamic_catch
|
|
6824
|
+
async def _async_add_zone_membership(
|
|
6825
|
+
self,
|
|
6826
|
+
element_guid: str,
|
|
6827
|
+
body: dict | NewClassificationRequestBody
|
|
6828
|
+
) -> None:
|
|
6829
|
+
"""
|
|
6830
|
+
Add the zone membership classification for an element. Async Version.
|
|
6831
|
+
|
|
6832
|
+
Origin: Governance Zones: https://egeria-project.org/types/4/0424-Governance-Zones/
|
|
6833
|
+
|
|
6834
|
+
Parameters
|
|
6835
|
+
----------
|
|
6836
|
+
element_guid: str
|
|
6837
|
+
- the identity of the element to update
|
|
6838
|
+
body: dict | NewClassificationRequestBody
|
|
6839
|
+
- structure containing zone information - see Notes
|
|
6840
|
+
|
|
6841
|
+
Returns
|
|
6842
|
+
-------
|
|
6843
|
+
None
|
|
6844
|
+
|
|
6845
|
+
Raises
|
|
6846
|
+
------
|
|
6847
|
+
PyegeriaException
|
|
6848
|
+
|
|
6849
|
+
Notes
|
|
6850
|
+
-----
|
|
6851
|
+
|
|
6852
|
+
{
|
|
6853
|
+
"class": "NewClassificationRequestBody",
|
|
6854
|
+
"effectiveTime": "an isoTimestamp",
|
|
6855
|
+
"forDuplicateProcessing": false,
|
|
6856
|
+
"forLineage": false,
|
|
6857
|
+
"properties": {
|
|
6858
|
+
"class": "ZoneMembershipProperties",
|
|
6859
|
+
"owner": "Add value here",
|
|
6860
|
+
"ownerTypeName": "Add value here",
|
|
6861
|
+
"ownerPropertyName": "Add value here"
|
|
6862
|
+
}
|
|
6863
|
+
}
|
|
6864
|
+
|
|
6865
|
+
"""
|
|
6866
|
+
|
|
6867
|
+
url = f"{base_path(self, self.view_server)}/elements/{element_guid}/zone-membership"
|
|
6868
|
+
await self._async_new_classification_request(url, ["ZoneMembershipProperties"], body)
|
|
6869
|
+
|
|
6870
|
+
@dynamic_catch
|
|
6871
|
+
def add_zone_membership(
|
|
6872
|
+
self,
|
|
6873
|
+
element_guid: str,
|
|
6874
|
+
body: dict | NewClassificationRequestBody
|
|
6875
|
+
) -> None:
|
|
6876
|
+
"""
|
|
6877
|
+
Add the zone membership classification for an element.
|
|
6878
|
+
|
|
6879
|
+
Origin: https://egeria-project.org/types/4/0424-Governance-Zones/
|
|
6880
|
+
|
|
6881
|
+
Parameters
|
|
6882
|
+
----------
|
|
6883
|
+
element_guid: str
|
|
6884
|
+
- the identity of the element to update
|
|
6885
|
+
body: dict | NewClassificationRequestBody
|
|
6886
|
+
- structure containing zone information - see Notes
|
|
6887
|
+
|
|
6888
|
+
Returns
|
|
6889
|
+
-------
|
|
6890
|
+
None
|
|
6891
|
+
|
|
6892
|
+
Raises
|
|
6893
|
+
------
|
|
6894
|
+
PyegeriaException
|
|
6895
|
+
|
|
6896
|
+
Notes
|
|
6897
|
+
-----
|
|
6898
|
+
|
|
6899
|
+
{
|
|
6900
|
+
"class": "ClassificationRequestBody",
|
|
6901
|
+
"effectiveTime": "an isoTimestamp",
|
|
6902
|
+
"forDuplicateProcessing": false,
|
|
6903
|
+
"forLineage": false,
|
|
6904
|
+
"properties": {
|
|
6905
|
+
"class": "ZoneMembershipProperties",
|
|
6906
|
+
"owner": "Add value here",
|
|
6907
|
+
"ownerTypeName": "Add value here",
|
|
6908
|
+
"ownerPropertyName": "Add value here"
|
|
6909
|
+
}
|
|
6910
|
+
}
|
|
6911
|
+
|
|
6912
|
+
"""
|
|
6913
|
+
|
|
6914
|
+
loop = asyncio.get_event_loop()
|
|
6915
|
+
loop.run_until_complete(
|
|
6916
|
+
self._async_add_zone_membership(element_guid, body
|
|
6917
|
+
)
|
|
6918
|
+
)
|
|
6919
|
+
|
|
6920
|
+
@dynamic_catch
|
|
6921
|
+
async def _async_clear_zone_membership(
|
|
6922
|
+
self,
|
|
6923
|
+
element_guid: str,
|
|
6924
|
+
body: dict | DeleteClassificationRequestBody
|
|
6925
|
+
) -> None:
|
|
6926
|
+
"""
|
|
6927
|
+
Remove the zone membership classification from an element. Async version.
|
|
6928
|
+
|
|
6929
|
+
Ownership: https://egeria-project.org/types/4/0424-Governance-Zones/
|
|
6930
|
+
|
|
6931
|
+
Parameters
|
|
6932
|
+
----------
|
|
6933
|
+
element_guid: str
|
|
6934
|
+
- the identity of the element to update
|
|
6935
|
+
body: dict | DeleteClassificationRequestBody
|
|
6936
|
+
- structure containing zone information - see Notes
|
|
6937
|
+
|
|
6938
|
+
Returns
|
|
6939
|
+
-------
|
|
6940
|
+
None
|
|
6941
|
+
|
|
6942
|
+
Raises
|
|
6943
|
+
------
|
|
6944
|
+
PyegeriaException
|
|
6945
|
+
|
|
6946
|
+
|
|
6947
|
+
"""
|
|
6948
|
+
|
|
6949
|
+
url = f"{base_path(self, self.view_server)}/elements/{element_guid}/zone-membership/remove"
|
|
6950
|
+
|
|
6951
|
+
await self._async_delete_classification_request(
|
|
6952
|
+
url, body
|
|
6953
|
+
)
|
|
6954
|
+
|
|
6955
|
+
@dynamic_catch
|
|
6956
|
+
def clear_zone_membership(
|
|
6957
|
+
self,
|
|
6958
|
+
element_guid: str,
|
|
6959
|
+
body: dict | DeleteClassificationRequestBody
|
|
6960
|
+
) -> None:
|
|
6961
|
+
"""
|
|
6962
|
+
Remove the zone membership classification from an element.
|
|
6963
|
+
|
|
6964
|
+
Ownership: https://egeria-project.org/types/4/0424-Governance-Zones/
|
|
6965
|
+
|
|
6966
|
+
Parameters
|
|
6967
|
+
----------
|
|
6968
|
+
element_guid: str
|
|
6969
|
+
- the identity of the element to update
|
|
6970
|
+
body: dict | DeleteClassificationRequestBody
|
|
6971
|
+
- structure containing zone information - see Notes
|
|
6972
|
+
|
|
6973
|
+
Returns
|
|
6974
|
+
-------
|
|
6975
|
+
None
|
|
6976
|
+
|
|
6977
|
+
Raises
|
|
6978
|
+
------
|
|
6979
|
+
PyegeriaException
|
|
6980
|
+
|
|
6981
|
+
"""
|
|
6982
|
+
|
|
6983
|
+
loop = asyncio.get_event_loop()
|
|
6984
|
+
loop.run_until_complete(
|
|
6985
|
+
self._async_clear_zone_membership(element_guid, body)
|
|
6986
|
+
)
|
|
6987
|
+
|
|
6988
|
+
|
|
6989
|
+
|
|
6990
|
+
|
|
6991
|
+
|
|
6992
|
+
|
|
6993
|
+
|
|
6994
|
+
|
|
6995
|
+
async def _async_set_retention_classification(
|
|
6996
|
+
self,
|
|
6997
|
+
element_guid: str,
|
|
6998
|
+
body: dict,
|
|
6999
|
+
time_out: int = default_time_out,
|
|
7000
|
+
) -> None:
|
|
7001
|
+
"""
|
|
7002
|
+
Classify/reclassify the element (typically an asset) to indicate how long the element (or associated resource)
|
|
7003
|
+
is to be retained by the organization. The policy to apply to the element/resource is captured by the retentionBasis
|
|
7004
|
+
property. The dates after which the element/resource is archived and then deleted are specified in the archiveAfter and deleteAfter
|
|
7005
|
+
properties respectively. Async version
|
|
7006
|
+
|
|
7007
|
+
Governance Action Classifications: https://egeria-project.org/types/4/0422-Governance-Action-Classifications/
|
|
7008
|
+
|
|
7009
|
+
Parameters
|
|
7010
|
+
----------
|
|
7011
|
+
element_guid: str
|
|
7012
|
+
- the identity of the element to update
|
|
7013
|
+
body: dict
|
|
7014
|
+
- a dictionary structure containing the properties to set - see note below
|
|
7015
|
+
|
|
7016
|
+
|
|
7017
|
+
|
|
7018
|
+
time_out: int, default = default_time_out
|
|
7019
|
+
- http request timeout for this request
|
|
7020
|
+
|
|
7021
|
+
Returns
|
|
7022
|
+
-------
|
|
7023
|
+
[dict] | str
|
|
7024
|
+
Returns a string if no elements found and a list of dict of elements with the results.
|
|
7025
|
+
|
|
7026
|
+
Raises
|
|
7027
|
+
------
|
|
7028
|
+
PyegeriaException
|
|
7029
|
+
|
|
7030
|
+
Note:
|
|
7031
|
+
|
|
7032
|
+
A sample dict structure is:
|
|
7033
|
+
|
|
7034
|
+
{
|
|
7035
|
+
"class": "ClassificationRequestBody",
|
|
7036
|
+
"effectiveTime": "an isoTimestamp",
|
|
7037
|
+
"forLineage": false,
|
|
7038
|
+
"forDuplicateProcessing": false,
|
|
7039
|
+
"properties": {
|
|
7040
|
+
"class": "RetentionClassificationProperties",
|
|
7041
|
+
"retentionBasis": 0,
|
|
7042
|
+
"status": 0,
|
|
7043
|
+
"confidence": 0,
|
|
7044
|
+
"associatedGUID": "Add value here",
|
|
7045
|
+
"archiveAfter": "{{$isoTimestamp}}",
|
|
7046
|
+
"deleteAfter": "{{$isoTimestamp}}",
|
|
7047
|
+
"steward": "Add value here",
|
|
7048
|
+
"stewardTypeName": "Add value here",
|
|
7049
|
+
"stewardPropertyName": "Add value here",
|
|
7050
|
+
"source": "Add value here",
|
|
7051
|
+
"notes": "Add value here"
|
|
7052
|
+
}
|
|
7053
|
+
}
|
|
7054
|
+
|
|
7055
|
+
"""
|
|
7056
|
+
|
|
7057
|
+
url = (
|
|
7058
|
+
f"{base_path(self, self.view_server)}/elements/{element_guid}/retention"
|
|
7059
|
+
f""
|
|
7060
|
+
)
|
|
7061
|
+
|
|
7062
|
+
await self._async_make_request(
|
|
7063
|
+
"POST", url, body_slimmer(body), time_out=time_out
|
|
7064
|
+
)
|
|
7065
|
+
|
|
7066
|
+
def set_retention_classification(
|
|
7067
|
+
self,
|
|
7068
|
+
element_guid: str,
|
|
7069
|
+
body: dict,
|
|
7070
|
+
time_out: int = default_time_out,
|
|
7071
|
+
) -> None:
|
|
7072
|
+
"""
|
|
7073
|
+
Classify/reclassify the element (typically an asset) to indicate how long the element (or associated resource)
|
|
7074
|
+
is to be retained by the organization. The policy to apply to the element/resource is captured by the retentionBasis
|
|
7075
|
+
property. The dates after which the element/resource is archived and then deleted are specified in the archiveAfter and deleteAfter
|
|
7076
|
+
properties respectively. Async version
|
|
7077
|
+
|
|
7078
|
+
Governance Action Classifications: https://egeria-project.org/types/4/0422-Governance-Action-Classifications/
|
|
7079
|
+
|
|
7080
|
+
Parameters
|
|
7081
|
+
----------
|
|
7082
|
+
element_guid: str
|
|
7083
|
+
- the identity of the element to update
|
|
7084
|
+
body: dict
|
|
7085
|
+
- a dictionary structure containing the properties to set - see note below
|
|
7086
|
+
|
|
7087
|
+
time_out: int, default = default_time_out
|
|
6012
7088
|
- http request timeout for this request
|
|
6013
7089
|
|
|
6014
7090
|
Returns
|
|
@@ -6048,14 +7124,14 @@ class ClassificationManager(Client2):
|
|
|
6048
7124
|
|
|
6049
7125
|
loop = asyncio.get_event_loop()
|
|
6050
7126
|
loop.run_until_complete(
|
|
6051
|
-
self.
|
|
7127
|
+
self._async_set_retention_classification(
|
|
6052
7128
|
element_guid,
|
|
6053
7129
|
body,
|
|
6054
7130
|
time_out,
|
|
6055
7131
|
)
|
|
6056
7132
|
)
|
|
6057
7133
|
|
|
6058
|
-
async def
|
|
7134
|
+
async def _async_clear_retention_classification(
|
|
6059
7135
|
self,
|
|
6060
7136
|
element_guid: str,
|
|
6061
7137
|
for_lineage: bool = None,
|
|
@@ -6151,7 +7227,7 @@ class ClassificationManager(Client2):
|
|
|
6151
7227
|
|
|
6152
7228
|
loop = asyncio.get_event_loop()
|
|
6153
7229
|
loop.run_until_complete(
|
|
6154
|
-
self.
|
|
7230
|
+
self._async_clear_retention_classification(
|
|
6155
7231
|
element_guid,
|
|
6156
7232
|
for_lineage,
|
|
6157
7233
|
for_duplicate_processing,
|
|
@@ -6160,7 +7236,7 @@ class ClassificationManager(Client2):
|
|
|
6160
7236
|
)
|
|
6161
7237
|
)
|
|
6162
7238
|
|
|
6163
|
-
async def
|
|
7239
|
+
async def _async_set_governance_expectation(
|
|
6164
7240
|
self,
|
|
6165
7241
|
element_guid: str,
|
|
6166
7242
|
body: dict,
|
|
@@ -6290,14 +7366,14 @@ class ClassificationManager(Client2):
|
|
|
6290
7366
|
|
|
6291
7367
|
loop = asyncio.get_event_loop()
|
|
6292
7368
|
loop.run_until_complete(
|
|
6293
|
-
self.
|
|
7369
|
+
self._async_set_governance_expectation(
|
|
6294
7370
|
element_guid,
|
|
6295
7371
|
body,
|
|
6296
7372
|
time_out,
|
|
6297
7373
|
)
|
|
6298
7374
|
)
|
|
6299
7375
|
|
|
6300
|
-
async def
|
|
7376
|
+
async def _async_clear_governance_expectation(
|
|
6301
7377
|
self,
|
|
6302
7378
|
element_guid: str,
|
|
6303
7379
|
for_lineage: bool = None,
|
|
@@ -6349,7 +7425,7 @@ class ClassificationManager(Client2):
|
|
|
6349
7425
|
"POST", url, body_slimmer(body), time_out=time_out
|
|
6350
7426
|
)
|
|
6351
7427
|
|
|
6352
|
-
async def
|
|
7428
|
+
async def _async_update_governance_expectation(
|
|
6353
7429
|
self,
|
|
6354
7430
|
element_guid: str,
|
|
6355
7431
|
body: dict,
|
|
@@ -6424,7 +7500,7 @@ class ClassificationManager(Client2):
|
|
|
6424
7500
|
element_guid: str,
|
|
6425
7501
|
body: dict,
|
|
6426
7502
|
time_out: int = default_time_out,
|
|
6427
|
-
|
|
7503
|
+
) -> None:
|
|
6428
7504
|
"""
|
|
6429
7505
|
Classify/reclassify the element (typically an asset) to Add the governance expectations classification to an element. Async version
|
|
6430
7506
|
Governance Rollout: https://egeria-project.org/types/4/0450-Governance-Rollout/
|
|
@@ -6482,15 +7558,14 @@ class ClassificationManager(Client2):
|
|
|
6482
7558
|
|
|
6483
7559
|
loop = asyncio.get_event_loop()
|
|
6484
7560
|
loop.run_until_complete(
|
|
6485
|
-
self.
|
|
7561
|
+
self._async_update_governance_expectation(
|
|
6486
7562
|
element_guid,
|
|
6487
7563
|
body,
|
|
6488
7564
|
time_out,
|
|
6489
7565
|
)
|
|
6490
7566
|
)
|
|
6491
7567
|
|
|
6492
|
-
|
|
6493
|
-
async def async_set_security_tags_classification(
|
|
7568
|
+
async def _async_set_security_tags_classification(
|
|
6494
7569
|
self,
|
|
6495
7570
|
element_guid: str,
|
|
6496
7571
|
body: dict,
|
|
@@ -6617,14 +7692,14 @@ class ClassificationManager(Client2):
|
|
|
6617
7692
|
|
|
6618
7693
|
loop = asyncio.get_event_loop()
|
|
6619
7694
|
loop.run_until_complete(
|
|
6620
|
-
self.
|
|
7695
|
+
self._async_set_security_tags_classification(
|
|
6621
7696
|
element_guid,
|
|
6622
7697
|
body,
|
|
6623
7698
|
time_out,
|
|
6624
7699
|
)
|
|
6625
7700
|
)
|
|
6626
7701
|
|
|
6627
|
-
async def
|
|
7702
|
+
async def _async_clear_security_tags_classification(
|
|
6628
7703
|
self,
|
|
6629
7704
|
element_guid: str,
|
|
6630
7705
|
for_lineage: bool = None,
|
|
@@ -6714,7 +7789,7 @@ class ClassificationManager(Client2):
|
|
|
6714
7789
|
|
|
6715
7790
|
loop = asyncio.get_event_loop()
|
|
6716
7791
|
loop.run_until_complete(
|
|
6717
|
-
self.
|
|
7792
|
+
self._async_clear_security_tags_classification(
|
|
6718
7793
|
element_guid,
|
|
6719
7794
|
for_lineage,
|
|
6720
7795
|
for_duplicate_processing,
|
|
@@ -6723,7 +7798,7 @@ class ClassificationManager(Client2):
|
|
|
6723
7798
|
)
|
|
6724
7799
|
)
|
|
6725
7800
|
|
|
6726
|
-
async def
|
|
7801
|
+
async def _async_setup_semantic_assignment(
|
|
6727
7802
|
self,
|
|
6728
7803
|
glossary_term_guid: str,
|
|
6729
7804
|
element_guid: str,
|
|
@@ -6853,7 +7928,7 @@ class ClassificationManager(Client2):
|
|
|
6853
7928
|
|
|
6854
7929
|
loop = asyncio.get_event_loop()
|
|
6855
7930
|
loop.run_until_complete(
|
|
6856
|
-
self.
|
|
7931
|
+
self._async_setup_semantic_assignment(
|
|
6857
7932
|
glossary_term_guid,
|
|
6858
7933
|
element_guid,
|
|
6859
7934
|
body,
|
|
@@ -6861,7 +7936,7 @@ class ClassificationManager(Client2):
|
|
|
6861
7936
|
)
|
|
6862
7937
|
)
|
|
6863
7938
|
|
|
6864
|
-
async def
|
|
7939
|
+
async def _async_clear_semantic_assignment_classification(
|
|
6865
7940
|
self,
|
|
6866
7941
|
glossary_term_guid: str,
|
|
6867
7942
|
element_guid: str,
|
|
@@ -6958,7 +8033,7 @@ class ClassificationManager(Client2):
|
|
|
6958
8033
|
|
|
6959
8034
|
loop = asyncio.get_event_loop()
|
|
6960
8035
|
loop.run_until_complete(
|
|
6961
|
-
self.
|
|
8036
|
+
self._async_clear_semantic_assignment_classification(
|
|
6962
8037
|
glossary_term_guid,
|
|
6963
8038
|
element_guid,
|
|
6964
8039
|
for_lineage,
|
|
@@ -6968,7 +8043,7 @@ class ClassificationManager(Client2):
|
|
|
6968
8043
|
)
|
|
6969
8044
|
)
|
|
6970
8045
|
|
|
6971
|
-
async def
|
|
8046
|
+
async def _async_add_element_to_subject_area(
|
|
6972
8047
|
self,
|
|
6973
8048
|
element_guid: str,
|
|
6974
8049
|
body: dict,
|
|
@@ -7074,14 +8149,14 @@ class ClassificationManager(Client2):
|
|
|
7074
8149
|
|
|
7075
8150
|
loop = asyncio.get_event_loop()
|
|
7076
8151
|
loop.run_until_complete(
|
|
7077
|
-
self.
|
|
8152
|
+
self._async_add_element_to_subject_area(
|
|
7078
8153
|
element_guid,
|
|
7079
8154
|
body,
|
|
7080
8155
|
time_out,
|
|
7081
8156
|
)
|
|
7082
8157
|
)
|
|
7083
8158
|
|
|
7084
|
-
async def
|
|
8159
|
+
async def _async_remove_element_from_subject_area(
|
|
7085
8160
|
self,
|
|
7086
8161
|
element_guid: str,
|
|
7087
8162
|
for_lineage: bool = None,
|
|
@@ -7181,7 +8256,7 @@ class ClassificationManager(Client2):
|
|
|
7181
8256
|
|
|
7182
8257
|
loop = asyncio.get_event_loop()
|
|
7183
8258
|
loop.run_until_complete(
|
|
7184
|
-
self.
|
|
8259
|
+
self._async_remove_element_from_subject_area(
|
|
7185
8260
|
element_guid,
|
|
7186
8261
|
for_lineage,
|
|
7187
8262
|
for_duplicate_processing,
|
|
@@ -7191,7 +8266,5 @@ class ClassificationManager(Client2):
|
|
|
7191
8266
|
)
|
|
7192
8267
|
|
|
7193
8268
|
|
|
7194
|
-
|
|
7195
|
-
|
|
7196
8269
|
if __name__ == "__main__":
|
|
7197
8270
|
print("Main-Classification Manager")
|