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.
- commands/__init__.py +24 -0
- commands/cat/Dr-Egeria_md-orig.py +2 -2
- commands/cat/__init__.py +1 -17
- commands/cat/collection_actions.py +197 -0
- commands/cat/dr_egeria_command_help.py +372 -0
- commands/cat/dr_egeria_jupyter.py +7 -7
- commands/cat/dr_egeria_md.py +27 -182
- commands/cat/exp_list_glossaries.py +11 -14
- commands/cat/get_asset_graph.py +37 -267
- commands/cat/{get_collection.py → get_collection_tree.py} +10 -18
- commands/cat/get_project_dependencies.py +14 -14
- commands/cat/get_project_structure.py +15 -14
- commands/cat/get_tech_type_elements.py +16 -116
- commands/cat/glossary_actions.py +145 -298
- commands/cat/list_assets.py +3 -11
- commands/cat/list_cert_types.py +17 -63
- commands/cat/list_collections.py +46 -138
- commands/cat/list_deployed_catalogs.py +15 -27
- commands/cat/list_deployed_database_schemas.py +27 -43
- commands/cat/list_deployed_databases.py +16 -31
- commands/cat/list_deployed_servers.py +35 -54
- commands/cat/list_glossaries.py +18 -17
- commands/cat/list_projects.py +10 -12
- commands/cat/list_tech_type_elements.py +21 -37
- commands/cat/list_tech_types.py +13 -25
- commands/cat/list_terms.py +38 -79
- commands/cat/list_todos.py +4 -11
- commands/cat/list_user_ids.py +3 -10
- commands/cat/my_reports.py +559 -0
- commands/cat/run_report.py +394 -0
- commands/cat/run_report_orig.py +528 -0
- commands/cli/egeria.py +222 -247
- commands/cli/egeria_cat.py +68 -81
- commands/cli/egeria_my.py +13 -0
- commands/cli/egeria_ops.py +69 -74
- commands/cli/egeria_tech.py +17 -93
- commands/cli/ops_config.py +3 -6
- commands/{cat/list_categories.py → deprecated/list_data_designer.py} +53 -64
- commands/{cat/list_data_structures.py → deprecated/list_data_structures_full.py} +3 -6
- commands/deprecated/old_get_asset_graph.py +315 -0
- commands/my/__init__.py +0 -2
- commands/my/list_my_profile.py +27 -34
- commands/my/list_my_roles.py +1 -7
- commands/my/monitor_my_todos.py +1 -7
- commands/my/monitor_open_todos.py +6 -7
- commands/my/todo_actions.py +4 -5
- commands/ops/__init__.py +0 -2
- commands/ops/gov_server_actions.py +17 -21
- commands/ops/list_archives.py +17 -38
- commands/ops/list_catalog_targets.py +33 -40
- commands/ops/load_archive.py +35 -26
- commands/ops/{monitor_engine_activity_c.py → monitor_active_engine_activity.py} +51 -82
- commands/ops/{monitor_integ_daemon_status.py → monitor_daemon_status.py} +35 -55
- commands/ops/monitor_engine_activity.py +79 -77
- commands/ops/{monitor_gov_eng_status.py → monitor_engine_status.py} +10 -7
- commands/ops/monitor_platform_status.py +38 -50
- commands/ops/monitor_server_startup.py +6 -11
- commands/ops/monitor_server_status.py +7 -11
- commands/ops/orig_monitor_server_list.py +8 -8
- commands/ops/orig_monitor_server_status.py +1 -5
- commands/ops/refresh_integration_daemon.py +5 -5
- commands/ops/restart_integration_daemon.py +5 -5
- commands/ops/table_integ_daemon_status.py +6 -6
- commands/ops/x_engine_actions.py +7 -7
- commands/tech/__init__.py +0 -2
- commands/tech/{generic_actions.py → element_actions.py} +6 -11
- commands/tech/get_element_info.py +20 -29
- commands/tech/get_guid_info.py +23 -42
- commands/tech/get_tech_details.py +20 -35
- commands/tech/get_tech_type_template.py +28 -39
- commands/tech/list_all_om_type_elements.py +24 -30
- commands/tech/list_all_om_type_elements_x.py +22 -28
- commands/tech/list_all_related_elements.py +19 -28
- commands/tech/list_anchored_elements.py +22 -30
- commands/tech/list_asset_types.py +19 -24
- commands/tech/list_elements_by_classification_by_property_value.py +26 -32
- commands/tech/list_elements_by_property_value.py +19 -25
- commands/tech/list_elements_by_property_value_x.py +20 -28
- commands/tech/list_elements_for_classification.py +28 -41
- commands/tech/list_gov_action_processes.py +16 -27
- commands/tech/list_information_supply_chains.py +22 -30
- commands/tech/list_registered_services.py +14 -26
- commands/tech/list_related_elements_with_prop_value.py +15 -25
- commands/tech/list_related_specification.py +1 -4
- commands/tech/list_relationship_types.py +15 -25
- commands/tech/list_relationships.py +20 -36
- commands/tech/list_solution_blueprints.py +28 -33
- commands/tech/list_solution_components.py +23 -29
- commands/tech/list_solution_roles.py +21 -32
- commands/tech/list_tech_templates.py +51 -54
- commands/tech/list_valid_metadata_values.py +5 -9
- commands/tech/table_tech_templates.py +2 -6
- commands/tech/x_list_related_elements.py +1 -4
- examples/GeoSpatial Products Example.py +524 -0
- examples/Jupyter Notebooks/P-egeria-server-config.ipynb +2137 -0
- examples/Jupyter Notebooks/README.md +2 -0
- examples/Jupyter Notebooks/common/P-environment-check.ipynb +115 -0
- examples/Jupyter Notebooks/common/__init__.py +14 -0
- examples/Jupyter Notebooks/common/common-functions.ipynb +4694 -0
- examples/Jupyter Notebooks/common/environment-check.ipynb +52 -0
- examples/Jupyter Notebooks/common/globals.ipynb +184 -0
- examples/Jupyter Notebooks/common/globals.py +154 -0
- examples/Jupyter Notebooks/common/orig_globals.py +152 -0
- examples/format_sets/all_format_sets.json +910 -0
- examples/format_sets/custom_format_sets.json +268 -0
- examples/format_sets/subset_format_sets.json +187 -0
- examples/format_sets_save_load_example.py +291 -0
- examples/jacquard_data_sets.py +129 -0
- examples/output_formats_example.py +193 -0
- examples/test_jacquard_data_sets.py +54 -0
- examples/test_jacquard_data_sets_scenarios.py +94 -0
- md_processing/__init__.py +90 -0
- md_processing/command_dispatcher.py +33 -0
- md_processing/command_mapping.py +221 -0
- md_processing/data/commands/commands_data_designer.json +537 -0
- md_processing/data/commands/commands_external_reference.json +733 -0
- md_processing/data/commands/commands_feedback.json +155 -0
- md_processing/data/commands/commands_general.json +204 -0
- md_processing/data/commands/commands_glossary.json +218 -0
- md_processing/data/commands/commands_governance.json +3678 -0
- md_processing/data/commands/commands_product_manager.json +865 -0
- md_processing/data/commands/commands_project.json +642 -0
- md_processing/data/commands/commands_solution_architect.json +366 -0
- md_processing/data/commands.json +17568 -0
- md_processing/data/commands_working.json +30641 -0
- md_processing/data/gened_report_specs.py +6584 -0
- md_processing/data/generated_format_sets.json +6533 -0
- md_processing/data/generated_format_sets_old.json +4137 -0
- md_processing/data/generated_format_sets_old.py +45 -0
- md_processing/dr_egeria.py +182 -0
- md_processing/md_commands/__init__.py +3 -0
- md_processing/md_commands/data_designer_commands.py +1276 -0
- md_processing/md_commands/ext_ref_commands.py +530 -0
- md_processing/md_commands/feedback_commands.py +726 -0
- md_processing/md_commands/glossary_commands.py +684 -0
- md_processing/md_commands/governance_officer_commands.py +600 -0
- md_processing/md_commands/product_manager_commands.py +1266 -0
- md_processing/md_commands/project_commands.py +383 -0
- md_processing/md_commands/solution_architect_commands.py +1184 -0
- md_processing/md_commands/view_commands.py +295 -0
- md_processing/md_processing_utils/__init__.py +4 -0
- md_processing/md_processing_utils/common_md_proc_utils.py +1249 -0
- md_processing/md_processing_utils/common_md_utils.py +578 -0
- md_processing/md_processing_utils/determine_width.py +103 -0
- md_processing/md_processing_utils/extraction_utils.py +547 -0
- md_processing/md_processing_utils/gen_report_specs.py +643 -0
- md_processing/md_processing_utils/generate_dr_help.py +193 -0
- md_processing/md_processing_utils/generate_md_cmd_templates.py +144 -0
- md_processing/md_processing_utils/generate_md_templates.py +83 -0
- md_processing/md_processing_utils/md_processing_constants.py +1228 -0
- md_processing/md_processing_utils/message_constants.py +19 -0
- pyegeria/__init__.py +201 -443
- pyegeria/core/__init__.py +40 -0
- pyegeria/core/_base_platform_client.py +574 -0
- pyegeria/core/_base_server_client.py +573 -0
- pyegeria/core/_exceptions.py +457 -0
- pyegeria/core/_globals.py +60 -0
- pyegeria/core/_server_client.py +6073 -0
- pyegeria/core/_validators.py +257 -0
- pyegeria/core/config.py +654 -0
- pyegeria/{create_tech_guid_lists.py → core/create_tech_guid_lists.py} +0 -1
- pyegeria/core/load_config.py +37 -0
- pyegeria/core/logging_configuration.py +207 -0
- pyegeria/core/mcp_adapter.py +144 -0
- pyegeria/core/mcp_server.py +212 -0
- pyegeria/core/utils.py +405 -0
- pyegeria/deprecated/__init__.py +0 -0
- pyegeria/{_client.py → deprecated/_client.py} +62 -24
- pyegeria/{_deprecated_gov_engine.py → deprecated/_deprecated_gov_engine.py} +16 -16
- pyegeria/{classification_manager_omvs.py → deprecated/classification_manager_omvs.py} +1988 -1878
- pyegeria/deprecated/output_formatter_with_machine_keys.py +1127 -0
- pyegeria/{runtime_manager_omvs.py → deprecated/runtime_manager_omvs.py} +216 -229
- pyegeria/{valid_metadata_omvs.py → deprecated/valid_metadata_omvs.py} +93 -93
- pyegeria/{x_action_author_omvs.py → deprecated/x_action_author_omvs.py} +2 -3
- pyegeria/egeria_cat_client.py +25 -51
- pyegeria/egeria_client.py +140 -98
- pyegeria/egeria_config_client.py +48 -24
- pyegeria/egeria_tech_client.py +170 -83
- pyegeria/models/__init__.py +150 -0
- pyegeria/models/collection_models.py +168 -0
- pyegeria/models/models.py +654 -0
- pyegeria/omvs/__init__.py +84 -0
- pyegeria/omvs/action_author.py +342 -0
- pyegeria/omvs/actor_manager.py +5980 -0
- pyegeria/omvs/asset_catalog.py +842 -0
- pyegeria/omvs/asset_maker.py +2736 -0
- pyegeria/omvs/automated_curation.py +4403 -0
- pyegeria/omvs/classification_manager.py +11213 -0
- pyegeria/omvs/collection_manager.py +5780 -0
- pyegeria/omvs/community_matters_omvs.py +468 -0
- pyegeria/{core_omag_server_config.py → omvs/core_omag_server_config.py} +157 -157
- pyegeria/{data_designer_omvs.py → omvs/data_designer.py} +1991 -1691
- pyegeria/omvs/data_discovery.py +869 -0
- pyegeria/omvs/data_engineer.py +372 -0
- pyegeria/omvs/digital_business.py +1133 -0
- pyegeria/omvs/external_links.py +1752 -0
- pyegeria/omvs/feedback_manager.py +834 -0
- pyegeria/{full_omag_server_config.py → omvs/full_omag_server_config.py} +73 -69
- pyegeria/omvs/glossary_manager.py +3231 -0
- pyegeria/omvs/governance_officer.py +3009 -0
- pyegeria/omvs/lineage_linker.py +314 -0
- pyegeria/omvs/location_arena.py +1525 -0
- pyegeria/omvs/metadata_expert.py +668 -0
- pyegeria/omvs/metadata_explorer_omvs.py +2943 -0
- pyegeria/omvs/my_profile.py +1042 -0
- pyegeria/omvs/notification_manager.py +358 -0
- pyegeria/omvs/people_organizer.py +394 -0
- pyegeria/{platform_services.py → omvs/platform_services.py} +113 -193
- pyegeria/omvs/product_manager.py +1825 -0
- pyegeria/omvs/project_manager.py +1907 -0
- pyegeria/omvs/reference_data.py +1140 -0
- pyegeria/omvs/registered_info.py +334 -0
- pyegeria/omvs/runtime_manager.py +2817 -0
- pyegeria/omvs/schema_maker.py +446 -0
- pyegeria/{server_operations.py → omvs/server_operations.py} +27 -26
- pyegeria/omvs/solution_architect.py +6490 -0
- pyegeria/omvs/specification_properties.py +37 -0
- pyegeria/omvs/subject_area.py +1042 -0
- pyegeria/omvs/template_manager_omvs.py +236 -0
- pyegeria/omvs/time_keeper.py +1761 -0
- pyegeria/omvs/valid_metadata.py +3221 -0
- pyegeria/omvs/valid_metadata_lists.py +37 -0
- pyegeria/omvs/valid_type_lists.py +37 -0
- pyegeria/view/__init__.py +28 -0
- pyegeria/view/_output_format_models.py +514 -0
- pyegeria/view/_output_formats.py +14 -0
- pyegeria/view/base_report_formats.py +2719 -0
- pyegeria/view/dr_egeria_reports.py +56 -0
- pyegeria/view/format_set_executor.py +397 -0
- pyegeria/{md_processing_utils.py → view/md_processing_utils.py} +5 -5
- pyegeria/{mermaid_utilities.py → view/mermaid_utilities.py} +2 -154
- pyegeria/view/output_formatter.py +1297 -0
- pyegeria-5.5.3.3.dist-info/METADATA +218 -0
- pyegeria-5.5.3.3.dist-info/RECORD +241 -0
- {pyegeria-5.3.9.9.3.dist-info → pyegeria-5.5.3.3.dist-info}/WHEEL +2 -1
- pyegeria-5.5.3.3.dist-info/entry_points.txt +103 -0
- pyegeria-5.5.3.3.dist-info/top_level.txt +4 -0
- commands/cat/.DS_Store +0 -0
- commands/cat/README.md +0 -16
- commands/cli/txt_custom_v2.tcss +0 -19
- commands/my/README.md +0 -17
- commands/ops/README.md +0 -24
- commands/ops/monitor_asset_events.py +0 -108
- commands/tech/README.md +0 -24
- pyegeria/.DS_Store +0 -0
- pyegeria/README.md +0 -35
- pyegeria/_globals.py +0 -47
- pyegeria/_validators.py +0 -385
- pyegeria/asset_catalog_omvs.py +0 -864
- pyegeria/automated_curation_omvs.py +0 -3765
- pyegeria/collection_manager_omvs.py +0 -2744
- pyegeria/dr.egeria spec.md +0 -9
- pyegeria/egeria_my_client.py +0 -56
- pyegeria/feedback_manager_omvs.py +0 -4573
- pyegeria/glossary_browser_omvs.py +0 -3728
- pyegeria/glossary_manager_omvs.py +0 -2440
- pyegeria/m_test.py +0 -118
- pyegeria/md_processing_helpers.py +0 -58
- pyegeria/md_processing_utils_orig.py +0 -1103
- pyegeria/metadata_explorer_omvs.py +0 -2326
- pyegeria/my_profile_omvs.py +0 -1022
- pyegeria/output_formatter.py +0 -389
- pyegeria/project_manager_omvs.py +0 -1933
- pyegeria/registered_info.py +0 -167
- pyegeria/solution_architect_omvs.py +0 -2156
- pyegeria/template_manager_omvs.py +0 -1414
- pyegeria/utils.py +0 -197
- pyegeria-5.3.9.9.3.dist-info/METADATA +0 -72
- pyegeria-5.3.9.9.3.dist-info/RECORD +0 -143
- pyegeria-5.3.9.9.3.dist-info/entry_points.txt +0 -99
- /pyegeria/{_exceptions.py → deprecated/_exceptions.py} +0 -0
- {pyegeria-5.3.9.9.3.dist-info → pyegeria-5.5.3.3.dist-info/licenses}/LICENSE +0 -0
|
@@ -0,0 +1,1761 @@
|
|
|
1
|
+
"""
|
|
2
|
+
PDX-License-Identifier: Apache-2.0
|
|
3
|
+
Copyright Contributors to the ODPi Egeria project.
|
|
4
|
+
|
|
5
|
+
This module contains the Time Keeper 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
|
+
NewElementRequestBody,
|
|
16
|
+
DeleteElementRequestBody,
|
|
17
|
+
UpdateElementRequestBody,
|
|
18
|
+
TemplateRequestBody,
|
|
19
|
+
NewRelationshipRequestBody,
|
|
20
|
+
DeleteRelationshipRequestBody,
|
|
21
|
+
FilterRequestBody,
|
|
22
|
+
SearchStringRequestBody,
|
|
23
|
+
GetRequestBody,
|
|
24
|
+
ReferenceableProperties,
|
|
25
|
+
RelationshipBeanProperties,
|
|
26
|
+
)
|
|
27
|
+
from pyegeria.view.output_formatter import (
|
|
28
|
+
generate_output,
|
|
29
|
+
populate_common_columns,
|
|
30
|
+
overlay_additional_values,
|
|
31
|
+
)
|
|
32
|
+
from pyegeria.core.utils import dynamic_catch
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
class ContextEventProperties(ReferenceableProperties):
|
|
36
|
+
class_: Annotated[Literal["ContextEventProperties"], Field(alias="class")]
|
|
37
|
+
url: Optional[str] = None
|
|
38
|
+
event_effect: Optional[str] = None
|
|
39
|
+
planned_start_date: Optional[str] = None
|
|
40
|
+
actual_start_date: Optional[str] = None
|
|
41
|
+
planned_duration: Optional[int] = None
|
|
42
|
+
actual_duration: Optional[int] = None
|
|
43
|
+
repeat_interval: Optional[int] = None
|
|
44
|
+
planned_completion_date: Optional[str] = None
|
|
45
|
+
actual_completion_date: Optional[str] = None
|
|
46
|
+
reference_effective_from: Optional[str] = None
|
|
47
|
+
reference_effective_to: Optional[str] = None
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
class DependentContextEventProperties(RelationshipBeanProperties):
|
|
51
|
+
class_: Annotated[Literal["DependentContextEventProperties"], Field(alias="class")]
|
|
52
|
+
label: Optional[str] = None
|
|
53
|
+
description: Optional[str] = None
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
class RelatedContextEventProperties(RelationshipBeanProperties):
|
|
57
|
+
class_: Annotated[Literal["RelatedContextEventProperties"], Field(alias="class")]
|
|
58
|
+
label: Optional[str] = None
|
|
59
|
+
description: Optional[str] = None
|
|
60
|
+
status_identifier: Optional[int] = None
|
|
61
|
+
confidence: Optional[int] = None
|
|
62
|
+
steward: Optional[str] = None
|
|
63
|
+
steward_type_name: Optional[str] = None
|
|
64
|
+
steward_property_name: Optional[str] = None
|
|
65
|
+
source: Optional[str] = None
|
|
66
|
+
notes: Optional[str] = None
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
class ContextEventEvidenceProperties(RelationshipBeanProperties):
|
|
70
|
+
class_: Annotated[Literal["ContextEventEvidenceProperties"], Field(alias="class")]
|
|
71
|
+
label: Optional[str] = None
|
|
72
|
+
description: Optional[str] = None
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
class ContextEventImpactProperties(RelationshipBeanProperties):
|
|
76
|
+
class_: Annotated[Literal["ContextEventImpactProperties"], Field(alias="class")]
|
|
77
|
+
label: Optional[str] = None
|
|
78
|
+
description: Optional[str] = None
|
|
79
|
+
status_identifier: Optional[int] = None
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
class ContextEventForTimelineEffectsProperties(RelationshipBeanProperties):
|
|
83
|
+
class_: Annotated[Literal["ContextEventForTimelineEffectsProperties"], Field(alias="class")]
|
|
84
|
+
label: Optional[str] = None
|
|
85
|
+
description: Optional[str] = None
|
|
86
|
+
status_identifier: Optional[int] = None
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
class TimeKeeper(ServerClient):
|
|
90
|
+
"""
|
|
91
|
+
Client for the Time Keeper View Service.
|
|
92
|
+
|
|
93
|
+
The Time Keeper View Service provides methods to manage context events.
|
|
94
|
+
|
|
95
|
+
Attributes
|
|
96
|
+
----------
|
|
97
|
+
view_server : str
|
|
98
|
+
The name of the View Server to use.
|
|
99
|
+
platform_url : str
|
|
100
|
+
URL of the server platform to connect to.
|
|
101
|
+
user_id : str
|
|
102
|
+
The identity of the user calling the method.
|
|
103
|
+
user_pwd : str
|
|
104
|
+
The password associated with the user_id. Defaults to None.
|
|
105
|
+
"""
|
|
106
|
+
|
|
107
|
+
def __init__(
|
|
108
|
+
self,
|
|
109
|
+
view_server: str,
|
|
110
|
+
platform_url: str,
|
|
111
|
+
user_id: str,
|
|
112
|
+
user_pwd: Optional[str] = None,
|
|
113
|
+
token: Optional[str] = None,
|
|
114
|
+
):
|
|
115
|
+
super().__init__(view_server, platform_url, user_id, user_pwd, token)
|
|
116
|
+
self.view_server = view_server
|
|
117
|
+
self.platform_url = platform_url
|
|
118
|
+
self.user_id = user_id
|
|
119
|
+
self.user_pwd = user_pwd
|
|
120
|
+
self.url_marker = "time-keeper"
|
|
121
|
+
|
|
122
|
+
def _extract_context_event_properties(self, element: dict, columns_struct: dict) -> dict:
|
|
123
|
+
col_data = populate_common_columns(element, columns_struct)
|
|
124
|
+
props = element.get("properties", {})
|
|
125
|
+
overlay_additional_values(col_data, props)
|
|
126
|
+
return col_data
|
|
127
|
+
|
|
128
|
+
def _generate_context_event_output(
|
|
129
|
+
self,
|
|
130
|
+
elements: dict | list[dict],
|
|
131
|
+
filter: Optional[str],
|
|
132
|
+
element_type_name: Optional[str],
|
|
133
|
+
output_format: str = "DICT",
|
|
134
|
+
report_spec: dict | str = None,
|
|
135
|
+
) -> str | list[dict]:
|
|
136
|
+
return generate_output(
|
|
137
|
+
elements,
|
|
138
|
+
filter,
|
|
139
|
+
element_type_name,
|
|
140
|
+
output_format,
|
|
141
|
+
self._extract_context_event_properties,
|
|
142
|
+
None,
|
|
143
|
+
report_spec,
|
|
144
|
+
)
|
|
145
|
+
|
|
146
|
+
@dynamic_catch
|
|
147
|
+
async def _async_create_context_event(self, body: dict | NewElementRequestBody) -> str:
|
|
148
|
+
"""Create a context event. Async version.
|
|
149
|
+
|
|
150
|
+
Parameters
|
|
151
|
+
----------
|
|
152
|
+
body : dict | NewElementRequestBody
|
|
153
|
+
The properties for the context event.
|
|
154
|
+
|
|
155
|
+
Returns
|
|
156
|
+
-------
|
|
157
|
+
str
|
|
158
|
+
The unique identifier of the newly created context event.
|
|
159
|
+
|
|
160
|
+
Raises
|
|
161
|
+
------
|
|
162
|
+
PyegeriaException
|
|
163
|
+
If there are issues in communications, message format, or Egeria errors.
|
|
164
|
+
|
|
165
|
+
Notes
|
|
166
|
+
-----
|
|
167
|
+
Sample JSON body:
|
|
168
|
+
```json
|
|
169
|
+
{
|
|
170
|
+
"class" : "NewElementRequestBody",
|
|
171
|
+
"properties": {
|
|
172
|
+
"class" : "ContextEventProperties",
|
|
173
|
+
"qualifiedName": "add unique name here",
|
|
174
|
+
"displayName": "add short name here",
|
|
175
|
+
"description": "add description here",
|
|
176
|
+
"plannedStartDate" : "2024-01-01T00:00:00.000+00:00"
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
```
|
|
180
|
+
"""
|
|
181
|
+
url = f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/time-keeper/context-events"
|
|
182
|
+
return await self._async_create_element_body_request(url, "ContextEventProperties", body)
|
|
183
|
+
|
|
184
|
+
def create_context_event(self, body: dict | NewElementRequestBody) -> str:
|
|
185
|
+
"""Create a context event.
|
|
186
|
+
|
|
187
|
+
Parameters
|
|
188
|
+
----------
|
|
189
|
+
body : dict | NewElementRequestBody
|
|
190
|
+
The properties for the context event.
|
|
191
|
+
|
|
192
|
+
Returns
|
|
193
|
+
-------
|
|
194
|
+
str
|
|
195
|
+
The unique identifier of the newly created context event.
|
|
196
|
+
|
|
197
|
+
Raises
|
|
198
|
+
------
|
|
199
|
+
PyegeriaException
|
|
200
|
+
If there are issues in communications, message format, or Egeria errors.
|
|
201
|
+
|
|
202
|
+
Notes
|
|
203
|
+
-----
|
|
204
|
+
Sample JSON body:
|
|
205
|
+
```json
|
|
206
|
+
{
|
|
207
|
+
"class" : "NewElementRequestBody",
|
|
208
|
+
"properties": {
|
|
209
|
+
"class" : "ContextEventProperties",
|
|
210
|
+
"qualifiedName": "add unique name here",
|
|
211
|
+
"displayName": "add short name here",
|
|
212
|
+
"description": "add description here",
|
|
213
|
+
"plannedStartDate" : "2024-01-01T00:00:00.000+00:00"
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
```
|
|
217
|
+
"""
|
|
218
|
+
loop = asyncio.get_event_loop()
|
|
219
|
+
return loop.run_until_complete(self._async_create_context_event(body))
|
|
220
|
+
|
|
221
|
+
@dynamic_catch
|
|
222
|
+
async def _async_create_context_event_from_template(self, body: dict | TemplateRequestBody) -> str:
|
|
223
|
+
"""Create a context event from a template. Async version.
|
|
224
|
+
|
|
225
|
+
Parameters
|
|
226
|
+
----------
|
|
227
|
+
body : dict | TemplateRequestBody
|
|
228
|
+
The properties for the new context event, including the template GUID.
|
|
229
|
+
|
|
230
|
+
Returns
|
|
231
|
+
-------
|
|
232
|
+
str
|
|
233
|
+
The unique identifier of the newly created context event.
|
|
234
|
+
|
|
235
|
+
Raises
|
|
236
|
+
------
|
|
237
|
+
PyegeriaException
|
|
238
|
+
If there are issues in communications, message format, or Egeria errors.
|
|
239
|
+
|
|
240
|
+
Notes
|
|
241
|
+
-----
|
|
242
|
+
Sample JSON body:
|
|
243
|
+
```json
|
|
244
|
+
{
|
|
245
|
+
"class" : "TemplateRequestBody",
|
|
246
|
+
"templateGUID": "add guid here",
|
|
247
|
+
"replacementProperties": {
|
|
248
|
+
"class": "ElementProperties",
|
|
249
|
+
"propertyValueMap" : {
|
|
250
|
+
"description" : {
|
|
251
|
+
"class": "PrimitiveTypePropertyValue",
|
|
252
|
+
"typeName": "string",
|
|
253
|
+
"primitiveValue" : "New description"
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
```
|
|
259
|
+
"""
|
|
260
|
+
url = f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/time-keeper/context-events/from-template"
|
|
261
|
+
return await self._async_create_element_body_request(url, "ContextEventProperties", body)
|
|
262
|
+
|
|
263
|
+
def create_context_event_from_template(self, body: dict | TemplateRequestBody) -> str:
|
|
264
|
+
"""Create a context event from a template.
|
|
265
|
+
|
|
266
|
+
Parameters
|
|
267
|
+
----------
|
|
268
|
+
body : dict | TemplateRequestBody
|
|
269
|
+
The properties for the new context event, including the template GUID.
|
|
270
|
+
|
|
271
|
+
Returns
|
|
272
|
+
-------
|
|
273
|
+
str
|
|
274
|
+
The unique identifier of the newly created context event.
|
|
275
|
+
|
|
276
|
+
Raises
|
|
277
|
+
------
|
|
278
|
+
PyegeriaException
|
|
279
|
+
If there are issues in communications, message format, or Egeria errors.
|
|
280
|
+
|
|
281
|
+
Notes
|
|
282
|
+
-----
|
|
283
|
+
Sample JSON body:
|
|
284
|
+
```json
|
|
285
|
+
{
|
|
286
|
+
"class" : "TemplateRequestBody",
|
|
287
|
+
"templateGUID": "add guid here",
|
|
288
|
+
"replacementProperties": {
|
|
289
|
+
"class": "ElementProperties",
|
|
290
|
+
"propertyValueMap" : {
|
|
291
|
+
"description" : {
|
|
292
|
+
"class": "PrimitiveTypePropertyValue",
|
|
293
|
+
"typeName": "string",
|
|
294
|
+
"primitiveValue" : "New description"
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
```
|
|
300
|
+
"""
|
|
301
|
+
loop = asyncio.get_event_loop()
|
|
302
|
+
return loop.run_until_complete(self._async_create_context_event_from_template(body))
|
|
303
|
+
|
|
304
|
+
@dynamic_catch
|
|
305
|
+
async def _async_update_context_event(
|
|
306
|
+
self, context_event_guid: str, body: dict | UpdateElementRequestBody
|
|
307
|
+
) -> None:
|
|
308
|
+
"""Update a context event. Async version.
|
|
309
|
+
|
|
310
|
+
Parameters
|
|
311
|
+
----------
|
|
312
|
+
context_event_guid : str
|
|
313
|
+
The unique identifier of the context event.
|
|
314
|
+
body : dict | UpdateElementRequestBody
|
|
315
|
+
The properties to update.
|
|
316
|
+
|
|
317
|
+
Returns
|
|
318
|
+
-------
|
|
319
|
+
None
|
|
320
|
+
|
|
321
|
+
Raises
|
|
322
|
+
------
|
|
323
|
+
PyegeriaException
|
|
324
|
+
If there are issues in communications, message format, or Egeria errors.
|
|
325
|
+
|
|
326
|
+
Notes
|
|
327
|
+
-----
|
|
328
|
+
Sample JSON body:
|
|
329
|
+
```json
|
|
330
|
+
{
|
|
331
|
+
"class" : "UpdateElementRequestBody",
|
|
332
|
+
"mergeUpdate": true,
|
|
333
|
+
"properties": {
|
|
334
|
+
"class" : "ContextEventProperties",
|
|
335
|
+
"displayName": "Updated Name"
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
```
|
|
339
|
+
"""
|
|
340
|
+
url = f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/time-keeper/context-events/{context_event_guid}/update"
|
|
341
|
+
await self._async_update_element_body_request(url, body)
|
|
342
|
+
|
|
343
|
+
def update_context_event(self, context_event_guid: str, body: dict | UpdateElementRequestBody) -> None:
|
|
344
|
+
"""Update a context event.
|
|
345
|
+
|
|
346
|
+
Parameters
|
|
347
|
+
----------
|
|
348
|
+
context_event_guid : str
|
|
349
|
+
The unique identifier of the context event.
|
|
350
|
+
body : dict | UpdateElementRequestBody
|
|
351
|
+
The properties to update.
|
|
352
|
+
|
|
353
|
+
Returns
|
|
354
|
+
-------
|
|
355
|
+
None
|
|
356
|
+
|
|
357
|
+
Raises
|
|
358
|
+
------
|
|
359
|
+
PyegeriaException
|
|
360
|
+
If there are issues in communications, message format, or Egeria errors.
|
|
361
|
+
|
|
362
|
+
Notes
|
|
363
|
+
-----
|
|
364
|
+
Sample JSON body:
|
|
365
|
+
```json
|
|
366
|
+
{
|
|
367
|
+
"class" : "UpdateElementRequestBody",
|
|
368
|
+
"mergeUpdate": true,
|
|
369
|
+
"properties": {
|
|
370
|
+
"class" : "ContextEventProperties",
|
|
371
|
+
"displayName": "Updated Name"
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
```
|
|
375
|
+
"""
|
|
376
|
+
loop = asyncio.get_event_loop()
|
|
377
|
+
loop.run_until_complete(self._async_update_context_event(context_event_guid, body))
|
|
378
|
+
|
|
379
|
+
@dynamic_catch
|
|
380
|
+
async def _async_delete_context_event(
|
|
381
|
+
self, context_event_guid: str, body: dict | DeleteElementRequestBody
|
|
382
|
+
) -> None:
|
|
383
|
+
"""Delete a context event. Async version.
|
|
384
|
+
|
|
385
|
+
Parameters
|
|
386
|
+
----------
|
|
387
|
+
context_event_guid : str
|
|
388
|
+
The unique identifier of the context event.
|
|
389
|
+
body : dict | DeleteElementRequestBody
|
|
390
|
+
The request body for the delete operation.
|
|
391
|
+
|
|
392
|
+
Returns
|
|
393
|
+
-------
|
|
394
|
+
None
|
|
395
|
+
|
|
396
|
+
Raises
|
|
397
|
+
------
|
|
398
|
+
PyegeriaException
|
|
399
|
+
If there are issues in communications, message format, or Egeria errors.
|
|
400
|
+
|
|
401
|
+
Notes
|
|
402
|
+
-----
|
|
403
|
+
Sample JSON body:
|
|
404
|
+
```json
|
|
405
|
+
{
|
|
406
|
+
"class" : "DeleteElementRequestBody",
|
|
407
|
+
"cascadedDelete" : false,
|
|
408
|
+
"deleteMethod" : "LOOK_FOR_LINEAGE"
|
|
409
|
+
}
|
|
410
|
+
```
|
|
411
|
+
"""
|
|
412
|
+
url = f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/time-keeper/context-events/{context_event_guid}/delete"
|
|
413
|
+
await self._async_delete_element_body_request(url, body)
|
|
414
|
+
|
|
415
|
+
def delete_context_event(self, context_event_guid: str, body: dict | DeleteElementRequestBody) -> None:
|
|
416
|
+
"""Delete a context event.
|
|
417
|
+
|
|
418
|
+
Parameters
|
|
419
|
+
----------
|
|
420
|
+
context_event_guid : str
|
|
421
|
+
The unique identifier of the context event.
|
|
422
|
+
body : dict | DeleteElementRequestBody
|
|
423
|
+
The request body for the delete operation.
|
|
424
|
+
|
|
425
|
+
Returns
|
|
426
|
+
-------
|
|
427
|
+
None
|
|
428
|
+
|
|
429
|
+
Raises
|
|
430
|
+
------
|
|
431
|
+
PyegeriaException
|
|
432
|
+
If there are issues in communications, message format, or Egeria errors.
|
|
433
|
+
|
|
434
|
+
Notes
|
|
435
|
+
-----
|
|
436
|
+
Sample JSON body:
|
|
437
|
+
```json
|
|
438
|
+
{
|
|
439
|
+
"class" : "DeleteElementRequestBody",
|
|
440
|
+
"cascadedDelete" : false,
|
|
441
|
+
"deleteMethod" : "LOOK_FOR_LINEAGE"
|
|
442
|
+
}
|
|
443
|
+
```
|
|
444
|
+
"""
|
|
445
|
+
loop = asyncio.get_event_loop()
|
|
446
|
+
loop.run_until_complete(self._async_delete_context_event(context_event_guid, body))
|
|
447
|
+
|
|
448
|
+
@dynamic_catch
|
|
449
|
+
async def _async_link_dependent_context_events(
|
|
450
|
+
self,
|
|
451
|
+
parent_context_event_guid: str,
|
|
452
|
+
child_context_event_guid: str,
|
|
453
|
+
body: dict | NewRelationshipRequestBody,
|
|
454
|
+
) -> None:
|
|
455
|
+
"""Link dependent context events. Async version.
|
|
456
|
+
|
|
457
|
+
Parameters
|
|
458
|
+
----------
|
|
459
|
+
parent_context_event_guid : str
|
|
460
|
+
The unique identifier of the parent context event.
|
|
461
|
+
child_context_event_guid : str
|
|
462
|
+
The unique identifier of the child context event.
|
|
463
|
+
body : dict | NewRelationshipRequestBody
|
|
464
|
+
The properties for the relationship.
|
|
465
|
+
|
|
466
|
+
Returns
|
|
467
|
+
-------
|
|
468
|
+
None
|
|
469
|
+
|
|
470
|
+
Raises
|
|
471
|
+
------
|
|
472
|
+
PyegeriaException
|
|
473
|
+
If there are issues in communications, message format, or Egeria errors.
|
|
474
|
+
|
|
475
|
+
Notes
|
|
476
|
+
-----
|
|
477
|
+
Sample JSON body:
|
|
478
|
+
```json
|
|
479
|
+
{
|
|
480
|
+
"class" : "NewRelationshipRequestBody",
|
|
481
|
+
"properties": {
|
|
482
|
+
"class": "DependentContextEventProperties",
|
|
483
|
+
"label" : "Dependency",
|
|
484
|
+
"description" : "Child event depends on parent event"
|
|
485
|
+
}
|
|
486
|
+
}
|
|
487
|
+
```
|
|
488
|
+
"""
|
|
489
|
+
url = f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/time-keeper/context-events/{parent_context_event_guid}/dependent-context-events/{child_context_event_guid}/attach"
|
|
490
|
+
await self._async_create_related_elements_body_request(url, body)
|
|
491
|
+
|
|
492
|
+
def link_dependent_context_events(
|
|
493
|
+
self,
|
|
494
|
+
parent_context_event_guid: str,
|
|
495
|
+
child_context_event_guid: str,
|
|
496
|
+
body: dict | NewRelationshipRequestBody,
|
|
497
|
+
) -> None:
|
|
498
|
+
"""Link dependent context events.
|
|
499
|
+
|
|
500
|
+
Parameters
|
|
501
|
+
----------
|
|
502
|
+
parent_context_event_guid : str
|
|
503
|
+
The unique identifier of the parent context event.
|
|
504
|
+
child_context_event_guid : str
|
|
505
|
+
The unique identifier of the child context event.
|
|
506
|
+
body : dict | NewRelationshipRequestBody
|
|
507
|
+
The properties for the relationship.
|
|
508
|
+
|
|
509
|
+
Returns
|
|
510
|
+
-------
|
|
511
|
+
None
|
|
512
|
+
|
|
513
|
+
Raises
|
|
514
|
+
------
|
|
515
|
+
PyegeriaException
|
|
516
|
+
If there are issues in communications, message format, or Egeria errors.
|
|
517
|
+
|
|
518
|
+
Notes
|
|
519
|
+
-----
|
|
520
|
+
Sample JSON body:
|
|
521
|
+
```json
|
|
522
|
+
{
|
|
523
|
+
"class" : "NewRelationshipRequestBody",
|
|
524
|
+
"properties": {
|
|
525
|
+
"class": "DependentContextEventProperties",
|
|
526
|
+
"label" : "Dependency",
|
|
527
|
+
"description" : "Child event depends on parent event"
|
|
528
|
+
}
|
|
529
|
+
}
|
|
530
|
+
```
|
|
531
|
+
"""
|
|
532
|
+
loop = asyncio.get_event_loop()
|
|
533
|
+
loop.run_until_complete(
|
|
534
|
+
self._async_link_dependent_context_events(
|
|
535
|
+
parent_context_event_guid, child_context_event_guid, body
|
|
536
|
+
)
|
|
537
|
+
)
|
|
538
|
+
|
|
539
|
+
@dynamic_catch
|
|
540
|
+
async def _async_detach_dependent_context_events(
|
|
541
|
+
self,
|
|
542
|
+
parent_context_event_guid: str,
|
|
543
|
+
child_context_event_guid: str,
|
|
544
|
+
body: dict | DeleteRelationshipRequestBody,
|
|
545
|
+
) -> None:
|
|
546
|
+
"""Detach dependent context events. Async version.
|
|
547
|
+
|
|
548
|
+
Parameters
|
|
549
|
+
----------
|
|
550
|
+
parent_context_event_guid : str
|
|
551
|
+
The unique identifier of the parent context event.
|
|
552
|
+
child_context_event_guid : str
|
|
553
|
+
The unique identifier of the child context event.
|
|
554
|
+
body : dict | DeleteRelationshipRequestBody
|
|
555
|
+
The request body for the detach operation.
|
|
556
|
+
|
|
557
|
+
Returns
|
|
558
|
+
-------
|
|
559
|
+
None
|
|
560
|
+
|
|
561
|
+
Raises
|
|
562
|
+
------
|
|
563
|
+
PyegeriaException
|
|
564
|
+
If there are issues in communications, message format, or Egeria errors.
|
|
565
|
+
|
|
566
|
+
Notes
|
|
567
|
+
-----
|
|
568
|
+
Sample JSON body:
|
|
569
|
+
```json
|
|
570
|
+
{
|
|
571
|
+
"class" : "DeleteRelationshipRequestBody",
|
|
572
|
+
"cascadedDelete" : false,
|
|
573
|
+
"deleteMethod" : "LOOK_FOR_LINEAGE"
|
|
574
|
+
}
|
|
575
|
+
```
|
|
576
|
+
"""
|
|
577
|
+
url = f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/time-keeper/context-events/{parent_context_event_guid}/dependent-context-events/{child_context_event_guid}/detach"
|
|
578
|
+
await self._async_delete_relationship_request(url, body)
|
|
579
|
+
|
|
580
|
+
def detach_dependent_context_events(
|
|
581
|
+
self,
|
|
582
|
+
parent_context_event_guid: str,
|
|
583
|
+
child_context_event_guid: str,
|
|
584
|
+
body: dict | DeleteRelationshipRequestBody,
|
|
585
|
+
) -> None:
|
|
586
|
+
"""Detach dependent context events.
|
|
587
|
+
|
|
588
|
+
Parameters
|
|
589
|
+
----------
|
|
590
|
+
parent_context_event_guid : str
|
|
591
|
+
The unique identifier of the parent context event.
|
|
592
|
+
child_context_event_guid : str
|
|
593
|
+
The unique identifier of the child context event.
|
|
594
|
+
body : dict | DeleteRelationshipRequestBody
|
|
595
|
+
The request body for the detach operation.
|
|
596
|
+
|
|
597
|
+
Returns
|
|
598
|
+
-------
|
|
599
|
+
None
|
|
600
|
+
|
|
601
|
+
Raises
|
|
602
|
+
------
|
|
603
|
+
PyegeriaException
|
|
604
|
+
If there are issues in communications, message format, or Egeria errors.
|
|
605
|
+
|
|
606
|
+
Notes
|
|
607
|
+
-----
|
|
608
|
+
Sample JSON body:
|
|
609
|
+
```json
|
|
610
|
+
{
|
|
611
|
+
"class" : "DeleteRelationshipRequestBody",
|
|
612
|
+
"cascadedDelete" : false,
|
|
613
|
+
"deleteMethod" : "LOOK_FOR_LINEAGE"
|
|
614
|
+
}
|
|
615
|
+
```
|
|
616
|
+
"""
|
|
617
|
+
loop = asyncio.get_event_loop()
|
|
618
|
+
loop.run_until_complete(
|
|
619
|
+
self._async_detach_dependent_context_events(
|
|
620
|
+
parent_context_event_guid, child_context_event_guid, body
|
|
621
|
+
)
|
|
622
|
+
)
|
|
623
|
+
|
|
624
|
+
@dynamic_catch
|
|
625
|
+
async def _async_link_related_context_events(
|
|
626
|
+
self,
|
|
627
|
+
context_event_one_guid: str,
|
|
628
|
+
context_event_two_guid: str,
|
|
629
|
+
body: dict | NewRelationshipRequestBody,
|
|
630
|
+
) -> None:
|
|
631
|
+
"""Link related context events. Async version.
|
|
632
|
+
|
|
633
|
+
Parameters
|
|
634
|
+
----------
|
|
635
|
+
context_event_one_guid : str
|
|
636
|
+
The unique identifier of the first context event.
|
|
637
|
+
context_event_two_guid : str
|
|
638
|
+
The unique identifier of the second context event.
|
|
639
|
+
body : dict | NewRelationshipRequestBody
|
|
640
|
+
The properties for the relationship.
|
|
641
|
+
|
|
642
|
+
Returns
|
|
643
|
+
-------
|
|
644
|
+
None
|
|
645
|
+
|
|
646
|
+
Raises
|
|
647
|
+
------
|
|
648
|
+
PyegeriaException
|
|
649
|
+
If there are issues in communications, message format, or Egeria errors.
|
|
650
|
+
|
|
651
|
+
Notes
|
|
652
|
+
-----
|
|
653
|
+
Sample JSON body:
|
|
654
|
+
```json
|
|
655
|
+
{
|
|
656
|
+
"class" : "NewRelationshipRequestBody",
|
|
657
|
+
"properties": {
|
|
658
|
+
"class": "RelatedContextEventProperties",
|
|
659
|
+
"label" : "Related",
|
|
660
|
+
"description" : "These events are related"
|
|
661
|
+
}
|
|
662
|
+
}
|
|
663
|
+
```
|
|
664
|
+
"""
|
|
665
|
+
url = f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/time-keeper/context-events/{context_event_one_guid}/related-context-events/{context_event_two_guid}/attach"
|
|
666
|
+
await self._async_new_relationship_request(url, ['ContextEventEvidence'],body)
|
|
667
|
+
|
|
668
|
+
def link_related_context_events(
|
|
669
|
+
self,
|
|
670
|
+
context_event_one_guid: str,
|
|
671
|
+
context_event_two_guid: str,
|
|
672
|
+
body: dict | NewRelationshipRequestBody,
|
|
673
|
+
) -> None:
|
|
674
|
+
"""Link related context events.
|
|
675
|
+
|
|
676
|
+
Parameters
|
|
677
|
+
----------
|
|
678
|
+
context_event_one_guid : str
|
|
679
|
+
The unique identifier of the first context event.
|
|
680
|
+
context_event_two_guid : str
|
|
681
|
+
The unique identifier of the second context event.
|
|
682
|
+
body : dict | NewRelationshipRequestBody
|
|
683
|
+
The properties for the relationship.
|
|
684
|
+
|
|
685
|
+
Returns
|
|
686
|
+
-------
|
|
687
|
+
None
|
|
688
|
+
|
|
689
|
+
Raises
|
|
690
|
+
------
|
|
691
|
+
PyegeriaException
|
|
692
|
+
If there are issues in communications, message format, or Egeria errors.
|
|
693
|
+
|
|
694
|
+
Notes
|
|
695
|
+
-----
|
|
696
|
+
Sample JSON body:
|
|
697
|
+
```json
|
|
698
|
+
{
|
|
699
|
+
"class" : "NewRelationshipRequestBody",
|
|
700
|
+
"properties": {
|
|
701
|
+
"class": "RelatedContextEventProperties",
|
|
702
|
+
"label" : "Related",
|
|
703
|
+
"description" : "These events are related"
|
|
704
|
+
}
|
|
705
|
+
}
|
|
706
|
+
```
|
|
707
|
+
"""
|
|
708
|
+
loop = asyncio.get_event_loop()
|
|
709
|
+
loop.run_until_complete(
|
|
710
|
+
self._async_link_related_context_events(context_event_one_guid, context_event_two_guid, body)
|
|
711
|
+
)
|
|
712
|
+
|
|
713
|
+
@dynamic_catch
|
|
714
|
+
async def _async_detach_related_context_events(
|
|
715
|
+
self,
|
|
716
|
+
context_event_one_guid: str,
|
|
717
|
+
context_event_two_guid: str,
|
|
718
|
+
body: dict | DeleteRelationshipRequestBody,
|
|
719
|
+
) -> None:
|
|
720
|
+
"""Detach related context events. Async version.
|
|
721
|
+
|
|
722
|
+
Parameters
|
|
723
|
+
----------
|
|
724
|
+
context_event_one_guid : str
|
|
725
|
+
The unique identifier of the first context event.
|
|
726
|
+
context_event_two_guid : str
|
|
727
|
+
The unique identifier of the second context event.
|
|
728
|
+
body : dict | DeleteRelationshipRequestBody
|
|
729
|
+
The request body for the detach operation.
|
|
730
|
+
|
|
731
|
+
Returns
|
|
732
|
+
-------
|
|
733
|
+
None
|
|
734
|
+
|
|
735
|
+
Raises
|
|
736
|
+
------
|
|
737
|
+
PyegeriaException
|
|
738
|
+
If there are issues in communications, message format, or Egeria errors.
|
|
739
|
+
|
|
740
|
+
Notes
|
|
741
|
+
-----
|
|
742
|
+
Sample JSON body:
|
|
743
|
+
```json
|
|
744
|
+
{
|
|
745
|
+
"class" : "DeleteRelationshipRequestBody",
|
|
746
|
+
"cascadedDelete" : false,
|
|
747
|
+
"deleteMethod" : "LOOK_FOR_LINEAGE"
|
|
748
|
+
}
|
|
749
|
+
```
|
|
750
|
+
"""
|
|
751
|
+
url = f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/time-keeper/context-events/{context_event_one_guid}/related-context-events/{context_event_two_guid}/detach"
|
|
752
|
+
await self._async_delete_relationship_request(url, body)
|
|
753
|
+
|
|
754
|
+
def detach_related_context_events(
|
|
755
|
+
self,
|
|
756
|
+
context_event_one_guid: str,
|
|
757
|
+
context_event_two_guid: str,
|
|
758
|
+
body: dict | DeleteRelationshipRequestBody,
|
|
759
|
+
) -> None:
|
|
760
|
+
"""Detach related context events.
|
|
761
|
+
|
|
762
|
+
Parameters
|
|
763
|
+
----------
|
|
764
|
+
context_event_one_guid : str
|
|
765
|
+
The unique identifier of the first context event.
|
|
766
|
+
context_event_two_guid : str
|
|
767
|
+
The unique identifier of the second context event.
|
|
768
|
+
body : dict | DeleteRelationshipRequestBody
|
|
769
|
+
The request body for the detach operation.
|
|
770
|
+
|
|
771
|
+
Returns
|
|
772
|
+
-------
|
|
773
|
+
None
|
|
774
|
+
|
|
775
|
+
Raises
|
|
776
|
+
------
|
|
777
|
+
PyegeriaException
|
|
778
|
+
If there are issues in communications, message format, or Egeria errors.
|
|
779
|
+
|
|
780
|
+
Notes
|
|
781
|
+
-----
|
|
782
|
+
Sample JSON body:
|
|
783
|
+
```json
|
|
784
|
+
{
|
|
785
|
+
"class" : "DeleteRelationshipRequestBody",
|
|
786
|
+
"cascadedDelete" : false,
|
|
787
|
+
"deleteMethod" : "LOOK_FOR_LINEAGE"
|
|
788
|
+
}
|
|
789
|
+
```
|
|
790
|
+
"""
|
|
791
|
+
loop = asyncio.get_event_loop()
|
|
792
|
+
loop.run_until_complete(
|
|
793
|
+
self._async_detach_related_context_events(context_event_one_guid, context_event_two_guid, body)
|
|
794
|
+
)
|
|
795
|
+
|
|
796
|
+
@dynamic_catch
|
|
797
|
+
async def _async_link_context_event_evidence(
|
|
798
|
+
self, context_event_guid: str, evidence_guid: str, body: dict | NewRelationshipRequestBody
|
|
799
|
+
) -> None:
|
|
800
|
+
"""Link context event evidence. Async version.
|
|
801
|
+
|
|
802
|
+
Parameters
|
|
803
|
+
----------
|
|
804
|
+
context_event_guid : str
|
|
805
|
+
The unique identifier of the context event.
|
|
806
|
+
evidence_guid : str
|
|
807
|
+
The unique identifier of the element providing evidence.
|
|
808
|
+
body : dict | NewRelationshipRequestBody
|
|
809
|
+
The properties for the relationship.
|
|
810
|
+
|
|
811
|
+
Returns
|
|
812
|
+
-------
|
|
813
|
+
None
|
|
814
|
+
|
|
815
|
+
Raises
|
|
816
|
+
------
|
|
817
|
+
PyegeriaException
|
|
818
|
+
If there are issues in communications, message format, or Egeria errors.
|
|
819
|
+
|
|
820
|
+
Notes
|
|
821
|
+
-----
|
|
822
|
+
Sample JSON body:
|
|
823
|
+
```json
|
|
824
|
+
{
|
|
825
|
+
"class" : "NewRelationshipRequestBody",
|
|
826
|
+
"properties": {
|
|
827
|
+
"class": "ContextEventEvidenceProperties",
|
|
828
|
+
"label" : "Evidence",
|
|
829
|
+
"description" : "Evidence for context event"
|
|
830
|
+
}
|
|
831
|
+
}
|
|
832
|
+
```
|
|
833
|
+
"""
|
|
834
|
+
url = f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/time-keeper/context-events/{context_event_guid}/evidence/{evidence_guid}/attach"
|
|
835
|
+
await self._async_new_relationship_request(url, body)
|
|
836
|
+
|
|
837
|
+
def link_context_event_evidence(
|
|
838
|
+
self, context_event_guid: str, evidence_guid: str, body: dict | NewRelationshipRequestBody
|
|
839
|
+
) -> None:
|
|
840
|
+
"""Link context event evidence.
|
|
841
|
+
|
|
842
|
+
Parameters
|
|
843
|
+
----------
|
|
844
|
+
context_event_guid : str
|
|
845
|
+
The unique identifier of the context event.
|
|
846
|
+
evidence_guid : str
|
|
847
|
+
The unique identifier of the element providing evidence.
|
|
848
|
+
body : dict | NewRelationshipRequestBody
|
|
849
|
+
The properties for the relationship.
|
|
850
|
+
|
|
851
|
+
Returns
|
|
852
|
+
-------
|
|
853
|
+
None
|
|
854
|
+
|
|
855
|
+
Raises
|
|
856
|
+
------
|
|
857
|
+
PyegeriaException
|
|
858
|
+
If there are issues in communications, message format, or Egeria errors.
|
|
859
|
+
|
|
860
|
+
Notes
|
|
861
|
+
-----
|
|
862
|
+
Sample JSON body:
|
|
863
|
+
```json
|
|
864
|
+
{
|
|
865
|
+
"class" : "NewRelationshipRequestBody",
|
|
866
|
+
"properties": {
|
|
867
|
+
"class": "ContextEventEvidenceProperties",
|
|
868
|
+
"label" : "Evidence",
|
|
869
|
+
"description" : "Evidence for context event"
|
|
870
|
+
}
|
|
871
|
+
}
|
|
872
|
+
```
|
|
873
|
+
"""
|
|
874
|
+
loop = asyncio.get_event_loop()
|
|
875
|
+
loop.run_until_complete(
|
|
876
|
+
self._async_link_context_event_evidence(context_event_guid, evidence_guid, body)
|
|
877
|
+
)
|
|
878
|
+
|
|
879
|
+
@dynamic_catch
|
|
880
|
+
async def _async_detach_context_event_evidence(
|
|
881
|
+
self, context_event_guid: str, evidence_guid: str, body: dict | DeleteRelationshipRequestBody
|
|
882
|
+
) -> None:
|
|
883
|
+
"""Detach context event evidence. Async version.
|
|
884
|
+
|
|
885
|
+
Parameters
|
|
886
|
+
----------
|
|
887
|
+
context_event_guid : str
|
|
888
|
+
The unique identifier of the context event.
|
|
889
|
+
evidence_guid : str
|
|
890
|
+
The unique identifier of the element providing evidence.
|
|
891
|
+
body : dict | DeleteRelationshipRequestBody
|
|
892
|
+
The request body for the detach operation.
|
|
893
|
+
|
|
894
|
+
Returns
|
|
895
|
+
-------
|
|
896
|
+
None
|
|
897
|
+
|
|
898
|
+
Raises
|
|
899
|
+
------
|
|
900
|
+
PyegeriaException
|
|
901
|
+
If there are issues in communications, message format, or Egeria errors.
|
|
902
|
+
|
|
903
|
+
Notes
|
|
904
|
+
-----
|
|
905
|
+
Sample JSON body:
|
|
906
|
+
```json
|
|
907
|
+
{
|
|
908
|
+
"class" : "DeleteRelationshipRequestBody",
|
|
909
|
+
"cascadedDelete" : false,
|
|
910
|
+
"deleteMethod" : "LOOK_FOR_LINEAGE"
|
|
911
|
+
}
|
|
912
|
+
```
|
|
913
|
+
"""
|
|
914
|
+
url = f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/time-keeper/context-events/{context_event_guid}/evidence/{evidence_guid}/detach"
|
|
915
|
+
await self._async_delete_relationship_request(url, body)
|
|
916
|
+
|
|
917
|
+
def detach_context_event_evidence(
|
|
918
|
+
self, context_event_guid: str, evidence_guid: str, body: dict | DeleteRelationshipRequestBody
|
|
919
|
+
) -> None:
|
|
920
|
+
"""Detach context event evidence.
|
|
921
|
+
|
|
922
|
+
Parameters
|
|
923
|
+
----------
|
|
924
|
+
context_event_guid : str
|
|
925
|
+
The unique identifier of the context event.
|
|
926
|
+
evidence_guid : str
|
|
927
|
+
The unique identifier of the element providing evidence.
|
|
928
|
+
body : dict | DeleteRelationshipRequestBody
|
|
929
|
+
The request body for the detach operation.
|
|
930
|
+
|
|
931
|
+
Returns
|
|
932
|
+
-------
|
|
933
|
+
None
|
|
934
|
+
|
|
935
|
+
Raises
|
|
936
|
+
------
|
|
937
|
+
PyegeriaException
|
|
938
|
+
If there are issues in communications, message format, or Egeria errors.
|
|
939
|
+
|
|
940
|
+
Notes
|
|
941
|
+
-----
|
|
942
|
+
Sample JSON body:
|
|
943
|
+
```json
|
|
944
|
+
{
|
|
945
|
+
"class" : "DeleteRelationshipRequestBody",
|
|
946
|
+
"cascadedDelete" : false,
|
|
947
|
+
"deleteMethod" : "LOOK_FOR_LINEAGE"
|
|
948
|
+
}
|
|
949
|
+
```
|
|
950
|
+
"""
|
|
951
|
+
loop = asyncio.get_event_loop()
|
|
952
|
+
loop.run_until_complete(
|
|
953
|
+
self._async_detach_context_event_evidence(context_event_guid, evidence_guid, body)
|
|
954
|
+
)
|
|
955
|
+
|
|
956
|
+
@dynamic_catch
|
|
957
|
+
async def _async_link_context_event_impact(
|
|
958
|
+
self, context_event_guid: str, impacted_element_guid: str, body: dict | NewRelationshipRequestBody
|
|
959
|
+
) -> None:
|
|
960
|
+
"""Link context event impact. Async version.
|
|
961
|
+
|
|
962
|
+
Parameters
|
|
963
|
+
----------
|
|
964
|
+
context_event_guid : str
|
|
965
|
+
The unique identifier of the context event.
|
|
966
|
+
impacted_element_guid : str
|
|
967
|
+
The unique identifier of the impacted element.
|
|
968
|
+
body : dict | NewRelationshipRequestBody
|
|
969
|
+
The properties for the relationship.
|
|
970
|
+
|
|
971
|
+
Returns
|
|
972
|
+
-------
|
|
973
|
+
None
|
|
974
|
+
|
|
975
|
+
Raises
|
|
976
|
+
------
|
|
977
|
+
PyegeriaException
|
|
978
|
+
If there are issues in communications, message format, or Egeria errors.
|
|
979
|
+
|
|
980
|
+
Notes
|
|
981
|
+
-----
|
|
982
|
+
Sample JSON body:
|
|
983
|
+
```json
|
|
984
|
+
{
|
|
985
|
+
"class" : "NewRelationshipRequestBody",
|
|
986
|
+
"properties": {
|
|
987
|
+
"class": "ContextEventImpactProperties",
|
|
988
|
+
"label" : "Impact",
|
|
989
|
+
"description" : "Element impacted by context event"
|
|
990
|
+
}
|
|
991
|
+
}
|
|
992
|
+
```
|
|
993
|
+
"""
|
|
994
|
+
url = f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/time-keeper/context-events/{context_event_guid}/impacts/{impacted_element_guid}/attach"
|
|
995
|
+
await self._async_new_relationship_request(url, ['ContextEventImpact'],body)
|
|
996
|
+
|
|
997
|
+
def link_context_event_impact(
|
|
998
|
+
self, context_event_guid: str, impacted_element_guid: str, body: dict | NewRelationshipRequestBody
|
|
999
|
+
) -> None:
|
|
1000
|
+
"""Link context event impact.
|
|
1001
|
+
|
|
1002
|
+
Parameters
|
|
1003
|
+
----------
|
|
1004
|
+
context_event_guid : str
|
|
1005
|
+
The unique identifier of the context event.
|
|
1006
|
+
impacted_element_guid : str
|
|
1007
|
+
The unique identifier of the impacted element.
|
|
1008
|
+
body : dict | NewRelationshipRequestBody
|
|
1009
|
+
The properties for the relationship.
|
|
1010
|
+
|
|
1011
|
+
Returns
|
|
1012
|
+
-------
|
|
1013
|
+
None
|
|
1014
|
+
|
|
1015
|
+
Raises
|
|
1016
|
+
------
|
|
1017
|
+
PyegeriaException
|
|
1018
|
+
If there are issues in communications, message format, or Egeria errors.
|
|
1019
|
+
|
|
1020
|
+
Notes
|
|
1021
|
+
-----
|
|
1022
|
+
Sample JSON body:
|
|
1023
|
+
```json
|
|
1024
|
+
{
|
|
1025
|
+
"class" : "NewRelationshipRequestBody",
|
|
1026
|
+
"properties": {
|
|
1027
|
+
"class": "ContextEventImpactProperties",
|
|
1028
|
+
"label" : "Impact",
|
|
1029
|
+
"description" : "Element impacted by context event"
|
|
1030
|
+
}
|
|
1031
|
+
}
|
|
1032
|
+
```
|
|
1033
|
+
"""
|
|
1034
|
+
loop = asyncio.get_event_loop()
|
|
1035
|
+
loop.run_until_complete(
|
|
1036
|
+
self._async_link_context_event_impact(context_event_guid, impacted_element_guid, body)
|
|
1037
|
+
)
|
|
1038
|
+
|
|
1039
|
+
@dynamic_catch
|
|
1040
|
+
async def _async_detach_context_event_impact(
|
|
1041
|
+
self, context_event_guid: str, impacted_element_guid: str, body: dict | DeleteRelationshipRequestBody
|
|
1042
|
+
) -> None:
|
|
1043
|
+
"""Detach context event impact. Async version.
|
|
1044
|
+
|
|
1045
|
+
Parameters
|
|
1046
|
+
----------
|
|
1047
|
+
context_event_guid : str
|
|
1048
|
+
The unique identifier of the context event.
|
|
1049
|
+
impacted_element_guid : str
|
|
1050
|
+
The unique identifier of the impacted element.
|
|
1051
|
+
body : dict | DeleteRelationshipRequestBody
|
|
1052
|
+
The request body for the detach operation.
|
|
1053
|
+
|
|
1054
|
+
Returns
|
|
1055
|
+
-------
|
|
1056
|
+
None
|
|
1057
|
+
|
|
1058
|
+
Raises
|
|
1059
|
+
------
|
|
1060
|
+
PyegeriaException
|
|
1061
|
+
If there are issues in communications, message format, or Egeria errors.
|
|
1062
|
+
|
|
1063
|
+
Notes
|
|
1064
|
+
-----
|
|
1065
|
+
Sample JSON body:
|
|
1066
|
+
```json
|
|
1067
|
+
{
|
|
1068
|
+
"class" : "DeleteRelationshipRequestBody",
|
|
1069
|
+
"cascadedDelete" : false,
|
|
1070
|
+
"deleteMethod" : "LOOK_FOR_LINEAGE"
|
|
1071
|
+
}
|
|
1072
|
+
```
|
|
1073
|
+
"""
|
|
1074
|
+
url = f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/time-keeper/context-events/{context_event_guid}/impacts/{impacted_element_guid}/detach"
|
|
1075
|
+
await self._async_delete_relationship_request(url, body)
|
|
1076
|
+
|
|
1077
|
+
def detach_context_event_impact(
|
|
1078
|
+
self, context_event_guid: str, impacted_element_guid: str, body: dict | DeleteRelationshipRequestBody
|
|
1079
|
+
) -> None:
|
|
1080
|
+
"""Detach context event impact.
|
|
1081
|
+
|
|
1082
|
+
Parameters
|
|
1083
|
+
----------
|
|
1084
|
+
context_event_guid : str
|
|
1085
|
+
The unique identifier of the context event.
|
|
1086
|
+
impacted_element_guid : str
|
|
1087
|
+
The unique identifier of the impacted element.
|
|
1088
|
+
body : dict | DeleteRelationshipRequestBody
|
|
1089
|
+
The request body for the detach operation.
|
|
1090
|
+
|
|
1091
|
+
Returns
|
|
1092
|
+
-------
|
|
1093
|
+
None
|
|
1094
|
+
|
|
1095
|
+
Raises
|
|
1096
|
+
------
|
|
1097
|
+
PyegeriaException
|
|
1098
|
+
If there are issues in communications, message format, or Egeria errors.
|
|
1099
|
+
|
|
1100
|
+
Notes
|
|
1101
|
+
-----
|
|
1102
|
+
Sample JSON body:
|
|
1103
|
+
```json
|
|
1104
|
+
{
|
|
1105
|
+
"class" : "DeleteRelationshipRequestBody",
|
|
1106
|
+
"cascadedDelete" : false,
|
|
1107
|
+
"deleteMethod" : "LOOK_FOR_LINEAGE"
|
|
1108
|
+
}
|
|
1109
|
+
```
|
|
1110
|
+
"""
|
|
1111
|
+
loop = asyncio.get_event_loop()
|
|
1112
|
+
loop.run_until_complete(
|
|
1113
|
+
self._async_detach_context_event_impact(context_event_guid, impacted_element_guid, body)
|
|
1114
|
+
)
|
|
1115
|
+
|
|
1116
|
+
@dynamic_catch
|
|
1117
|
+
async def _async_link_context_event_timeline_effect(
|
|
1118
|
+
self,
|
|
1119
|
+
timeline_affected_element_guid: str,
|
|
1120
|
+
context_event_guid: str,
|
|
1121
|
+
body: dict | NewRelationshipRequestBody,
|
|
1122
|
+
) -> None:
|
|
1123
|
+
"""Link context event timeline effect. Async version.
|
|
1124
|
+
|
|
1125
|
+
Parameters
|
|
1126
|
+
----------
|
|
1127
|
+
timeline_affected_element_guid : str
|
|
1128
|
+
The unique identifier of the element affected by the timeline.
|
|
1129
|
+
context_event_guid : str
|
|
1130
|
+
The unique identifier of the context event.
|
|
1131
|
+
body : dict | NewRelationshipRequestBody
|
|
1132
|
+
The properties for the relationship.
|
|
1133
|
+
|
|
1134
|
+
Returns
|
|
1135
|
+
-------
|
|
1136
|
+
None
|
|
1137
|
+
|
|
1138
|
+
Raises
|
|
1139
|
+
------
|
|
1140
|
+
PyegeriaException
|
|
1141
|
+
If there are issues in communications, message format, or Egeria errors.
|
|
1142
|
+
|
|
1143
|
+
Notes
|
|
1144
|
+
-----
|
|
1145
|
+
Sample JSON body:
|
|
1146
|
+
```json
|
|
1147
|
+
{
|
|
1148
|
+
"class" : "NewRelationshipRequestBody",
|
|
1149
|
+
"properties": {
|
|
1150
|
+
"class": "ContextEventForTimelineEffectsProperties",
|
|
1151
|
+
"label" : "Timeline Effect",
|
|
1152
|
+
"description" : "Element data affected by context event"
|
|
1153
|
+
}
|
|
1154
|
+
}
|
|
1155
|
+
```
|
|
1156
|
+
"""
|
|
1157
|
+
url = f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/time-keeper/elements/{timeline_affected_element_guid}/context-events-describing-timeline-effects/{context_event_guid}/attach"
|
|
1158
|
+
await self._async_new_relationship_request(url, ['ContextEventTimelineEffect'],body)
|
|
1159
|
+
|
|
1160
|
+
def link_context_event_timeline_effect(
|
|
1161
|
+
self,
|
|
1162
|
+
timeline_affected_element_guid: str,
|
|
1163
|
+
context_event_guid: str,
|
|
1164
|
+
body: dict | NewRelationshipRequestBody,
|
|
1165
|
+
) -> None:
|
|
1166
|
+
"""Link context event timeline effect.
|
|
1167
|
+
|
|
1168
|
+
Parameters
|
|
1169
|
+
----------
|
|
1170
|
+
timeline_affected_element_guid : str
|
|
1171
|
+
The unique identifier of the element affected by the timeline.
|
|
1172
|
+
context_event_guid : str
|
|
1173
|
+
The unique identifier of the context event.
|
|
1174
|
+
body : dict | NewRelationshipRequestBody
|
|
1175
|
+
The properties for the relationship.
|
|
1176
|
+
|
|
1177
|
+
Returns
|
|
1178
|
+
-------
|
|
1179
|
+
None
|
|
1180
|
+
|
|
1181
|
+
Raises
|
|
1182
|
+
------
|
|
1183
|
+
PyegeriaException
|
|
1184
|
+
If there are issues in communications, message format, or Egeria errors.
|
|
1185
|
+
|
|
1186
|
+
Notes
|
|
1187
|
+
-----
|
|
1188
|
+
Sample JSON body:
|
|
1189
|
+
```json
|
|
1190
|
+
{
|
|
1191
|
+
"class" : "NewRelationshipRequestBody",
|
|
1192
|
+
"properties": {
|
|
1193
|
+
"class": "ContextEventForTimelineEffectsProperties",
|
|
1194
|
+
"label" : "Timeline Effect",
|
|
1195
|
+
"description" : "Element data affected by context event"
|
|
1196
|
+
}
|
|
1197
|
+
}
|
|
1198
|
+
```
|
|
1199
|
+
"""
|
|
1200
|
+
loop = asyncio.get_event_loop()
|
|
1201
|
+
loop.run_until_complete(
|
|
1202
|
+
self._async_link_context_event_timeline_effect(
|
|
1203
|
+
timeline_affected_element_guid, context_event_guid, body
|
|
1204
|
+
)
|
|
1205
|
+
)
|
|
1206
|
+
|
|
1207
|
+
@dynamic_catch
|
|
1208
|
+
async def _async_detach_context_event_timeline_effect(
|
|
1209
|
+
self,
|
|
1210
|
+
timeline_affected_element_guid: str,
|
|
1211
|
+
context_event_guid: str,
|
|
1212
|
+
body: dict | DeleteRelationshipRequestBody,
|
|
1213
|
+
) -> None:
|
|
1214
|
+
"""Detach context event timeline effect. Async version.
|
|
1215
|
+
|
|
1216
|
+
Parameters
|
|
1217
|
+
----------
|
|
1218
|
+
timeline_affected_element_guid : str
|
|
1219
|
+
The unique identifier of the element affected by the timeline.
|
|
1220
|
+
context_event_guid : str
|
|
1221
|
+
The unique identifier of the context event.
|
|
1222
|
+
body : dict | DeleteRelationshipRequestBody
|
|
1223
|
+
The request body for the detach operation.
|
|
1224
|
+
|
|
1225
|
+
Returns
|
|
1226
|
+
-------
|
|
1227
|
+
None
|
|
1228
|
+
|
|
1229
|
+
Raises
|
|
1230
|
+
------
|
|
1231
|
+
PyegeriaException
|
|
1232
|
+
If there are issues in communications, message format, or Egeria errors.
|
|
1233
|
+
|
|
1234
|
+
Notes
|
|
1235
|
+
-----
|
|
1236
|
+
Sample JSON body:
|
|
1237
|
+
```json
|
|
1238
|
+
{
|
|
1239
|
+
"class" : "DeleteRelationshipRequestBody",
|
|
1240
|
+
"cascadedDelete" : false,
|
|
1241
|
+
"deleteMethod" : "LOOK_FOR_LINEAGE"
|
|
1242
|
+
}
|
|
1243
|
+
```
|
|
1244
|
+
"""
|
|
1245
|
+
url = f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/time-keeper/elements/{timeline_affected_element_guid}/context-events-describing-timeline-effect/{context_event_guid}/detach"
|
|
1246
|
+
await self._async_delete_relationship_request(url, body)
|
|
1247
|
+
|
|
1248
|
+
def detach_context_event_timeline_effect(
|
|
1249
|
+
self,
|
|
1250
|
+
timeline_affected_element_guid: str,
|
|
1251
|
+
context_event_guid: str,
|
|
1252
|
+
body: dict | DeleteRelationshipRequestBody,
|
|
1253
|
+
) -> None:
|
|
1254
|
+
"""Detach context event timeline effect.
|
|
1255
|
+
|
|
1256
|
+
Parameters
|
|
1257
|
+
----------
|
|
1258
|
+
timeline_affected_element_guid : str
|
|
1259
|
+
The unique identifier of the element affected by the timeline.
|
|
1260
|
+
context_event_guid : str
|
|
1261
|
+
The unique identifier of the context event.
|
|
1262
|
+
body : dict | DeleteRelationshipRequestBody
|
|
1263
|
+
The request body for the detach operation.
|
|
1264
|
+
|
|
1265
|
+
Returns
|
|
1266
|
+
-------
|
|
1267
|
+
None
|
|
1268
|
+
|
|
1269
|
+
Raises
|
|
1270
|
+
------
|
|
1271
|
+
PyegeriaException
|
|
1272
|
+
If there are issues in communications, message format, or Egeria errors.
|
|
1273
|
+
|
|
1274
|
+
Notes
|
|
1275
|
+
-----
|
|
1276
|
+
Sample JSON body:
|
|
1277
|
+
```json
|
|
1278
|
+
{
|
|
1279
|
+
"class" : "DeleteRelationshipRequestBody",
|
|
1280
|
+
"cascadedDelete" : false,
|
|
1281
|
+
"deleteMethod" : "LOOK_FOR_LINEAGE"
|
|
1282
|
+
}
|
|
1283
|
+
```
|
|
1284
|
+
"""
|
|
1285
|
+
loop = asyncio.get_event_loop()
|
|
1286
|
+
loop.run_until_complete(
|
|
1287
|
+
self._async_detach_context_event_timeline_effect(
|
|
1288
|
+
timeline_affected_element_guid, context_event_guid, body
|
|
1289
|
+
)
|
|
1290
|
+
)
|
|
1291
|
+
|
|
1292
|
+
@dynamic_catch
|
|
1293
|
+
async def _async_get_context_events_by_name(
|
|
1294
|
+
self,
|
|
1295
|
+
filter_string: Optional[str] = None,
|
|
1296
|
+
classification_names: Optional[list[str]] = None,
|
|
1297
|
+
body: Optional[dict | FilterRequestBody] = None,
|
|
1298
|
+
start_from: int = 0,
|
|
1299
|
+
page_size: int = 0,
|
|
1300
|
+
output_format: str = "JSON",
|
|
1301
|
+
report_spec: str | dict = "ContextEvents",
|
|
1302
|
+
) -> list | str:
|
|
1303
|
+
"""Get context events by name. Async version.
|
|
1304
|
+
|
|
1305
|
+
Parameters
|
|
1306
|
+
----------
|
|
1307
|
+
filter_string : str, optional
|
|
1308
|
+
The string to find in the properties.
|
|
1309
|
+
classification_names : list[str], optional
|
|
1310
|
+
The list of classification names to filter by.
|
|
1311
|
+
body : dict | FilterRequestBody, optional
|
|
1312
|
+
The request body for the search.
|
|
1313
|
+
start_from : int, optional
|
|
1314
|
+
The starting index for paged results.
|
|
1315
|
+
page_size : int, optional
|
|
1316
|
+
The maximum number of results to return.
|
|
1317
|
+
output_format : str, optional
|
|
1318
|
+
The desired output format.
|
|
1319
|
+
report_spec : str | dict, optional
|
|
1320
|
+
The desired output columns/fields to include.
|
|
1321
|
+
|
|
1322
|
+
Returns
|
|
1323
|
+
-------
|
|
1324
|
+
list | str
|
|
1325
|
+
The list of matching context events or a message if none found.
|
|
1326
|
+
|
|
1327
|
+
Raises
|
|
1328
|
+
------
|
|
1329
|
+
PyegeriaException
|
|
1330
|
+
If there are issues in communications, message format, or Egeria errors.
|
|
1331
|
+
|
|
1332
|
+
Notes
|
|
1333
|
+
-----
|
|
1334
|
+
Sample JSON body:
|
|
1335
|
+
```json
|
|
1336
|
+
{
|
|
1337
|
+
"class" : "FilterRequestBody",
|
|
1338
|
+
"filter" : "EventName",
|
|
1339
|
+
"startFrom": 0,
|
|
1340
|
+
"pageSize": 10
|
|
1341
|
+
}
|
|
1342
|
+
```
|
|
1343
|
+
"""
|
|
1344
|
+
url = f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/time-keeper/context-events/by-name"
|
|
1345
|
+
return await self._async_get_name_request(
|
|
1346
|
+
url,
|
|
1347
|
+
_type="ContextEvent",
|
|
1348
|
+
_gen_output=self._generate_context_event_output,
|
|
1349
|
+
filter_string=filter_string,
|
|
1350
|
+
classification_names=classification_names,
|
|
1351
|
+
start_from=start_from,
|
|
1352
|
+
page_size=page_size,
|
|
1353
|
+
output_format=output_format,
|
|
1354
|
+
report_spec=report_spec,
|
|
1355
|
+
body=body,
|
|
1356
|
+
)
|
|
1357
|
+
|
|
1358
|
+
def get_context_events_by_name(
|
|
1359
|
+
self,
|
|
1360
|
+
filter_string: Optional[str] = None,
|
|
1361
|
+
classification_names: Optional[list[str]] = None,
|
|
1362
|
+
body: Optional[dict | FilterRequestBody] = None,
|
|
1363
|
+
start_from: int = 0,
|
|
1364
|
+
page_size: int = 0,
|
|
1365
|
+
output_format: str = "JSON",
|
|
1366
|
+
report_spec: str | dict = "ContextEvents",
|
|
1367
|
+
) -> list | str:
|
|
1368
|
+
"""Get context events by name.
|
|
1369
|
+
|
|
1370
|
+
Parameters
|
|
1371
|
+
----------
|
|
1372
|
+
filter_string : str, optional
|
|
1373
|
+
The string to find in the properties.
|
|
1374
|
+
classification_names : list[str], optional
|
|
1375
|
+
The list of classification names to filter by.
|
|
1376
|
+
body : dict | FilterRequestBody, optional
|
|
1377
|
+
The request body for the search.
|
|
1378
|
+
start_from : int, optional
|
|
1379
|
+
The starting index for paged results.
|
|
1380
|
+
page_size : int, optional
|
|
1381
|
+
The maximum number of results to return.
|
|
1382
|
+
output_format : str, optional
|
|
1383
|
+
The desired output format.
|
|
1384
|
+
report_spec : str | dict, optional
|
|
1385
|
+
The desired output columns/fields to include.
|
|
1386
|
+
|
|
1387
|
+
Returns
|
|
1388
|
+
-------
|
|
1389
|
+
list | str
|
|
1390
|
+
The list of matching context events or a message if none found.
|
|
1391
|
+
|
|
1392
|
+
Raises
|
|
1393
|
+
------
|
|
1394
|
+
PyegeriaException
|
|
1395
|
+
If there are issues in communications, message format, or Egeria errors.
|
|
1396
|
+
|
|
1397
|
+
Notes
|
|
1398
|
+
-----
|
|
1399
|
+
Sample JSON body:
|
|
1400
|
+
```json
|
|
1401
|
+
{
|
|
1402
|
+
"class" : "FilterRequestBody",
|
|
1403
|
+
"filter" : "EventName",
|
|
1404
|
+
"startFrom": 0,
|
|
1405
|
+
"pageSize": 10
|
|
1406
|
+
}
|
|
1407
|
+
```
|
|
1408
|
+
"""
|
|
1409
|
+
loop = asyncio.get_event_loop()
|
|
1410
|
+
return loop.run_until_complete(
|
|
1411
|
+
self._async_get_context_events_by_name(
|
|
1412
|
+
filter_string,
|
|
1413
|
+
classification_names,
|
|
1414
|
+
body,
|
|
1415
|
+
start_from,
|
|
1416
|
+
page_size,
|
|
1417
|
+
output_format,
|
|
1418
|
+
report_spec,
|
|
1419
|
+
)
|
|
1420
|
+
)
|
|
1421
|
+
|
|
1422
|
+
@dynamic_catch
|
|
1423
|
+
async def _async_find_context_events(self, search_string: str = "*",
|
|
1424
|
+
starts_with: bool = True, ends_with: bool = False,
|
|
1425
|
+
ignore_case: bool = False,
|
|
1426
|
+
anchor_domain: Optional[str] = None,
|
|
1427
|
+
metadata_element_type: Optional[str] = None,
|
|
1428
|
+
metadata_element_subtypes: Optional[list[str]] = None,
|
|
1429
|
+
skip_relationships: Optional[list[str]] = None,
|
|
1430
|
+
include_only_relationships: Optional[list[str]] = None,
|
|
1431
|
+
skip_classified_elements: Optional[list[str]] = None,
|
|
1432
|
+
include_only_classified_elements: Optional[list[str]] = None,
|
|
1433
|
+
graph_query_depth: int = 3,
|
|
1434
|
+
governance_zone_filter: Optional[list[str]] = None, as_of_time: Optional[str] = None,
|
|
1435
|
+
effective_time: Optional[str] = None, relationship_page_size: int = 0,
|
|
1436
|
+
limit_results_by_status: Optional[list[str]] = None, sequencing_order: Optional[str] = None,
|
|
1437
|
+
sequencing_property: Optional[str] = None,
|
|
1438
|
+
output_format: str = "JSON",
|
|
1439
|
+
report_spec: str | dict = "Referenceable",
|
|
1440
|
+
start_from: int = 0, page_size: int = 100,
|
|
1441
|
+
property_names: Optional[list[str]] = None,
|
|
1442
|
+
body: Optional[dict | SearchStringRequestBody] = None) -> list | str:
|
|
1443
|
+
""" Retrieve the list of context event metadata elements that contain the search string. Async Version.
|
|
1444
|
+
|
|
1445
|
+
Parameters
|
|
1446
|
+
----------
|
|
1447
|
+
search_string: str
|
|
1448
|
+
Search string to match against - None or '*' indicate match against all context events.
|
|
1449
|
+
starts_with : bool, [default=True], optional
|
|
1450
|
+
Starts with the supplied string.
|
|
1451
|
+
ends_with : bool, [default=False], optional
|
|
1452
|
+
Ends with the supplied string
|
|
1453
|
+
ignore_case : bool, [default=False], optional
|
|
1454
|
+
Ignore case when searching
|
|
1455
|
+
anchor_domain: str, optional
|
|
1456
|
+
The anchor domain to search in.
|
|
1457
|
+
metadata_element_type: str, optional
|
|
1458
|
+
The type of metadata element to search for.
|
|
1459
|
+
metadata_element_subtypes: list[str], optional
|
|
1460
|
+
The subtypes of metadata element to search for.
|
|
1461
|
+
skip_relationships: list[str], optional
|
|
1462
|
+
The types of relationships to skip.
|
|
1463
|
+
include_only_relationships: list[str], optional
|
|
1464
|
+
The types of relationships to include.
|
|
1465
|
+
skip_classified_elements: list[str], optional
|
|
1466
|
+
The types of classified elements to skip.
|
|
1467
|
+
include_only_classified_elements: list[str], optional
|
|
1468
|
+
The types of classified elements to include.
|
|
1469
|
+
graph_query_depth: int, [default=3], optional
|
|
1470
|
+
The depth of the graph query.
|
|
1471
|
+
governance_zone_filter: list[str], optional
|
|
1472
|
+
The governance zones to search in.
|
|
1473
|
+
as_of_time: str, optional
|
|
1474
|
+
The time to search as of.
|
|
1475
|
+
effective_time: str, optional
|
|
1476
|
+
The effective time to search at.
|
|
1477
|
+
relationship_page_size: int, [default=0], optional
|
|
1478
|
+
The page size for relationships.
|
|
1479
|
+
limit_results_by_status: list[str], optional
|
|
1480
|
+
The statuses to limit results by.
|
|
1481
|
+
sequencing_order: str, optional
|
|
1482
|
+
The order to sequence results by.
|
|
1483
|
+
sequencing_property: str, optional
|
|
1484
|
+
The property to sequence results by.
|
|
1485
|
+
output_format: str, default = "JSON"
|
|
1486
|
+
- one of "MD", "LIST", "FORM", "REPORT", "DICT", "MERMAID" or "JSON"
|
|
1487
|
+
report_spec: str | dict , optional, default = "Referenceable"
|
|
1488
|
+
- The desired output columns/fields to include.
|
|
1489
|
+
start_from: int, [default=0], optional
|
|
1490
|
+
When multiple pages of results are available, the page number to start from.
|
|
1491
|
+
page_size: int, [default=100]
|
|
1492
|
+
The number of items to return in a single page.
|
|
1493
|
+
property_names: list[str], optional
|
|
1494
|
+
The names of properties to search for.
|
|
1495
|
+
body: dict | SearchStringRequestBody, optional, default = None
|
|
1496
|
+
- if provided, the search parameters in the body will supercede other attributes, such as "search_string"
|
|
1497
|
+
|
|
1498
|
+
Returns
|
|
1499
|
+
-------
|
|
1500
|
+
List | str
|
|
1501
|
+
|
|
1502
|
+
Output depends on the output format specified.
|
|
1503
|
+
|
|
1504
|
+
Raises
|
|
1505
|
+
-------
|
|
1506
|
+
|
|
1507
|
+
ValidationError
|
|
1508
|
+
If the client passes incorrect parameters on the request that don't conform to the data model.
|
|
1509
|
+
PyegeriaException
|
|
1510
|
+
Issues raised in communicating or server side processing.
|
|
1511
|
+
NotAuthorizedException
|
|
1512
|
+
The principle specified by the user_id does not have authorization for the requested action
|
|
1513
|
+
|
|
1514
|
+
"""
|
|
1515
|
+
url = f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/time-keeper/context-events/by-search-string"
|
|
1516
|
+
response = await self._async_find_request(url, _type="ContextEvent", _gen_output=self._generate_context_event_output,
|
|
1517
|
+
search_string=search_string, starts_with=starts_with,
|
|
1518
|
+
ends_with=ends_with, ignore_case=ignore_case,
|
|
1519
|
+
anchor_domain=anchor_domain,
|
|
1520
|
+
metadata_element_type=metadata_element_type,
|
|
1521
|
+
metadata_element_subtypes=metadata_element_subtypes,
|
|
1522
|
+
skip_relationships=skip_relationships,
|
|
1523
|
+
include_only_relationships=include_only_relationships,
|
|
1524
|
+
skip_classified_elements=skip_classified_elements,
|
|
1525
|
+
include_only_classified_elements=include_only_classified_elements,
|
|
1526
|
+
graph_query_depth=graph_query_depth,
|
|
1527
|
+
governance_zone_filter=governance_zone_filter,
|
|
1528
|
+
as_of_time=as_of_time, effective_time=effective_time,
|
|
1529
|
+
relationship_page_size=relationship_page_size,
|
|
1530
|
+
limit_results_by_status=limit_results_by_status,
|
|
1531
|
+
sequencing_order=sequencing_order,
|
|
1532
|
+
sequencing_property=sequencing_property,
|
|
1533
|
+
output_format=output_format, report_spec=report_spec,
|
|
1534
|
+
start_from=start_from, page_size=page_size,
|
|
1535
|
+
property_names=property_names, body=body)
|
|
1536
|
+
|
|
1537
|
+
return response
|
|
1538
|
+
|
|
1539
|
+
@dynamic_catch
|
|
1540
|
+
def find_context_events(self, search_string: str = "*",
|
|
1541
|
+
starts_with: bool = True, ends_with: bool = False,
|
|
1542
|
+
ignore_case: bool = False,
|
|
1543
|
+
anchor_domain: Optional[str] = None,
|
|
1544
|
+
metadata_element_type: Optional[str] = None,
|
|
1545
|
+
metadata_element_subtypes: Optional[list[str]] = None,
|
|
1546
|
+
skip_relationships: Optional[list[str]] = None,
|
|
1547
|
+
include_only_relationships: Optional[list[str]] = None,
|
|
1548
|
+
skip_classified_elements: Optional[list[str]] = None,
|
|
1549
|
+
include_only_classified_elements: Optional[list[str]] = None,
|
|
1550
|
+
graph_query_depth: int = 3,
|
|
1551
|
+
governance_zone_filter: Optional[list[str]] = None, as_of_time: Optional[str] = None,
|
|
1552
|
+
effective_time: Optional[str] = None, relationship_page_size: int = 0,
|
|
1553
|
+
limit_results_by_status: Optional[list[str]] = None, sequencing_order: Optional[str] = None,
|
|
1554
|
+
sequencing_property: Optional[str] = None,
|
|
1555
|
+
output_format: str = "JSON",
|
|
1556
|
+
report_spec: str | dict = "Referenceable",
|
|
1557
|
+
start_from: int = 0, page_size: int = 100,
|
|
1558
|
+
property_names: Optional[list[str]] = None,
|
|
1559
|
+
body: Optional[dict | SearchStringRequestBody] = None) -> list | str:
|
|
1560
|
+
""" Retrieve the list of context event metadata elements that contain the search string.
|
|
1561
|
+
|
|
1562
|
+
Parameters
|
|
1563
|
+
----------
|
|
1564
|
+
search_string: str
|
|
1565
|
+
Search string to match against - None or '*' indicate match against all context events.
|
|
1566
|
+
starts_with : bool, [default=True], optional
|
|
1567
|
+
Starts with the supplied string.
|
|
1568
|
+
ends_with : bool, [default=False], optional
|
|
1569
|
+
Ends with the supplied string
|
|
1570
|
+
ignore_case : bool, [default=False], optional
|
|
1571
|
+
Ignore case when searching
|
|
1572
|
+
anchor_domain: str, optional
|
|
1573
|
+
The anchor domain to search in.
|
|
1574
|
+
metadata_element_type: str, optional
|
|
1575
|
+
The type of metadata element to search for.
|
|
1576
|
+
metadata_element_subtypes: list[str], optional
|
|
1577
|
+
The subtypes of metadata element to search for.
|
|
1578
|
+
skip_relationships: list[str], optional
|
|
1579
|
+
The types of relationships to skip.
|
|
1580
|
+
include_only_relationships: list[str], optional
|
|
1581
|
+
The types of relationships to include.
|
|
1582
|
+
skip_classified_elements: list[str], optional
|
|
1583
|
+
The types of classified elements to skip.
|
|
1584
|
+
include_only_classified_elements: list[str], optional
|
|
1585
|
+
The types of classified elements to include.
|
|
1586
|
+
graph_query_depth: int, [default=3], optional
|
|
1587
|
+
The depth of the graph query.
|
|
1588
|
+
governance_zone_filter: list[str], optional
|
|
1589
|
+
The governance zones to search in.
|
|
1590
|
+
as_of_time: str, optional
|
|
1591
|
+
The time to search as of.
|
|
1592
|
+
effective_time: str, optional
|
|
1593
|
+
The effective time to search at.
|
|
1594
|
+
relationship_page_size: int, [default=0], optional
|
|
1595
|
+
The page size for relationships.
|
|
1596
|
+
limit_results_by_status: list[str], optional
|
|
1597
|
+
The statuses to limit results by.
|
|
1598
|
+
sequencing_order: str, optional
|
|
1599
|
+
The order to sequence results by.
|
|
1600
|
+
sequencing_property: str, optional
|
|
1601
|
+
The property to sequence results by.
|
|
1602
|
+
output_format: str, default = "JSON"
|
|
1603
|
+
- one of "MD", "LIST", "FORM", "REPORT", "DICT", "MERMAID" or "JSON"
|
|
1604
|
+
report_spec: str | dict , optional, default = "Referenceable"
|
|
1605
|
+
- The desired output columns/fields to include.
|
|
1606
|
+
start_from: int, [default=0], optional
|
|
1607
|
+
When multiple pages of results are available, the page number to start from.
|
|
1608
|
+
page_size: int, [default=100]
|
|
1609
|
+
The number of items to return in a single page.
|
|
1610
|
+
property_names: list[str], optional
|
|
1611
|
+
The names of properties to search for.
|
|
1612
|
+
body: dict | SearchStringRequestBody, optional, default = None
|
|
1613
|
+
- if provided, the search parameters in the body will supercede other attributes, such as "search_string"
|
|
1614
|
+
|
|
1615
|
+
Returns
|
|
1616
|
+
-------
|
|
1617
|
+
List | str
|
|
1618
|
+
|
|
1619
|
+
Output depends on the output format specified.
|
|
1620
|
+
|
|
1621
|
+
Raises
|
|
1622
|
+
------
|
|
1623
|
+
|
|
1624
|
+
ValidationError
|
|
1625
|
+
If the client passes incorrect parameters on the request that don't conform to the data model.
|
|
1626
|
+
PyegeriaException
|
|
1627
|
+
Issues raised in communicating or server side processing.
|
|
1628
|
+
NotAuthorizedException
|
|
1629
|
+
The principle specified by the user_id does not have authorization for the requested action
|
|
1630
|
+
|
|
1631
|
+
"""
|
|
1632
|
+
loop = asyncio.get_event_loop()
|
|
1633
|
+
return loop.run_until_complete(self._async_find_context_events(search_string=search_string,
|
|
1634
|
+
starts_with=starts_with,
|
|
1635
|
+
ends_with=ends_with,
|
|
1636
|
+
ignore_case=ignore_case,
|
|
1637
|
+
anchor_domain=anchor_domain,
|
|
1638
|
+
metadata_element_type=metadata_element_type,
|
|
1639
|
+
metadata_element_subtypes=metadata_element_subtypes,
|
|
1640
|
+
skip_relationships=skip_relationships,
|
|
1641
|
+
include_only_relationships=include_only_relationships,
|
|
1642
|
+
skip_classified_elements=skip_classified_elements,
|
|
1643
|
+
include_only_classified_elements=include_only_classified_elements,
|
|
1644
|
+
graph_query_depth=graph_query_depth,
|
|
1645
|
+
governance_zone_filter=governance_zone_filter,
|
|
1646
|
+
as_of_time=as_of_time,
|
|
1647
|
+
effective_time=effective_time,
|
|
1648
|
+
relationship_page_size=relationship_page_size,
|
|
1649
|
+
limit_results_by_status=limit_results_by_status,
|
|
1650
|
+
sequencing_order=sequencing_order,
|
|
1651
|
+
sequencing_property=sequencing_property,
|
|
1652
|
+
output_format=output_format,
|
|
1653
|
+
report_spec=report_spec,
|
|
1654
|
+
start_from=start_from,
|
|
1655
|
+
page_size=page_size,
|
|
1656
|
+
property_names=property_names,
|
|
1657
|
+
body=body))
|
|
1658
|
+
|
|
1659
|
+
@dynamic_catch
|
|
1660
|
+
async def _async_get_context_event_by_guid(
|
|
1661
|
+
self,
|
|
1662
|
+
context_event_guid: str,
|
|
1663
|
+
element_type: str = "ContextEvent",
|
|
1664
|
+
body: Optional[dict | GetRequestBody] = None,
|
|
1665
|
+
output_format: str = "JSON",
|
|
1666
|
+
report_spec: str | dict = "ContextEvents",
|
|
1667
|
+
) -> dict | str:
|
|
1668
|
+
"""Get context event by GUID. Async version.
|
|
1669
|
+
|
|
1670
|
+
Parameters
|
|
1671
|
+
----------
|
|
1672
|
+
context_event_guid : str
|
|
1673
|
+
The unique identifier of the context event.
|
|
1674
|
+
element_type : str, optional
|
|
1675
|
+
The type of metadata element.
|
|
1676
|
+
body : dict | GetRequestBody, optional
|
|
1677
|
+
The request body for the retrieval.
|
|
1678
|
+
output_format : str, optional
|
|
1679
|
+
The desired output format.
|
|
1680
|
+
report_spec : str | dict, optional
|
|
1681
|
+
The desired output columns/fields to include.
|
|
1682
|
+
|
|
1683
|
+
Returns
|
|
1684
|
+
-------
|
|
1685
|
+
dict | str
|
|
1686
|
+
The properties of the context event or a message if not found.
|
|
1687
|
+
|
|
1688
|
+
Raises
|
|
1689
|
+
------
|
|
1690
|
+
PyegeriaException
|
|
1691
|
+
If there are issues in communications, message format, or Egeria errors.
|
|
1692
|
+
|
|
1693
|
+
Notes
|
|
1694
|
+
-----
|
|
1695
|
+
Sample JSON body:
|
|
1696
|
+
```json
|
|
1697
|
+
{
|
|
1698
|
+
"class" : "GetRequestBody",
|
|
1699
|
+
"forLineage" : false
|
|
1700
|
+
}
|
|
1701
|
+
```
|
|
1702
|
+
"""
|
|
1703
|
+
url = f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/time-keeper/context-events/{context_event_guid}/retrieve"
|
|
1704
|
+
return await self._async_get_guid_request(
|
|
1705
|
+
url,
|
|
1706
|
+
_type=element_type,
|
|
1707
|
+
_gen_output=self._generate_context_event_output,
|
|
1708
|
+
output_format=output_format,
|
|
1709
|
+
report_spec=report_spec,
|
|
1710
|
+
body=body,
|
|
1711
|
+
)
|
|
1712
|
+
|
|
1713
|
+
def get_context_event_by_guid(
|
|
1714
|
+
self,
|
|
1715
|
+
context_event_guid: str,
|
|
1716
|
+
element_type: str = "ContextEvent",
|
|
1717
|
+
body: Optional[dict | GetRequestBody] = None,
|
|
1718
|
+
output_format: str = "JSON",
|
|
1719
|
+
report_spec: str | dict = "ContextEvents",
|
|
1720
|
+
) -> dict | str:
|
|
1721
|
+
"""Get context event by GUID.
|
|
1722
|
+
|
|
1723
|
+
Parameters
|
|
1724
|
+
----------
|
|
1725
|
+
context_event_guid : str
|
|
1726
|
+
The unique identifier of the context event.
|
|
1727
|
+
element_type : str, optional
|
|
1728
|
+
The type of metadata element.
|
|
1729
|
+
body : dict | GetRequestBody, optional
|
|
1730
|
+
The request body for the retrieval.
|
|
1731
|
+
output_format : str, optional
|
|
1732
|
+
The desired output format.
|
|
1733
|
+
report_spec : str | dict, optional
|
|
1734
|
+
The desired output columns/fields to include.
|
|
1735
|
+
|
|
1736
|
+
Returns
|
|
1737
|
+
-------
|
|
1738
|
+
dict | str
|
|
1739
|
+
The properties of the context event or a message if not found.
|
|
1740
|
+
|
|
1741
|
+
Raises
|
|
1742
|
+
------
|
|
1743
|
+
PyegeriaException
|
|
1744
|
+
If there are issues in communications, message format, or Egeria errors.
|
|
1745
|
+
|
|
1746
|
+
Notes
|
|
1747
|
+
-----
|
|
1748
|
+
Sample JSON body:
|
|
1749
|
+
```json
|
|
1750
|
+
{
|
|
1751
|
+
"class" : "GetRequestBody",
|
|
1752
|
+
"forLineage" : false
|
|
1753
|
+
}
|
|
1754
|
+
```
|
|
1755
|
+
"""
|
|
1756
|
+
loop = asyncio.get_event_loop()
|
|
1757
|
+
return loop.run_until_complete(
|
|
1758
|
+
self._async_get_context_event_by_guid(
|
|
1759
|
+
context_event_guid, element_type, body, output_format, report_spec
|
|
1760
|
+
)
|
|
1761
|
+
)
|