pyegeria 5.4.7.9__py3-none-any.whl → 5.4.8.2__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 (53) hide show
  1. commands/cat/dr_egeria_command_help.py +1 -1
  2. commands/cat/list_collections.py +2 -2
  3. commands/cat/run_report.py +12 -12
  4. commands/ops/list_archives.py +1 -3
  5. md_processing/data/commands.json +57057 -52198
  6. md_processing/data/generated_format_sets.json +43 -43
  7. md_processing/md_commands/data_designer_commands.py +10 -10
  8. md_processing/md_commands/ext_ref_commands.py +2 -2
  9. md_processing/md_commands/glossary_commands.py +3 -3
  10. md_processing/md_commands/governance_officer_commands.py +2 -2
  11. md_processing/md_commands/product_manager_commands.py +8 -8
  12. md_processing/md_commands/project_commands.py +2 -2
  13. md_processing/md_commands/solution_architect_commands.py +3 -3
  14. md_processing/md_commands/view_commands.py +7 -7
  15. md_processing/md_processing_utils/common_md_proc_utils.py +8 -8
  16. md_processing/md_processing_utils/common_md_utils.py +1 -1
  17. md_processing/md_processing_utils/gen_format_sets.py +12 -12
  18. md_processing/md_processing_utils/generate_dr_help.py +1 -1
  19. pyegeria/__init__.py +3 -3
  20. pyegeria/_base_client.py +1 -17
  21. pyegeria/_client_new.py +3535 -614
  22. pyegeria/_client_new_backup.py +5359 -0
  23. pyegeria/_output_format_models.py +41 -16
  24. pyegeria/_output_formats.py +9 -2642
  25. pyegeria/automated_curation.py +90 -81
  26. pyegeria/base_report_formats.py +2863 -0
  27. pyegeria/classification_manager.py +1575 -517
  28. pyegeria/classification_manager_omvs.py +45 -69
  29. pyegeria/collection_manager.py +108 -110
  30. pyegeria/data_designer.py +151 -151
  31. pyegeria/egeria_cat_client.py +23 -67
  32. pyegeria/egeria_client.py +2 -2
  33. pyegeria/egeria_tech_client.py +2 -2
  34. pyegeria/{external_references.py → external_links.py} +59 -60
  35. pyegeria/feedback_manager.py +153 -3830
  36. pyegeria/feedback_manager_omvs.py +117 -337
  37. pyegeria/format_set_executor.py +16 -16
  38. pyegeria/glossary_manager.py +62 -65
  39. pyegeria/governance_officer.py +53 -53
  40. pyegeria/mcp_adapter.py +6 -6
  41. pyegeria/output_formatter.py +94 -53
  42. pyegeria/output_formatter_with_machine_keys.py +1127 -0
  43. pyegeria/platform_services.py +2 -1
  44. pyegeria/project_manager.py +66 -66
  45. pyegeria/reference_data.py +30 -30
  46. pyegeria/solution_architect.py +135 -134
  47. {pyegeria-5.4.7.9.dist-info → pyegeria-5.4.8.2.dist-info}/METADATA +38 -7
  48. {pyegeria-5.4.7.9.dist-info → pyegeria-5.4.8.2.dist-info}/RECORD +52 -50
  49. pyegeria/egeria_my_client.py +0 -91
  50. {pyegeria-5.4.7.9.dist-info → pyegeria-5.4.8.2.dist-info}/WHEEL +0 -0
  51. {pyegeria-5.4.7.9.dist-info → pyegeria-5.4.8.2.dist-info}/entry_points.txt +0 -0
  52. {pyegeria-5.4.7.9.dist-info → pyegeria-5.4.8.2.dist-info}/licenses/LICENSE +0 -0
  53. {pyegeria-5.4.7.9.dist-info → pyegeria-5.4.8.2.dist-info}/top_level.txt +0 -0
@@ -15,10 +15,11 @@ from httpx import Response
15
15
  from loguru import logger
16
16
 
17
17
  from pyegeria.models import NewElementRequestBody, TemplateRequestBody, UpdateElementRequestBody, \
18
- NewRelationshipRequestBody, DeleteRequestBody, UpdateStatusRequestBody, SearchStringRequestBody
18
+ NewRelationshipRequestBody, UpdateStatusRequestBody, SearchStringRequestBody, DeleteElementRequestBody, \
19
+ DeleteRelationshipRequestBody
19
20
  from pyegeria.output_formatter import make_preamble, make_md_attribute, generate_output, extract_mermaid_only, \
20
21
  extract_basic_dict, MD_SEPARATOR, populate_common_columns
21
- from pyegeria._output_formats import select_output_format_set, get_output_format_type_match
22
+ from pyegeria.base_report_formats import select_report_spec, get_report_spec_match
22
23
  from pyegeria._validators import validate_guid
23
24
  from pyegeria.governance_officer import GovernanceOfficer
24
25
  from pyegeria._client_new import Client2, max_paging_size
@@ -502,7 +503,7 @@ class SolutionArchitect(Client2):
502
503
  # We only set a column's value if it is currently empty (None or "").
503
504
  try:
504
505
  formats = col_data.get('formats') if isinstance(col_data, dict) else None
505
- columns = formats.get('columns') if isinstance(formats, dict) else None
506
+ columns = formats.get('attributes') if isinstance(formats, dict) else None
506
507
  if isinstance(columns, list) and isinstance(rel_dict, dict):
507
508
  for col in columns:
508
509
  if not isinstance(col, dict):
@@ -531,24 +532,24 @@ class SolutionArchitect(Client2):
531
532
  # Markdown output support
532
533
  #
533
534
  def generate_info_supply_chain_output(self, elements: list | dict, search_string: str, element_type_name: str | None,
534
- output_format: str = 'MD', output_format_set: dict | str = None) -> str | list:
535
+ output_format: str = 'MD', report_spec: dict | str = None) -> str | list:
535
536
  """Render Information Supply Chains using the shared output pipeline.
536
537
  """
537
538
  if output_format == "MERMAID":
538
539
  return extract_mermaid_only(elements)
539
540
 
540
541
  entity_type = "Information Supply Chain"
541
- if output_format_set:
542
- if isinstance(output_format_set, str):
543
- output_formats = select_output_format_set(output_format_set, output_format)
544
- elif isinstance(output_format_set, dict):
545
- output_formats = get_output_format_type_match(output_format_set, output_format)
542
+ if report_spec:
543
+ if isinstance(report_spec, str):
544
+ output_formats = select_report_spec(report_spec, output_format)
545
+ elif isinstance(report_spec, dict):
546
+ output_formats = get_report_spec_match(report_spec, output_format)
546
547
  else:
547
548
  output_formats = None
548
549
  else:
549
- output_formats = select_output_format_set("Information Supply Chains", output_format)
550
+ output_formats = select_report_spec("Information Supply Chains", output_format)
550
551
  if output_formats is None:
551
- output_formats = select_output_format_set("Default", output_format)
552
+ output_formats = select_report_spec("Default", output_format)
552
553
 
553
554
  return generate_output(
554
555
  elements=elements,
@@ -561,7 +562,7 @@ class SolutionArchitect(Client2):
561
562
  )
562
563
 
563
564
  def generate_solution_blueprint_output(self, elements: list | dict, search_string: str, element_type_name: str | None,
564
- output_format: str = 'MD', output_format_set: dict | str = None) -> str | list:
565
+ output_format: str = 'MD', report_spec: dict | str = None) -> str | list:
565
566
  """
566
567
  Generate output for solution blueprints in the specified format.
567
568
 
@@ -577,17 +578,17 @@ class SolutionArchitect(Client2):
577
578
  return extract_mermaid_only(elements)
578
579
 
579
580
  entity_type = "Solution Blueprint"
580
- if output_format_set:
581
- if isinstance(output_format_set, str):
582
- output_formats = select_output_format_set(output_format_set, output_format)
583
- elif isinstance(output_format_set, dict):
584
- output_formats = get_output_format_type_match(output_format_set, output_format)
581
+ if report_spec:
582
+ if isinstance(report_spec, str):
583
+ output_formats = select_report_spec(report_spec, output_format)
584
+ elif isinstance(report_spec, dict):
585
+ output_formats = get_report_spec_match(report_spec, output_format)
585
586
  else:
586
587
  output_formats = None
587
588
  else:
588
- output_formats = select_output_format_set("Solution Blueprints", output_format)
589
+ output_formats = select_report_spec("Solution Blueprints", output_format)
589
590
  if output_formats is None:
590
- output_formats = select_output_format_set("Default", output_format)
591
+ output_formats = select_report_spec("Default", output_format)
591
592
 
592
593
  return generate_output(
593
594
  elements=elements,
@@ -600,7 +601,7 @@ class SolutionArchitect(Client2):
600
601
  )
601
602
 
602
603
  def generate_solution_roles_output(self, elements: list | dict, search_string: str, element_type_name: str | None,
603
- output_format: str = 'MD', output_format_set: dict | str = None) -> str | list:
604
+ output_format: str = 'MD', report_spec: dict | str = None) -> str | list:
604
605
  """
605
606
  Generate output for solution roles in the specified format.
606
607
 
@@ -616,17 +617,17 @@ class SolutionArchitect(Client2):
616
617
  return extract_mermaid_only(elements)
617
618
 
618
619
  entity_type = "Solution Role"
619
- if output_format_set:
620
- if isinstance(output_format_set, str):
621
- output_formats = select_output_format_set(output_format_set, output_format)
622
- elif isinstance(output_format_set, dict):
623
- output_formats = get_output_format_type_match(output_format_set, output_format)
620
+ if report_spec:
621
+ if isinstance(report_spec, str):
622
+ output_formats = select_report_spec(report_spec, output_format)
623
+ elif isinstance(report_spec, dict):
624
+ output_formats = get_report_spec_match(report_spec, output_format)
624
625
  else:
625
626
  output_formats = None
626
627
  else:
627
- output_formats = select_output_format_set("Solution Roles", output_format)
628
+ output_formats = select_report_spec("Solution Roles", output_format)
628
629
  if output_formats is None:
629
- output_formats = select_output_format_set("Default", output_format)
630
+ output_formats = select_report_spec("Default", output_format)
630
631
 
631
632
  return generate_output(
632
633
  elements=elements,
@@ -639,7 +640,7 @@ class SolutionArchitect(Client2):
639
640
  )
640
641
 
641
642
  def generate_solution_components_output(self, elements: list | dict, search_string: str, element_type_name: str | None,
642
- output_format: str = 'MD', output_format_set: dict | str = None) -> str | list:
643
+ output_format: str = 'MD', report_spec: dict | str = None) -> str | list:
643
644
  """
644
645
  Generate output for solution components in the specified format.
645
646
 
@@ -660,17 +661,17 @@ class SolutionArchitect(Client2):
660
661
  return extract_mermaid_only(elements)
661
662
 
662
663
  entity_type = "Solution Component"
663
- if output_format_set:
664
- if isinstance(output_format_set, str):
665
- output_formats = select_output_format_set(output_format_set, output_format)
666
- elif isinstance(output_format_set, dict):
667
- output_formats = get_output_format_type_match(output_format_set, output_format)
664
+ if report_spec:
665
+ if isinstance(report_spec, str):
666
+ output_formats = select_report_spec(report_spec, output_format)
667
+ elif isinstance(report_spec, dict):
668
+ output_formats = get_report_spec_match(report_spec, output_format)
668
669
  else:
669
670
  output_formats = None
670
671
  else:
671
- output_formats = select_output_format_set("Solution Components", output_format)
672
+ output_formats = select_report_spec("Solution Components", output_format)
672
673
  if output_formats is None:
673
- output_formats = select_output_format_set("Default", output_format)
674
+ output_formats = select_report_spec("Default", output_format)
674
675
 
675
676
  return generate_output(
676
677
  elements=elements,
@@ -1218,7 +1219,7 @@ class SolutionArchitect(Client2):
1218
1219
 
1219
1220
  @dynamic_catch
1220
1221
  async def _async_unlink_peer_info_supply_chains(self, peer1_guid: str, peer2_guid: str,
1221
- body: dict | DeleteRequestBody = None) -> None:
1222
+ body: dict | DeleteRelationshipRequestBody = None) -> None:
1222
1223
  """ Detach two peers in an information supply chain from one another. The linked elements are of type
1223
1224
  'Referenceable' to allow significant data stores to be included in the definition of the information
1224
1225
  supply chain. Request body is optional. Async Version.
@@ -1229,7 +1230,7 @@ class SolutionArchitect(Client2):
1229
1230
  guid of the first information supply chain to link.
1230
1231
  peer2_guid: str
1231
1232
  guid of the second information supply chain to link.
1232
- body: dict | DeleteRequestBody, optional
1233
+ body: dict | DeleteRelationshipRequestBody, optional
1233
1234
  The body describing the link between the two segments.
1234
1235
 
1235
1236
  Returns
@@ -1250,7 +1251,7 @@ class SolutionArchitect(Client2):
1250
1251
 
1251
1252
  Body structure:
1252
1253
  {
1253
- "class": "DeleteRequestBody",
1254
+ "class": "DeleteRelationshipRequestBody",
1254
1255
  "externalSourceGUID": "add guid here",
1255
1256
  "externalSourceName": "add qualified name here",
1256
1257
  "effectiveTime": {{isotime}},
@@ -1263,7 +1264,7 @@ class SolutionArchitect(Client2):
1263
1264
  validate_guid(peer2_guid)
1264
1265
  url = (f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/solution-architect/"
1265
1266
  f"information-supply-chains/{peer1_guid}/peer-links/{peer2_guid}/detach")
1266
- await self._async_delete_request(url, body)
1267
+ await self._async_delete_relationship_request(url, body)
1267
1268
  logger.info(
1268
1269
  f"Detached supply chains {peer1_guid} -> {peer2_guid}")
1269
1270
 
@@ -1464,12 +1465,12 @@ class SolutionArchitect(Client2):
1464
1465
  url = (f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/solution-architect/"
1465
1466
  f"information-supply-chains/{chain_guid}/compositions/{nested_chain_guid}/detach")
1466
1467
 
1467
- await self._async_delete_request(url, body)
1468
+ await self._async_delete_relationship_request(url, body)
1468
1469
  logger.info(f"Removed composition of {nested_chain_guid} -> {chain_guid}")
1469
1470
 
1470
1471
  @dynamic_catch
1471
1472
  def decompose_info_supply_chains(self, chain_guid: str, nested_chain_guid: str,
1472
- body: dict | DeleteRequestBody = None) -> None:
1473
+ body: dict | DeleteRelationshipRequestBody = None) -> None:
1473
1474
  """ Detach two peers in an information supply chain from one another. Request body is optional.
1474
1475
 
1475
1476
  Parameters
@@ -1478,7 +1479,7 @@ class SolutionArchitect(Client2):
1478
1479
  guid of the first information supply chain to link.
1479
1480
  nested_chain_guid: str
1480
1481
  guid of the second information supply chain to link.
1481
- body: dict | DeleteRequestBody, optional
1482
+ body: dict | DeleteRelationshipRequestBody, optional
1482
1483
  The body describing the link between the two segments.
1483
1484
 
1484
1485
  Returns
@@ -1499,7 +1500,7 @@ class SolutionArchitect(Client2):
1499
1500
 
1500
1501
  Body structure:
1501
1502
  {
1502
- "class": "DeleteRequestBody",
1503
+ "class": "DeleteRelationshipRequestBody",
1503
1504
  "externalSourceGUID": "add guid here",
1504
1505
  "externalSourceName": "add qualified name here",
1505
1506
  "effectiveTime": {{isotime}},
@@ -1512,7 +1513,7 @@ class SolutionArchitect(Client2):
1512
1513
  nested_chain_guid, body))
1513
1514
 
1514
1515
  @dynamic_catch
1515
- async def _async_delete_info_supply_chain(self, guid: str, body: dict | DeleteRequestBody = None, cascade_delete: bool = False) -> None:
1516
+ async def _async_delete_info_supply_chain(self, guid: str, body: dict | DeleteElementRequestBody = None, cascade_delete: bool = False) -> None:
1516
1517
  """Delete an information supply chain. Async Version.
1517
1518
 
1518
1519
  Parameters
@@ -1542,7 +1543,7 @@ class SolutionArchitect(Client2):
1542
1543
 
1543
1544
  Body structure:
1544
1545
  {
1545
- "class": "DeleteRequestBody",
1546
+ "class": "DeleteElementRequestBody",
1546
1547
  "externalSourceGUID": "add guid here",
1547
1548
  "externalSourceName": "add qualified name here",
1548
1549
  "effectiveTime": {{isotime}},
@@ -1555,18 +1556,18 @@ class SolutionArchitect(Client2):
1555
1556
  url = (f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/solution-architect/"
1556
1557
  f"information-supply-chains/{guid}/delete")
1557
1558
 
1558
- await self._async_delete_request(url, body, cascade_delete=cascade_delete)
1559
+ await self._async_delete_element_request(url, body, cascade_delete=cascade_delete)
1559
1560
  logger.info(f"Deleted Info Supply Chain {guid} with cascade {cascade_delete}")
1560
1561
 
1561
1562
  @dynamic_catch
1562
- def delete_info_supply_chain(self, guid: str, body: dict | DeleteRequestBody= None, cascade_delete: bool = False) -> None:
1563
+ def delete_info_supply_chain(self, guid: str, body: dict | DeleteElementRequestBody= None, cascade_delete: bool = False) -> None:
1563
1564
  """ Delete an information supply chain.
1564
1565
 
1565
1566
  Parameters
1566
1567
  ----------
1567
1568
  guid: str
1568
1569
  guid of the information supply chain to delete.
1569
- body: dict | DeleteRequestBody, optional
1570
+ body: dict | DeleteElementRequestBody, optional
1570
1571
  A dictionary containing parameters of the deletion.
1571
1572
  cascade_delete: bool, optional
1572
1573
  If true, the child objects will also be deleted.
@@ -1588,7 +1589,7 @@ class SolutionArchitect(Client2):
1588
1589
 
1589
1590
  Body structure:
1590
1591
  {
1591
- "class": "DeleteRequestBody",
1592
+ "class": "DeleteElementRequestBody",
1592
1593
  "externalSourceGUID": "add guid here",
1593
1594
  "externalSourceName": "add qualified name here",
1594
1595
  "effectiveTime": {{isotime}},
@@ -1604,7 +1605,7 @@ class SolutionArchitect(Client2):
1604
1605
  starts_with: bool = True, ends_with: bool = False,
1605
1606
  ignore_case: bool = False, start_from: int = 0,
1606
1607
  page_size: int = 0, output_format: str = 'JSON',
1607
- output_format_set: str = None,
1608
+ report_spec: str = None,
1608
1609
  body: dict| SearchStringRequestBody = None) -> (list[dict] | str):
1609
1610
  """ Retrieve a list of all information supply chains
1610
1611
  Parameters
@@ -1652,7 +1653,7 @@ class SolutionArchitect(Client2):
1652
1653
  }
1653
1654
  """
1654
1655
 
1655
- return self.find_information_supply_chains("*", classification_names, metadata_element_types, starts_with, ends_with, ignore_case, start_from, page_size, output_format, output_format_set, body)
1656
+ return self.find_information_supply_chains("*", classification_names, metadata_element_types, starts_with, ends_with, ignore_case, start_from, page_size, output_format, report_spec, body)
1656
1657
 
1657
1658
  async def _async_find_information_supply_chains(self, search_string: str = "*", add_implementation: bool = True,
1658
1659
  classification_names: list[str] = None,
@@ -1660,7 +1661,7 @@ class SolutionArchitect(Client2):
1660
1661
  starts_with: bool = True, ends_with: bool = False,
1661
1662
  ignore_case: bool = False, start_from: int = 0,
1662
1663
  page_size: int = 0, output_format: str = 'JSON',
1663
- output_format_set: str = None,
1664
+ report_spec: str = None,
1664
1665
  body: dict| SearchStringRequestBody = None) -> list[dict] | str:
1665
1666
  """Retrieve the list of information supply chain metadata elements that contain the search string.
1666
1667
  https://egeria-project.org/concepts/information-supply-chain
@@ -1725,7 +1726,7 @@ class SolutionArchitect(Client2):
1725
1726
  metadata_element_types=metadata_element_types,
1726
1727
  starts_with=starts_with, ends_with=ends_with, ignore_case=ignore_case,
1727
1728
  start_from=start_from, page_size=page_size,
1728
- output_format=output_format, output_format_set=output_format_set,
1729
+ output_format=output_format, report_spec=report_spec,
1729
1730
  body=body)
1730
1731
 
1731
1732
 
@@ -1736,7 +1737,7 @@ class SolutionArchitect(Client2):
1736
1737
  starts_with: bool = True, ends_with: bool = False,
1737
1738
  ignore_case: bool = False, start_from: int = 0,
1738
1739
  page_size: int = 0, output_format: str = 'JSON',
1739
- output_format_set: str = None,
1740
+ report_spec: str = None,
1740
1741
  body: dict| SearchStringRequestBody = None) -> list[dict] | str:
1741
1742
  """Retrieve the list of information supply chain metadata elements that contain the search string.
1742
1743
  https://egeria-project.org/concepts/information-supply-chain
@@ -1803,7 +1804,7 @@ class SolutionArchitect(Client2):
1803
1804
  self._async_find_information_supply_chains(search_string, add_implementation,classification_names, metadata_element_types,
1804
1805
  starts_with, ends_with, ignore_case,
1805
1806
  start_from, page_size, output_format,
1806
- output_format_set, body))
1807
+ report_spec, body))
1807
1808
  return response
1808
1809
 
1809
1810
  async def _async_get_info_supply_chain_by_name(self, search_filter: str, body: dict = None,
@@ -2562,7 +2563,7 @@ class SolutionArchitect(Client2):
2562
2563
 
2563
2564
 
2564
2565
  @dynamic_catch
2565
- async def _async_delete_solution_blueprint(self, guid: str, body: dict | DeleteRequestBody, cascade: bool = False) -> None:
2566
+ async def _async_delete_solution_blueprint(self, guid: str, body: dict | DeleteElementRequestBody, cascade: bool = False) -> None:
2566
2567
  """ Delete a solution blueprint. Async Version.
2567
2568
  Parameters
2568
2569
  ----------
@@ -2591,7 +2592,7 @@ class SolutionArchitect(Client2):
2591
2592
 
2592
2593
  Body structure:
2593
2594
  {
2594
- "class": "DeleteRequestBody",
2595
+ "class": "DeleteElementRequestBody",
2595
2596
  "externalSourceGUID": "add guid here",
2596
2597
  "externalSourceName": "add qualified name here",
2597
2598
  "effectiveTime": {{isotime}},
@@ -2603,11 +2604,11 @@ class SolutionArchitect(Client2):
2603
2604
  url = (f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/solution-architect/"
2604
2605
  f"information-supply-chains/{guid}/delete")
2605
2606
 
2606
- await self._async_delete_request(url, body, cascade_delete=cascade)
2607
+ await self._async_delete_element_request(url, body, cascade_delete=cascade)
2607
2608
  logger.info(f"Deleted Info Supply Chain {guid} with cascade {cascade}")
2608
2609
 
2609
2610
  @dynamic_catch
2610
- def delete_solution_blueprint(self, guid: str, body: dict | DeleteRequestBody = None,
2611
+ def delete_solution_blueprint(self, guid: str, body: dict | DeleteElementRequestBody = None,
2611
2612
  cascade: bool = False) -> None:
2612
2613
  """ Delete an Solution Blueprint.
2613
2614
 
@@ -2615,7 +2616,7 @@ class SolutionArchitect(Client2):
2615
2616
  ----------
2616
2617
  guid: str
2617
2618
  guid of the information supply chain to delete.
2618
- body: dict | DeleteRequestBody, optional
2619
+ body: dict | DeleteElementRequestBody, optional
2619
2620
  A dictionary containing parameters of the deletion.
2620
2621
  cascade: bool, optional
2621
2622
  If true, the child objects will also be deleted.
@@ -2637,7 +2638,7 @@ class SolutionArchitect(Client2):
2637
2638
 
2638
2639
  Body structure:
2639
2640
  {
2640
- "class": "DeleteRequestBody",
2641
+ "class": "DeleteElementRequestBody",
2641
2642
  "externalSourceGUID": "add guid here",
2642
2643
  "externalSourceName": "add qualified name here",
2643
2644
  "effectiveTime": {{isotime}},
@@ -2755,7 +2756,7 @@ class SolutionArchitect(Client2):
2755
2756
 
2756
2757
  @dynamic_catch
2757
2758
  async def _async_detach_solution_component_from_blueprint(self, blueprint_guid: str, component_guid: str,
2758
- body: dict | DeleteRequestBody = None) -> None:
2759
+ body: dict | DeleteRelationshipRequestBody = None) -> None:
2759
2760
  """ Detach a solution component from a solution blueprint.
2760
2761
  Async Version.
2761
2762
 
@@ -2799,13 +2800,13 @@ class SolutionArchitect(Client2):
2799
2800
  url = (f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/solution-architect/"
2800
2801
  f"solution-blueprints/{blueprint_guid}/solution-components/{component_guid}/detach")
2801
2802
 
2802
- await self._async_delete_request(url, body)
2803
+ await self._async_delete_relationship_request(url, body)
2803
2804
  logger.info(
2804
2805
  f"Detached component from blueprint {component_guid} -> {blueprint_guid}")
2805
2806
 
2806
2807
  @dynamic_catch
2807
2808
  def detach_solution_component_from_blueprint(self, blueprint_guid: str, component_guid: str,
2808
- body: dict | DeleteRequestBody = None) -> None:
2809
+ body: dict | DeleteRelationshipRequestBody = None) -> None:
2809
2810
  """ Detach a solution component from a solution blueprint.
2810
2811
 
2811
2812
  Parameters
@@ -2851,7 +2852,7 @@ class SolutionArchitect(Client2):
2851
2852
 
2852
2853
  @dynamic_catch
2853
2854
  async def _async_delete_solution_blueprint(self, blueprint_guid: str, cascade_delete: bool = False,
2854
- body: dict | DeleteRequestBody = None) -> None:
2855
+ body: dict | DeleteElementRequestBody = None) -> None:
2855
2856
  """Delete a solution blueprint. Async Version.
2856
2857
 
2857
2858
  Parameters
@@ -2895,11 +2896,11 @@ class SolutionArchitect(Client2):
2895
2896
 
2896
2897
  url = (f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/solution-architect/"
2897
2898
  f"solution-blueprints/{blueprint_guid}/delete")
2898
- await self._async_delete_request(url, body, cascade_delete=cascade_delete)
2899
+ await self._async_delete_element_request(url, body, cascade_delete=cascade_delete)
2899
2900
  logger.info(f"Deleted Blueprint {blueprint_guid} with cascade {cascade_delete}")
2900
2901
 
2901
2902
  @dynamic_catch
2902
- def delete_solution_blueprint(self, blueprint_guid: str, cascade_delete: bool = False, body: dict | DeleteRequestBody = None) -> None:
2903
+ def delete_solution_blueprint(self, blueprint_guid: str, cascade_delete: bool = False, body: dict | DeleteElementRequestBody = None) -> None:
2903
2904
  """ Delete a solution blueprint.
2904
2905
  Parameters
2905
2906
  ----------
@@ -2947,7 +2948,7 @@ class SolutionArchitect(Client2):
2947
2948
  starts_with: bool = True, ends_with: bool = False,
2948
2949
  ignore_case: bool = False, start_from: int = 0,
2949
2950
  page_size: int = 0, output_format: str = 'JSON',
2950
- output_format_set: str = "Solution-Blueprint",
2951
+ report_spec: str = "Solution-Blueprint",
2951
2952
  body: dict| SearchStringRequestBody = None) -> list[dict] | str:
2952
2953
  """Retrieve the solution blueprint elements that contain the search string.
2953
2954
  https://egeria-project.org/concepts/solution-blueprint
@@ -3012,7 +3013,7 @@ class SolutionArchitect(Client2):
3012
3013
  metadata_element_types=metadata_element_types,
3013
3014
  starts_with=starts_with, ends_with=ends_with, ignore_case=ignore_case,
3014
3015
  start_from=start_from, page_size=page_size,
3015
- output_format=output_format, output_format_set=output_format_set,
3016
+ output_format=output_format, report_spec=report_spec,
3016
3017
  body=body)
3017
3018
 
3018
3019
 
@@ -3021,7 +3022,7 @@ class SolutionArchitect(Client2):
3021
3022
  starts_with: bool = True, ends_with: bool = False,
3022
3023
  ignore_case: bool = False, start_from: int = 0,
3023
3024
  page_size: int = 0, output_format: str = 'JSON',
3024
- output_format_set: str = None,
3025
+ report_spec: str = None,
3025
3026
  body: dict| SearchStringRequestBody = None) -> list[dict] | str:
3026
3027
  """Retrieve the list of solution blueprint elements that contain the search string.
3027
3028
  https://egeria-project.org/concepts/solution-blueprint
@@ -3084,7 +3085,7 @@ class SolutionArchitect(Client2):
3084
3085
  response = loop.run_until_complete(
3085
3086
  self._async_find_solution_blueprints(search_string, classification_names, metadata_element_types,
3086
3087
  starts_with, ends_with, ignore_case, start_from,
3087
- page_size, output_format, output_format_set, body))
3088
+ page_size, output_format, report_spec, body))
3088
3089
  return response
3089
3090
 
3090
3091
  def find_all_solution_blueprints(self, classification_names: list[str] = None,
@@ -3092,19 +3093,19 @@ class SolutionArchitect(Client2):
3092
3093
  starts_with: bool = True, ends_with: bool = False,
3093
3094
  ignore_case: bool = False, start_from: int = 0,
3094
3095
  page_size: int = 0, output_format: str = 'JSON',
3095
- output_format_set: str = None,
3096
+ report_spec: str = None,
3096
3097
  body: dict| SearchStringRequestBody = None) -> list[dict] | str:
3097
3098
  """Retrieve a list of all solution blueprint elements
3098
3099
  https://egeria-project.org/concepts/solution-blueprint
3099
3100
  """
3100
3101
  return self.find_solution_blueprints("*", classification_names, metadata_element_types,
3101
3102
  starts_with, ends_with, ignore_case, start_from,
3102
- page_size, output_format, output_format_set, body)
3103
+ page_size, output_format, report_spec, body)
3103
3104
 
3104
3105
 
3105
3106
  async def _async_get_solution_blueprint_by_guid(self, guid: str, body: dict = None,
3106
3107
  output_format: str = "JSON",
3107
- output_format_set: str| Dict = "Solution-Blueprint") -> dict | str:
3108
+ report_spec: str| Dict = "Solution-Blueprint") -> dict | str:
3108
3109
  """Return the properties of a specific solution blueprint. Async Version.
3109
3110
 
3110
3111
  Parameters
@@ -3120,7 +3121,7 @@ class SolutionArchitect(Client2):
3120
3121
  FORM - output markdown with a preamble for a form
3121
3122
  REPORT - output markdown with a preamble for a report
3122
3123
  MERMAID - output mermaid markdown
3123
- output_format_set: str|Dict, optional
3124
+ report_spec: str|Dict, optional
3124
3125
  Structure of content to return.
3125
3126
 
3126
3127
  Returns
@@ -3161,11 +3162,11 @@ class SolutionArchitect(Client2):
3161
3162
  return NO_ELEMENTS_FOUND
3162
3163
  if output_format != 'JSON': # return a simplified markdown representation
3163
3164
  return self.generate_solution_blueprint_output(element, guid, "SolutionBlueprint",
3164
- output_format, output_format_set=output_format_set)
3165
+ output_format, report_spec=report_spec)
3165
3166
  return response.json().get("element", NO_ELEMENTS_FOUND)
3166
3167
 
3167
3168
  def get_solution_blueprint_by_guid(self, guid: str, body: dict = None, output_format: str = "JSON",
3168
- output_format_set: str| Dict = "Solution-Blueprint") -> dict | str:
3169
+ report_spec: str| Dict = "Solution-Blueprint") -> dict | str:
3169
3170
  """ Return the properties of a specific solution blueprint.
3170
3171
 
3171
3172
  Parameters
@@ -3181,7 +3182,7 @@ class SolutionArchitect(Client2):
3181
3182
  FORM - output markdown with a preamble for a form
3182
3183
  REPORT - output markdown with a preamble for a report
3183
3184
  MERMAID - output mermaid markdown
3184
- output_format_set: str|Dict, optional
3185
+ report_spec: str|Dict, optional
3185
3186
  Structure of content to return.
3186
3187
 
3187
3188
  Returns
@@ -3211,12 +3212,12 @@ class SolutionArchitect(Client2):
3211
3212
  """
3212
3213
  loop = asyncio.get_event_loop()
3213
3214
  response = loop.run_until_complete(self._async_get_solution_blueprint_by_guid(guid, body,
3214
- output_format, output_format_set))
3215
+ output_format, report_spec))
3215
3216
  return response
3216
3217
 
3217
3218
  async def _async_get_solution_blueprints_by_name(self, search_filter: str, body: dict = None, start_from: int = 0,
3218
3219
  page_size: int = max_paging_size,
3219
- output_format: str = "JSON", output_format_set: str| Dict = "Solution-Blueprint") -> dict | str:
3220
+ output_format: str = "JSON", report_spec: str| Dict = "Solution-Blueprint") -> dict | str:
3220
3221
  """ Returns the list of solution blueprints with a particular name. Async Version.
3221
3222
 
3222
3223
  Parameters
@@ -3232,7 +3233,7 @@ class SolutionArchitect(Client2):
3232
3233
  FORM - output markdown with a preamble for a form
3233
3234
  REPORT - output markdown with a preamble for a report
3234
3235
  MERMAID - output mermaid markdown
3235
- output_format_set: str|Dict, optional
3236
+ report_spec: str|Dict, optional
3236
3237
  Structure of content to return.
3237
3238
 
3238
3239
  Returns
@@ -3280,12 +3281,12 @@ class SolutionArchitect(Client2):
3280
3281
  if element == NO_ELEMENTS_FOUND:
3281
3282
  return NO_ELEMENTS_FOUND
3282
3283
  if output_format != 'JSON': # return a simplified markdown representation
3283
- return self.generate_solution_blueprint_output(element, search_filter, output_format, output_format_set=output_format_set)
3284
+ return self.generate_solution_blueprint_output(element, search_filter, output_format, report_spec=report_spec)
3284
3285
  return response.json().get("elements", NO_ELEMENTS_FOUND)
3285
3286
 
3286
3287
  def get_solution_blueprints_by_name(self, search_filter: str, body: dict = None, start_from: int = 0,
3287
3288
  page_size: int = max_paging_size, output_format: str = "JSON",
3288
- output_format_set: str| Dict = "Solution-Blueprint") -> dict | str:
3289
+ report_spec: str| Dict = "Solution-Blueprint") -> dict | str:
3289
3290
  """ Returns the list of solution blueprints with a particular name.
3290
3291
 
3291
3292
  Parameters
@@ -3306,7 +3307,7 @@ class SolutionArchitect(Client2):
3306
3307
  FORM - output markdown with a preamble for a form
3307
3308
  REPORT - output markdown with a preamble for a report
3308
3309
  MERMAID - output mermaid markdown
3309
- output_format_set: str|Dict, optional
3310
+ report_spec: str|Dict, optional
3310
3311
  Structure of content to return.
3311
3312
 
3312
3313
  Returns
@@ -3341,7 +3342,7 @@ class SolutionArchitect(Client2):
3341
3342
  """
3342
3343
  loop = asyncio.get_event_loop()
3343
3344
  response = loop.run_until_complete(
3344
- self._async_get_solution_blueprints_by_name(search_filter, body, start_from, page_size, output_format, output_format_set))
3345
+ self._async_get_solution_blueprints_by_name(search_filter, body, start_from, page_size, output_format, report_spec))
3345
3346
  return response
3346
3347
 
3347
3348
 
@@ -3887,7 +3888,7 @@ class SolutionArchitect(Client2):
3887
3888
  loop.run_until_complete(self._async_link_subcomponent(component_guid, sub_component_guid, body))
3888
3889
  @dynamic_catch
3889
3890
  async def _async_detach_sub_component(self, parent_component_guid: str, member_component_guid: str,
3890
- body: dict |DeleteRequestBody = None) -> None:
3891
+ body: dict |DeleteRelationshipRequestBody = None) -> None:
3891
3892
  """ Detach a solution component from a solution component.
3892
3893
  Async Version.
3893
3894
 
@@ -3918,7 +3919,7 @@ class SolutionArchitect(Client2):
3918
3919
 
3919
3920
  Body structure:
3920
3921
  {
3921
- "class": "DeleteRequestBody",
3922
+ "class": "DeleteRelationshipRequestBody",
3922
3923
  "externalSourceGUID": "add guid here",
3923
3924
  "externalSourceName": "add qualified name here",
3924
3925
  "effectiveTime": {{isotime}},
@@ -3931,12 +3932,12 @@ class SolutionArchitect(Client2):
3931
3932
  url = (f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/solution-architect/"
3932
3933
  f"solution-components/{parent_component_guid}/subcomponents/{member_component_guid}/detach")
3933
3934
 
3934
- await self._async_delete_request(url, body)
3935
+ await self._async_delete_relationship_request(url, body)
3935
3936
  logger.info(
3936
3937
  f"Detached components {parent_component_guid} -> {member_component_guid}")
3937
3938
 
3938
3939
  @dynamic_catch
3939
- def detach_sub_component(self, parent_component_guid: str, member_component_guid: str, body: dict| DeleteRequestBody = None) -> None:
3940
+ def detach_sub_component(self, parent_component_guid: str, member_component_guid: str, body: dict| DeleteRelationshipRequestBody = None) -> None:
3940
3941
  """ Detach a solution component from a solution component.
3941
3942
  Async Version.
3942
3943
 
@@ -3946,7 +3947,7 @@ class SolutionArchitect(Client2):
3946
3947
  guid of the parent component to disconnect from.
3947
3948
  member_component_guid: str
3948
3949
  guid of the member (child) component to disconnect.
3949
- body: dict | DeleteRequestBody
3950
+ body: dict | DeleteRelationshipRequestBody
3950
3951
  The body describing the request.
3951
3952
 
3952
3953
  Returns
@@ -3967,7 +3968,7 @@ class SolutionArchitect(Client2):
3967
3968
 
3968
3969
  Body structure:
3969
3970
  {
3970
- "class": "DeleteRequestBody",
3971
+ "class": "DeleteRelationshipRequestBody",
3971
3972
  "externalSourceGUID": "add guid here",
3972
3973
  "externalSourceName": "add qualified name here",
3973
3974
  "effectiveTime": {{isotime}},
@@ -4081,7 +4082,7 @@ class SolutionArchitect(Client2):
4081
4082
 
4082
4083
  @dynamic_catch
4083
4084
  async def _async_detach_solution_linking_wire(self, component1_guid: str, component2_guid: str,
4084
- body: dict | DeleteRequestBody = None) -> None:
4085
+ body: dict | DeleteRelationshipRequestBody = None) -> None:
4085
4086
  """ Detach a solution component from a peer solution component.
4086
4087
  Async Version.
4087
4088
 
@@ -4091,7 +4092,7 @@ class SolutionArchitect(Client2):
4091
4092
  GUID of the first component to unlink.
4092
4093
  component2_guid: str
4093
4094
  GUID of the second component to unlink.
4094
- body: dict | DeleteRequestBody
4095
+ body: dict | DeleteRelationshipRequestBody
4095
4096
  The body describing the request.
4096
4097
 
4097
4098
  Returns
@@ -4112,7 +4113,7 @@ class SolutionArchitect(Client2):
4112
4113
 
4113
4114
  Body structure:
4114
4115
  {
4115
- "class" : "DeleteRequestBody",
4116
+ "class" : "DeleteRelationshipRequestBody",
4116
4117
  "externalSourceGUID": "add guid here",
4117
4118
  "externalSourceName": "add qualified name here",
4118
4119
  "effectiveTime" : "{{$isoTimestamp}}",
@@ -4125,12 +4126,12 @@ class SolutionArchitect(Client2):
4125
4126
  url = (f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/solution-architect/"
4126
4127
  f"solution-components/{component1_guid}/wired-to/{component2_guid}/detach")
4127
4128
 
4128
- await self._async_delete_request(url, body)
4129
+ await self._async_delete_relationship_request(url, body)
4129
4130
  logger.info(
4130
4131
  f"Detached solution linking wire between {component1_guid} -> {component2_guid}")
4131
4132
 
4132
4133
  @dynamic_catch
4133
- def detach_solution_linking_wire(self, component1_guid: str, component2_guid: str, body: dict | DeleteRequestBody = None) -> None:
4134
+ def detach_solution_linking_wire(self, component1_guid: str, component2_guid: str, body: dict | DeleteRelationshipRequestBody = None) -> None:
4134
4135
  """ Detach a solution component from a peer solution component.
4135
4136
  Async Version.
4136
4137
 
@@ -4140,7 +4141,7 @@ class SolutionArchitect(Client2):
4140
4141
  GUID of the first component to unlink.
4141
4142
  component2_guid: str
4142
4143
  GUID of the second component to unlink.
4143
- body: dict | DeleteRequestBody
4144
+ body: dict | DeleteRelationshipRequestBody
4144
4145
  The body describing the request.
4145
4146
  The body describing the request.
4146
4147
 
@@ -4162,7 +4163,7 @@ class SolutionArchitect(Client2):
4162
4163
 
4163
4164
  Body structure:
4164
4165
  {
4165
- "class" : "DeleteRequestBody",
4166
+ "class" : "DeleteRelationshipRequestBody",
4166
4167
  "externalSourceGUID": "add guid here",
4167
4168
  "externalSourceName": "add qualified name here",
4168
4169
  "effectiveTime" : "{{$isoTimestamp}}",
@@ -4176,7 +4177,7 @@ class SolutionArchitect(Client2):
4176
4177
 
4177
4178
  @dynamic_catch
4178
4179
  async def _async_delete_solution_component(self, solution_component_guid: str, cascade_delete: bool = False,
4179
- body: dict | DeleteRequestBody= None) -> None:
4180
+ body: dict | DeleteElementRequestBody= None) -> None:
4180
4181
  """Delete a solution component. Async Version.
4181
4182
 
4182
4183
  Parameters
@@ -4185,7 +4186,7 @@ class SolutionArchitect(Client2):
4185
4186
  guid of the component to delete.
4186
4187
  cascade_delete: bool, optional, default: False
4187
4188
  Cascade the delete to dependent objects?
4188
- body: dict | DeleteRequestBody, optional
4189
+ body: dict | DeleteElementRequestBody, optional
4189
4190
  A dictionary containing parameters for the deletion.
4190
4191
 
4191
4192
  Returns
@@ -4206,7 +4207,7 @@ class SolutionArchitect(Client2):
4206
4207
 
4207
4208
  Body structure:
4208
4209
  {
4209
- "class": "DeleteRequestBody",
4210
+ "class": "DeleteElementRequestBody",
4210
4211
  "externalSourceGUID": "add guid here",
4211
4212
  "externalSourceName": "add qualified name here",
4212
4213
  "effectiveTime": {{isotime}},
@@ -4218,12 +4219,12 @@ class SolutionArchitect(Client2):
4218
4219
 
4219
4220
  url = (f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/solution-architect/"
4220
4221
  f"solution-components/{solution_component_guid}/delete")
4221
- await self._async_delete_request(url, body, cascade_delete=cascade_delete)
4222
+ await self._async_delete_element_request(url, body, cascade_delete=cascade_delete)
4222
4223
  logger.info(f"Deleted Solution Component {solution_component_guid} with cascade {cascade_delete}")
4223
4224
 
4224
4225
  @dynamic_catch
4225
4226
  def delete_solution_component(self, solution_component_guid: str, cascade_delete: bool = False,
4226
- body: dict | DeleteRequestBody = None) -> None:
4227
+ body: dict | DeleteElementRequestBody = None) -> None:
4227
4228
  """Delete a solution component.
4228
4229
  Parameters
4229
4230
  ----------
@@ -4231,7 +4232,7 @@ class SolutionArchitect(Client2):
4231
4232
  guid of the component to delete.
4232
4233
  cascade_delete: bool, optional, default: False
4233
4234
  Cascade the delete to dependent objects?
4234
- body: dict | DeleteRequestBody, optional
4235
+ body: dict | DeleteElementRequestBody, optional
4235
4236
  A dictionary containing parameters for the deletion.
4236
4237
 
4237
4238
  Returns
@@ -4252,7 +4253,7 @@ class SolutionArchitect(Client2):
4252
4253
 
4253
4254
  Body structure:
4254
4255
  {
4255
- "class": "DeleteRequestBody",
4256
+ "class": "DeleteElementRequestBody",
4256
4257
  "externalSourceGUID": "add guid here",
4257
4258
  "externalSourceName": "add qualified name here",
4258
4259
  "effectiveTime": {{isotime}},
@@ -4268,7 +4269,7 @@ class SolutionArchitect(Client2):
4268
4269
  starts_with: bool = True, ends_with: bool = False,
4269
4270
  ignore_case: bool = False, start_from: int = 0,
4270
4271
  page_size: int = 0, output_format: str = 'JSON',
4271
- output_format_set: str = None,
4272
+ report_spec: str = None,
4272
4273
  body: dict| SearchStringRequestBody = None) -> list[dict] | str:
4273
4274
  """ Retrieve the solution component elements that contain the search string. The solutions components returned
4274
4275
  include information about consumers, actors, and other solution components that are associated with them.
@@ -4335,7 +4336,7 @@ class SolutionArchitect(Client2):
4335
4336
  metadata_element_types=metadata_element_types,
4336
4337
  starts_with=starts_with, ends_with=ends_with, ignore_case=ignore_case,
4337
4338
  start_from=start_from, page_size=page_size,
4338
- output_format=output_format, output_format_set=output_format_set,
4339
+ output_format=output_format, report_spec=report_spec,
4339
4340
  body=body)
4340
4341
 
4341
4342
  def find_solution_components(self, search_string: str = "*", classification_names: list[str] = None,
@@ -4343,7 +4344,7 @@ class SolutionArchitect(Client2):
4343
4344
  starts_with: bool = True, ends_with: bool = False,
4344
4345
  ignore_case: bool = False, start_from: int = 0,
4345
4346
  page_size: int = 0, output_format: str = 'JSON',
4346
- output_format_set: str = None,
4347
+ report_spec: str = None,
4347
4348
  body: dict| SearchStringRequestBody = None) -> list[dict] | str:
4348
4349
  """ Retrieve the solution component elements that contain the search string. The solutions components returned
4349
4350
  include information about consumers, actors, and other solution components that are associated with them.
@@ -4402,7 +4403,7 @@ class SolutionArchitect(Client2):
4402
4403
 
4403
4404
  loop = asyncio.get_event_loop()
4404
4405
  response = loop.run_until_complete(
4405
- self._async_find_solution_components(search_string, classification_names, metadata_element_types, starts_with, ends_with, ignore_case, start_from, page_size, output_format, output_format_set, body))
4406
+ self._async_find_solution_components(search_string, classification_names, metadata_element_types, starts_with, ends_with, ignore_case, start_from, page_size, output_format, report_spec, body))
4406
4407
  return response
4407
4408
 
4408
4409
  def find_all_solution_components(self, classification_names: list[str] = None,
@@ -4410,12 +4411,12 @@ class SolutionArchitect(Client2):
4410
4411
  starts_with: bool = True, ends_with: bool = False,
4411
4412
  ignore_case: bool = False, start_from: int = 0,
4412
4413
  page_size: int = 0, output_format: str = 'JSON',
4413
- output_format_set: str = None,
4414
+ report_spec: str = None,
4414
4415
  body: dict| SearchStringRequestBody = None) -> list[dict] | str:
4415
4416
  """Retrieve a list of all solution component elements
4416
4417
  https://egeria-project.org/concepts/solution-components
4417
4418
  """
4418
- return self.find_solution_components("*", classification_names, metadata_element_types, starts_with, ends_with, ignore_case, start_from, page_size, output_format, output_format_set, body)
4419
+ return self.find_solution_components("*", classification_names, metadata_element_types, starts_with, ends_with, ignore_case, start_from, page_size, output_format, report_spec, body)
4419
4420
 
4420
4421
 
4421
4422
  async def _async_get_solution_components_by_name(self, search_filter: str, body: dict = None, start_from: int = 0,
@@ -4543,7 +4544,7 @@ class SolutionArchitect(Client2):
4543
4544
  return response
4544
4545
 
4545
4546
  async def _async_get_solution_component_by_guid(self, guid: str, body: dict = None,
4546
- output_format: str = "JSON", output_format_set: str = "Solution-Component-DrE") -> dict | str:
4547
+ output_format: str = "JSON", report_spec: str = "Solution-Component-DrE") -> dict | str:
4547
4548
  """ Return the properties of a specific solution component. Async Version.
4548
4549
 
4549
4550
  Parameters
@@ -4559,7 +4560,7 @@ class SolutionArchitect(Client2):
4559
4560
  FORM - output markdown with a preamble for a form
4560
4561
  REPORT - output markdown with a preamble for a report
4561
4562
  MERMAID - output mermaid markdown
4562
- output_format_set: str, default = "Solution-Component-DrE"
4563
+ report_spec: str, default = "Solution-Component-DrE"
4563
4564
  Structure of output to produce:
4564
4565
 
4565
4566
  Returns
@@ -4592,7 +4593,7 @@ class SolutionArchitect(Client2):
4592
4593
  f"solution-components/{guid}/retrieve")
4593
4594
  response = await self._async_get_guid_request(url, 'SolutionComponent',
4594
4595
  self.generate_solution_components_output,
4595
- output_format, output_format_set, body)
4596
+ output_format, report_spec, body)
4596
4597
  return response
4597
4598
 
4598
4599
  # if body is None:
@@ -5365,7 +5366,7 @@ class SolutionArchitect(Client2):
5365
5366
  loop.run_until_complete(self._async_link_component_to_actor(role_guid, component_guid, body))
5366
5367
 
5367
5368
  @dynamic_catch
5368
- async def _async_detach_component_actor(self, role_guid: str, component_guid: str, body: dict | DeleteRequestBody = None) -> None:
5369
+ async def _async_detach_component_actor(self, role_guid: str, component_guid: str, body: dict | DeleteRelationshipRequestBody = None) -> None:
5369
5370
  """ Detach a solution role from a solution component.
5370
5371
  Async Version.
5371
5372
 
@@ -5375,7 +5376,7 @@ class SolutionArchitect(Client2):
5375
5376
  guid of the role to disconnect from.
5376
5377
  component_guid: str
5377
5378
  guid of the component to disconnect.
5378
- body: dict | DeleteRequestBody, optional
5379
+ body: dict | DeleteRelationshipRequestBody, optional
5379
5380
  A dictionary containing the properties of the relationship to create.
5380
5381
 
5381
5382
  Returns
@@ -5396,7 +5397,7 @@ class SolutionArchitect(Client2):
5396
5397
 
5397
5398
  Body structure:
5398
5399
  {
5399
- "class": "DeleteRequestBody",
5400
+ "class": "DeleteRelationshipRequestBody",
5400
5401
  "externalSourceGUID": "add guid here",
5401
5402
  "externalSourceName": "add qualified name here",
5402
5403
  "effectiveTime": {{isotime}},
@@ -5409,12 +5410,12 @@ class SolutionArchitect(Client2):
5409
5410
  url = (f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/solution-architect/"
5410
5411
  f"solution-components/{role_guid}/solution-component-actors/{component_guid}/detach")
5411
5412
 
5412
- await self._async_delete_request(url, body)
5413
+ await self._async_delete_relationship_request(url, body)
5413
5414
  logger.info(
5414
5415
  f"Detached role from component {role_guid} -> {component_guid}")
5415
5416
 
5416
5417
  @dynamic_catch
5417
- def detach_component_actore(self, role_guid: str, component_guid: str, body: dict |DeleteRequestBody = None) -> None:
5418
+ def detach_component_actore(self, role_guid: str, component_guid: str, body: dict |DeleteRelationshipRequestBody = None) -> None:
5418
5419
  """ Detach a solution role from a solution component.
5419
5420
 
5420
5421
  Parameters
@@ -5423,7 +5424,7 @@ class SolutionArchitect(Client2):
5423
5424
  guid of the role to disconnect from.
5424
5425
  component_guid: str
5425
5426
  guid of the component to disconnect.
5426
- body: dict | DeleteRequestBody, optional
5427
+ body: dict | DeleteRelationshipRequestBody, optional
5427
5428
  A dictionary containing the properties of the relationship to create.
5428
5429
 
5429
5430
  Returns
@@ -5444,7 +5445,7 @@ class SolutionArchitect(Client2):
5444
5445
 
5445
5446
  Body structure:
5446
5447
  {
5447
- "class": "DeleteRequestBody",
5448
+ "class": "DeleteRelationshipRequestBody",
5448
5449
  "externalSourceGUID": "add guid here",
5449
5450
  "externalSourceName": "add qualified name here",
5450
5451
  "effectiveTime": {{isotime}},
@@ -5456,14 +5457,14 @@ class SolutionArchitect(Client2):
5456
5457
  loop.run_until_complete(self._async_detach_component_actor(role_guid, component_guid, body))
5457
5458
 
5458
5459
  @dynamic_catch
5459
- async def _async_delete_solution_role(self, guid: str, body: dict | DeleteRequestBody= None, cascade_delete: bool = False,) -> None:
5460
+ async def _async_delete_solution_role(self, guid: str, body: dict | DeleteElementRequestBody= None, cascade_delete: bool = False,) -> None:
5460
5461
  """Delete a solution role. Async Version.
5461
5462
 
5462
5463
  Parameters
5463
5464
  ----------
5464
5465
  guid: str
5465
5466
  guid of the role to delete.
5466
- body: dict | DeleteRequestBody, optional
5467
+ body: dict | DeleteElementRequestBody, optional
5467
5468
  A dictionary containing parameters for the deletion.
5468
5469
  cascade_delete: bool, optional, default: False
5469
5470
  Cascade the delete to dependent objects?
@@ -5487,7 +5488,7 @@ class SolutionArchitect(Client2):
5487
5488
 
5488
5489
  Body structure:
5489
5490
  {
5490
- "class": "DeleteRequestBody",
5491
+ "class": "DeleteElementRequestBody",
5491
5492
  "externalSourceGUID": "add guid here",
5492
5493
  "externalSourceName": "add qualified name here",
5493
5494
  "effectiveTime": {{isotime}},
@@ -5499,18 +5500,18 @@ class SolutionArchitect(Client2):
5499
5500
  url = (f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/solution-architect/"
5500
5501
  f"solution-roles/{guid}/delete")
5501
5502
 
5502
- await self._async_delete_request(url, body, cascade_delete=cascade_delete)
5503
+ await self._async_delete_element_request(url, body, cascade_delete=cascade_delete)
5503
5504
  logger.info(f"Delete solution rule {guid} with cascade {cascade_delete}")
5504
5505
 
5505
5506
  @dynamic_catch
5506
- def delete_solution_role(self, guid: str, body: dict | DeleteRequestBody = None,cascade_delete: bool = False) -> None:
5507
+ def delete_solution_role(self, guid: str, body: dict | DeleteElementRequestBody = None,cascade_delete: bool = False) -> None:
5507
5508
  """Delete a solution role. Async Version.
5508
5509
 
5509
5510
  Parameters
5510
5511
  ----------
5511
5512
  guid: str
5512
5513
  guid of the role to delete.
5513
- body: dict | DeleteRequestBody, optional
5514
+ body: dict | DeleteElementRequestBody, optional
5514
5515
  A dictionary containing parameters for the deletion.
5515
5516
  cascade_delete: bool, optional, default: False
5516
5517
  Cascade the delete to dependent objects?
@@ -5533,7 +5534,7 @@ class SolutionArchitect(Client2):
5533
5534
 
5534
5535
  Body structure:
5535
5536
  {
5536
- "class": "DeleteRequestBody",
5537
+ "class": "DeleteElementRequestBody",
5537
5538
  "externalSourceGUID": "add guid here",
5538
5539
  "externalSourceName": "add qualified name here",
5539
5540
  "effectiveTime": {{isotime}},
@@ -5549,7 +5550,7 @@ class SolutionArchitect(Client2):
5549
5550
  starts_with: bool = True, ends_with: bool = False,
5550
5551
  ignore_case: bool = False, start_from: int = 0,
5551
5552
  page_size: int = 0, output_format: str = 'JSON',
5552
- output_format_set: str = None,
5553
+ report_spec: str = None,
5553
5554
  body: dict| SearchStringRequestBody = None) -> list[dict] | str:
5554
5555
  """Retrieve the solution role elements that contain the search string.
5555
5556
  https://egeria-project.org/concepts/actor
@@ -5616,7 +5617,7 @@ class SolutionArchitect(Client2):
5616
5617
  metadata_element_types=metadata_element_types,
5617
5618
  starts_with=starts_with, ends_with=ends_with, ignore_case=ignore_case,
5618
5619
  start_from=start_from, page_size=page_size,
5619
- output_format=output_format, output_format_set=output_format_set,
5620
+ output_format=output_format, report_spec=report_spec,
5620
5621
  body=body)
5621
5622
 
5622
5623
  def find_solution_roles(self, search_string: str = "*", classification_names: list[str] = None,
@@ -5624,7 +5625,7 @@ class SolutionArchitect(Client2):
5624
5625
  starts_with: bool = True, ends_with: bool = False,
5625
5626
  ignore_case: bool = False, start_from: int = 0,
5626
5627
  page_size: int = 0, output_format: str = 'JSON',
5627
- output_format_set: str = None,
5628
+ report_spec: str = None,
5628
5629
  body: dict| SearchStringRequestBody = None) -> list[dict] | str:
5629
5630
  """Retrieve the list of solution role elements that contain the search string.
5630
5631
  https://egeria-project.org/concepts/actor
@@ -5689,7 +5690,7 @@ class SolutionArchitect(Client2):
5689
5690
 
5690
5691
  loop = asyncio.get_event_loop()
5691
5692
  response = loop.run_until_complete(
5692
- self._async_find_solution_roles(search_string, classification_names, metadata_element_types, starts_with, ends_with, ignore_case, start_from, page_size, output_format, output_format_set, body))
5693
+ self._async_find_solution_roles(search_string, classification_names, metadata_element_types, starts_with, ends_with, ignore_case, start_from, page_size, output_format, report_spec, body))
5693
5694
  return response
5694
5695
 
5695
5696
  def find_all_solution_roles(self, classification_names: list[str] = None,
@@ -5697,12 +5698,12 @@ class SolutionArchitect(Client2):
5697
5698
  starts_with: bool = True, ends_with: bool = False,
5698
5699
  ignore_case: bool = False, start_from: int = 0,
5699
5700
  page_size: int = 0, output_format: str = 'JSON',
5700
- output_format_set: str = None,
5701
+ report_spec: str = None,
5701
5702
  body: dict| SearchStringRequestBody = None) -> list[dict] | str:
5702
5703
  """Retrieve a list of all solution blueprint elements
5703
5704
  https://egeria-project.org/concepts/actor
5704
5705
  """
5705
- return self.find_solution_roles("*", classification_names, metadata_element_types, starts_with, ends_with, ignore_case, start_from, page_size, output_format, output_format_set, body)
5706
+ return self.find_solution_roles("*", classification_names, metadata_element_types, starts_with, ends_with, ignore_case, start_from, page_size, output_format, report_spec, body)
5706
5707
 
5707
5708
 
5708
5709
  async def _async_get_solution_roles_by_name(self, search_filter: str, body: dict = None, start_from: int = 0,