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.
Files changed (31) hide show
  1. md_processing/__init__.py +2 -1
  2. md_processing/data/commands.json +59579 -52198
  3. md_processing/dr_egeria.py +7 -5
  4. md_processing/md_commands/solution_architect_commands.py +54 -10
  5. md_processing/md_processing_utils/common_md_proc_utils.py +8 -4
  6. md_processing/md_processing_utils/common_md_utils.py +41 -2
  7. pyegeria/_base_client.py +1 -17
  8. pyegeria/_client_new.py +1008 -323
  9. pyegeria/_client_new_backup.py +5359 -0
  10. pyegeria/_exceptions_new.py +6 -1
  11. pyegeria/base_report_formats.py +31 -2
  12. pyegeria/classification_manager.py +1430 -357
  13. pyegeria/collection_manager.py +52 -54
  14. pyegeria/config.py +1 -0
  15. pyegeria/data_designer.py +41 -41
  16. pyegeria/external_links.py +26 -26
  17. pyegeria/feedback_manager_omvs.py +13 -31
  18. pyegeria/glossary_manager.py +32 -35
  19. pyegeria/governance_officer.py +31 -31
  20. pyegeria/output_formatter.py +36 -11
  21. pyegeria/output_formatter_with_machine_keys.py +1127 -0
  22. pyegeria/project_manager.py +21 -21
  23. pyegeria/reference_data.py +2 -2
  24. pyegeria/solution_architect.py +112 -91
  25. {pyegeria-5.4.8.dist-info → pyegeria-5.4.8.3.dist-info}/METADATA +6 -5
  26. {pyegeria-5.4.8.dist-info → pyegeria-5.4.8.3.dist-info}/RECORD +30 -29
  27. pyegeria/md_processing_utils_orig.py +0 -1103
  28. {pyegeria-5.4.8.dist-info → pyegeria-5.4.8.3.dist-info}/WHEEL +0 -0
  29. {pyegeria-5.4.8.dist-info → pyegeria-5.4.8.3.dist-info}/entry_points.txt +0 -0
  30. {pyegeria-5.4.8.dist-info → pyegeria-5.4.8.3.dist-info}/licenses/LICENSE +0 -0
  31. {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 async_get_classified_elements_by(
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
- url = url, _gen_output = self._generate_referenceable_output, output_format=output_format,
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.async_get_classified_elements_by(
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 async_get_security_tagged_elements(
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
- output_format, report_spec)
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.async_get_security_tagged_elements(
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 async_get_owners_elements(
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.async_get_owners_elements(
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 async_get_subject_area_members(
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.async_get_subject_area_members(
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 async_get_elements_by_origin(
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.async_get_elements_by_origin(body, output_format, report_spec
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 async_get_meanings(
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.async_get_meanings(element_guid,body, output_format, report_spec
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 async_get_semantic_asignees(
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.async_get_semantic_asignees(term_guid,body, output_format, report_spec
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 async_get_governed_elements(
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.async_get_governed_elements(gov_def_guid,body, output_format, report_spec,
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 async_get_governed_by_definitions(
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.async_get_governed_by_definitions(element_guid,body, output_format, report_spec,
1330
- start_from, page_size)
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 async_get_source_elements(
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 }/source")
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.async_get_certified_elements(element_guid, body, output_format, report_spec, start_from,
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 async_get_elements_sourced_from(
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.async_get_elements_sourced_from(element_guid, body, output_format, report_spec,
1595
- start_from, page_size)
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 async_get_scopes(
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.async_get_certified_elements(element_guid, body, output_format, report_spec, start_from,
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 async_get_scoped_elements(
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.async_get_scoped_elements(scope_guid, body, output_format, report_spec, start_from, page_size)
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 async_get_licensed_elements(
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.async_get_licensed_elements(license_type_guid, body, output_format, report_spec, start_from, page_size)
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 async_get_licenses(
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.async_get_licenses(element_guid, body, output_format, report_spec,
2100
- start_from, page_size)
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 async_get_certified_elements(
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.async_get_certified_elements(certification_type_guid, body, output_format, report_spec, start_from,
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 async_get_certifications(
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.async_get_certifications(element_guid, body, output_format, report_spec, start_from,
2357
- page_size)
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 async_get_elements(
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.async_get_elements(
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", report_spec: str | dict = None) -> list | str:
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", report_spec: str | dict = None) -> list | str:
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 async_find_elements_by_property_value(
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 self._generate_referenceable_output(
2726
- elements=elements,
2727
- filter=property_value,
2728
- element_type_name=metadata_element_type_name,
2729
- output_format=output_format,
2730
- report_spec=report_spec,
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.async_find_elements_by_property_value(
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 async_get_element_by_guid(
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.async_get_element_by_guid(
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 async_get_element_by_unique_name(
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.async_get_element_by_unique_name(name, property_name, output_format, report_spec, body)
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 async_get_element_guid_by_unique_name(
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 ) -> list | str:
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 ) -> list | str:
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.async_get_element_guid_by_unique_name(
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") -> str:
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 = {"output":"Multiple elements found for supplied name!"})
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"], type_name: str = "ValidMetadataValue"
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 async_get_elements_by_classification(
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.async_get_elements_by_classification(
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 async_get_elements_by_classification_with_property_value(
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.async_get_elements_by_classification_with_property_value(
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 async_find_elements_by_classification_with_property_value(
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.async_find_elements_by_classification_with_property_value(
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 async_get_related_elements(
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.async_get_related_elements(
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 = property_value,
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 async_find_related_elements_with_property_value(
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.async_find_related_elements_with_property_value(
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 = property_value,
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 async_get_relationships(
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.async_get_relationships(
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 async_get_relationships_with_property_value(
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.async_get_relationships_with_property_value(
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 async_retrieve_instance_for_guid(
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.async_retrieve_instance_for_guid(
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 async_set_confidence_classification(
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.async_set_confidence_classification(
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 async_clear_confidence_classification(
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.async_clear_confidence_classification(
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 async_set_confidentiality_classification(
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.async_set_confidentiality_classification(
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 async_clear_confidentiality_classification(
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.async_clear_confidentiality_classification(
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 async_set_impact_classification(
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.async_set_impact_classification(
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 async_clear_impact_classification(
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.async_clear_impact_classification(
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 async_set_criticality_classification(
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.async_set_criticality_classification(
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 async_clear_criticality_classification(
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.async_clear_criticality_classification(
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 async_add_gov_definition_to_element(
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.async_add_gov_definition_to_element(
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 async_clear_gov_definition_from_element(
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
- time_out: int = default_time_out,
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), time_out=time_out
5632
+ "POST", url, body_slimmer(body)
5647
5633
  )
5648
5634
 
5649
5635
  def clear_gov_definition_from_element(
5650
5636
  self,
5651
- definition_guid,
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
- definition_guid: str
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.async_clear_gov_definition_from_element(
5695
- definition_guid,
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 async_add_ownership_to_element(
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
- Add or replace the ownership classification for an element. Async version.
5686
+ Link a scope to an element using the ScopedBy relationship. Async version.
5712
5687
 
5713
- Ownership: https://egeria-project.org/types/4/0445-Governance-Roles/
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 ownership information - see Notes
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._async_make_request(
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 add_ownership_to_element(
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
- Add or replace the ownership classification for an element.
5720
+ Link a scope to an element using the ScopedBy relationship.
5769
5721
 
5770
- Ownership: https://egeria-project.org/types/4/0445-Governance-Roles/
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 ownership information - see Notes
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.async_add_ownership_to_element(
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 async_clear_ownership_from_element(
5744
+ async def _async_remove_scope_from_element(
5819
5745
  self,
5746
+ scoped_by_guid,
5820
5747
  element_guid: str,
5821
- for_lineage: bool = None,
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 ownership classification from an element. Async version.
5751
+ Remove the ScopedBy relationship between a scope and an element. Async Version.
5828
5752
 
5829
- Ownership: https://egeria-project.org/types/4/0445-Governance-Roles/
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
- for_lineage: bool, default is set by server
5836
- - determines if elements classified as Memento should be returned - normally false
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._async_make_request(
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 clear_ownership_from_element(
5779
+ def remove_scope_from_element(
5870
5780
  self,
5781
+ scoped_by_guid,
5871
5782
  element_guid: str,
5872
- for_lineage: bool = None,
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 ownership classification from an element.
5786
+ Remove the ScopeddBy relationship between a scope and an element.
5879
5787
 
5880
- Ownership: https://egeria-project.org/types/4/0445-Governance-Roles/
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
- time_out: int, default = default_time_out
5895
- - http request timeout for this request
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.async_clear_ownership_from_element(
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
- async def async_set_retention_classification(
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
- time_out: int = default_time_out,
5924
- ) -> None:
5820
+ body: dict | NewRelationshipRequestBody = None,
5821
+ ) -> str:
5925
5822
  """
5926
- Classify/reclassify the element (typically an asset) to indicate how long the element (or associated resource)
5927
- is to be retained by the organization. The policy to apply to the element/resource is captured by the retentionBasis
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
- - a dictionary structure containing the properties to set - see note below
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
- [dict] | str
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
- Note:
5955
-
5956
- A sample dict structure is:
5957
-
5843
+ Notes
5844
+ -----
5845
+ Sample body:
5958
5846
  {
5959
- "class": "ClassificationRequestBody",
5960
- "effectiveTime": "an isoTimestamp",
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
- "class": "RetentionClassificationProperties",
5965
- "retentionBasis": 0,
5966
- "status": 0,
5967
- "confidence": 0,
5968
- "associatedGUID": "Add value here",
5969
- "archiveAfter": "{{$isoTimestamp}}",
5970
- "deleteAfter": "{{$isoTimestamp}}",
5971
- "steward": "Add value here",
5972
- "stewardTypeName": "Add value here",
5973
- "stewardPropertyName": "Add value here",
5974
- "source": "Add value here",
5975
- "notes": "Add value here"
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
- "POST", url, body_slimmer(body), time_out=time_out
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 set_retention_classification(
5879
+ def add_certification_to_element(
5991
5880
  self,
5881
+ certification_type_guid: str,
5992
5882
  element_guid: str,
5993
- body: dict,
5994
- time_out: int = default_time_out,
5995
- ) -> None:
5883
+ body: dict | NewRelationshipRequestBody = None,
5884
+ ) -> str:
5996
5885
  """
5997
- Classify/reclassify the element (typically an asset) to indicate how long the element (or associated resource)
5998
- is to be retained by the organization. The policy to apply to the element/resource is captured by the retentionBasis
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
- - a dictionary structure containing the properties to set - see note below
5895
+ body: dict | NewRelationshipRequestBody, optional
5896
+ - structure containing certification information - see Notes
6010
5897
 
6011
- time_out: int, default = default_time_out
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.async_set_retention_classification(
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 async_clear_retention_classification(
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.async_clear_retention_classification(
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 async_set_governance_expectation(
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.async_set_governance_expectation(
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 async_clear_governance_expectation(
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 async_update_governance_expectation(
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
- ) -> None:
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.async_update_governance_expectation(
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.async_set_security_tags_classification(
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 async_clear_security_tags_classification(
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.async_clear_security_tags_classification(
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 async_setup_semantic_assignment(
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.async_setup_semantic_assignment(
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 async_clear_semantic_assignment_classification(
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.async_clear_semantic_assignment_classification(
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 async_add_element_to_subject_area(
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.async_add_element_to_subject_area(
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 async_remove_element_from_subject_area(
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.async_remove_element_from_subject_area(
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")