pyegeria 0.8.4.26__tar.gz → 0.8.4.28__tar.gz
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.
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/PKG-INFO +1 -1
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/cli/__init__.py +1 -1
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/cli/egeria.py +47 -28
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/cli/egeria_ops.py +38 -26
- pyegeria-0.8.4.28/commands/ops/load_archive.py +73 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/ops/monitor_gov_eng_status.py +25 -14
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/ops/monitor_integ_daemon_status.py +6 -9
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/ops/monitor_server_status.py +1 -2
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/pyegeria/__init__.py +0 -1
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/pyegeria/runtime_manager_omvs.py +1 -1
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/pyproject.toml +2 -2
- pyegeria-0.8.4.26/commands/ops/load_archive.py +0 -62
- pyegeria-0.8.4.26/commands/ops/monitor_coco_status.py +0 -103
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/LICENSE +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/README.md +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/cat/README.md +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/cat/__init__.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/cat/get_asset_graph.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/cat/get_collection.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/cat/get_project_dependencies.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/cat/get_project_structure.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/cat/get_tech_type_elements.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/cat/get_tech_type_template.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/cat/list_archives.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/cat/list_assets.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/cat/list_cert_types.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/cat/list_glossary.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/cat/list_projects.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/cat/list_relationships.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/cat/list_tech_types.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/cat/list_todos.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/cat/list_user_ids.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/cli/egeria_cat.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/cli/egeria_my.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/cli/egeria_tech.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/cli/ops_config.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/my/README.md +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/my/__init__.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/my/list_my_profile.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/my/list_my_roles.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/my/monitor_my_todos.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/my/monitor_open_todos.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/my/my_profile_actions.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/my/todo_actions.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/ops/README.md +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/ops/__init__.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/ops/engine_actions.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/ops/gov_server_actions.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/ops/list_catalog_targets.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/ops/monitor_asset_events.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/ops/monitor_engine_activity.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/ops/monitor_engine_activity_c.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/ops/monitor_platform_status.py +0 -0
- /pyegeria-0.8.4.26/commands/ops/monitor_server_list.py → /pyegeria-0.8.4.28/commands/ops/orig_monitor_server_list.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/ops/orig_monitor_server_status.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/ops/refresh_integration_daemon.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/ops/restart_integration_daemon.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/tech/README.md +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/tech/__init__.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/tech/get_element_info.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/tech/get_guid_info.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/tech/get_tech_details.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/tech/list_asset_types.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/tech/list_elements.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/tech/list_elements_x.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/tech/list_registered_services.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/tech/list_related_specification.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/tech/list_relationship_types.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/tech/list_tech_templates.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/tech/list_valid_metadata_values.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/commands/tech/x_list_related_elements.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/pyegeria/_client.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/pyegeria/_deprecated_gov_engine.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/pyegeria/_exceptions.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/pyegeria/_globals.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/pyegeria/_validators.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/pyegeria/asset_catalog_omvs.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/pyegeria/automated_curation_omvs.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/pyegeria/classification_manager_omvs.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/pyegeria/collection_manager_omvs.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/pyegeria/core_omag_server_config.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/pyegeria/create_tech_guid_lists.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/pyegeria/egeria_cat_client.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/pyegeria/egeria_client.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/pyegeria/egeria_config_client.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/pyegeria/egeria_my_client.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/pyegeria/egeria_tech_client.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/pyegeria/feedback_manager_omvs.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/pyegeria/full_omag_server_config.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/pyegeria/glossary_browser_omvs.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/pyegeria/glossary_manager_omvs.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/pyegeria/mermaid_utilities.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/pyegeria/my_profile_omvs.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/pyegeria/platform_services.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/pyegeria/project_manager_omvs.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/pyegeria/registered_info.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/pyegeria/server_operations.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/pyegeria/utils.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/pyegeria/valid_metadata_omvs.py +0 -0
- {pyegeria-0.8.4.26 → pyegeria-0.8.4.28}/pyegeria/x_action_author_omvs.py +0 -0
@@ -52,7 +52,6 @@ from commands.ops.monitor_integ_daemon_status import (
|
|
52
52
|
from commands.ops.monitor_platform_status import (
|
53
53
|
display_status as p_display_status,
|
54
54
|
)
|
55
|
-
from commands.ops.monitor_server_list import display_status as display_list
|
56
55
|
from commands.ops.monitor_server_status import (
|
57
56
|
display_status as s_display_status,
|
58
57
|
)
|
@@ -839,7 +838,7 @@ def show_projects(ctx, search_string):
|
|
839
838
|
"--status",
|
840
839
|
type=click.Choice(
|
841
840
|
["OPEN", "IN_PROGRESS", "WAITING", "COMPLETE", "ABANDONED", "None"],
|
842
|
-
case_sensitive=
|
841
|
+
case_sensitive=False,
|
843
842
|
),
|
844
843
|
help="Enter an optional status filter, default='OPEN'",
|
845
844
|
required=False,
|
@@ -877,7 +876,13 @@ def list_archives(ctx):
|
|
877
876
|
"""Display a tree graph of information about an asset"""
|
878
877
|
c = ctx.obj
|
879
878
|
display_archive_list(
|
880
|
-
c.view_server,
|
879
|
+
c.view_server,
|
880
|
+
c.view_server_url,
|
881
|
+
c.userid,
|
882
|
+
c.password,
|
883
|
+
False,
|
884
|
+
c.jupyter,
|
885
|
+
c.width,
|
881
886
|
)
|
882
887
|
|
883
888
|
|
@@ -964,30 +969,21 @@ def show_server(ctx):
|
|
964
969
|
"--full",
|
965
970
|
is_flag=True,
|
966
971
|
default=False,
|
967
|
-
help="If
|
972
|
+
help="If set, full server descriptions will be shown",
|
968
973
|
)
|
969
974
|
@click.pass_context
|
970
975
|
def show_server_status(ctx, full):
|
971
976
|
"""Display a live status view of Egeria servers for the specified Egeria platform"""
|
972
977
|
c = ctx.obj
|
973
|
-
|
974
|
-
|
975
|
-
|
976
|
-
|
977
|
-
|
978
|
-
|
979
|
-
|
980
|
-
|
981
|
-
|
982
|
-
else:
|
983
|
-
s_display_status(
|
984
|
-
c.metadata_store,
|
985
|
-
c.metadata_store_url,
|
986
|
-
c.admin_user,
|
987
|
-
c.admin_user_password,
|
988
|
-
c.jupyter,
|
989
|
-
c.width,
|
990
|
-
)
|
978
|
+
s_display_status(
|
979
|
+
full,
|
980
|
+
c.view_server,
|
981
|
+
c.view_server_url,
|
982
|
+
c.userid,
|
983
|
+
c.password,
|
984
|
+
c.jupyter,
|
985
|
+
c.width,
|
986
|
+
)
|
991
987
|
|
992
988
|
|
993
989
|
@show.group("engines")
|
@@ -1001,12 +997,24 @@ def engine_host(ctx):
|
|
1001
997
|
@click.option(
|
1002
998
|
"--list", is_flag=True, default=False, help="If True, a paged list will be shown"
|
1003
999
|
)
|
1000
|
+
@click.option(
|
1001
|
+
"--engine-host",
|
1002
|
+
default="engine-host",
|
1003
|
+
help="Name of the Engine Host to get status for",
|
1004
|
+
)
|
1004
1005
|
@click.pass_context
|
1005
|
-
def gov_eng_status(ctx, list):
|
1006
|
+
def gov_eng_status(ctx, engine_host, list):
|
1006
1007
|
"""Display engine-host status information"""
|
1007
1008
|
c = ctx.obj
|
1008
1009
|
display_gov_eng_status(
|
1009
|
-
|
1010
|
+
engine_host,
|
1011
|
+
c.view_server,
|
1012
|
+
c.view_server_url,
|
1013
|
+
c.userid,
|
1014
|
+
c.password,
|
1015
|
+
list,
|
1016
|
+
c.jupyter,
|
1017
|
+
c.width,
|
1010
1018
|
)
|
1011
1019
|
|
1012
1020
|
|
@@ -1122,11 +1130,16 @@ def integration_daemon(ctx):
|
|
1122
1130
|
default="all",
|
1123
1131
|
help="Name of connector to refresh or 'all' to refresh all",
|
1124
1132
|
)
|
1125
|
-
|
1133
|
+
@click.option(
|
1134
|
+
"--server",
|
1135
|
+
default="integration-daemon",
|
1136
|
+
help="Name of the integration server to refresh",
|
1137
|
+
)
|
1138
|
+
def refresh_connectors(ctx, server, connector):
|
1126
1139
|
"""Refresh the specified integration connector or ALL connectors if not specified"""
|
1127
1140
|
c = ctx.obj
|
1128
1141
|
refresh_connector(
|
1129
|
-
connector, c.
|
1142
|
+
connector, server, c.view_server_url, c.view_server, c.userid, c.password
|
1130
1143
|
)
|
1131
1144
|
|
1132
1145
|
|
@@ -1137,11 +1150,16 @@ def refresh_connectors(ctx, connector):
|
|
1137
1150
|
default="all",
|
1138
1151
|
help="Name of connector to restart or 'all' to restart all",
|
1139
1152
|
)
|
1140
|
-
|
1153
|
+
@click.option(
|
1154
|
+
"--server",
|
1155
|
+
default="integration-daemon",
|
1156
|
+
help="Name of the integration server to refresh",
|
1157
|
+
)
|
1158
|
+
def restart_connectors(ctx, server, connector):
|
1141
1159
|
"""Restart the specified integration connector or ALL connectors if not specified"""
|
1142
1160
|
c = ctx.obj
|
1143
1161
|
restart_connector(
|
1144
|
-
connector, c.
|
1162
|
+
connector, server, c.view_server_url, c.view_server, c.userid, c.password
|
1145
1163
|
)
|
1146
1164
|
|
1147
1165
|
|
@@ -1161,6 +1179,7 @@ def engine_host(ctx):
|
|
1161
1179
|
|
1162
1180
|
engine_host.add_command(start_server)
|
1163
1181
|
engine_host.add_command(stop_server)
|
1182
|
+
engine_host.add_command(refresh_gov_eng_config)
|
1164
1183
|
|
1165
1184
|
|
1166
1185
|
@tell.group("repository")
|
@@ -34,7 +34,6 @@ from commands.ops.monitor_integ_daemon_status import (
|
|
34
34
|
from commands.ops.monitor_platform_status import (
|
35
35
|
display_status as p_display_status,
|
36
36
|
)
|
37
|
-
from commands.ops.monitor_server_list import display_status as display_list
|
38
37
|
from commands.ops.monitor_server_status import (
|
39
38
|
display_status as s_display_status,
|
40
39
|
)
|
@@ -231,30 +230,21 @@ def show_server(ctx):
|
|
231
230
|
"--full",
|
232
231
|
is_flag=True,
|
233
232
|
default=False,
|
234
|
-
help="If
|
233
|
+
help="If set, full server descriptions will be shown",
|
235
234
|
)
|
236
235
|
@click.pass_context
|
237
236
|
def show_server_status(ctx, full):
|
238
237
|
"""Display a live status view of Egeria servers for the specified Egeria platform"""
|
239
238
|
c = ctx.obj
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
else:
|
250
|
-
s_display_status(
|
251
|
-
c.metadata_store,
|
252
|
-
c.metadata_store_url,
|
253
|
-
c.admin_user,
|
254
|
-
c.admin_user_password,
|
255
|
-
c.jupyter,
|
256
|
-
c.width,
|
257
|
-
)
|
239
|
+
s_display_status(
|
240
|
+
full,
|
241
|
+
c.view_server,
|
242
|
+
c.view_server_url,
|
243
|
+
c.userid,
|
244
|
+
c.password,
|
245
|
+
c.jupyter,
|
246
|
+
c.width,
|
247
|
+
)
|
258
248
|
|
259
249
|
|
260
250
|
@show.group("engines")
|
@@ -265,15 +255,27 @@ def engine_host(ctx):
|
|
265
255
|
|
266
256
|
|
267
257
|
@engine_host.command("status")
|
258
|
+
@click.option(
|
259
|
+
"--engine-host",
|
260
|
+
default="engine-host",
|
261
|
+
help="Name of the Engine Host to get status for",
|
262
|
+
)
|
268
263
|
@click.option(
|
269
264
|
"--list", is_flag=True, default=False, help="If True, a paged list will be shown"
|
270
265
|
)
|
271
266
|
@click.pass_context
|
272
|
-
def gov_eng_status(ctx, list):
|
267
|
+
def gov_eng_status(ctx, engine_host, list):
|
273
268
|
"""Display engine-host status information"""
|
274
269
|
c = ctx.obj
|
275
270
|
display_gov_eng_status(
|
276
|
-
c.engine_host,
|
271
|
+
c.engine_host,
|
272
|
+
c.view_server,
|
273
|
+
c.view_server_url,
|
274
|
+
c.userid,
|
275
|
+
c.password,
|
276
|
+
list,
|
277
|
+
c.jupyter,
|
278
|
+
c.width,
|
277
279
|
)
|
278
280
|
|
279
281
|
|
@@ -400,11 +402,16 @@ def integration_daemon(ctx):
|
|
400
402
|
default="all",
|
401
403
|
help="Name of connector to refresh or 'all' to refresh all",
|
402
404
|
)
|
403
|
-
|
405
|
+
@click.option(
|
406
|
+
"--server",
|
407
|
+
default="integration-daemon",
|
408
|
+
help="Name of the integration server to refresh",
|
409
|
+
)
|
410
|
+
def refresh_connectors(ctx, server, connector):
|
404
411
|
"""Refresh the specified integration connector or ALL connectors if not specified"""
|
405
412
|
c = ctx.obj
|
406
413
|
refresh_connector(
|
407
|
-
connector, c.
|
414
|
+
connector, server, c.view_server_url, c.view_server, c.userid, c.password
|
408
415
|
)
|
409
416
|
|
410
417
|
|
@@ -415,11 +422,16 @@ def refresh_connectors(ctx, connector):
|
|
415
422
|
default="all",
|
416
423
|
help="Name of connector to restart or 'all' to restart all",
|
417
424
|
)
|
418
|
-
|
425
|
+
@click.option(
|
426
|
+
"--server",
|
427
|
+
default="integration-daemon",
|
428
|
+
help="Name of the integration server to refresh",
|
429
|
+
)
|
430
|
+
def restart_connectors(ctx, server, connector):
|
419
431
|
"""Restart the specified integration connector or ALL connectors if not specified"""
|
420
432
|
c = ctx.obj
|
421
433
|
restart_connector(
|
422
|
-
connector, c.
|
434
|
+
connector, server, c.view_server_url, c.view_server, c.userid, c.password
|
423
435
|
)
|
424
436
|
|
425
437
|
|
@@ -0,0 +1,73 @@
|
|
1
|
+
"""
|
2
|
+
SPDX-License-Identifier: Apache-2.0
|
3
|
+
Copyright Contributors to the ODPi Egeria project.
|
4
|
+
|
5
|
+
|
6
|
+
|
7
|
+
This script refreshed an integration daemon.
|
8
|
+
|
9
|
+
"""
|
10
|
+
|
11
|
+
import os
|
12
|
+
import click
|
13
|
+
from pyegeria import AutomatedCuration, EgeriaTech
|
14
|
+
from pyegeria._exceptions import (
|
15
|
+
InvalidParameterException,
|
16
|
+
PropertyServerException,
|
17
|
+
UserNotAuthorizedException,
|
18
|
+
print_exception_response,
|
19
|
+
)
|
20
|
+
|
21
|
+
EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store")
|
22
|
+
EGERIA_KAFKA_ENDPOINT = os.environ.get("KAFKA_ENDPOINT", "localhost:9092")
|
23
|
+
EGERIA_PLATFORM_URL = os.environ.get("EGERIA_PLATFORM_URL", "https://localhost:9443")
|
24
|
+
EGERIA_VIEW_SERVER = os.environ.get("VIEW_SERVER", "view-server")
|
25
|
+
EGERIA_VIEW_SERVER_URL = os.environ.get(
|
26
|
+
"EGERIA_VIEW_SERVER_URL", "https://localhost:9443"
|
27
|
+
)
|
28
|
+
EGERIA_INTEGRATION_DAEMON = os.environ.get("INTEGRATION_DAEMON", "integration-daemon")
|
29
|
+
EGERIA_INTEGRATION_DAEMON_URL = os.environ.get(
|
30
|
+
"EGERIA_INTEGRATION_DAEMON_URL", "https://localhost:9443"
|
31
|
+
)
|
32
|
+
EGERIA_ADMIN_USER = os.environ.get("ADMIN_USER", "garygeeke")
|
33
|
+
EGERIA_ADMIN_PASSWORD = os.environ.get("ADMIN_PASSWORD", "secret")
|
34
|
+
EGERIA_USER = os.environ.get("EGERIA_USER", "erinoverview")
|
35
|
+
EGERIA_USER_PASSWORD = os.environ.get("EGERIA_USER_PASSWORD", "secret")
|
36
|
+
|
37
|
+
|
38
|
+
@click.command("load-archive")
|
39
|
+
@click.option(
|
40
|
+
"--file",
|
41
|
+
prompt="Path on the Metadata Server of the archive file to load",
|
42
|
+
default="content-packs/CocoComboArchive.omarchive",
|
43
|
+
help="Full path on the Metadata Server to the archive file to load",
|
44
|
+
)
|
45
|
+
@click.option(
|
46
|
+
"--server", default=EGERIA_METADATA_STORE, help="Egeria metadata store to load"
|
47
|
+
)
|
48
|
+
@click.option(
|
49
|
+
"--view-server", default=EGERIA_VIEW_SERVER, help="Egeria view server to connect to"
|
50
|
+
)
|
51
|
+
@click.option(
|
52
|
+
"--url", default=EGERIA_PLATFORM_URL, help="URL of Egeria platform to connect to"
|
53
|
+
)
|
54
|
+
@click.option("--userid", default=EGERIA_ADMIN_USER, help="Egeria admin user")
|
55
|
+
@click.option("--password", default=EGERIA_ADMIN_PASSWORD, help="Egeria admin password")
|
56
|
+
@click.option("--timeout", default=60, help="Number of seconds to wait")
|
57
|
+
def load_archive(file, server, view_server, url, userid, password, timeout):
|
58
|
+
"""Load an Open Metadata Archive"""
|
59
|
+
|
60
|
+
try:
|
61
|
+
s_client = EgeriaTech(view_server, url, userid, password)
|
62
|
+
token = s_client.create_egeria_bearer_token()
|
63
|
+
server_guid = s_client.get_guid_for_name(server)
|
64
|
+
s_client.add_archive_file(file, server_guid, timeout=timeout)
|
65
|
+
|
66
|
+
click.echo(f"Loaded archive: {file}")
|
67
|
+
|
68
|
+
except (InvalidParameterException, PropertyServerException) as e:
|
69
|
+
print_exception_response(e)
|
70
|
+
|
71
|
+
|
72
|
+
if __name__ == "__main__":
|
73
|
+
load_archive()
|
@@ -9,7 +9,6 @@ Unit tests for the Utils helper functions using the Pytest framework.
|
|
9
9
|
A simple status display for Governance Actions
|
10
10
|
"""
|
11
11
|
import argparse
|
12
|
-
import json
|
13
12
|
import os
|
14
13
|
import time
|
15
14
|
|
@@ -23,7 +22,7 @@ from pyegeria import (
|
|
23
22
|
InvalidParameterException,
|
24
23
|
PropertyServerException,
|
25
24
|
UserNotAuthorizedException,
|
26
|
-
|
25
|
+
EgeriaTech,
|
27
26
|
)
|
28
27
|
from pyegeria.server_operations import ServerOps
|
29
28
|
|
@@ -53,7 +52,8 @@ disable_ssl_warnings = True
|
|
53
52
|
|
54
53
|
|
55
54
|
def display_gov_eng_status(
|
56
|
-
|
55
|
+
engine_host: str,
|
56
|
+
view_server: str,
|
57
57
|
url: str,
|
58
58
|
username: str,
|
59
59
|
user_pass: str,
|
@@ -62,8 +62,9 @@ def display_gov_eng_status(
|
|
62
62
|
width: int = EGERIA_WIDTH,
|
63
63
|
):
|
64
64
|
console = Console(width=EGERIA_WIDTH)
|
65
|
-
|
66
|
-
s_client =
|
65
|
+
|
66
|
+
s_client = EgeriaTech(view_server, url, username, user_pass)
|
67
|
+
token = s_client.create_egeria_bearer_token()
|
67
68
|
|
68
69
|
def generate_table() -> Table:
|
69
70
|
"""Make a new table."""
|
@@ -76,7 +77,7 @@ def display_gov_eng_status(
|
|
76
77
|
caption_style="white on black",
|
77
78
|
show_lines=True,
|
78
79
|
box=box.ROUNDED,
|
79
|
-
caption=f"Server: '{
|
80
|
+
caption=f"Server: '{engine_host}' running on {url}",
|
80
81
|
expand=True,
|
81
82
|
)
|
82
83
|
# table.footer: f"Server {view_server} on Platform {good_platform1_url}"
|
@@ -86,9 +87,11 @@ def display_gov_eng_status(
|
|
86
87
|
table.add_column("Engine Status")
|
87
88
|
table.add_column("Request Types")
|
88
89
|
|
89
|
-
|
90
|
+
eng_host_guid = s_client.get_guid_for_name(engine_host)
|
91
|
+
gov_eng_status = s_client.get_server_report(eng_host_guid)
|
92
|
+
eng_summaries = gov_eng_status["governanceEngineSummaries"]
|
90
93
|
sorted_gov_eng_status = sorted(
|
91
|
-
|
94
|
+
eng_summaries, key=lambda k: k.get("governanceEngineName", " ")
|
92
95
|
)
|
93
96
|
for engine in sorted_gov_eng_status:
|
94
97
|
gov_eng = engine["governanceEngineName"]
|
@@ -113,7 +116,7 @@ def display_gov_eng_status(
|
|
113
116
|
|
114
117
|
table.add_row(gov_eng, eng_type, eng_desc, eng_status, eng_req_type_out)
|
115
118
|
|
116
|
-
table.caption = f"Server {
|
119
|
+
table.caption = f"Server {engine_host} running on {url}"
|
117
120
|
return table
|
118
121
|
|
119
122
|
try:
|
@@ -165,19 +168,27 @@ def main_live():
|
|
165
168
|
|
166
169
|
def main_paging():
|
167
170
|
parser = argparse.ArgumentParser()
|
168
|
-
parser.add_argument(
|
169
|
-
|
171
|
+
parser.add_argument(
|
172
|
+
"--engine_host", help="Name of the engine host to display status for"
|
173
|
+
)
|
174
|
+
parser.add_argument("--view_server", help="Name of the view server to use")
|
175
|
+
parser.add_argument("--url", help="URL of Platform to connect to")
|
170
176
|
parser.add_argument("--userid", help="User Id")
|
171
177
|
parser.add_argument("--password", help="User Password")
|
172
178
|
args = parser.parse_args()
|
173
179
|
|
174
|
-
|
175
|
-
|
180
|
+
engine_host = (
|
181
|
+
args.engine_host if args.engine_host is not None else EGERIA_ENGINE_HOST
|
182
|
+
)
|
183
|
+
view_server = (
|
184
|
+
args.view_server if args.view_server is not None else EGERIA_VIEW_SERVER
|
185
|
+
)
|
186
|
+
url = args.url if args.url is not None else EGERIA_VIEW_SERVER_URL
|
176
187
|
userid = args.userid if args.userid is not None else EGERIA_USER
|
177
188
|
user_pass = args.password if args.password is not None else EGERIA_USER_PASSWORD
|
178
189
|
|
179
190
|
display_gov_eng_status(
|
180
|
-
|
191
|
+
engine_host, view_server, url, userid, user_pass, paging=True
|
181
192
|
)
|
182
193
|
|
183
194
|
|
@@ -17,7 +17,7 @@ from rich.console import Console
|
|
17
17
|
from rich.live import Live
|
18
18
|
from rich.table import Table
|
19
19
|
|
20
|
-
from pyegeria import
|
20
|
+
from pyegeria import EgeriaTech, AutomatedCuration
|
21
21
|
from pyegeria._exceptions import (
|
22
22
|
InvalidParameterException,
|
23
23
|
PropertyServerException,
|
@@ -36,8 +36,6 @@ EGERIA_INTEGRATION_DAEMON = os.environ.get("INTEGRATION_DAEMON", "integration-da
|
|
36
36
|
EGERIA_INTEGRATION_DAEMON_URL = os.environ.get(
|
37
37
|
"EGERIA_INTEGRATION_DAEMON_URL", "https://localhost:9443"
|
38
38
|
)
|
39
|
-
EGERIA_ADMIN_USER = os.environ.get("ADMIN_USER", "garygeeke")
|
40
|
-
EGERIA_ADMIN_PASSWORD = os.environ.get("ADMIN_PASSWORD", "secret")
|
41
39
|
EGERIA_USER = os.environ.get("EGERIA_USER", "erinoverview")
|
42
40
|
EGERIA_USER_PASSWORD = os.environ.get("EGERIA_USER_PASSWORD", "secret")
|
43
41
|
EGERIA_JUPYTER = bool(os.environ.get("EGERIA_JUPYTER", "False"))
|
@@ -58,9 +56,9 @@ def display_integration_daemon_status(
|
|
58
56
|
width: int = EGERIA_WIDTH,
|
59
57
|
sort: bool = True,
|
60
58
|
):
|
61
|
-
s_client =
|
62
|
-
|
63
|
-
|
59
|
+
s_client = EgeriaTech(view_server, view_url, user, user_pass)
|
60
|
+
token = s_client.create_egeria_bearer_token()
|
61
|
+
server_guid = s_client.get_guid_for_name(integ_server)
|
64
62
|
|
65
63
|
def generate_table() -> Table:
|
66
64
|
"""Make a new table."""
|
@@ -84,7 +82,7 @@ def display_integration_daemon_status(
|
|
84
82
|
table.add_column("Target Element", min_width=20)
|
85
83
|
table.add_column("Exception Message", min_width=10)
|
86
84
|
|
87
|
-
daemon_status = s_client.
|
85
|
+
daemon_status = s_client.get_server_report(server_guid)
|
88
86
|
|
89
87
|
reports = daemon_status["integrationConnectorReports"]
|
90
88
|
if sort is True:
|
@@ -102,7 +100,7 @@ def display_integration_daemon_status(
|
|
102
100
|
refresh_interval = str(connector.get("minMinutesBetweenRefresh", "---"))
|
103
101
|
exception_msg = " "
|
104
102
|
if connector_guid != "---":
|
105
|
-
targets =
|
103
|
+
targets = s_client.get_catalog_targets(connector_guid)
|
106
104
|
tgt_tab = Table()
|
107
105
|
tgt_tab.add_column("Target")
|
108
106
|
tgt_tab.add_column("UniqueName")
|
@@ -172,7 +170,6 @@ def display_integration_daemon_status(
|
|
172
170
|
|
173
171
|
finally:
|
174
172
|
s_client.close_session()
|
175
|
-
a_client.close_session()
|
176
173
|
|
177
174
|
|
178
175
|
def main_live():
|
@@ -21,7 +21,6 @@ import time
|
|
21
21
|
from rich.live import Live
|
22
22
|
from rich.table import Table
|
23
23
|
|
24
|
-
from examples.doc_samples.Create_Sustainability_Collection_Sample import description
|
25
24
|
from pyegeria import (
|
26
25
|
InvalidParameterException,
|
27
26
|
PropertyServerException,
|
@@ -152,7 +151,7 @@ def main():
|
|
152
151
|
parser.add_argument("--password", help="User Password")
|
153
152
|
args = parser.parse_args()
|
154
153
|
|
155
|
-
extended = args.extended if args.extended is not None else
|
154
|
+
extended = args.extended if args.extended is not None else False
|
156
155
|
server = args.server if args.server is not None else EGERIA_VIEW_SERVER
|
157
156
|
url = args.url if args.url is not None else EGERIA_PLATFORM_URL
|
158
157
|
userid = args.userid if args.userid is not None else EGERIA_ADMIN_USER
|
@@ -34,7 +34,6 @@ from ._exceptions import (
|
|
34
34
|
print_exception_response,
|
35
35
|
)
|
36
36
|
|
37
|
-
# from .utils import print_response, body_slimmer, wrap_text
|
38
37
|
from .utils import print_response, body_slimmer
|
39
38
|
from ._client import Client
|
40
39
|
from .automated_curation_omvs import AutomatedCuration
|
@@ -1926,7 +1926,7 @@ class RuntimeManager(Client):
|
|
1926
1926
|
|
1927
1927
|
response = await self._async_make_request("GET", url)
|
1928
1928
|
|
1929
|
-
return response.json().get("
|
1929
|
+
return response.json().get("element", "No server found")
|
1930
1930
|
|
1931
1931
|
def get_server_report(self, server_guid: str = None) -> str | list:
|
1932
1932
|
"""Returns details about the running server.
|
@@ -1,6 +1,6 @@
|
|
1
1
|
[tool.poetry]
|
2
2
|
name = "pyegeria"
|
3
|
-
version = "0.8.4.
|
3
|
+
version = "0.8.4.28"
|
4
4
|
license = 'Apache 2.0'
|
5
5
|
authors = ["Dan Wolfson <dan.wolfson@pdr-associates.com>"]
|
6
6
|
readme = "README.md"
|
@@ -79,7 +79,7 @@ pytest = "^8.2.2"
|
|
79
79
|
monitor_integ_daemon_status = "commands.ops.monitor_integ_daemon_status:main_live"
|
80
80
|
list_integ_daemon_status = "commands.ops.monitor_integ_daemon_status:main_paging"
|
81
81
|
monitor_platform_status = "commands.ops.monitor_platform_status:main"
|
82
|
-
monitor_server_list = "commands.ops.
|
82
|
+
monitor_server_list = "commands.ops.orig_monitor_server_list:main"
|
83
83
|
monitor_server_status = "commands.ops.monitor_server_status:main"
|
84
84
|
refresh_integration_daemon = "commands.ops.refresh_integration_daemon:main"
|
85
85
|
restart_integration_daemon = "commands.ops.restart_integration_daemon:main"
|
@@ -1,62 +0,0 @@
|
|
1
|
-
"""
|
2
|
-
SPDX-License-Identifier: Apache-2.0
|
3
|
-
Copyright Contributors to the ODPi Egeria project.
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
This script refreshed an integration daemon.
|
8
|
-
|
9
|
-
"""
|
10
|
-
|
11
|
-
import os
|
12
|
-
import argparse
|
13
|
-
import time
|
14
|
-
import click
|
15
|
-
from trogon import tui
|
16
|
-
from pyegeria import ServerOps, AutomatedCuration
|
17
|
-
from pyegeria._exceptions import (
|
18
|
-
InvalidParameterException,
|
19
|
-
PropertyServerException,
|
20
|
-
UserNotAuthorizedException,
|
21
|
-
print_exception_response,
|
22
|
-
)
|
23
|
-
EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store")
|
24
|
-
EGERIA_KAFKA_ENDPOINT = os.environ.get('KAFKA_ENDPOINT', 'localhost:9092')
|
25
|
-
EGERIA_PLATFORM_URL = os.environ.get('EGERIA_PLATFORM_URL', 'https://localhost:9443')
|
26
|
-
EGERIA_VIEW_SERVER = os.environ.get('VIEW_SERVER', 'view-server')
|
27
|
-
EGERIA_VIEW_SERVER_URL = os.environ.get('EGERIA_VIEW_SERVER_URL', 'https://localhost:9443')
|
28
|
-
EGERIA_INTEGRATION_DAEMON = os.environ.get('INTEGRATION_DAEMON', 'integration-daemon')
|
29
|
-
EGERIA_INTEGRATION_DAEMON_URL = os.environ.get('EGERIA_INTEGRATION_DAEMON_URL', 'https://localhost:9443')
|
30
|
-
EGERIA_ADMIN_USER = os.environ.get('ADMIN_USER', 'garygeeke')
|
31
|
-
EGERIA_ADMIN_PASSWORD = os.environ.get('ADMIN_PASSWORD', 'secret')
|
32
|
-
EGERIA_USER = os.environ.get('EGERIA_USER', 'erinoverview')
|
33
|
-
EGERIA_USER_PASSWORD = os.environ.get('EGERIA_USER_PASSWORD', 'secret')
|
34
|
-
|
35
|
-
|
36
|
-
@click.command('load-archive')
|
37
|
-
@click.option('--file', prompt= "Path on the Metadata Server of the archive file to load",
|
38
|
-
default='content-packs/CocoComboArchive.omarchive',
|
39
|
-
help='Full path on the Metadata Server to the archive file to load')
|
40
|
-
@click.option('--server', default = EGERIA_METADATA_STORE, help='Egeria metadata store to load')
|
41
|
-
@click.option('--url', default = EGERIA_PLATFORM_URL, help='URL of Egeria platform to connect to')
|
42
|
-
@click.option('--userid', default = EGERIA_ADMIN_USER, help='Egeria admin user')
|
43
|
-
@click.option('--password', default = EGERIA_ADMIN_PASSWORD, help='Egeria admin password')
|
44
|
-
@click.option('--timeout', default = 60, help = 'Number of seconds to wait')
|
45
|
-
def load_archive(file, server, url, userid, password, timeout):
|
46
|
-
"""Load an Open Metadata Archive"""
|
47
|
-
|
48
|
-
try:
|
49
|
-
|
50
|
-
s_client = ServerOps(server, url, userid, password)
|
51
|
-
|
52
|
-
s_client.add_archive_file(file, server, timeout = timeout)
|
53
|
-
|
54
|
-
click.echo(f"Loaded archive: {file}")
|
55
|
-
|
56
|
-
|
57
|
-
except (InvalidParameterException, PropertyServerException) as e:
|
58
|
-
print_exception_response(e)
|
59
|
-
|
60
|
-
|
61
|
-
if __name__ == "__main__":
|
62
|
-
load_archive()
|
@@ -1,103 +0,0 @@
|
|
1
|
-
#!/usr/bin/python3
|
2
|
-
"""
|
3
|
-
SPDX-License-Identifier: Apache-2.0
|
4
|
-
Copyright Contributors to the ODPi Egeria project.
|
5
|
-
|
6
|
-
Unit tests for the Utils helper functions using the Pytest framework.
|
7
|
-
|
8
|
-
|
9
|
-
A simple server status display for the Coco Pharmaceuticals Configuration
|
10
|
-
"""
|
11
|
-
|
12
|
-
import argparse
|
13
|
-
import time
|
14
|
-
|
15
|
-
from rich import box
|
16
|
-
from rich import print
|
17
|
-
from rich.layout import Layout
|
18
|
-
from rich.live import Live
|
19
|
-
from rich.panel import Panel
|
20
|
-
from rich.table import Table
|
21
|
-
|
22
|
-
from pyegeria._exceptions import (
|
23
|
-
InvalidParameterException,
|
24
|
-
PropertyServerException,
|
25
|
-
UserNotAuthorizedException,
|
26
|
-
print_exception_response,
|
27
|
-
)
|
28
|
-
from pyegeria.server_operations import ServerOps
|
29
|
-
|
30
|
-
disable_ssl_warnings = True
|
31
|
-
|
32
|
-
|
33
|
-
def display_status(server: str, url: str, username: str):
|
34
|
-
layout = Layout()
|
35
|
-
|
36
|
-
p_client1 = ServerOps("Core Catalog", "https://localhost:9443", username)
|
37
|
-
p_client2 = ServerOps('Datalake Catalog', "https://localhost:9444", username)
|
38
|
-
p_client3 = ServerOps('DevCatalog', "https://localhost:9445", username)
|
39
|
-
|
40
|
-
def generate_table(p_client) -> Table:
|
41
|
-
"""Make a new table."""
|
42
|
-
table = Table(
|
43
|
-
title=f"Server Status for {p_client.server_name}- {time.asctime()}",
|
44
|
-
# style = "black on grey66",
|
45
|
-
header_style="white on dark_blue",
|
46
|
-
caption=f"Server Status for Platform - '{p_client.platform_url}'",
|
47
|
-
# show_lines=True,
|
48
|
-
)
|
49
|
-
|
50
|
-
table.add_column("Known Server")
|
51
|
-
table.add_column("Status")
|
52
|
-
known_server_list = p_client.get_known_servers()
|
53
|
-
active_server_list = p_client.get_active_server_list()
|
54
|
-
if type(known_server_list) is str:
|
55
|
-
return table
|
56
|
-
|
57
|
-
for server in known_server_list:
|
58
|
-
if server in active_server_list:
|
59
|
-
status = "Active"
|
60
|
-
else:
|
61
|
-
status = "Inactive"
|
62
|
-
|
63
|
-
table.add_row(server,
|
64
|
-
"[red]Inactive" if status == "Inactive" else "[green]Active",
|
65
|
-
)
|
66
|
-
return table
|
67
|
-
|
68
|
-
try:
|
69
|
-
layout.split_row(
|
70
|
-
Layout(Panel(generate_table(p_client1), box.ROUNDED)),
|
71
|
-
Layout(Panel(generate_table(p_client2), box.ROUNDED)),
|
72
|
-
Layout(Panel(generate_table(p_client3), box.ROUNDED))
|
73
|
-
)
|
74
|
-
with Live(layout, refresh_per_second=4, screen=True) as live:
|
75
|
-
while True:
|
76
|
-
time.sleep(2)
|
77
|
-
live.update(layout)
|
78
|
-
|
79
|
-
except (InvalidParameterException, PropertyServerException, UserNotAuthorizedException) as e:
|
80
|
-
print_exception_response(e)
|
81
|
-
except KeyboardInterrupt:
|
82
|
-
pass
|
83
|
-
|
84
|
-
finally:
|
85
|
-
p_client1.close_session()
|
86
|
-
p_client2.close_session()
|
87
|
-
p_client3.close_session()
|
88
|
-
|
89
|
-
def main():
|
90
|
-
parser = argparse.ArgumentParser()
|
91
|
-
parser.add_argument("--server", help="Name of the server to display status for")
|
92
|
-
parser.add_argument("--url", help="URL Platform to connect to")
|
93
|
-
parser.add_argument("--userid", help="User Id")
|
94
|
-
args = parser.parse_args()
|
95
|
-
|
96
|
-
server = args.server if args.server is not None else "active-metadata-store"
|
97
|
-
url = args.url if args.url is not None else "https://localhost:9443"
|
98
|
-
userid = args.userid if args.userid is not None else 'garygeeke'
|
99
|
-
|
100
|
-
display_status(server, url, userid)
|
101
|
-
|
102
|
-
if __name__ == "__main__":
|
103
|
-
main()
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|