pyegeria 5.3.9.9.3__py3-none-any.whl → 5.5.3.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.

Potentially problematic release.


This version of pyegeria might be problematic. Click here for more details.

Files changed (272) hide show
  1. commands/__init__.py +24 -0
  2. commands/cat/Dr-Egeria_md-orig.py +2 -2
  3. commands/cat/__init__.py +1 -17
  4. commands/cat/collection_actions.py +197 -0
  5. commands/cat/dr_egeria_command_help.py +372 -0
  6. commands/cat/dr_egeria_jupyter.py +7 -7
  7. commands/cat/dr_egeria_md.py +27 -182
  8. commands/cat/exp_list_glossaries.py +11 -14
  9. commands/cat/get_asset_graph.py +37 -267
  10. commands/cat/{get_collection.py → get_collection_tree.py} +10 -18
  11. commands/cat/get_project_dependencies.py +14 -14
  12. commands/cat/get_project_structure.py +15 -14
  13. commands/cat/get_tech_type_elements.py +16 -116
  14. commands/cat/glossary_actions.py +145 -298
  15. commands/cat/list_assets.py +3 -11
  16. commands/cat/list_cert_types.py +17 -63
  17. commands/cat/list_collections.py +46 -138
  18. commands/cat/list_deployed_catalogs.py +15 -27
  19. commands/cat/list_deployed_database_schemas.py +27 -43
  20. commands/cat/list_deployed_databases.py +16 -31
  21. commands/cat/list_deployed_servers.py +35 -54
  22. commands/cat/list_glossaries.py +18 -17
  23. commands/cat/list_projects.py +10 -12
  24. commands/cat/list_tech_type_elements.py +21 -37
  25. commands/cat/list_tech_types.py +13 -25
  26. commands/cat/list_terms.py +38 -79
  27. commands/cat/list_todos.py +4 -11
  28. commands/cat/list_user_ids.py +3 -10
  29. commands/cat/my_reports.py +559 -0
  30. commands/cat/run_report.py +394 -0
  31. commands/cat/run_report_orig.py +528 -0
  32. commands/cli/egeria.py +222 -247
  33. commands/cli/egeria_cat.py +68 -81
  34. commands/cli/egeria_my.py +13 -0
  35. commands/cli/egeria_ops.py +69 -74
  36. commands/cli/egeria_tech.py +17 -93
  37. commands/cli/ops_config.py +3 -6
  38. commands/{cat/list_categories.py → deprecated/list_data_designer.py} +53 -64
  39. commands/{cat/list_data_structures.py → deprecated/list_data_structures_full.py} +3 -6
  40. commands/deprecated/old_get_asset_graph.py +315 -0
  41. commands/my/__init__.py +0 -2
  42. commands/my/list_my_profile.py +27 -34
  43. commands/my/list_my_roles.py +1 -7
  44. commands/my/monitor_my_todos.py +1 -7
  45. commands/my/monitor_open_todos.py +6 -7
  46. commands/my/todo_actions.py +4 -5
  47. commands/ops/__init__.py +0 -2
  48. commands/ops/gov_server_actions.py +17 -21
  49. commands/ops/list_archives.py +17 -38
  50. commands/ops/list_catalog_targets.py +33 -40
  51. commands/ops/load_archive.py +35 -26
  52. commands/ops/{monitor_engine_activity_c.py → monitor_active_engine_activity.py} +51 -82
  53. commands/ops/{monitor_integ_daemon_status.py → monitor_daemon_status.py} +35 -55
  54. commands/ops/monitor_engine_activity.py +79 -77
  55. commands/ops/{monitor_gov_eng_status.py → monitor_engine_status.py} +10 -7
  56. commands/ops/monitor_platform_status.py +38 -50
  57. commands/ops/monitor_server_startup.py +6 -11
  58. commands/ops/monitor_server_status.py +7 -11
  59. commands/ops/orig_monitor_server_list.py +8 -8
  60. commands/ops/orig_monitor_server_status.py +1 -5
  61. commands/ops/refresh_integration_daemon.py +5 -5
  62. commands/ops/restart_integration_daemon.py +5 -5
  63. commands/ops/table_integ_daemon_status.py +6 -6
  64. commands/ops/x_engine_actions.py +7 -7
  65. commands/tech/__init__.py +0 -2
  66. commands/tech/{generic_actions.py → element_actions.py} +6 -11
  67. commands/tech/get_element_info.py +20 -29
  68. commands/tech/get_guid_info.py +23 -42
  69. commands/tech/get_tech_details.py +20 -35
  70. commands/tech/get_tech_type_template.py +28 -39
  71. commands/tech/list_all_om_type_elements.py +24 -30
  72. commands/tech/list_all_om_type_elements_x.py +22 -28
  73. commands/tech/list_all_related_elements.py +19 -28
  74. commands/tech/list_anchored_elements.py +22 -30
  75. commands/tech/list_asset_types.py +19 -24
  76. commands/tech/list_elements_by_classification_by_property_value.py +26 -32
  77. commands/tech/list_elements_by_property_value.py +19 -25
  78. commands/tech/list_elements_by_property_value_x.py +20 -28
  79. commands/tech/list_elements_for_classification.py +28 -41
  80. commands/tech/list_gov_action_processes.py +16 -27
  81. commands/tech/list_information_supply_chains.py +22 -30
  82. commands/tech/list_registered_services.py +14 -26
  83. commands/tech/list_related_elements_with_prop_value.py +15 -25
  84. commands/tech/list_related_specification.py +1 -4
  85. commands/tech/list_relationship_types.py +15 -25
  86. commands/tech/list_relationships.py +20 -36
  87. commands/tech/list_solution_blueprints.py +28 -33
  88. commands/tech/list_solution_components.py +23 -29
  89. commands/tech/list_solution_roles.py +21 -32
  90. commands/tech/list_tech_templates.py +51 -54
  91. commands/tech/list_valid_metadata_values.py +5 -9
  92. commands/tech/table_tech_templates.py +2 -6
  93. commands/tech/x_list_related_elements.py +1 -4
  94. examples/GeoSpatial Products Example.py +524 -0
  95. examples/Jupyter Notebooks/P-egeria-server-config.ipynb +2137 -0
  96. examples/Jupyter Notebooks/README.md +2 -0
  97. examples/Jupyter Notebooks/common/P-environment-check.ipynb +115 -0
  98. examples/Jupyter Notebooks/common/__init__.py +14 -0
  99. examples/Jupyter Notebooks/common/common-functions.ipynb +4694 -0
  100. examples/Jupyter Notebooks/common/environment-check.ipynb +52 -0
  101. examples/Jupyter Notebooks/common/globals.ipynb +184 -0
  102. examples/Jupyter Notebooks/common/globals.py +154 -0
  103. examples/Jupyter Notebooks/common/orig_globals.py +152 -0
  104. examples/format_sets/all_format_sets.json +910 -0
  105. examples/format_sets/custom_format_sets.json +268 -0
  106. examples/format_sets/subset_format_sets.json +187 -0
  107. examples/format_sets_save_load_example.py +291 -0
  108. examples/jacquard_data_sets.py +129 -0
  109. examples/output_formats_example.py +193 -0
  110. examples/test_jacquard_data_sets.py +54 -0
  111. examples/test_jacquard_data_sets_scenarios.py +94 -0
  112. md_processing/__init__.py +90 -0
  113. md_processing/command_dispatcher.py +33 -0
  114. md_processing/command_mapping.py +221 -0
  115. md_processing/data/commands/commands_data_designer.json +537 -0
  116. md_processing/data/commands/commands_external_reference.json +733 -0
  117. md_processing/data/commands/commands_feedback.json +155 -0
  118. md_processing/data/commands/commands_general.json +204 -0
  119. md_processing/data/commands/commands_glossary.json +218 -0
  120. md_processing/data/commands/commands_governance.json +3678 -0
  121. md_processing/data/commands/commands_product_manager.json +865 -0
  122. md_processing/data/commands/commands_project.json +642 -0
  123. md_processing/data/commands/commands_solution_architect.json +366 -0
  124. md_processing/data/commands.json +17568 -0
  125. md_processing/data/commands_working.json +30641 -0
  126. md_processing/data/gened_report_specs.py +6584 -0
  127. md_processing/data/generated_format_sets.json +6533 -0
  128. md_processing/data/generated_format_sets_old.json +4137 -0
  129. md_processing/data/generated_format_sets_old.py +45 -0
  130. md_processing/dr_egeria.py +182 -0
  131. md_processing/md_commands/__init__.py +3 -0
  132. md_processing/md_commands/data_designer_commands.py +1276 -0
  133. md_processing/md_commands/ext_ref_commands.py +530 -0
  134. md_processing/md_commands/feedback_commands.py +726 -0
  135. md_processing/md_commands/glossary_commands.py +684 -0
  136. md_processing/md_commands/governance_officer_commands.py +600 -0
  137. md_processing/md_commands/product_manager_commands.py +1266 -0
  138. md_processing/md_commands/project_commands.py +383 -0
  139. md_processing/md_commands/solution_architect_commands.py +1184 -0
  140. md_processing/md_commands/view_commands.py +295 -0
  141. md_processing/md_processing_utils/__init__.py +4 -0
  142. md_processing/md_processing_utils/common_md_proc_utils.py +1249 -0
  143. md_processing/md_processing_utils/common_md_utils.py +578 -0
  144. md_processing/md_processing_utils/determine_width.py +103 -0
  145. md_processing/md_processing_utils/extraction_utils.py +547 -0
  146. md_processing/md_processing_utils/gen_report_specs.py +643 -0
  147. md_processing/md_processing_utils/generate_dr_help.py +193 -0
  148. md_processing/md_processing_utils/generate_md_cmd_templates.py +144 -0
  149. md_processing/md_processing_utils/generate_md_templates.py +83 -0
  150. md_processing/md_processing_utils/md_processing_constants.py +1228 -0
  151. md_processing/md_processing_utils/message_constants.py +19 -0
  152. pyegeria/__init__.py +201 -443
  153. pyegeria/core/__init__.py +40 -0
  154. pyegeria/core/_base_platform_client.py +574 -0
  155. pyegeria/core/_base_server_client.py +573 -0
  156. pyegeria/core/_exceptions.py +457 -0
  157. pyegeria/core/_globals.py +60 -0
  158. pyegeria/core/_server_client.py +6073 -0
  159. pyegeria/core/_validators.py +257 -0
  160. pyegeria/core/config.py +654 -0
  161. pyegeria/{create_tech_guid_lists.py → core/create_tech_guid_lists.py} +0 -1
  162. pyegeria/core/load_config.py +37 -0
  163. pyegeria/core/logging_configuration.py +207 -0
  164. pyegeria/core/mcp_adapter.py +144 -0
  165. pyegeria/core/mcp_server.py +212 -0
  166. pyegeria/core/utils.py +405 -0
  167. pyegeria/deprecated/__init__.py +0 -0
  168. pyegeria/{_client.py → deprecated/_client.py} +62 -24
  169. pyegeria/{_deprecated_gov_engine.py → deprecated/_deprecated_gov_engine.py} +16 -16
  170. pyegeria/{classification_manager_omvs.py → deprecated/classification_manager_omvs.py} +1988 -1878
  171. pyegeria/deprecated/output_formatter_with_machine_keys.py +1127 -0
  172. pyegeria/{runtime_manager_omvs.py → deprecated/runtime_manager_omvs.py} +216 -229
  173. pyegeria/{valid_metadata_omvs.py → deprecated/valid_metadata_omvs.py} +93 -93
  174. pyegeria/{x_action_author_omvs.py → deprecated/x_action_author_omvs.py} +2 -3
  175. pyegeria/egeria_cat_client.py +25 -51
  176. pyegeria/egeria_client.py +140 -98
  177. pyegeria/egeria_config_client.py +48 -24
  178. pyegeria/egeria_tech_client.py +170 -83
  179. pyegeria/models/__init__.py +150 -0
  180. pyegeria/models/collection_models.py +168 -0
  181. pyegeria/models/models.py +654 -0
  182. pyegeria/omvs/__init__.py +84 -0
  183. pyegeria/omvs/action_author.py +342 -0
  184. pyegeria/omvs/actor_manager.py +5980 -0
  185. pyegeria/omvs/asset_catalog.py +842 -0
  186. pyegeria/omvs/asset_maker.py +2736 -0
  187. pyegeria/omvs/automated_curation.py +4403 -0
  188. pyegeria/omvs/classification_manager.py +11213 -0
  189. pyegeria/omvs/collection_manager.py +5780 -0
  190. pyegeria/omvs/community_matters_omvs.py +468 -0
  191. pyegeria/{core_omag_server_config.py → omvs/core_omag_server_config.py} +157 -157
  192. pyegeria/{data_designer_omvs.py → omvs/data_designer.py} +1991 -1691
  193. pyegeria/omvs/data_discovery.py +869 -0
  194. pyegeria/omvs/data_engineer.py +372 -0
  195. pyegeria/omvs/digital_business.py +1133 -0
  196. pyegeria/omvs/external_links.py +1752 -0
  197. pyegeria/omvs/feedback_manager.py +834 -0
  198. pyegeria/{full_omag_server_config.py → omvs/full_omag_server_config.py} +73 -69
  199. pyegeria/omvs/glossary_manager.py +3231 -0
  200. pyegeria/omvs/governance_officer.py +3009 -0
  201. pyegeria/omvs/lineage_linker.py +314 -0
  202. pyegeria/omvs/location_arena.py +1525 -0
  203. pyegeria/omvs/metadata_expert.py +668 -0
  204. pyegeria/omvs/metadata_explorer_omvs.py +2943 -0
  205. pyegeria/omvs/my_profile.py +1042 -0
  206. pyegeria/omvs/notification_manager.py +358 -0
  207. pyegeria/omvs/people_organizer.py +394 -0
  208. pyegeria/{platform_services.py → omvs/platform_services.py} +113 -193
  209. pyegeria/omvs/product_manager.py +1825 -0
  210. pyegeria/omvs/project_manager.py +1907 -0
  211. pyegeria/omvs/reference_data.py +1140 -0
  212. pyegeria/omvs/registered_info.py +334 -0
  213. pyegeria/omvs/runtime_manager.py +2817 -0
  214. pyegeria/omvs/schema_maker.py +446 -0
  215. pyegeria/{server_operations.py → omvs/server_operations.py} +27 -26
  216. pyegeria/omvs/solution_architect.py +6490 -0
  217. pyegeria/omvs/specification_properties.py +37 -0
  218. pyegeria/omvs/subject_area.py +1042 -0
  219. pyegeria/omvs/template_manager_omvs.py +236 -0
  220. pyegeria/omvs/time_keeper.py +1761 -0
  221. pyegeria/omvs/valid_metadata.py +3221 -0
  222. pyegeria/omvs/valid_metadata_lists.py +37 -0
  223. pyegeria/omvs/valid_type_lists.py +37 -0
  224. pyegeria/view/__init__.py +28 -0
  225. pyegeria/view/_output_format_models.py +514 -0
  226. pyegeria/view/_output_formats.py +14 -0
  227. pyegeria/view/base_report_formats.py +2719 -0
  228. pyegeria/view/dr_egeria_reports.py +56 -0
  229. pyegeria/view/format_set_executor.py +397 -0
  230. pyegeria/{md_processing_utils.py → view/md_processing_utils.py} +5 -5
  231. pyegeria/{mermaid_utilities.py → view/mermaid_utilities.py} +2 -154
  232. pyegeria/view/output_formatter.py +1297 -0
  233. pyegeria-5.5.3.3.dist-info/METADATA +218 -0
  234. pyegeria-5.5.3.3.dist-info/RECORD +241 -0
  235. {pyegeria-5.3.9.9.3.dist-info → pyegeria-5.5.3.3.dist-info}/WHEEL +2 -1
  236. pyegeria-5.5.3.3.dist-info/entry_points.txt +103 -0
  237. pyegeria-5.5.3.3.dist-info/top_level.txt +4 -0
  238. commands/cat/.DS_Store +0 -0
  239. commands/cat/README.md +0 -16
  240. commands/cli/txt_custom_v2.tcss +0 -19
  241. commands/my/README.md +0 -17
  242. commands/ops/README.md +0 -24
  243. commands/ops/monitor_asset_events.py +0 -108
  244. commands/tech/README.md +0 -24
  245. pyegeria/.DS_Store +0 -0
  246. pyegeria/README.md +0 -35
  247. pyegeria/_globals.py +0 -47
  248. pyegeria/_validators.py +0 -385
  249. pyegeria/asset_catalog_omvs.py +0 -864
  250. pyegeria/automated_curation_omvs.py +0 -3765
  251. pyegeria/collection_manager_omvs.py +0 -2744
  252. pyegeria/dr.egeria spec.md +0 -9
  253. pyegeria/egeria_my_client.py +0 -56
  254. pyegeria/feedback_manager_omvs.py +0 -4573
  255. pyegeria/glossary_browser_omvs.py +0 -3728
  256. pyegeria/glossary_manager_omvs.py +0 -2440
  257. pyegeria/m_test.py +0 -118
  258. pyegeria/md_processing_helpers.py +0 -58
  259. pyegeria/md_processing_utils_orig.py +0 -1103
  260. pyegeria/metadata_explorer_omvs.py +0 -2326
  261. pyegeria/my_profile_omvs.py +0 -1022
  262. pyegeria/output_formatter.py +0 -389
  263. pyegeria/project_manager_omvs.py +0 -1933
  264. pyegeria/registered_info.py +0 -167
  265. pyegeria/solution_architect_omvs.py +0 -2156
  266. pyegeria/template_manager_omvs.py +0 -1414
  267. pyegeria/utils.py +0 -197
  268. pyegeria-5.3.9.9.3.dist-info/METADATA +0 -72
  269. pyegeria-5.3.9.9.3.dist-info/RECORD +0 -143
  270. pyegeria-5.3.9.9.3.dist-info/entry_points.txt +0 -99
  271. /pyegeria/{_exceptions.py → deprecated/_exceptions.py} +0 -0
  272. {pyegeria-5.3.9.9.3.dist-info → pyegeria-5.5.3.3.dist-info/licenses}/LICENSE +0 -0
@@ -0,0 +1,84 @@
1
+ """
2
+ OMVS Module Clients for ODPi Egeria.
3
+ """
4
+ from pyegeria.omvs.action_author import ActionAuthor
5
+ from pyegeria.omvs.actor_manager import ActorManager
6
+ from pyegeria.omvs.asset_catalog import AssetCatalog
7
+ from pyegeria.omvs.asset_maker import AssetMaker
8
+ from pyegeria.omvs.automated_curation import AutomatedCuration
9
+ from pyegeria.omvs.classification_manager import ClassificationManager
10
+ from pyegeria.omvs.collection_manager import CollectionManager
11
+ from pyegeria.omvs.community_matters_omvs import CommunityMatters
12
+ from pyegeria.omvs.data_designer import DataDesigner
13
+ from pyegeria.omvs.data_discovery import DataDiscovery
14
+ from pyegeria.omvs.data_engineer import DataEngineer
15
+ from pyegeria.omvs.digital_business import DigitalBusiness
16
+ from pyegeria.omvs.external_links import ExternalReferences
17
+ from pyegeria.omvs.feedback_manager import FeedbackManager
18
+ from pyegeria.omvs.full_omag_server_config import FullServerConfig
19
+ from pyegeria.omvs.glossary_manager import GlossaryManager
20
+ from pyegeria.omvs.governance_officer import GovernanceOfficer
21
+ from pyegeria.omvs.lineage_linker import LineageLinker
22
+ from pyegeria.omvs.location_arena import Location
23
+ from pyegeria.omvs.metadata_expert import MetadataExpert
24
+ from pyegeria.omvs.metadata_explorer_omvs import MetadataExplorer
25
+ from pyegeria.omvs.my_profile import MyProfile
26
+ from pyegeria.omvs.notification_manager import NotificationManager
27
+ from pyegeria.omvs.people_organizer import PeopleOrganizer
28
+ from pyegeria.omvs.product_manager import ProductManager
29
+ from pyegeria.omvs.project_manager import ProjectManager
30
+ from pyegeria.omvs.reference_data import ReferenceDataManager
31
+ from pyegeria.omvs.registered_info import RegisteredInfo
32
+ from pyegeria.omvs.runtime_manager import RuntimeManager
33
+ from pyegeria.omvs.schema_maker import SchemaMaker
34
+ from pyegeria.omvs.server_operations import ServerOps
35
+ from pyegeria.omvs.solution_architect import SolutionArchitect
36
+ from pyegeria.omvs.specification_properties import SpecificationProperties
37
+ from pyegeria.omvs.subject_area import SubjectArea
38
+ from pyegeria.omvs.template_manager_omvs import TemplateManager
39
+ from pyegeria.omvs.time_keeper import TimeKeeper
40
+ from pyegeria.omvs.valid_metadata import ValidMetadataManager
41
+ from pyegeria.omvs.valid_metadata_lists import ValidMetadataLists
42
+ from pyegeria.omvs.valid_type_lists import ValidTypeLists
43
+
44
+ __all__ = [
45
+ "ActionAuthor",
46
+ "ActorManager",
47
+ "AssetCatalog",
48
+ "AssetMaker",
49
+ "AutomatedCuration",
50
+ "ClassificationManager",
51
+ "CollectionManager",
52
+ "CommunityMatters",
53
+ "DataDesigner",
54
+ "DataDiscovery",
55
+ "DataEngineer",
56
+ "DigitalBusiness",
57
+ "ExternalReferences",
58
+ "FeedbackManager",
59
+ "FullServerConfig",
60
+ "GlossaryManager",
61
+ "GovernanceOfficer",
62
+ "LineageLinker",
63
+ "Location",
64
+ "MetadataExpert",
65
+ "MetadataExplorer",
66
+ "MyProfile",
67
+ "NotificationManager",
68
+ "PeopleOrganizer",
69
+ "ProductManager",
70
+ "ProjectManager",
71
+ "ReferenceDataManager",
72
+ "RegisteredInfo",
73
+ "RuntimeManager",
74
+ "SchemaMaker",
75
+ "ServerOps",
76
+ "SolutionArchitect",
77
+ "SpecificationProperties",
78
+ "SubjectArea",
79
+ "TemplateManager",
80
+ "TimeKeeper",
81
+ "ValidMetadataManager",
82
+ "ValidMetadataLists",
83
+ "ValidTypeLists",
84
+ ]
@@ -0,0 +1,342 @@
1
+ """
2
+ PDX-License-Identifier: Apache-2.0
3
+ Copyright Contributors to the ODPi Egeria project.
4
+
5
+ This module contains the Action Author View Service client.
6
+ """
7
+
8
+ import asyncio
9
+ from typing import Annotated, Literal, Optional
10
+
11
+ from pydantic import Field
12
+
13
+ from pyegeria.core._server_client import ServerClient
14
+ from pyegeria.models import (
15
+ NewRelationshipRequestBody,
16
+ DeleteRelationshipRequestBody,
17
+ UpdateRelationshipRequestBody,
18
+ RelationshipBeanProperties,
19
+ )
20
+ from pyegeria.core.utils import dynamic_catch
21
+
22
+
23
+ class GovernanceActionExecutorProperties(RelationshipBeanProperties):
24
+ class_: Annotated[Literal["GovernanceActionExecutorProperties"], Field(alias="class")]
25
+ request_type: Optional[str] = None
26
+ request_parameters: Optional[dict] = None
27
+ request_parameter_filter: Optional[list] = None
28
+ request_parameter_map: Optional[dict] = None
29
+ action_target_filter: Optional[list] = None
30
+ action_target_map: Optional[dict] = None
31
+
32
+
33
+ class TargetForGovernanceActionProperties(RelationshipBeanProperties):
34
+ class_: Annotated[Literal["TargetForGovernanceActionProperties"], Field(alias="class")]
35
+ action_target_name: Optional[str] = None
36
+
37
+
38
+ class GovernanceActionProcessFlowProperties(RelationshipBeanProperties):
39
+ class_: Annotated[Literal["GovernanceActionProcessFlowProperties"], Field(alias="class")]
40
+ guard: Optional[str] = None
41
+ request_parameters: Optional[dict] = None
42
+ mandatory_guard: Optional[bool] = None
43
+
44
+
45
+ class NextGovernanceActionProcessStepProperties(RelationshipBeanProperties):
46
+ class_: Annotated[Literal["NextGovernanceActionProcessStepProperties"], Field(alias="class")]
47
+ guard: Optional[str] = None
48
+ mandatory_guard: Optional[bool] = None
49
+
50
+
51
+ class ActionAuthor(ServerClient):
52
+ """
53
+ Client for the Action Author View Service.
54
+
55
+ The Action Author View Service provides methods to manage governance actions,
56
+ governance action processes and their steps.
57
+
58
+ Attributes
59
+ ----------
60
+ view_server : str
61
+ The name of the View Server to use.
62
+ platform_url : str
63
+ URL of the server platform to connect to.
64
+ user_id : str
65
+ The identity of the user calling the method.
66
+ user_pwd : str
67
+ The password associated with the user_id. Defaults to None.
68
+ """
69
+
70
+ def __init__(
71
+ self,
72
+ view_server: str,
73
+ platform_url: str,
74
+ user_id: str,
75
+ user_pwd: Optional[str] = None,
76
+ token: Optional[str] = None,
77
+ ):
78
+ super().__init__(view_server, platform_url, user_id, user_pwd, token)
79
+ self.view_server = view_server
80
+ self.platform_url = platform_url
81
+ self.user_id = user_id
82
+ self.user_pwd = user_pwd
83
+ self.url_marker = "action-author"
84
+
85
+ @dynamic_catch
86
+ async def _async_link_governance_action_executor(
87
+ self,
88
+ governance_action_type_guid: str,
89
+ governance_engine_guid: str,
90
+ body: dict | NewRelationshipRequestBody,
91
+ ) -> None:
92
+ """Link a governance action type to a governance engine. Async version.
93
+
94
+ Parameters
95
+ ----------
96
+ governance_action_type_guid : str
97
+ The unique identifier of the governance action type.
98
+ governance_engine_guid : str
99
+ The unique identifier of the governance engine.
100
+ body : dict | NewRelationshipRequestBody
101
+ The properties for the relationship.
102
+
103
+ Returns
104
+ -------
105
+ None
106
+
107
+ Raises
108
+ ------
109
+ PyegeriaException
110
+ If there are issues in communications, message format, or Egeria errors.
111
+
112
+ Notes
113
+ -----
114
+ Sample JSON body:
115
+ ```json
116
+ {
117
+ "class" : "NewRelationshipRequestBody",
118
+ "properties": {
119
+ "class": "GovernanceActionExecutorProperties",
120
+ "requestType": "add label here",
121
+ "requestParameters": {},
122
+ "requestParameterFilter": [],
123
+ "requestParameterMap": {},
124
+ "actionTargetFilter": [],
125
+ "actionTargetMap": {}
126
+ }
127
+ }
128
+ ```
129
+ """
130
+ url = f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/action-author/governance-action-types/{governance_action_type_guid}/governance-engine-executor/{governance_engine_guid}/attach"
131
+ await self._async_new_relationship_request(url, ["GovernanceActionExecutorProperties"], body)
132
+
133
+ def link_governance_action_executor(
134
+ self,
135
+ governance_action_type_guid: str,
136
+ governance_engine_guid: str,
137
+ body: dict | NewRelationshipRequestBody,
138
+ ) -> None:
139
+ """Link a governance action type to a governance engine.
140
+
141
+ Parameters
142
+ ----------
143
+ governance_action_type_guid : str
144
+ The unique identifier of the governance action type.
145
+ governance_engine_guid : str
146
+ The unique identifier of the governance engine.
147
+ body : dict | NewRelationshipRequestBody
148
+ The properties for the relationship.
149
+
150
+ Returns
151
+ -------
152
+ None
153
+
154
+ Raises
155
+ ------
156
+ PyegeriaException
157
+ If there are issues in communications, message format, or Egeria errors.
158
+
159
+ Notes
160
+ -----
161
+ Sample JSON body:
162
+ ```json
163
+ {
164
+ "class" : "NewRelationshipRequestBody",
165
+ "properties": {
166
+ "class": "GovernanceActionExecutorProperties",
167
+ "requestType": "add label here",
168
+ "requestParameters": {},
169
+ "requestParameterFilter": [],
170
+ "requestParameterMap": {},
171
+ "actionTargetFilter": [],
172
+ "actionTargetMap": {}
173
+ }
174
+ }
175
+ ```
176
+ """
177
+ loop = asyncio.get_event_loop()
178
+ loop.run_until_complete(
179
+ self._async_link_governance_action_executor(
180
+ governance_action_type_guid, governance_engine_guid, body
181
+ )
182
+ )
183
+
184
+ @dynamic_catch
185
+ async def _async_detach_governance_action_executor(
186
+ self,
187
+ governance_action_type_guid: str,
188
+ governance_engine_guid: str,
189
+ body: dict | DeleteRelationshipRequestBody,
190
+ ) -> None:
191
+ url = f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/action-author/governance-action-types/{governance_action_type_guid}/governance-engine-executor/{governance_engine_guid}/detach"
192
+ await self._async_delete_relationship_request(url, body)
193
+
194
+ def detach_governance_action_executor(
195
+ self,
196
+ governance_action_type_guid: str,
197
+ governance_engine_guid: str,
198
+ body: dict | DeleteRelationshipRequestBody,
199
+ ) -> None:
200
+ loop = asyncio.get_event_loop()
201
+ loop.run_until_complete(
202
+ self._async_detach_governance_action_executor(
203
+ governance_action_type_guid, governance_engine_guid, body
204
+ )
205
+ )
206
+
207
+ @dynamic_catch
208
+ async def _async_link_target_for_governance_action(
209
+ self,
210
+ governance_action_guid: str,
211
+ element_guid: str,
212
+ body: dict | NewRelationshipRequestBody,
213
+ ) -> None:
214
+ url = f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/action-author/governance-actions/{governance_action_guid}/action-targets/{element_guid}/attach"
215
+ await self._async_new_relationship_request(url, ["TargetForGovernanceActionProperties"], body)
216
+
217
+ def link_target_for_governance_action(
218
+ self,
219
+ governance_action_guid: str,
220
+ element_guid: str,
221
+ body: dict | NewRelationshipRequestBody,
222
+ ) -> None:
223
+ loop = asyncio.get_event_loop()
224
+ loop.run_until_complete(
225
+ self._async_link_target_for_governance_action(governance_action_guid, element_guid, body)
226
+ )
227
+
228
+ @dynamic_catch
229
+ async def _async_detach_target_for_governance_action(
230
+ self,
231
+ governance_action_guid: str,
232
+ element_guid: str,
233
+ body: dict | DeleteRelationshipRequestBody,
234
+ ) -> None:
235
+ url = f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/action-author/governance-actions/{governance_action_guid}/action-targets/{element_guid}/detach"
236
+ await self._async_delete_relationship_request(url, body)
237
+
238
+ def detach_target_for_governance_action(
239
+ self,
240
+ governance_action_guid: str,
241
+ element_guid: str,
242
+ body: dict | DeleteRelationshipRequestBody,
243
+ ) -> None:
244
+ loop = asyncio.get_event_loop()
245
+ loop.run_until_complete(
246
+ self._async_detach_target_for_governance_action(
247
+ governance_action_guid, element_guid, body
248
+ )
249
+ )
250
+
251
+ @dynamic_catch
252
+ async def _async_setup_first_action_process_step(
253
+ self,
254
+ process_guid: str,
255
+ process_step_guid: str,
256
+ body: dict | NewRelationshipRequestBody,
257
+ ) -> None:
258
+ url = f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/action-author/governance-action-processes/{process_guid}/first-process-step/{process_step_guid}/attach"
259
+ await self._async_new_relationship_request(url, ["GovernanceActionProcessFlowProperties"], body)
260
+
261
+ def setup_first_action_process_step(
262
+ self,
263
+ process_guid: str,
264
+ process_step_guid: str,
265
+ body: dict | NewRelationshipRequestBody,
266
+ ) -> None:
267
+ loop = asyncio.get_event_loop()
268
+ loop.run_until_complete(
269
+ self._async_setup_first_action_process_step(process_guid, process_step_guid, body)
270
+ )
271
+
272
+ @dynamic_catch
273
+ async def _async_remove_first_action_process_step(
274
+ self,
275
+ process_guid: str,
276
+ ) -> None:
277
+ url = f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/action-author/governance-action-processes/{process_guid}/first-process-step/detach"
278
+ await self._async_make_request("POST", url)
279
+
280
+ def remove_first_action_process_step(
281
+ self,
282
+ process_guid: str,
283
+ ) -> None:
284
+ loop = asyncio.get_event_loop()
285
+ loop.run_until_complete(self._async_remove_first_action_process_step(process_guid))
286
+
287
+ @dynamic_catch
288
+ async def _async_setup_next_action_process_step(
289
+ self,
290
+ process_step_guid: str,
291
+ next_process_step_guid: str,
292
+ body: dict | NewRelationshipRequestBody,
293
+ ) -> None:
294
+ url = f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/action-author/governance-action-process-steps/{process_step_guid}/next-process-steps/{next_process_step_guid}/attach"
295
+ await self._async_new_relationship_request(url, ["NextGovernanceActionProcessStepProperties"], body)
296
+
297
+ def setup_next_action_process_step(
298
+ self,
299
+ process_step_guid: str,
300
+ next_process_step_guid: str,
301
+ body: dict | NewRelationshipRequestBody,
302
+ ) -> None:
303
+ loop = asyncio.get_event_loop()
304
+ loop.run_until_complete(
305
+ self._async_setup_next_action_process_step(
306
+ process_step_guid, next_process_step_guid, body
307
+ )
308
+ )
309
+
310
+ @dynamic_catch
311
+ async def _async_update_next_action_process_step(
312
+ self,
313
+ relationship_guid: str,
314
+ body: dict | UpdateRelationshipRequestBody,
315
+ ) -> None:
316
+ url = f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/action-author/governance-action-process-steps/next-process-steps/{relationship_guid}/update"
317
+ await self._async_update_relationship_body_request(url, body)
318
+
319
+ def update_next_action_process_step(
320
+ self,
321
+ relationship_guid: str,
322
+ body: dict | UpdateRelationshipRequestBody,
323
+ ) -> None:
324
+ loop = asyncio.get_event_loop()
325
+ loop.run_until_complete(
326
+ self._async_update_next_action_process_step(relationship_guid, body)
327
+ )
328
+
329
+ @dynamic_catch
330
+ async def _async_remove_next_action_process_step(
331
+ self,
332
+ relationship_guid: str,
333
+ ) -> None:
334
+ url = f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/action-author/governance-action-process-steps/next-process-step/{relationship_guid}/detach"
335
+ await self._async_make_request("POST", url)
336
+
337
+ def remove_next_action_process_step(
338
+ self,
339
+ relationship_guid: str,
340
+ ) -> None:
341
+ loop = asyncio.get_event_loop()
342
+ loop.run_until_complete(self._async_remove_next_action_process_step(relationship_guid))