pyegeria 5.4.0.28__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 (433) hide show
  1. commands/__init__.py +24 -0
  2. commands/cat/Dr-Egeria_md-orig.py +2 -2
  3. commands/cat/collection_actions.py +197 -0
  4. commands/cat/dr_egeria_command_help.py +137 -38
  5. commands/cat/dr_egeria_jupyter.py +7 -7
  6. commands/cat/dr_egeria_md.py +10 -267
  7. commands/cat/exp_list_glossaries.py +11 -14
  8. commands/cat/get_asset_graph.py +37 -267
  9. commands/cat/{get_collection.py → get_collection_tree.py} +10 -18
  10. commands/cat/get_project_dependencies.py +14 -14
  11. commands/cat/get_project_structure.py +15 -14
  12. commands/cat/get_tech_type_elements.py +16 -116
  13. commands/cat/glossary_actions.py +145 -298
  14. commands/cat/list_assets.py +3 -11
  15. commands/cat/list_cert_types.py +17 -63
  16. commands/cat/list_collections.py +17 -139
  17. commands/cat/list_deployed_catalogs.py +15 -27
  18. commands/cat/list_deployed_database_schemas.py +27 -43
  19. commands/cat/list_deployed_databases.py +16 -31
  20. commands/cat/list_deployed_servers.py +35 -54
  21. commands/cat/list_glossaries.py +18 -17
  22. commands/cat/list_projects.py +10 -12
  23. commands/cat/list_tech_type_elements.py +21 -37
  24. commands/cat/list_tech_types.py +13 -25
  25. commands/cat/list_terms.py +38 -79
  26. commands/cat/list_todos.py +4 -11
  27. commands/cat/list_user_ids.py +3 -10
  28. commands/cat/my_reports.py +559 -0
  29. commands/cat/run_report.py +394 -0
  30. commands/cat/{list_format_set.py → run_report_orig.py} +136 -44
  31. commands/cli/egeria.py +182 -219
  32. commands/cli/egeria_cat.py +32 -59
  33. commands/cli/egeria_my.py +13 -0
  34. commands/cli/egeria_ops.py +69 -74
  35. commands/cli/egeria_tech.py +17 -93
  36. commands/{cat → deprecated}/list_data_designer.py +2 -4
  37. commands/{cat → deprecated}/list_data_structures_full.py +3 -6
  38. commands/deprecated/old_get_asset_graph.py +315 -0
  39. commands/my/__init__.py +0 -2
  40. commands/my/list_my_profile.py +27 -34
  41. commands/my/list_my_roles.py +1 -7
  42. commands/my/monitor_my_todos.py +1 -7
  43. commands/my/monitor_open_todos.py +6 -7
  44. commands/my/todo_actions.py +4 -5
  45. commands/ops/__init__.py +0 -2
  46. commands/ops/gov_server_actions.py +17 -21
  47. commands/ops/list_archives.py +17 -38
  48. commands/ops/list_catalog_targets.py +33 -40
  49. commands/ops/load_archive.py +14 -11
  50. commands/ops/{monitor_engine_activity_c.py → monitor_active_engine_activity.py} +51 -82
  51. commands/ops/{monitor_integ_daemon_status.py → monitor_daemon_status.py} +35 -55
  52. commands/ops/monitor_engine_activity.py +79 -77
  53. commands/ops/{monitor_gov_eng_status.py → monitor_engine_status.py} +10 -7
  54. commands/ops/monitor_platform_status.py +38 -50
  55. commands/ops/monitor_server_startup.py +6 -11
  56. commands/ops/monitor_server_status.py +7 -11
  57. commands/ops/orig_monitor_server_list.py +8 -8
  58. commands/ops/orig_monitor_server_status.py +1 -5
  59. commands/ops/refresh_integration_daemon.py +5 -5
  60. commands/ops/restart_integration_daemon.py +5 -5
  61. commands/ops/table_integ_daemon_status.py +6 -6
  62. commands/ops/x_engine_actions.py +7 -7
  63. commands/tech/__init__.py +0 -2
  64. commands/tech/{generic_actions.py → element_actions.py} +6 -11
  65. commands/tech/get_element_info.py +20 -29
  66. commands/tech/get_guid_info.py +23 -42
  67. commands/tech/get_tech_details.py +20 -35
  68. commands/tech/get_tech_type_template.py +28 -39
  69. commands/tech/list_all_om_type_elements.py +24 -30
  70. commands/tech/list_all_om_type_elements_x.py +22 -28
  71. commands/tech/list_all_related_elements.py +19 -28
  72. commands/tech/list_anchored_elements.py +22 -30
  73. commands/tech/list_asset_types.py +19 -24
  74. commands/tech/list_elements_by_classification_by_property_value.py +26 -32
  75. commands/tech/list_elements_by_property_value.py +19 -25
  76. commands/tech/list_elements_by_property_value_x.py +20 -28
  77. commands/tech/list_elements_for_classification.py +28 -41
  78. commands/tech/list_gov_action_processes.py +16 -27
  79. commands/tech/list_information_supply_chains.py +22 -30
  80. commands/tech/list_registered_services.py +14 -26
  81. commands/tech/list_related_elements_with_prop_value.py +15 -25
  82. commands/tech/list_related_specification.py +1 -4
  83. commands/tech/list_relationship_types.py +15 -25
  84. commands/tech/list_relationships.py +20 -36
  85. commands/tech/list_solution_blueprints.py +28 -33
  86. commands/tech/list_solution_components.py +23 -29
  87. commands/tech/list_solution_roles.py +21 -32
  88. commands/tech/list_tech_templates.py +51 -54
  89. commands/tech/list_valid_metadata_values.py +5 -9
  90. commands/tech/table_tech_templates.py +2 -6
  91. commands/tech/x_list_related_elements.py +1 -4
  92. examples/GeoSpatial Products Example.py +524 -0
  93. examples/Jupyter Notebooks/P-egeria-server-config.ipynb +2137 -0
  94. examples/Jupyter Notebooks/README.md +2 -0
  95. examples/Jupyter Notebooks/common/P-environment-check.ipynb +115 -0
  96. examples/Jupyter Notebooks/common/__init__.py +14 -0
  97. examples/Jupyter Notebooks/common/common-functions.ipynb +4694 -0
  98. examples/Jupyter Notebooks/common/environment-check.ipynb +52 -0
  99. examples/Jupyter Notebooks/common/globals.ipynb +184 -0
  100. examples/Jupyter Notebooks/common/globals.py +154 -0
  101. examples/Jupyter Notebooks/common/orig_globals.py +152 -0
  102. examples/format_sets/all_format_sets.json +910 -0
  103. examples/format_sets/custom_format_sets.json +268 -0
  104. examples/format_sets/subset_format_sets.json +187 -0
  105. examples/format_sets_save_load_example.py +291 -0
  106. examples/jacquard_data_sets.py +129 -0
  107. examples/output_formats_example.py +193 -0
  108. examples/test_jacquard_data_sets.py +54 -0
  109. examples/test_jacquard_data_sets_scenarios.py +94 -0
  110. md_processing/__init__.py +33 -24
  111. md_processing/command_dispatcher.py +33 -0
  112. md_processing/command_mapping.py +221 -0
  113. md_processing/data/commands/commands_data_designer.json +537 -0
  114. md_processing/data/commands/commands_external_reference.json +733 -0
  115. md_processing/data/commands/commands_feedback.json +155 -0
  116. md_processing/data/commands/commands_general.json +204 -0
  117. md_processing/data/commands/commands_glossary.json +218 -0
  118. md_processing/data/commands/commands_governance.json +3678 -0
  119. md_processing/data/commands/commands_product_manager.json +865 -0
  120. md_processing/data/commands/commands_project.json +642 -0
  121. md_processing/data/commands/commands_solution_architect.json +366 -0
  122. md_processing/data/commands.json +6489 -30060
  123. md_processing/data/{commands-working.json → commands_working.json} +9304 -13513
  124. md_processing/data/gened_report_specs.py +6584 -0
  125. md_processing/data/generated_format_sets.json +6533 -0
  126. md_processing/data/generated_format_sets_old.json +4137 -0
  127. md_processing/data/generated_format_sets_old.py +45 -0
  128. md_processing/dr_egeria.py +182 -0
  129. md_processing/md_commands/data_designer_commands.py +195 -583
  130. md_processing/md_commands/ext_ref_commands.py +530 -0
  131. md_processing/md_commands/feedback_commands.py +726 -0
  132. md_processing/md_commands/glossary_commands.py +106 -490
  133. md_processing/md_commands/governance_officer_commands.py +129 -18
  134. md_processing/md_commands/product_manager_commands.py +362 -115
  135. md_processing/md_commands/project_commands.py +351 -134
  136. md_processing/md_commands/solution_architect_commands.py +276 -232
  137. md_processing/md_commands/view_commands.py +295 -0
  138. md_processing/md_processing_utils/common_md_proc_utils.py +258 -166
  139. md_processing/md_processing_utils/common_md_utils.py +138 -43
  140. md_processing/md_processing_utils/determine_width.py +103 -0
  141. md_processing/md_processing_utils/extraction_utils.py +100 -39
  142. md_processing/md_processing_utils/gen_report_specs.py +643 -0
  143. md_processing/md_processing_utils/generate_dr_help.py +61 -33
  144. md_processing/md_processing_utils/generate_md_cmd_templates.py +20 -19
  145. md_processing/md_processing_utils/generate_md_templates.py +3 -12
  146. md_processing/md_processing_utils/md_processing_constants.py +1053 -72
  147. pyegeria/__init__.py +203 -158
  148. pyegeria/core/__init__.py +40 -0
  149. pyegeria/core/_base_platform_client.py +574 -0
  150. pyegeria/core/_base_server_client.py +573 -0
  151. pyegeria/{_exceptions_new.py → core/_exceptions.py} +62 -30
  152. pyegeria/{_globals.py → core/_globals.py} +14 -3
  153. pyegeria/core/_server_client.py +6073 -0
  154. pyegeria/{_validators.py → core/_validators.py} +7 -8
  155. pyegeria/core/config.py +654 -0
  156. pyegeria/{create_tech_guid_lists.py → core/create_tech_guid_lists.py} +0 -1
  157. pyegeria/core/load_config.py +37 -0
  158. pyegeria/{logging_configuration.py → core/logging_configuration.py} +1 -1
  159. pyegeria/core/mcp_adapter.py +144 -0
  160. pyegeria/core/mcp_server.py +212 -0
  161. pyegeria/core/utils.py +405 -0
  162. pyegeria/{_client.py → deprecated/_client.py} +24 -25
  163. pyegeria/{_deprecated_gov_engine.py → deprecated/_deprecated_gov_engine.py} +16 -16
  164. pyegeria/{classification_manager_omvs.py → deprecated/classification_manager_omvs.py} +1987 -1877
  165. pyegeria/{output_formatter.py → deprecated/output_formatter_with_machine_keys.py} +298 -45
  166. pyegeria/{runtime_manager_omvs.py → deprecated/runtime_manager_omvs.py} +155 -171
  167. pyegeria/{valid_metadata_omvs.py → deprecated/valid_metadata_omvs.py} +93 -93
  168. pyegeria/{x_action_author_omvs.py → deprecated/x_action_author_omvs.py} +2 -3
  169. pyegeria/egeria_cat_client.py +26 -70
  170. pyegeria/egeria_client.py +130 -93
  171. pyegeria/egeria_config_client.py +40 -46
  172. pyegeria/egeria_tech_client.py +141 -54
  173. pyegeria/models/__init__.py +150 -0
  174. pyegeria/{models.py → models/models.py} +156 -20
  175. pyegeria/omvs/__init__.py +84 -0
  176. pyegeria/omvs/action_author.py +342 -0
  177. pyegeria/omvs/actor_manager.py +5980 -0
  178. pyegeria/omvs/asset_catalog.py +842 -0
  179. pyegeria/omvs/asset_maker.py +2736 -0
  180. pyegeria/omvs/automated_curation.py +4403 -0
  181. pyegeria/omvs/classification_manager.py +11213 -0
  182. pyegeria/{collection_manager.py → omvs/collection_manager.py} +1334 -1160
  183. pyegeria/omvs/community_matters_omvs.py +468 -0
  184. pyegeria/{core_omag_server_config.py → omvs/core_omag_server_config.py} +157 -157
  185. pyegeria/{data_designer.py → omvs/data_designer.py} +1115 -660
  186. pyegeria/omvs/data_discovery.py +869 -0
  187. pyegeria/omvs/data_engineer.py +372 -0
  188. pyegeria/omvs/digital_business.py +1133 -0
  189. pyegeria/omvs/external_links.py +1752 -0
  190. pyegeria/omvs/feedback_manager.py +834 -0
  191. pyegeria/{full_omag_server_config.py → omvs/full_omag_server_config.py} +73 -69
  192. pyegeria/{glossary_manager.py → omvs/glossary_manager.py} +857 -519
  193. pyegeria/{governance_officer.py → omvs/governance_officer.py} +964 -468
  194. pyegeria/omvs/lineage_linker.py +314 -0
  195. pyegeria/omvs/location_arena.py +1525 -0
  196. pyegeria/omvs/metadata_expert.py +668 -0
  197. pyegeria/omvs/metadata_explorer_omvs.py +2943 -0
  198. pyegeria/omvs/my_profile.py +1042 -0
  199. pyegeria/omvs/notification_manager.py +358 -0
  200. pyegeria/omvs/people_organizer.py +394 -0
  201. pyegeria/{platform_services.py → omvs/platform_services.py} +113 -193
  202. pyegeria/omvs/product_manager.py +1825 -0
  203. pyegeria/omvs/project_manager.py +1907 -0
  204. pyegeria/omvs/reference_data.py +1140 -0
  205. pyegeria/omvs/registered_info.py +334 -0
  206. pyegeria/omvs/runtime_manager.py +2817 -0
  207. pyegeria/omvs/schema_maker.py +446 -0
  208. pyegeria/{server_operations.py → omvs/server_operations.py} +27 -26
  209. pyegeria/{solution_architect_omvs.py → omvs/solution_architect.py} +1886 -1505
  210. pyegeria/omvs/specification_properties.py +37 -0
  211. pyegeria/omvs/subject_area.py +1042 -0
  212. pyegeria/omvs/template_manager_omvs.py +236 -0
  213. pyegeria/omvs/time_keeper.py +1761 -0
  214. pyegeria/omvs/valid_metadata.py +3221 -0
  215. pyegeria/omvs/valid_metadata_lists.py +37 -0
  216. pyegeria/omvs/valid_type_lists.py +37 -0
  217. pyegeria/view/__init__.py +28 -0
  218. pyegeria/{_output_format_models.py → view/_output_format_models.py} +160 -24
  219. pyegeria/view/_output_formats.py +14 -0
  220. pyegeria/view/base_report_formats.py +2719 -0
  221. pyegeria/view/dr_egeria_reports.py +56 -0
  222. pyegeria/view/format_set_executor.py +397 -0
  223. pyegeria/{md_processing_utils.py → view/md_processing_utils.py} +5 -5
  224. pyegeria/{mermaid_utilities.py → view/mermaid_utilities.py} +2 -154
  225. pyegeria/view/output_formatter.py +1297 -0
  226. pyegeria-5.5.3.3.dist-info/METADATA +218 -0
  227. pyegeria-5.5.3.3.dist-info/RECORD +241 -0
  228. {pyegeria-5.4.0.28.dist-info → pyegeria-5.5.3.3.dist-info}/WHEEL +2 -1
  229. pyegeria-5.5.3.3.dist-info/entry_points.txt +103 -0
  230. pyegeria-5.5.3.3.dist-info/top_level.txt +4 -0
  231. commands/cat/.DS_Store +0 -0
  232. commands/cat/.env +0 -8
  233. commands/cat/README.md +0 -16
  234. commands/cat/debug_log +0 -1126
  235. commands/cat/debug_log.2025-08-18_11-34-38_088636.zip +0 -0
  236. commands/cat/list_categories.py +0 -192
  237. commands/cat/logs/pyegeria.log +0 -4
  238. commands/cli/debug_log +0 -0
  239. commands/cli/debug_log.log +0 -0
  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/logs/pyegeria.log +0 -0
  244. commands/ops/monitor_asset_events.py +0 -108
  245. commands/tech/README.md +0 -24
  246. md_processing/.DS_Store +0 -0
  247. md_processing/dr-egeria-outbox/Collections-2025-08-12-13-30-37.md +0 -163
  248. md_processing/dr-egeria-outbox/Collections-2025-08-12-13-35-58.md +0 -474
  249. md_processing/dr_egeria_inbox/Derive-Dr-Gov-Defs.md +0 -8
  250. md_processing/dr_egeria_inbox/Dr.Egeria Templates.md +0 -873
  251. md_processing/dr_egeria_inbox/arch_test.md +0 -57
  252. md_processing/dr_egeria_inbox/archive/dr_egeria_intro.md +0 -254
  253. md_processing/dr_egeria_inbox/archive/dr_egeria_intro_more_terms.md +0 -696
  254. md_processing/dr_egeria_inbox/archive/dr_egeria_intro_part1.md +0 -254
  255. md_processing/dr_egeria_inbox/archive/dr_egeria_intro_part2.md +0 -298
  256. md_processing/dr_egeria_inbox/archive/dr_egeria_intro_part3.md +0 -608
  257. md_processing/dr_egeria_inbox/archive/dr_egeria_intro_part4.md +0 -94
  258. md_processing/dr_egeria_inbox/archive/freddie_intro.md +0 -284
  259. md_processing/dr_egeria_inbox/archive/freddie_intro_orig.md +0 -275
  260. md_processing/dr_egeria_inbox/archive/test-term.md +0 -110
  261. md_processing/dr_egeria_inbox/cat_test.md +0 -100
  262. md_processing/dr_egeria_inbox/collections.md +0 -39
  263. md_processing/dr_egeria_inbox/data_designer_debug.log +0 -6
  264. md_processing/dr_egeria_inbox/data_designer_out.md +0 -60
  265. md_processing/dr_egeria_inbox/data_designer_search_test.md +0 -11
  266. md_processing/dr_egeria_inbox/data_field.md +0 -54
  267. md_processing/dr_egeria_inbox/data_spec.md +0 -77
  268. md_processing/dr_egeria_inbox/data_spec_test.md +0 -2406
  269. md_processing/dr_egeria_inbox/data_test.md +0 -179
  270. md_processing/dr_egeria_inbox/data_test2.md +0 -429
  271. md_processing/dr_egeria_inbox/data_test3.md +0 -462
  272. md_processing/dr_egeria_inbox/dr_egeria_data_designer_1.md +0 -124
  273. md_processing/dr_egeria_inbox/dr_egeria_intro_categories.md +0 -168
  274. md_processing/dr_egeria_inbox/dr_egeria_intro_part1.md +0 -280
  275. md_processing/dr_egeria_inbox/dr_egeria_intro_part2.md +0 -318
  276. md_processing/dr_egeria_inbox/dr_egeria_intro_part3.md +0 -1073
  277. md_processing/dr_egeria_inbox/dr_egeria_isc1.md +0 -44
  278. md_processing/dr_egeria_inbox/generated_help_report.md +0 -9
  279. md_processing/dr_egeria_inbox/glossary_creation_experiment.ipynb +0 -341
  280. md_processing/dr_egeria_inbox/glossary_list.md +0 -5
  281. md_processing/dr_egeria_inbox/glossary_search_test.md +0 -40
  282. md_processing/dr_egeria_inbox/glossary_test1.md +0 -324
  283. md_processing/dr_egeria_inbox/gov_def.md +0 -482
  284. md_processing/dr_egeria_inbox/gov_def2.md +0 -447
  285. md_processing/dr_egeria_inbox/img.png +0 -0
  286. md_processing/dr_egeria_inbox/product.md +0 -211
  287. md_processing/dr_egeria_inbox/rel.md +0 -8
  288. md_processing/dr_egeria_inbox/sb.md +0 -119
  289. md_processing/dr_egeria_inbox/solution-components.md +0 -136
  290. md_processing/dr_egeria_inbox/solution_blueprints.md +0 -118
  291. md_processing/dr_egeria_inbox/synonym_test.md +0 -42
  292. md_processing/dr_egeria_inbox/t2.md +0 -268
  293. md_processing/dr_egeria_outbox/.obsidian/app.json +0 -1
  294. md_processing/dr_egeria_outbox/.obsidian/appearance.json +0 -1
  295. md_processing/dr_egeria_outbox/.obsidian/community-plugins.json +0 -6
  296. md_processing/dr_egeria_outbox/.obsidian/core-plugins.json +0 -31
  297. md_processing/dr_egeria_outbox/.obsidian/plugins/calendar/data.json +0 -10
  298. md_processing/dr_egeria_outbox/.obsidian/plugins/calendar/main.js +0 -4459
  299. md_processing/dr_egeria_outbox/.obsidian/plugins/calendar/manifest.json +0 -10
  300. md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-kanban/data.json +0 -3
  301. md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-kanban/main.js +0 -153
  302. md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-kanban/manifest.json +0 -11
  303. md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-kanban/styles.css +0 -1
  304. md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-tasks-plugin/main.js +0 -500
  305. md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-tasks-plugin/manifest.json +0 -12
  306. md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-tasks-plugin/styles.css +0 -1
  307. md_processing/dr_egeria_outbox/.obsidian/plugins/templater-obsidian/main.js +0 -37
  308. md_processing/dr_egeria_outbox/.obsidian/plugins/templater-obsidian/manifest.json +0 -11
  309. md_processing/dr_egeria_outbox/.obsidian/plugins/templater-obsidian/styles.css +0 -220
  310. md_processing/dr_egeria_outbox/.obsidian/types.json +0 -28
  311. md_processing/dr_egeria_outbox/.obsidian/workspace.json +0 -220
  312. md_processing/dr_egeria_outbox/Untitled.canvas +0 -1
  313. md_processing/dr_egeria_outbox/friday/processed-2025-08-22 21:22-dr_egeria_intro_part1.md +0 -312
  314. md_processing/dr_egeria_outbox/friday/processed-2025-08-22 21:23-dr_egeria_intro_part1.md +0 -265
  315. md_processing/dr_egeria_outbox/friday/processed-2025-08-23 15:06-dr_egeria_intro_part1.md +0 -230
  316. md_processing/dr_egeria_outbox/friday/processed-2025-08-23 15:30-dr_egeria_intro_part1.md +0 -296
  317. md_processing/dr_egeria_outbox/friday/processed-2025-08-23 15:31-dr_egeria_intro_part1.md +0 -253
  318. md_processing/dr_egeria_outbox/friday/processed-2025-08-23 16:08-dr_egeria_intro_part2.md +0 -343
  319. md_processing/dr_egeria_outbox/friday/processed-2025-08-23 16:12-dr_egeria_intro_part2.md +0 -343
  320. md_processing/dr_egeria_outbox/monday/processed-2025-08-19 07:05-product.md +0 -426
  321. md_processing/dr_egeria_outbox/monday/processed-2025-08-19 07:56-product.md +0 -212
  322. md_processing/dr_egeria_outbox/monday/processed-2025-08-19 09:43-product.md +0 -201
  323. md_processing/dr_egeria_outbox/sunday/processed-2025-07-20 14:55-product.md +0 -77
  324. md_processing/dr_egeria_outbox/sunday/processed-2025-07-20 15:05-product.md +0 -75
  325. md_processing/dr_egeria_outbox/sunday/processed-2025-07-20 15:11-product.md +0 -74
  326. md_processing/dr_egeria_outbox/sunday/processed-2025-07-20 20:40-collections.md +0 -49
  327. md_processing/dr_egeria_outbox/thursday/processed-2025-07-17 15:00-Derive-Dr-Gov-Defs.md +0 -719
  328. md_processing/dr_egeria_outbox/thursday/processed-2025-07-17 20:13-Derive-Dr-Gov-Defs.md +0 -41
  329. md_processing/dr_egeria_outbox/thursday/processed-2025-07-17 20:14-Derive-Dr-Gov-Defs.md +0 -33
  330. md_processing/dr_egeria_outbox/thursday/processed-2025-07-17 20:50-Derive-Dr-Gov-Defs.md +0 -192
  331. md_processing/dr_egeria_outbox/thursday/processed-2025-07-17 22:08-gov_def2.md +0 -486
  332. md_processing/dr_egeria_outbox/thursday/processed-2025-07-17 22:10-gov_def2.md +0 -486
  333. md_processing/dr_egeria_outbox/thursday/processed-2025-07-18 08:53-gov_def2.md +0 -486
  334. md_processing/dr_egeria_outbox/thursday/processed-2025-07-18 08:54-gov_def2.md +0 -486
  335. md_processing/dr_egeria_outbox/thursday/processed-2025-07-18 09:03-gov_def2.md +0 -486
  336. md_processing/dr_egeria_outbox/thursday/processed-2025-07-18 09:06-gov_def2.md +0 -486
  337. md_processing/dr_egeria_outbox/thursday/processed-2025-07-18 09:10-gov_def2.md +0 -486
  338. md_processing/dr_egeria_outbox/tuesday/processed-2025-07-16 19:15-gov_def2.md +0 -527
  339. md_processing/dr_egeria_outbox/tuesday/processed-2025-07-17 12:08-gov_def2.md +0 -527
  340. md_processing/dr_egeria_outbox/tuesday/processed-2025-07-17 14:27-gov_def2.md +0 -485
  341. md_processing/dr_egeria_outbox/tuesday/processed-2025-08-19 10:55-product.md +0 -209
  342. md_processing/family_docs/Data Designer/Create_Data_Class.md +0 -164
  343. md_processing/family_docs/Data Designer/Create_Data_Dictionary.md +0 -30
  344. md_processing/family_docs/Data Designer/Create_Data_Field.md +0 -162
  345. md_processing/family_docs/Data Designer/Create_Data_Specification.md +0 -36
  346. md_processing/family_docs/Data Designer/Create_Data_Structure.md +0 -38
  347. md_processing/family_docs/Data Designer/View_Data_Classes.md +0 -78
  348. md_processing/family_docs/Data Designer/View_Data_Dictionaries.md +0 -78
  349. md_processing/family_docs/Data Designer/View_Data_Fields.md +0 -78
  350. md_processing/family_docs/Data Designer/View_Data_Specifications.md +0 -78
  351. md_processing/family_docs/Data Designer/View_Data_Structures.md +0 -78
  352. md_processing/family_docs/Data Designer.md +0 -842
  353. md_processing/family_docs/Digital Product Manager/Add_Member->Collection.md +0 -42
  354. md_processing/family_docs/Digital Product Manager/Attach_Collection->Resource.md +0 -36
  355. md_processing/family_docs/Digital Product Manager/Create_Agreement.md +0 -96
  356. md_processing/family_docs/Digital Product Manager/Create_Data_Sharing_Agreement.md +0 -72
  357. md_processing/family_docs/Digital Product Manager/Create_DigitalSubscription.md +0 -102
  358. md_processing/family_docs/Digital Product Manager/Create_Digital_Product.md +0 -134
  359. md_processing/family_docs/Digital Product Manager/Link_Agreement_Items.md +0 -60
  360. md_processing/family_docs/Digital Product Manager/Link_Contracts.md +0 -26
  361. md_processing/family_docs/Digital Product Manager/Link_Digital_Product_-_Digital_Product.md +0 -30
  362. md_processing/family_docs/Digital Product Manager/Link_Subscribers.md +0 -48
  363. md_processing/family_docs/Digital Product Manager.md +0 -668
  364. md_processing/family_docs/Glossary/Attach_Category_Parent.md +0 -18
  365. md_processing/family_docs/Glossary/Attach_Term-Term_Relationship.md +0 -26
  366. md_processing/family_docs/Glossary/Create_Category.md +0 -38
  367. md_processing/family_docs/Glossary/Create_Glossary.md +0 -42
  368. md_processing/family_docs/Glossary/Create_Term.md +0 -70
  369. md_processing/family_docs/Glossary.md +0 -206
  370. md_processing/family_docs/Governance Officer/Create_Business_Imperative.md +0 -106
  371. md_processing/family_docs/Governance Officer/Create_Certification_Type.md +0 -112
  372. md_processing/family_docs/Governance Officer/Create_Governance_Approach.md +0 -114
  373. md_processing/family_docs/Governance Officer/Create_Governance_Obligation.md +0 -114
  374. md_processing/family_docs/Governance Officer/Create_Governance_Principle.md +0 -114
  375. md_processing/family_docs/Governance Officer/Create_Governance_Procedure.md +0 -128
  376. md_processing/family_docs/Governance Officer/Create_Governance_Process.md +0 -122
  377. md_processing/family_docs/Governance Officer/Create_Governance_Processing_Purpose.md +0 -106
  378. md_processing/family_docs/Governance Officer/Create_Governance_Responsibility.md +0 -122
  379. md_processing/family_docs/Governance Officer/Create_Governance_Rule.md +0 -122
  380. md_processing/family_docs/Governance Officer/Create_Governance_Strategy.md +0 -106
  381. md_processing/family_docs/Governance Officer/Create_License_Type.md +0 -112
  382. md_processing/family_docs/Governance Officer/Create_Naming_Standard_Rule.md +0 -122
  383. md_processing/family_docs/Governance Officer/Create_Regulation_Article.md +0 -106
  384. md_processing/family_docs/Governance Officer/Create_Regulation_Definition.md +0 -118
  385. md_processing/family_docs/Governance Officer/Create_Security_Access_Control.md +0 -114
  386. md_processing/family_docs/Governance Officer/Create_Security_Group.md +0 -120
  387. md_processing/family_docs/Governance Officer/Create_Service_Level_Objectives.md +0 -122
  388. md_processing/family_docs/Governance Officer/Create_Threat_Definition.md +0 -106
  389. md_processing/family_docs/Governance Officer/Link_Governance_Controls.md +0 -32
  390. md_processing/family_docs/Governance Officer/Link_Governance_Drivers.md +0 -32
  391. md_processing/family_docs/Governance Officer/Link_Governance_Policies.md +0 -32
  392. md_processing/family_docs/Governance Officer/View_Governance_Definitions.md +0 -82
  393. md_processing/family_docs/Governance Officer.md +0 -2412
  394. md_processing/family_docs/Solution Architect/Create_Information_Supply_Chain.md +0 -70
  395. md_processing/family_docs/Solution Architect/Create_Solution_Blueprint.md +0 -44
  396. md_processing/family_docs/Solution Architect/Create_Solution_Component.md +0 -96
  397. md_processing/family_docs/Solution Architect/Create_Solution_Role.md +0 -66
  398. md_processing/family_docs/Solution Architect/Link_Information_Supply_Chain_Peers.md +0 -32
  399. md_processing/family_docs/Solution Architect/Link_Solution_Component_Peers.md +0 -32
  400. md_processing/family_docs/Solution Architect/View_Information_Supply_Chains.md +0 -32
  401. md_processing/family_docs/Solution Architect/View_Solution_Blueprints.md +0 -32
  402. md_processing/family_docs/Solution Architect/View_Solution_Components.md +0 -32
  403. md_processing/family_docs/Solution Architect/View_Solution_Roles.md +0 -32
  404. md_processing/family_docs/Solution Architect.md +0 -490
  405. md_processing/md_processing_utils/debug_log +0 -574
  406. md_processing/md_processing_utils/debug_log.log +0 -0
  407. md_processing/md_processing_utils/dr-egeria-help-2025-07-17T17:22:09.md +0 -2065
  408. md_processing/md_processing_utils/generated_help_terms.md +0 -842
  409. pyegeria/.DS_Store +0 -0
  410. pyegeria/README.md +0 -35
  411. pyegeria/_client_new.py +0 -1102
  412. pyegeria/_output_formats.py +0 -730
  413. pyegeria/asset_catalog_omvs.py +0 -864
  414. pyegeria/automated_curation_omvs.py +0 -3765
  415. pyegeria/config.py +0 -523
  416. pyegeria/egeria_my_client.py +0 -91
  417. pyegeria/feedback_manager_omvs.py +0 -4573
  418. pyegeria/load_config_orig.py +0 -218
  419. pyegeria/md_processing_helpers.py +0 -58
  420. pyegeria/md_processing_utils_orig.py +0 -1103
  421. pyegeria/metadata_explorer_omvs.py +0 -2326
  422. pyegeria/my_profile_omvs.py +0 -1022
  423. pyegeria/project_manager.py +0 -1591
  424. pyegeria/registered_info.py +0 -167
  425. pyegeria/template_manager_omvs.py +0 -1414
  426. pyegeria/utils.py +0 -256
  427. pyegeria-5.4.0.28.dist-info/METADATA +0 -77
  428. pyegeria-5.4.0.28.dist-info/RECORD +0 -343
  429. pyegeria-5.4.0.28.dist-info/entry_points.txt +0 -105
  430. /commands/cat/debug_log.log → /pyegeria/deprecated/__init__.py +0 -0
  431. /pyegeria/{_exceptions.py → deprecated/_exceptions.py} +0 -0
  432. /pyegeria/{collection_models.py → models/collection_models.py} +0 -0
  433. {pyegeria-5.4.0.28.dist-info → pyegeria-5.5.3.3.dist-info/licenses}/LICENSE +0 -0
@@ -1,1414 +0,0 @@
1
- """
2
- SPDX-License-Identifier: Apache-2.0
3
- Copyright Contributors to the ODPi Egeria project.
4
-
5
- Template manager is a view service that supports managing metadata elements using templates.
6
-
7
- """
8
-
9
- import asyncio
10
-
11
- from pyegeria._client import Client
12
- from pyegeria._globals import default_time_out, NO_ELEMENTS_FOUND
13
- from pyegeria.utils import body_slimmer
14
-
15
-
16
- class TemplateManager(Client):
17
- """Client to issue Template Manager requests.
18
-
19
- Attributes:
20
-
21
- view_server : str
22
- Name of the server to use.
23
- platform_url : str
24
- URL of the server platform to connect to
25
- user_id : str
26
- The identity of the user calling the method - this sets a default optionally used by the methods
27
- when the user doesn't pass the user_id on a method call.
28
- user_pwd: str
29
- The password associated with the user_id. Defaults to None
30
- token: str, optional
31
- Bearer token
32
-
33
- Methods:
34
-
35
- """
36
-
37
- def __init__(
38
- self,
39
- view_server: str,
40
- platform_url: str,
41
- user_id: str,
42
- user_pwd: str = None,
43
- token: str = None,
44
- time_out: int = default_time_out,
45
- ):
46
- self.view_server = view_server
47
- self.time_out = time_out
48
- Client.__init__(self, view_server, platform_url, user_id, user_pwd, token=token)
49
- self.command_root = f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/template-manager"
50
-
51
- #
52
- # Maintain the metadata elements that makes up the template
53
- #
54
- async def _async_create_metadata_element_in_store(self, body: dict) -> str:
55
- """Create a new metadata element in the metadata store. The type name comes from the open metadata types.
56
- The selected type also controls the names and types of the properties that are allowed.
57
- This version of the method allows access to advanced features such as multiple states and
58
- effectivity dates. Async version.
59
-
60
- Parameters
61
- ----------
62
- body : dict
63
- The definition of the element to create. A sample is below.
64
-
65
- Returns
66
- -------
67
- str: If successful, the GUID of the element created; otherwise None is returned.
68
-
69
- Raises
70
- ------
71
- InvalidParameterException
72
- PropertyServerException
73
- UserNotAuthorizedException
74
-
75
- Notes
76
- =====
77
-
78
- Example of the body:
79
-
80
- {
81
- "class" : "NewOpenMetadataElementRequestBody",
82
- "externalSourceGUID" : "666",
83
- "externalSourceName" : "radio1",
84
- "typeName" : "",
85
- "initialStatus" : "ACTIVE",
86
- "initialClassifications" : {},
87
- "anchorGUID" : "",
88
- "isOwnAnchor" : false,
89
- "effectiveFrom" : "{{$isoTimestamp}}",
90
- "effectiveTo": "{{$isoTimestamp}}",
91
- "properties" : {},
92
- "parentGUID" : "",
93
- "parentRelationshipTypeName" : "",
94
- "parentRelationshipProperties" : {},
95
- "parentAtEnd1" : true,
96
- "effectiveTime" : "{{$isoTimestamp}}"
97
- }
98
-
99
- """
100
-
101
- url = f"{self.command_root}/metadata-elements"
102
- response = await self._async_make_request("POST", url, body_slimmer(body))
103
- guid = response.json().get("guid", None)
104
- return guid
105
-
106
- def create_metadata_element_in_store(self, body: dict) -> str:
107
- """Create a new metadata element in the metadata store. The type name comes from the open metadata types.
108
- The selected type also controls the names and types of the properties that are allowed.
109
- This version of the method allows access to advanced features such as multiple states and
110
- effectivity dates.
111
-
112
- Parameters
113
- ----------
114
- body : dict
115
- The definition of the element to create. A sample is below.
116
-
117
- Returns
118
- -------
119
- str: If successful, the GUID of the element created; otherwise None is returned.
120
-
121
- Raises
122
- ------
123
- InvalidParameterException
124
- PropertyServerException
125
- UserNotAuthorizedException
126
-
127
- Notes
128
- =====
129
-
130
- Example of the body:
131
-
132
- {
133
- "class" : "NewOpenMetadataElementRequestBody",
134
- "externalSourceGUID" : "666",
135
- "externalSourceName" : "radio1",
136
- "typeName" : "",
137
- "initialStatus" : "ACTIVE",
138
- "initialClassifications" : {},
139
- "anchorGUID" : "",
140
- "isOwnAnchor" : false,
141
- "effectiveFrom" : "{{$isoTimestamp}}",
142
- "effectiveTo": "{{$isoTimestamp}}",
143
- "properties" : {},
144
- "parentGUID" : "",
145
- "parentRelationshipTypeName" : "",
146
- "parentRelationshipProperties" : {},
147
- "parentAtEnd1" : true,
148
- "effectiveTime" : "{{$isoTimestamp}}"
149
- }
150
-
151
- """
152
- loop = asyncio.get_event_loop()
153
- response = loop.run_until_complete(
154
- self._async_create_metadata_element_in_store(body)
155
- )
156
- return response
157
-
158
- async def _async_create_metadata_element_from_template(self, body: dict) -> str:
159
- """Create a new metadata element in the metadata store using a template. The type name comes from the
160
- open metadata types. The selected type also controls the names and types of the properties that are allowed.
161
- Async version.
162
-
163
- Parameters
164
- ----------
165
- body : dict
166
- The definition of the element to create. A sample is the notes below.
167
-
168
- Returns
169
- -------
170
- None
171
-
172
- Raises
173
- ------
174
- InvalidParameterException
175
- PropertyServerException
176
- UserNotAuthorizedException
177
-
178
- Notes
179
- -----
180
- Example of the body:
181
-
182
- {
183
- "class" : "TemplateRequestBody",
184
- "externalSourceGUID" : "",
185
- "externalSourceName" : "",
186
- "typeName" : "",
187
- "templateGUID" : "",
188
- "anchorGUID" : "",
189
- "isOwnAnchor" : false,
190
- "effectiveFrom" : "{{$isoTimestamp}}",
191
- "effectiveTo": "{{$isoTimestamp}}",
192
- "replacementProperties" : { },
193
- "placeholderProperties" : {
194
- "placeholderName1" : "placeholderValue1",
195
- "placeholderName2" : "placeholderValue2"
196
- },
197
- "parentGUID" : "",
198
- "parentRelationshipTypeName" : "",
199
- "parentRelationshipProperties" : {},
200
- "parentAtEnd1" : true,
201
- "effectiveTime" : "{{$isoTimestamp}}"
202
- }
203
-
204
- """
205
- url = f"{self.command_root}/metadata-elements/from-templates"
206
-
207
- response = await self._async_make_request("POST", url, body_slimmer(body))
208
- guid = response.json().get("guid", None)
209
- return guid
210
-
211
- def create_metadata_element_from_template(self, body: dict) -> str:
212
- """Create a new metadata element in the metadata store using a template. The type name comes from the
213
- open metadata types. The selected type also controls the names and types of the properties that are allowed.
214
-
215
- Parameters
216
- ----------
217
- body : dict
218
- dict containing the definition of the element to create. A sample is the notes below.
219
-
220
- Returns
221
- -------
222
- None
223
-
224
- Raises
225
- ------
226
- InvalidParameterException
227
- PropertyServerException
228
- UserNotAuthorizedException
229
-
230
- Notes
231
- -----
232
- Example of the body:
233
-
234
- {
235
- "class" : "UpdatePropertiesRequestBody",
236
- "externalSourceGUID" : "",
237
- "externalSourceName" : "",
238
- "forLineage" : false,
239
- "forDuplicateProcessing" : false,
240
- "effectiveTime" : "{{$isoTimestamp}}"
241
- }
242
-
243
- """
244
- loop = asyncio.get_event_loop()
245
- response = loop.run_until_complete(
246
- self._async_create_metadata_element_from_template(body)
247
- )
248
- return response
249
-
250
- async def _async_update_metadata_element_in_store(
251
- self, element_guid: str, body: dict
252
- ) -> None:
253
- """Update the properties of a specific metadata element. The properties must match the type definition
254
- associated with the metadata element when it was created. However, it is possible to update a few
255
- properties, or replace all them by the value used in the replaceProperties flag.
256
- Async version.
257
-
258
- Parameters
259
- ----------
260
- element_guid : str
261
- The identity of the metadata element to update.
262
- body : dict
263
- The definition of the element to create. A sample is the notes below.
264
-
265
- Returns
266
- -------
267
- None
268
-
269
- Raises
270
- ------
271
- InvalidParameterException
272
- PropertyServerException
273
- UserNotAuthorizedException
274
-
275
- Notes
276
- -----
277
- Example of the body:
278
-
279
- {
280
- "class" : "TemplateRequestBody",
281
- "externalSourceGUID" : "",
282
- "externalSourceName" : "",
283
- "typeName" : "",
284
- "templateGUID" : "",
285
- "anchorGUID" : "",
286
- "isOwnAnchor" : false,
287
- "effectiveFrom" : "{{$isoTimestamp}}",
288
- "effectiveTo": "{{$isoTimestamp}}",
289
- "replacementProperties" : { },
290
- "placeholderProperties" : {
291
- "placeholderName1" : "placeholderValue1",
292
- "placeholderName2" : "placeholderValue2"
293
- },
294
- "parentGUID" : "",
295
- "parentRelationshipTypeName" : "",
296
- "parentRelationshipProperties" : {},
297
- "parentAtEnd1" : true,
298
- "effectiveTime" : "{{$isoTimestamp}}"
299
- }
300
-
301
- """
302
- url = f"{self.command_root}/metadata-elements/{element_guid}/update-properties"
303
- await self._async_make_request("POST", url, body_slimmer(body))
304
- return
305
-
306
- def update_metadata_element_in_store(self, element_guid: str, body: dict) -> None:
307
- """Update the properties of a specific metadata element. The properties must match the type definition
308
- associated with the metadata element when it was created. However, it is possible to update a few
309
- properties, or replace all them by the value used in the replaceProperties flag.
310
-
311
- Parameters
312
- ----------
313
- element_guid : str
314
- The identity of the metadata element to update.
315
- body : dict
316
- The definition of the element to create. A sample is the notes below.
317
-
318
- Returns
319
- -------
320
- None
321
-
322
- Raises
323
- ------
324
- InvalidParameterException
325
- PropertyServerException
326
- UserNotAuthorizedException
327
-
328
- Notes
329
- -----
330
- Example of the body:
331
-
332
- {
333
- "class" : "TemplateRequestBody",
334
- "externalSourceGUID" : "",
335
- "externalSourceName" : "",
336
- "typeName" : "",
337
- "templateGUID" : "",
338
- "anchorGUID" : "",
339
- "isOwnAnchor" : false,
340
- "effectiveFrom" : "{{$isoTimestamp}}",
341
- "effectiveTo": "{{$isoTimestamp}}",
342
- "replacementProperties" : { },
343
- "placeholderProperties" : {
344
- "placeholderName1" : "placeholderValue1",
345
- "placeholderName2" : "placeholderValue2"
346
- },
347
- "parentGUID" : "",
348
- "parentRelationshipTypeName" : "",
349
- "parentRelationshipProperties" : {},
350
- "parentAtEnd1" : true,
351
- "effectiveTime" : "{{$isoTimestamp}}"
352
- }
353
-
354
- """
355
- loop = asyncio.get_event_loop()
356
- loop.run_until_complete(
357
- self._async_update_metadata_element_in_store(element_guid, body)
358
- )
359
- return
360
-
361
- async def _async_update_metadata_element_status_in_store(
362
- self, element_guid: str, body: dict
363
- ) -> None:
364
- """Update the status of a specific metadata element. The new status must match a status value that is defined
365
- for the element's type assigned when it was created. Async version.
366
-
367
- Parameters
368
- ----------
369
- element_guid : str
370
- The identity of the metadata element to update.
371
- body : dict
372
- The definition of the element to create. A sample is the notes below.
373
-
374
- Returns
375
- -------
376
- None
377
-
378
- Raises
379
- ------
380
- InvalidParameterException
381
- PropertyServerException
382
- UserNotAuthorizedException
383
-
384
- Notes
385
- -----
386
- Example of the body:
387
-
388
- {
389
- "class" : "UpdateStatusRequestBody",
390
- "externalSourceGUID" : "",
391
- "externalSourceName" : "",
392
- "forLineage" : false,
393
- "forDuplicateProcessing" : false,
394
- "effectiveTime" : "{{$isoTimestamp}}"
395
- }
396
-
397
- """
398
- url = f"{self.command_root}/metadata-elements/{element_guid}/update-status"
399
- await self._async_make_request("POST", url, body_slimmer(body))
400
- return
401
-
402
- def update_metadata_element_status_in_store(
403
- self, element_guid: str, body: dict
404
- ) -> None:
405
- """Update the status of a specific metadata element. The new status must match a status value that is defined
406
- for the element's type assigned when it was created.
407
-
408
- Parameters
409
- ----------
410
- element_guid : str
411
- The identity of the metadata element to update.
412
- body : dict
413
- The definition of the element to create. A sample is the notes below.
414
-
415
- Returns
416
- -------
417
- None
418
-
419
- Raises
420
- ------
421
- InvalidParameterException
422
- PropertyServerException
423
- UserNotAuthorizedException
424
-
425
- Notes
426
- -----
427
- Example of the body:
428
-
429
- {
430
- "class" : "UpdateStatusRequestBody",
431
- "externalSourceGUID" : "",
432
- "externalSourceName" : "",
433
- "forLineage" : false,
434
- "forDuplicateProcessing" : false,
435
- "effectiveTime" : "{{$isoTimestamp}}"
436
- }
437
-
438
- """
439
- loop = asyncio.get_event_loop()
440
- loop.run_until_complete(
441
- self._async_update_metadata_element_status_in_store(element_guid, body)
442
- )
443
- return
444
-
445
- async def _async_update_metadata_element_effectivity_in_store(
446
- self, element_guid: str, body: dict
447
- ) -> None:
448
- """Update the effectivity dates control the visibility of the element through specific APIs.
449
- Async version.
450
-
451
- Parameters
452
- ----------
453
- element_guid : str
454
- The identity of the metadata element to update.
455
- body : dict
456
- The definition of the element to create. A sample is the notes below.
457
-
458
- Returns
459
- -------
460
- None
461
-
462
- Raises
463
- ------
464
- InvalidParameterException
465
- PropertyServerException
466
- UserNotAuthorizedException
467
-
468
- Notes
469
- -----
470
- Example of the body:
471
-
472
- {
473
- "class" : "UpdateEffectivityDatesRequestBody",
474
- "externalSourceGUID" : "",
475
- "externalSourceName" : "",
476
- "effectiveFrom" : "{{$isoTimestamp}}",
477
- "effectiveTo": "{{$isoTimestamp}}",
478
- "forLineage" : false,
479
- "forDuplicateProcessing" : false,
480
- "effectiveTime" : "{{$isoTimestamp}}"
481
- }
482
-
483
- """
484
- url = f"{self.command_root}/metadata-elements/{element_guid}/update-effectivity"
485
- await self._async_make_request("POST", url, body_slimmer(body))
486
- return
487
-
488
- def update_metadata_element_effectivity_in_store(
489
- self, element_guid: str, body: dict
490
- ) -> None:
491
- """Update the effectivity dates control the visibility of the element through specific APIs.
492
- Async version.
493
-
494
- Parameters
495
- ----------
496
- element_guid : str
497
- The identity of the metadata element to update.
498
- body : dict
499
- The definition of the element to create. A sample is the notes below.
500
-
501
- Returns
502
- -------
503
- None
504
-
505
- Raises
506
- ------
507
- InvalidParameterException
508
- PropertyServerException
509
- UserNotAuthorizedException
510
-
511
- Notes
512
- -----
513
- Example of the body:
514
-
515
- {
516
- "class" : "UpdateEffectivityDatesRequestBody",
517
- "externalSourceGUID" : "",
518
- "externalSourceName" : "",
519
- "effectiveFrom" : "{{$isoTimestamp}}",
520
- "effectiveTo": "{{$isoTimestamp}}",
521
- "forLineage" : false,
522
- "forDuplicateProcessing" : false,
523
- "effectiveTime" : "{{$isoTimestamp}}"
524
- }
525
-
526
- """
527
- loop = asyncio.get_event_loop()
528
- loop.run_until_complete(
529
- self._async_update_metadata_element_effectivity_in_store(element_guid, body)
530
- )
531
- return
532
-
533
- async def _async_delete_metadata_element_in_store(
534
- self, element_guid: str, body: dict, cascade:bool = False
535
- ) -> None:
536
- """Delete a metadata element.
537
- Async version.
538
-
539
- Parameters
540
- ----------
541
- element_guid : str
542
- The identity of the metadata element to update.
543
- body : dict
544
- The definition of the element to create. A sample is the notes below.
545
- cascade : bool, optional, defaults to False
546
- If true, delete all anchored elements as well.
547
-
548
- Returns
549
- -------
550
- None
551
-
552
- Raises
553
- ------
554
- InvalidParameterException
555
- PropertyServerException
556
- UserNotAuthorizedException
557
-
558
- Notes
559
- -----
560
- Example of the body:
561
-
562
- {
563
- "class" : "UpdateRequestBody",
564
- "externalSourceGUID" : "",
565
- "externalSourceName" : "",
566
- "forLineage" : false,
567
- "forDuplicateProcessing" : false,
568
- "effectiveTime" : "{{$isoTimestamp}}"
569
- }
570
-
571
- """
572
- cascade_str = str(cascade).lower()
573
- url = f"{self.command_root}/metadata-elements/{element_guid}/delete?cascadedDelete={cascade_str}"
574
- await self._async_make_request("POST", url, body_slimmer(body))
575
- return
576
-
577
- def delete_metadata_element_in_store(self, element_guid: str, body: dict, cascade:bool = False) -> None:
578
- """Delete a metadata element.
579
-
580
- Parameters
581
- ----------
582
- element_guid : str
583
- The identity of the metadata element to update.
584
- body : dict
585
- The definition of the element to create. A sample is the notes below.
586
- cascade : bool, optional, defaults to False
587
- If true, delete all anchored elements as well.
588
-
589
- Returns
590
- -------
591
- None
592
-
593
- Raises
594
- ------
595
- InvalidParameterException
596
- PropertyServerException
597
- UserNotAuthorizedException
598
-
599
- Notes
600
- -----
601
- Example of the body:
602
-
603
- {
604
- "class" : "UpdateRequestBody",
605
- "externalSourceGUID" : "",
606
- "externalSourceName" : "",
607
- "forLineage" : false,
608
- "forDuplicateProcessing" : false,
609
- "effectiveTime" : "{{$isoTimestamp}}"
610
- }
611
-
612
- """
613
- loop = asyncio.get_event_loop()
614
- loop.run_until_complete(
615
- self._async_delete_metadata_element_in_store(element_guid, body, cascade)
616
- )
617
- return
618
-
619
- async def _async_archive_metadata_element_in_store(
620
- self, element_guid: str, body: dict
621
- ) -> None:
622
- """Archive a specific metadata element.
623
- Async version.
624
-
625
- Parameters
626
- ----------
627
- element_guid : str
628
- The identity of the metadata element to update.
629
- body : dict
630
- The definition of the element to create. A sample is the notes below.
631
-
632
- Returns
633
- -------
634
- None
635
-
636
- Raises
637
- ------
638
- InvalidParameterException
639
- PropertyServerException
640
- UserNotAuthorizedException
641
-
642
- Notes
643
- -----
644
- Example of the body:
645
-
646
- {
647
- "class" : "ArchiveRequestBody",
648
- "externalSourceGUID" : "",
649
- "externalSourceName" : "",
650
- "archiveProperties" : {
651
- "archiveDate" : "{{$isoTimestamp}}",
652
- "archiveProcess" : "",
653
- "archiveProperties": {
654
- "propertyName1" : "propertyValue1",
655
- "propertyName2" : "propertyValue2"
656
- }
657
- },
658
- "forLineage" : false,
659
- "forDuplicateProcessing" : false,
660
- "effectiveTime" : "{{$isoTimestamp}}"
661
- }
662
-
663
- """
664
- url = f"{self.command_root}/metadata-elements/{element_guid}/archive"
665
- await self._async_make_request("POST", url, body_slimmer(body))
666
- return
667
-
668
- def archive_metadata_element_in_store(self, element_guid: str, body: dict) -> None:
669
- """Archive a specific metadata element.
670
-
671
- Parameters
672
- ----------
673
- element_guid : str
674
- The identity of the metadata element to update.
675
- body : dict
676
- The definition of the element to create. A sample is the notes below.
677
-
678
- Returns
679
- -------
680
- None
681
-
682
- Raises
683
- ------
684
- InvalidParameterException
685
- PropertyServerException
686
- UserNotAuthorizedException
687
-
688
- Notes
689
- -----
690
- Example of the body:
691
-
692
- "class" : "ArchiveRequestBody",
693
- "externalSourceGUID" : "",
694
- "externalSourceName" : "",
695
- "archiveProperties" : {
696
- "archiveDate" : "{{$isoTimestamp}}",
697
- "archiveProcess" : "",
698
- "archiveProperties": {
699
- "propertyName1" : "propertyValue1",
700
- "propertyName2" : "propertyValue2"
701
- }
702
- },
703
- "forLineage" : false,
704
- "forDuplicateProcessing" : false,
705
- "effectiveTime" : "{{$isoTimestamp}}"
706
- }
707
-
708
- """
709
- loop = asyncio.get_event_loop()
710
- loop.run_until_complete(
711
- self._async_archive_metadata_element_in_store(element_guid, body)
712
- )
713
- return
714
-
715
- async def _async_classify_metadata_element_in_store(
716
- self, element_guid: str, classification: str, body: dict
717
- ) -> None:
718
- """Add a new classification to the metadata element. Note that only one classification with the same name can
719
- be attached to a metadata element. Async version.
720
-
721
- Parameters
722
- ----------
723
- element_guid : str
724
- The identity of the metadata element to update.
725
- classification : str
726
- The classification name to apply.
727
- body : dict
728
- The definition of the element to create. A sample is the notes below.
729
-
730
- Returns
731
- -------
732
- None
733
-
734
- Raises
735
- ------
736
- InvalidParameterException
737
- PropertyServerException
738
- UserNotAuthorizedException
739
-
740
- Notes
741
- -----
742
- Example of the body:
743
-
744
- {
745
- "class" : "NewClassificationRequestBody",
746
- "externalSourceGUID" : "",
747
- "externalSourceName" : "",
748
- "forLineage" : false,
749
- "forDuplicateProcessing" : false,
750
- "effectiveTime" : "{{$isoTimestamp}}"
751
- }
752
-
753
- """
754
- url = f"{self.command_root}/metadata-elements/{element_guid}/classifications/{classification}"
755
- await self._async_make_request("POST", url, body_slimmer(body))
756
- return
757
-
758
- def classify_metadata_element_in_store(
759
- self, element_guid: str, classification: str, body: dict
760
- ) -> None:
761
- """Add a new classification to the metadata element. Note that only one classification with the same name can
762
- be attached to a metadata element.
763
-
764
- Parameters
765
- ----------
766
- element_guid : str
767
- The identity of the metadata element to update.
768
- classification : str
769
- The classification name to apply.
770
- body : dict
771
- The definition of the element to create. A sample is the notes below.
772
-
773
- Returns
774
- -------
775
- None
776
-
777
- Raises
778
- ------
779
- InvalidParameterException
780
- PropertyServerException
781
- UserNotAuthorizedException
782
-
783
- Notes
784
- -----
785
- Example of the body:
786
-
787
- {
788
- "class" : "NewClassificationRequestBody",
789
- "externalSourceGUID" : "",
790
- "externalSourceName" : "",
791
- "forLineage" : false,
792
- "forDuplicateProcessing" : false,
793
- "effectiveTime" : "{{$isoTimestamp}}"
794
- }
795
-
796
- """
797
- loop = asyncio.get_event_loop()
798
- loop.run_until_complete(
799
- self._async_classify_metadata_element_in_store(
800
- element_guid, classification, body
801
- )
802
- )
803
- return
804
-
805
- async def _async_reclassify_metadata_element_in_store(
806
- self, element_guid: str, classification: str, body: dict
807
- ) -> None:
808
- """Update the properties of a classification that is currently attached to a specific metadata element.
809
- Async version.
810
-
811
- Parameters
812
- ----------
813
- element_guid : str
814
- The identity of the metadata element to update.
815
- classification: str
816
- The classification name to apply.
817
- body : dict
818
- The definition of the element to create. A sample is the notes below.
819
-
820
- Returns
821
- -------
822
- None
823
-
824
- Raises
825
- ------
826
- InvalidParameterException
827
- PropertyServerException
828
- UserNotAuthorizedException
829
-
830
- Notes
831
- -----
832
- Example of the body:
833
-
834
- {
835
- "class" : "UpdatePropertiesRequestBody",
836
- "externalSourceGUID" : "",
837
- "externalSourceName" : "",
838
- "forLineage" : false,
839
- "forDuplicateProcessing" : false,
840
- "effectiveTime" : "{{$isoTimestamp}}"
841
- }
842
-
843
- """
844
- url = f"{self.command_root}/metadata-elements/{element_guid}/classifications/{classification}/update-properties"
845
- await self._async_make_request("POST", url, body_slimmer(body))
846
- return
847
-
848
- def reclassify_metadata_element_in_store(
849
- self, element_guid: str, classification: str, body: dict
850
- ) -> None:
851
- """Update the properties of a classification that is currently attached to a specific metadata element.
852
-
853
- Parameters
854
- ----------
855
- element_guid : str
856
- The identity of the metadata element to update.
857
- classification: str
858
- The classification name to apply.
859
- body : dict
860
- The definition of the element to create. A sample is the notes below.
861
-
862
- Returns
863
- -------
864
- None
865
-
866
- Raises
867
- ------
868
- InvalidParameterException
869
- PropertyServerException
870
- UserNotAuthorizedException
871
-
872
- Notes
873
- -----
874
- Example of the body:
875
-
876
- {
877
- "class" : "UpdatePropertiesRequestBody",
878
- "externalSourceGUID" : "",
879
- "externalSourceName" : "",
880
- "forLineage" : false,
881
- "forDuplicateProcessing" : false,
882
- "effectiveTime" : "{{$isoTimestamp}}"
883
- }
884
-
885
- """
886
- loop = asyncio.get_event_loop()
887
- loop.run_until_complete(
888
- self._async_reclassify_metadata_element_in_store(
889
- element_guid, classification, body
890
- )
891
- )
892
- return
893
-
894
- async def _async_update_classification_effectivity_in_store(
895
- self, element_guid: str, classification: str, body: dict
896
- ) -> None:
897
- """Update the effectivity dates of a specific classification attached to a metadata element.
898
- The effectivity dates control the visibility of the classification through specific APIs.
899
- Async version.
900
-
901
- Parameters
902
- ----------
903
- element_guid : str
904
- The identity of the metadata element to update.
905
- classification: str
906
- The classification name to apply.
907
- body : dict
908
- The definition of the element to create. A sample is the notes below.
909
-
910
- Returns
911
- -------
912
- None
913
-
914
- Raises
915
- ------
916
- InvalidParameterException
917
- PropertyServerException
918
- UserNotAuthorizedException
919
-
920
- Notes
921
- -----
922
- Example of the body:
923
-
924
- {
925
- "class" : "UpdateEffectivityDatesRequestBody",
926
- "externalSourceGUID" : "",
927
- "externalSourceName" : "",
928
- "effectiveFrom" : "{{$isoTimestamp}}",
929
- "effectiveTo": "{{$isoTimestamp}}",
930
- "forLineage" : false,
931
- "forDuplicateProcessing" : false,
932
- "effectiveTime" : "{{$isoTimestamp}}"
933
- }
934
- """
935
- url = f"{self.command_root}/metadata-elements/{element_guid}/classifications/{classification}/update-effectivity"
936
- await self._async_make_request("POST", url, body_slimmer(body))
937
- return
938
-
939
- def update_classification_effectivity_in_store(
940
- self, element_guid: str, classification: str, body: dict
941
- ) -> None:
942
- """Update the effectivity dates of a specific classification attached to a metadata element.
943
- The effectivity dates control the visibility of the classification through specific APIs.
944
-
945
-
946
- Parameters
947
- ----------
948
- element_guid : str
949
- The identity of the metadata element to update.
950
- classification: str
951
- The classification name to apply.
952
- body : dict
953
- The definition of the element to create. A sample is the notes below.
954
-
955
- Returns
956
- -------
957
- None
958
-
959
- Raises
960
- ------
961
- InvalidParameterException
962
- PropertyServerException
963
- UserNotAuthorizedException
964
-
965
- Notes
966
- -----
967
- Example of the body:
968
-
969
- {
970
- "class" : "UpdateEffectivityDatesRequestBody",
971
- "externalSourceGUID" : "",
972
- "externalSourceName" : "",
973
- "effectiveFrom" : "{{$isoTimestamp}}",
974
- "effectiveTo": "{{$isoTimestamp}}",
975
- "forLineage" : false,
976
- "forDuplicateProcessing" : false,
977
- "effectiveTime" : "{{$isoTimestamp}}"
978
- }
979
- """
980
- loop = asyncio.get_event_loop()
981
- loop.run_until_complete(
982
- self._async_update_classification_effectivity_in_store(
983
- element_guid, classification, body
984
- )
985
- )
986
- return
987
-
988
- async def _async_declassify_metadata_element_in_store(
989
- self, element_guid: str, classification: str, body: dict
990
- ) -> None:
991
- """Remove the named classification from a specific metadata element. Async version.
992
-
993
- Parameters
994
- ----------
995
- element_guid : str
996
- The identity of the metadata element to update.
997
- classification: str
998
- The classification name to apply.
999
- body : dict
1000
- The definition of the element to create. A sample is the notes below.
1001
-
1002
- Returns
1003
- -------
1004
- None
1005
-
1006
- Raises
1007
- ------
1008
- InvalidParameterException
1009
- PropertyServerException
1010
- UserNotAuthorizedException
1011
-
1012
- Notes
1013
- -----
1014
- Example of the body:
1015
-
1016
- {
1017
- "class" : "UpdateRequestBody",
1018
- "externalSourceGUID" : "",
1019
- "externalSourceName" : "",
1020
- "forLineage" : false,
1021
- "forDuplicateProcessing" : false,
1022
- "effectiveTime" : "{{$isoTimestamp}}"
1023
- }
1024
- """
1025
- url = f"{self.command_root}/metadata-elements/{element_guid}/classifications/{classification}/delete"
1026
- await self._async_make_request("POST", url, body_slimmer(body))
1027
- return
1028
-
1029
- def declassify_metadata_element_in_store(
1030
- self, element_guid: str, classification: str, body: dict
1031
- ) -> None:
1032
- """Remove the named classification from a specific metadata element.
1033
-
1034
- Parameters
1035
- ----------
1036
- element_guid : str
1037
- The identity of the metadata element to update.
1038
- classification: str
1039
- The classification name to apply.
1040
- body : dict
1041
- The definition of the element to create. A sample is the notes below.
1042
-
1043
- Returns
1044
- -------
1045
- None
1046
-
1047
- Raises
1048
- ------
1049
- InvalidParameterException
1050
- PropertyServerException
1051
- UserNotAuthorizedException
1052
-
1053
- Notes
1054
- -----
1055
- Example of the body:
1056
-
1057
- {
1058
- "class" : "UpdateRequestBody",
1059
- "externalSourceGUID" : "",
1060
- "externalSourceName" : "",
1061
- "forLineage" : false,
1062
- "forDuplicateProcessing" : false,
1063
- "effectiveTime" : "{{$isoTimestamp}}"
1064
- }
1065
- """
1066
- loop = asyncio.get_event_loop()
1067
- loop.run_until_complete(
1068
- self._async_declassify_metadata_element_in_store(
1069
- element_guid, classification, body
1070
- )
1071
- )
1072
- return
1073
-
1074
- async def _async_create_related_elements_in_store(self, body: dict) -> str:
1075
- """Create a relationship between two metadata elements. It is important to put the right element at each end
1076
- of the relationship according to the type definition since this will affect how the relationship is
1077
- interpreted. Async version.
1078
-
1079
- Parameters
1080
- ----------
1081
- body : dict
1082
- The definition of the element to create. A sample is the notes below.
1083
-
1084
- Returns
1085
- -------
1086
- str containing the relationship GUID.
1087
-
1088
- Raises
1089
- ------
1090
- InvalidParameterException
1091
- PropertyServerException
1092
- UserNotAuthorizedException
1093
-
1094
- Notes
1095
- -----
1096
- Example of the body:
1097
-
1098
- {
1099
- "class" : "NewRelatedElementsRequestBody",
1100
- "externalSourceGUID" : "",
1101
- "externalSourceName" : "",
1102
- "forLineage" : false,
1103
- "forDuplicateProcessing" : false,
1104
- "effectiveTime" : "{{$isoTimestamp}}"
1105
- "typeName": "string",
1106
- "metadataElement1GUID": "string",
1107
- "metadataElement2GUID": "string",
1108
- }
1109
- """
1110
- url = f"{self.command_root}/related-elements"
1111
- response = await self._async_make_request("POST", url, body_slimmer(body))
1112
- guid = response.json().get("guid", None)
1113
- return guid
1114
-
1115
- def create_related_elements_in_store(self, body: dict) -> str:
1116
- """Create a relationship between two metadata elements. It is important to put the right element at each end
1117
- of the relationship according to the type definition since this will affect how the relationship is
1118
- interpreted.
1119
-
1120
- Parameters
1121
- ----------
1122
- body : dict
1123
- The definition of the element to create. A sample is the notes below.
1124
-
1125
- Returns
1126
- -------
1127
- str containing the relationship GUID.
1128
-
1129
- Raises
1130
- ------
1131
- InvalidParameterException
1132
- PropertyServerException
1133
- UserNotAuthorizedException
1134
-
1135
- Notes
1136
- -----
1137
- Example of the body:
1138
-
1139
- {
1140
- "class" : "NewRelatedElementsRequestBody",
1141
- "externalSourceGUID" : "",
1142
- "externalSourceName" : "",
1143
- "forLineage" : false,
1144
- "forDuplicateProcessing" : false,
1145
- "effectiveTime" : "{{$isoTimestamp}}"
1146
- "typeName": "string",
1147
- "metadataElement1GUID": "string",
1148
- "metadataElement2GUID": "string",
1149
- }
1150
- """
1151
- loop = asyncio.get_event_loop()
1152
- response = loop.run_until_complete(
1153
- self._async_create_related_elements_in_store(body)
1154
- )
1155
- return response
1156
-
1157
- async def _async_update_related_elements_in_store(
1158
- self, relationship_guid: str, body: dict
1159
- ) -> None:
1160
- """Update the properties associated with a relationship. Async version.
1161
-
1162
- Parameters
1163
- ----------
1164
- relationship_guid : str
1165
- The identity of the relationship to update.
1166
- body : dict
1167
- The definition of the element to create. A sample is the notes below.
1168
-
1169
- Returns
1170
- -------
1171
- None
1172
-
1173
- Raises
1174
- ------
1175
- InvalidParameterException
1176
- PropertyServerException
1177
- UserNotAuthorizedException
1178
-
1179
- Notes
1180
- -----
1181
- Example of the body:
1182
-
1183
- {
1184
- "class" : "UpdatePropertiesRequestBody",
1185
- "externalSourceGUID" : "",
1186
- "externalSourceName" : "",
1187
- "forLineage" : false,
1188
- "forDuplicateProcessing" : false,
1189
- "typeName": "string",
1190
- "metadataElement1GUID": "string",
1191
- "metadataElement2GUID": "string",
1192
- "effectiveTime" : "{{$isoTimestamp}}"
1193
- }
1194
- """
1195
- url = f"{self.command_root}/related-elements/{relationship_guid}/update-properties"
1196
- await self._async_make_request("POST", url, body_slimmer(body))
1197
- return
1198
-
1199
- def update_related_elements_in_store(
1200
- self, relationship_guid: str, body: dict
1201
- ) -> None:
1202
- """Update the properties associated with a relationship. Async version.
1203
-
1204
- Parameters
1205
- ----------
1206
- relationship_guid : str
1207
- The identity of the relationship to update.
1208
- body : dict
1209
- The definition of the element to create. A sample is the notes below.
1210
-
1211
- Returns
1212
- -------
1213
- None
1214
-
1215
- Raises
1216
- ------
1217
- InvalidParameterException
1218
- PropertyServerException
1219
- UserNotAuthorizedException
1220
-
1221
- Notes
1222
- -----
1223
- Example of the body:
1224
-
1225
- {
1226
- "class" : "UpdatePropertiesRequestBody",
1227
- "externalSourceGUID" : "",
1228
- "externalSourceName" : "",
1229
- "forLineage" : false,
1230
- "forDuplicateProcessing" : false,
1231
- "typeName": "string",
1232
- "metadataElement1GUID": "string",
1233
- "metadataElement2GUID": "string",
1234
- "effectiveTime" : "{{$isoTimestamp}}"
1235
- }
1236
- """
1237
- loop = asyncio.get_event_loop()
1238
- loop.run_until_complete(
1239
- self._async_update_related_elements_in_store(relationship_guid, body)
1240
- )
1241
- return
1242
-
1243
- async def _async_update_related_elements_effectivity_in_store(
1244
- self, relationship_guid: str, body: dict
1245
- ) -> None:
1246
- """Update the effectivity dates of a specific relationship between metadata elements.
1247
- The effectivity dates control the visibility of the classification through specific APIs.
1248
- Async version.
1249
-
1250
- Parameters
1251
- ----------
1252
- relationship_guid : str
1253
- The identity of the relationship to update.
1254
- body : dict
1255
- The definition of the element to create. A sample is the notes below.
1256
-
1257
- Returns
1258
- -------
1259
- None
1260
-
1261
- Raises
1262
- ------
1263
- InvalidParameterException
1264
- PropertyServerException
1265
- UserNotAuthorizedException
1266
-
1267
- Notes
1268
- -----
1269
- Example of the body:
1270
-
1271
- {
1272
- "class" : "UpdateEffectivityDatesRequestBody",
1273
- "externalSourceGUID" : "",
1274
- "externalSourceName" : "",
1275
- "effectiveFrom" : "{{$isoTimestamp}}",
1276
- "effectiveTo": "{{$isoTimestamp}}",
1277
- "forLineage" : false,
1278
- "forDuplicateProcessing" : false,
1279
- "effectiveTime" : "{{$isoTimestamp}}"
1280
- }
1281
- """
1282
- url = f"{self.command_root}/metadata-elements/related-elements/{relationship_guid}/update-effectivity"
1283
- await self._async_make_request("POST", url, body_slimmer(body))
1284
- return
1285
-
1286
- def update_related_elements_effectivity_in_store(
1287
- self, relationship_guid: str, body: dict
1288
- ) -> None:
1289
- """Update the effectivity dates of a specific relationship between metadata elements.
1290
- The effectivity dates control the visibility of the classification through specific APIs.
1291
-
1292
- Parameters
1293
- ----------
1294
- relationship_guid : str
1295
- The identity of the relationship to update.
1296
- body : dict
1297
- The definition of the element to create. A sample is the notes below.
1298
-
1299
- Returns
1300
- -------
1301
- None
1302
-
1303
- Raises
1304
- ------
1305
- InvalidParameterException
1306
- PropertyServerException
1307
- UserNotAuthorizedException
1308
-
1309
- Notes
1310
- -----
1311
- Example of the body:
1312
-
1313
- {
1314
- "class" : "UpdateEffectivityDatesRequestBody",
1315
- "externalSourceGUID" : "",
1316
- "externalSourceName" : "",
1317
- "effectiveFrom" : "{{$isoTimestamp}}",
1318
- "effectiveTo": "{{$isoTimestamp}}",
1319
- "forLineage" : false,
1320
- "forDuplicateProcessing" : false,
1321
- "effectiveTime" : "{{$isoTimestamp}}"
1322
- }
1323
- """
1324
- loop = asyncio.get_event_loop()
1325
- loop.run_until_complete(
1326
- self._async_update_related_elements_effectivity_in_store(
1327
- relationship_guid, body
1328
- )
1329
- )
1330
- return
1331
-
1332
- async def _async_delete_related_elements_in_store(
1333
- self, relationship_guid: str, body: dict
1334
- ) -> None:
1335
- """Delete a relationship between two metadata elements. Async version.
1336
-
1337
- Parameters
1338
- ----------
1339
- relationship_guid : str
1340
- The identity of the relationship to delete.
1341
- body : dict
1342
- The definition of the element to create. A sample is the notes below.
1343
-
1344
- Returns
1345
- -------
1346
- None
1347
-
1348
- Raises
1349
- ------
1350
- InvalidParameterException
1351
- PropertyServerException
1352
- UserNotAuthorizedException
1353
-
1354
- Notes
1355
- -----
1356
- Example of the body:
1357
-
1358
- {
1359
- "class" : "UpdateRequestBody",
1360
- "externalSourceGUID" : "",
1361
- "externalSourceName" : "",
1362
- "forLineage" : false,
1363
- "forDuplicateProcessing" : false,
1364
- "effectiveTime" : "{{$isoTimestamp}}"
1365
- }
1366
- """
1367
- url = f"{self.command_root}/metadata-elements/related-elements/{relationship_guid}/delete"
1368
- await self._async_make_request("POST", url, body_slimmer(body))
1369
- return
1370
-
1371
- def delete_related_elements_in_store(
1372
- self, relationship_guid: str, body: dict
1373
- ) -> None:
1374
- """Delete a relationship between two metadata elements.
1375
-
1376
- Parameters
1377
- ----------
1378
- relationship_guid : str
1379
- The identity of the relationship to delete.
1380
- body : dict
1381
- The definition of the element to create. A sample is the notes below.
1382
-
1383
- Returns
1384
- -------
1385
- None
1386
-
1387
- Raises
1388
- ------
1389
- InvalidParameterException
1390
- PropertyServerException
1391
- UserNotAuthorizedException
1392
-
1393
- Notes
1394
- -----
1395
- Example of the body:
1396
-
1397
- {
1398
- "class" : "UpdateRequestBody",
1399
- "externalSourceGUID" : "",
1400
- "externalSourceName" : "",
1401
- "forLineage" : false,
1402
- "forDuplicateProcessing" : false,
1403
- "effectiveTime" : "{{$isoTimestamp}}"
1404
- }
1405
- """
1406
- loop = asyncio.get_event_loop()
1407
- loop.run_until_complete(
1408
- self._async_delete_related_elements_in_store(relationship_guid, body)
1409
- )
1410
- return
1411
-
1412
-
1413
- if __name__ == "__main__":
1414
- print("Main-Template Manager")