pyegeria 1.5.1.0.2__py3-none-any.whl → 1.5.1.0.4__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.
@@ -0,0 +1,187 @@
1
+ """This creates a templates guid file from the core metadata archive"""
2
+ from rich.markdown import Markdown
3
+ from rich.prompt import Prompt
4
+ import os
5
+ import argparse
6
+ import time
7
+ import sys
8
+ from rich import box
9
+ from rich.console import Console
10
+ from rich.table import Table
11
+
12
+ from pyegeria import (
13
+ InvalidParameterException,
14
+ PropertyServerException,
15
+ UserNotAuthorizedException,
16
+ print_exception_response,
17
+ EgeriaTech,
18
+ )
19
+
20
+
21
+ console = Console()
22
+ EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store")
23
+ EGERIA_KAFKA_ENDPOINT = os.environ.get("KAFKA_ENDPOINT", "localhost:9092")
24
+ EGERIA_PLATFORM_URL = os.environ.get("EGERIA_PLATFORM_URL", "https://localhost:9443")
25
+ EGERIA_VIEW_SERVER = os.environ.get("VIEW_SERVER", "view-server")
26
+ EGERIA_VIEW_SERVER_URL = os.environ.get(
27
+ "EGERIA_VIEW_SERVER_URL", "https://localhost:9443"
28
+ )
29
+ EGERIA_INTEGRATION_DAEMON = os.environ.get("INTEGRATION_DAEMON", "integration-daemon")
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
+ EGERIA_JUPYTER = bool(os.environ.get("EGERIA_JUPYTER", "False"))
35
+ EGERIA_WIDTH = int(os.environ.get("EGERIA_WIDTH", "200"))
36
+
37
+
38
+ def check_if_template(header: dict) -> bool:
39
+ """Check if the the template classification is set"""
40
+ classifications = header.get("classifications", None)
41
+ if classifications is None:
42
+ return False
43
+ for c in classifications:
44
+ if c["type"]["typeName"] == "Template":
45
+ return True
46
+ return False
47
+
48
+
49
+ def list_deployed_catalogs(
50
+ uc_server_name: str,
51
+ server: str,
52
+ url: str,
53
+ username: str,
54
+ password: str,
55
+ jupyter: bool = EGERIA_JUPYTER,
56
+ width: int = EGERIA_WIDTH,
57
+ ):
58
+ c_client = EgeriaTech(server, url, user_id=username, user_pwd=password)
59
+ token = c_client.create_egeria_bearer_token()
60
+
61
+ def generate_table() -> Table:
62
+ """Make a new table."""
63
+ table = Table(
64
+ caption=f"Databases found: {url} - {server} @ {time.asctime()}",
65
+ style="bold bright_white on black",
66
+ row_styles=["bold bright_white on black"],
67
+ header_style="white on dark_blue",
68
+ title_style="bold bright_white on black",
69
+ caption_style="white on black",
70
+ show_lines=True,
71
+ box=box.ROUNDED,
72
+ # title=f"Elements for Open Metadata Type: '{om_type}' ",
73
+ expand=True,
74
+ # width=500
75
+ )
76
+
77
+ table.add_column("Catalog Name/GUID", width=38, no_wrap=True)
78
+ table.add_column("Catalog Server")
79
+ table.add_column("Properties")
80
+ table.add_column("Catalog Schemas")
81
+
82
+ om_type = "DeployedDatabaseSchema"
83
+
84
+ cats = c_client.get_elements_by_classification("Anchors", "Catalog")
85
+ if type(cats) is list:
86
+ for cat in cats:
87
+ header = cat["elementHeader"]
88
+
89
+ if check_if_template(header):
90
+ continue
91
+ el_guid = header["guid"]
92
+ el_name = cat["properties"].get("name", "---")
93
+ el_id = f"{el_name}\n{el_guid}"
94
+ el_home = header["origin"]["homeMetadataCollectionName"]
95
+
96
+ el_anchors_md = ""
97
+ class_info = header["classifications"]
98
+ for class_i in class_info:
99
+ class_prop = class_i.get("classificationProperties", None)
100
+ if class_prop:
101
+ for anchor in class_prop.keys():
102
+ if anchor == "anchorGUID":
103
+ server_guid = class_prop[anchor]
104
+ el_anchors_md += f"* **{anchor}**: {class_prop[anchor]}\n"
105
+ el_anchors_out = Markdown(el_anchors_md)
106
+
107
+ el_props_md = ""
108
+ for prop in cat["properties"].keys():
109
+ el_props_md += f"* **{prop}**: {cat['properties'][prop]}\n"
110
+ el_props_out = Markdown(el_props_md)
111
+
112
+ schemas = c_client.get_elements_by_classification_with_property_value(
113
+ "Anchors", el_guid, ["anchorGUID"], "DeployedDatabaseSchema"
114
+ )
115
+ schemas_md = ""
116
+ if type(schemas) is list:
117
+ for schema in schemas:
118
+ schema_md = ""
119
+ schema_props = schema["properties"]
120
+ for key in schema_props.keys():
121
+ schema_md += f"* **{key}**: {schema_props[key]}\n"
122
+ schemas_md += schema_md
123
+ schemas_md_out = Markdown(schemas_md)
124
+
125
+ element_info = c_client.get_element_by_guid(server_guid)
126
+ element_info_md = ""
127
+ for key in element_info["properties"].keys():
128
+ element_info_md += (
129
+ f"* **{key}**: {element_info['properties'][key]}\n"
130
+ )
131
+ element_info_out = Markdown(element_info_md)
132
+
133
+ table.add_row(
134
+ el_id,
135
+ element_info_out,
136
+ el_props_out,
137
+ schemas_md_out,
138
+ )
139
+
140
+ return table
141
+ else:
142
+ print("No instances found")
143
+ sys.exit(1)
144
+
145
+ try:
146
+ console = Console(width=width, force_terminal=not jupyter)
147
+
148
+ with console.pager(styles=True):
149
+ console.print(generate_table())
150
+
151
+ except (
152
+ InvalidParameterException,
153
+ PropertyServerException,
154
+ UserNotAuthorizedException,
155
+ ) as e:
156
+ print_exception_response(e)
157
+ print("\n\nPerhaps the type name isn't known")
158
+ finally:
159
+ c_client.close_session()
160
+
161
+
162
+ def main():
163
+ parser = argparse.ArgumentParser()
164
+ parser.add_argument("--server", help="Name of the server to display status for")
165
+ parser.add_argument("--url", help="URL Platform to connect to")
166
+ parser.add_argument("--userid", help="User Id")
167
+ parser.add_argument("--password", help="Password")
168
+
169
+ args = parser.parse_args()
170
+
171
+ server = args.server if args.server is not None else EGERIA_VIEW_SERVER
172
+ url = args.url if args.url is not None else EGERIA_PLATFORM_URL
173
+ userid = args.userid if args.userid is not None else EGERIA_USER
174
+ password = args.password if args.password is not None else EGERIA_USER_PASSWORD
175
+
176
+ try:
177
+ # uc_server_name = Prompt.ask(
178
+ # "Enter the name of a server to retrieve schemas for", default="*"
179
+ # )
180
+ uc_server_name = None
181
+ list_deployed_catalogs(uc_server_name, server, url, userid, password)
182
+ except KeyboardInterrupt:
183
+ pass
184
+
185
+
186
+ if __name__ == "__main__":
187
+ main()
@@ -74,19 +74,25 @@ def list_deployed_database_schemas(
74
74
  # width=500
75
75
  )
76
76
 
77
- table.add_column("Name")
78
- table.add_column("Type")
79
- table.add_column("Created", width=23)
80
- table.add_column("Home Store")
81
- table.add_column("GUID", width=38, no_wrap=True)
82
- table.add_column("Properties")
83
- table.add_column("Tables")
77
+ table.add_column("Schema in Catalog")
78
+ table.add_column("Schema Properties")
79
+
80
+ # table.add_column("Home Store")
81
+ # table.add_column("GUID", width=38, no_wrap=True)
82
+ # table.add_column("Properties")
83
+ table.add_column("Cataloged Resource")
84
84
 
85
85
  om_type = "DeployedDatabaseSchema"
86
+
87
+ # get the guid for the database or catalog
88
+
86
89
  if db_name in (None, "*"):
87
90
  dbs = c_client.get_elements(om_type)
88
91
  else:
89
- dbs = c_client.get_elements_by_property_value(db_name, "name", om_type)
92
+ db_guid = c_client.get_guid_for_name(db_name)
93
+ dbs = c_client.get_elements_by_classification_with_property_value(
94
+ "Anchors", db_guid, ["anchorGUID"], om_type
95
+ )
90
96
 
91
97
  if type(dbs) is list:
92
98
  for element in dbs:
@@ -108,6 +114,24 @@ def list_deployed_database_schemas(
108
114
 
109
115
  el_guid = header["guid"]
110
116
 
117
+ el_classification = header["classifications"]
118
+ for c in el_classification:
119
+ if c["type"]["typeName"] == "Anchors":
120
+ el_anchor_guid = c["classificationProperties"]["anchorGUID"]
121
+ el_anchor_type_name = c["classificationProperties"][
122
+ "anchorTypeName"
123
+ ]
124
+ if el_anchor_type_name == "Catalog":
125
+ el_cat = c_client.get_element_by_guid(el_anchor_guid)
126
+ el_cat_name = el_cat["properties"].get("name", None)
127
+ if el_cat_name is None:
128
+ el_cat_name = el_cat["properties"].get(
129
+ "qualifiedName", "---"
130
+ )
131
+ el_cat_guid = el_cat["elementHeader"]["guid"]
132
+ el_schema_id = (
133
+ f"{el_name}\n{el_guid}\n\n\t\tin\n\n{el_cat_name}\n{el_cat_guid}"
134
+ )
111
135
  el_props_md = ""
112
136
  for prop in element["properties"].keys():
113
137
  el_props_md += f"* **{prop}**: {element['properties'][prop]}\n"
@@ -139,11 +163,11 @@ def list_deployed_database_schemas(
139
163
  rel_el_out = Markdown(rel_el_md)
140
164
 
141
165
  table.add_row(
142
- el_name,
143
- el_type,
144
- el_created_out,
145
- el_home,
146
- el_guid,
166
+ el_schema_id,
167
+ # el_type,
168
+ # el_created_out,
169
+ # el_home,
170
+ # el_guid,
147
171
  el_props_out,
148
172
  rel_el_out,
149
173
  )
commands/cli/egeria.py CHANGED
@@ -32,6 +32,9 @@ from commands.my.list_my_profile import display_my_profile
32
32
  from commands.my.list_my_roles import display_my_roles
33
33
  from commands.my.monitor_my_todos import display_my_todos
34
34
  from commands.my.monitor_open_todos import display_todos
35
+ from commands.cat.list_deployed_database_schemas import list_deployed_database_schemas
36
+ from commands.cat.list_deployed_catalogs import list_deployed_catalogs
37
+
35
38
 
36
39
  from commands.ops.gov_server_actions import (
37
40
  add_catalog_target,
@@ -71,6 +74,7 @@ from commands.tech.list_related_specification import (
71
74
  from commands.tech.list_relationship_types import display_relationship_types
72
75
  from commands.tech.list_tech_templates import display_templates_spec
73
76
  from commands.tech.list_valid_metadata_values import display_metadata_values
77
+ from commands.tech.list_gov_action_processes import display_gov_processes
74
78
 
75
79
 
76
80
  @tui()
@@ -540,6 +544,23 @@ def tech_template_spec(ctx, search_string):
540
544
  )
541
545
 
542
546
 
547
+ @show.command("gov-action-processes")
548
+ @click.pass_context
549
+ @click.option("--search-string", default="*", help="Search string")
550
+ def gov_action_processes(ctx, search_string):
551
+ """Display available governance action processes."""
552
+ c = ctx.obj
553
+ display_gov_processes(
554
+ search_string,
555
+ c.view_server,
556
+ c.view_server_url,
557
+ c.userid,
558
+ c.password,
559
+ c.jupyter,
560
+ c.width,
561
+ )
562
+
563
+
543
564
  @show.command("valid-metadata-values")
544
565
  @click.pass_context
545
566
  @click.option("--property", default="projectHealth", help="Metadata property to query")
@@ -888,6 +909,42 @@ def list_archives(ctx):
888
909
  )
889
910
 
890
911
 
912
+ @show.command("list-deployed-schemas")
913
+ @click.option("--search-string", default="*", help="What database or catalog to search")
914
+ @click.pass_context
915
+ def list_deployed_schemas(search_string, ctx):
916
+ """Display a tree graph of information about an asset"""
917
+ c = ctx.obj
918
+ list_deployed_database_schemas(
919
+ search_string,
920
+ c.view_server,
921
+ c.view_server_url,
922
+ c.userid,
923
+ c.password,
924
+ None,
925
+ c.jupyter,
926
+ c.width,
927
+ )
928
+
929
+
930
+ @show.command("list-catalogs")
931
+ # @click.option("--search-string", default="*", help="What database or catalog to search")
932
+ @click.pass_context
933
+ def list_catalogs(ctx):
934
+ """Display a tree graph of information about an asset"""
935
+ c = ctx.obj
936
+ list_deployed_catalogs(
937
+ " ",
938
+ c.view_server,
939
+ c.view_server_url,
940
+ c.userid,
941
+ c.password,
942
+ None,
943
+ c.jupyter,
944
+ c.width,
945
+ )
946
+
947
+
891
948
  #
892
949
  # Catalog User: Tell
893
950
  #
@@ -27,6 +27,9 @@ from commands.cat.list_cert_types import display_certifications
27
27
  from commands.cat.list_relationships import list_relationships
28
28
  from commands.cat.list_user_ids import list_user_ids
29
29
  from commands.cat.list_archives import display_archive_list
30
+ from commands.cat.list_deployed_database_schemas import list_deployed_database_schemas
31
+ from commands.cat.list_deployed_catalogs import list_deployed_catalogs
32
+
30
33
 
31
34
  # from pyegeria import ServerOps
32
35
  from commands.cli.ops_config import Config
@@ -486,6 +489,42 @@ def list_archives(ctx):
486
489
  )
487
490
 
488
491
 
492
+ @show.command("list-deployed-schemas")
493
+ @click.option("--search-string", default="*", help="What database or catalog to search")
494
+ @click.pass_context
495
+ def list_deployed_schemas(search_string, ctx):
496
+ """Display a tree graph of information about an asset"""
497
+ c = ctx.obj
498
+ list_deployed_database_schemas(
499
+ search_string,
500
+ c.view_server,
501
+ c.view_server_url,
502
+ c.userid,
503
+ c.password,
504
+ None,
505
+ c.jupyter,
506
+ c.width,
507
+ )
508
+
509
+
510
+ @show.command("list-catalogs")
511
+ # @click.option("--search-string", default="*", help="What database or catalog to search")
512
+ @click.pass_context
513
+ def list_catalogs(ctx):
514
+ """Display a tree graph of information about an asset"""
515
+ c = ctx.obj
516
+ list_deployed_catalogs(
517
+ " ",
518
+ c.view_server,
519
+ c.view_server_url,
520
+ c.userid,
521
+ c.password,
522
+ None,
523
+ c.jupyter,
524
+ c.width,
525
+ )
526
+
527
+
489
528
  #
490
529
  # Tell
491
530
  #
@@ -29,7 +29,7 @@ from commands.tech.list_related_specification import (
29
29
  )
30
30
  from commands.tech.list_related_elements import list_related_elements
31
31
  from commands.tech.list_elements_for_classification import list_classified_elements
32
-
32
+ from commands.tech.list_gov_action_processes import display_gov_processes
33
33
 
34
34
  # from pyegeria import ServerOps
35
35
 
@@ -429,6 +429,23 @@ def tech_template_spec(ctx, search_string):
429
429
  )
430
430
 
431
431
 
432
+ @show.command("gov-action-processes")
433
+ @click.pass_context
434
+ @click.option("--search-string", default="*", help="Search string")
435
+ def gov_action_processes(ctx, search_string):
436
+ """Display available governance action processes."""
437
+ c = ctx.obj
438
+ display_gov_processes(
439
+ search_string,
440
+ c.view_server,
441
+ c.view_server_url,
442
+ c.userid,
443
+ c.password,
444
+ c.jupyter,
445
+ c.width,
446
+ )
447
+
448
+
432
449
  @show.command("valid-metadata-values")
433
450
  @click.pass_context
434
451
  @click.option("--property", default="projectHealth", help="Metadata property to query")
@@ -112,8 +112,7 @@ def refresh_gov_eng_config(ctx):
112
112
  p_client = EgeriaTech(c.view_server, c.view_server_url, c.userid, c.password)
113
113
  token = p_client.create_egeria_bearer_token()
114
114
  try:
115
- engine_host_guid = p_client.get_guid_for_name(c.engine_host)
116
- p_client.refresh_gov_eng_config(engine_host_guid)
115
+ p_client.refresh_gov_eng_config(None, None, c.engine_host)
117
116
 
118
117
  click.echo(f"Refreshed server {c.engine_host}")
119
118
 
@@ -134,7 +133,7 @@ def start_server(ctx, server):
134
133
  token = p_client.create_egeria_bearer_token()
135
134
  try:
136
135
  server_guid = p_client.get_element_guid_by_unique_name(server, "name")
137
- p_client.activate_server_with_stored_config(server_guid)
136
+ p_client.activate_server_with_stored_config(None, server)
138
137
 
139
138
  click.echo(f"Started server {server}")
140
139
 
@@ -166,9 +165,7 @@ def stop_server(ctx, server):
166
165
  p_client = EgeriaTech(c.view_server, c.view_server_url, c.userid, c.password)
167
166
  token = p_client.create_egeria_bearer_token()
168
167
  try:
169
- server_guid = p_client.get_guid_for_name(server)
170
-
171
- p_client.shutdown_server(server_guid)
168
+ p_client.shutdown_server(None, server)
172
169
  click.echo(f"Stopped server {server}")
173
170
  except (InvalidParameterException, PropertyServerException) as e:
174
171
  print_exception_response(e)
@@ -45,11 +45,9 @@ def refresh_connector(
45
45
  else:
46
46
  statement = f"the {connector} "
47
47
  server = "integration-daemon" if server is None else server
48
- server_guid = s_client.get_guid_for_name(server)
49
48
 
50
49
  s_client.refresh_integration_connectors(
51
- server_guid,
52
- connector,
50
+ connector_name=connector, server_guid=None, server_name=server
53
51
  )
54
52
 
55
53
  print(f"\n===> Integration Daemon '{server}' refreshed {statement}.")
@@ -46,12 +46,8 @@ def restart_connector(
46
46
  else:
47
47
  statement = f"the {connector} "
48
48
  server = "integration-daemon" if server is None else server
49
- server_guid = s_client.get_guid_for_name(server)
50
49
 
51
- s_client.restart_integration_connectors(
52
- server_guid,
53
- connector,
54
- )
50
+ s_client.restart_integration_connectors(connector, None, server)
55
51
 
56
52
  print(f"\n===> Integration Daemon '{server}' restarted {statement}.")
57
53
 
@@ -0,0 +1,139 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ SPDX-Lic
4
+ ense-Identifier: Apache-2.0
5
+ Copyright Contributors to the ODPi Egeria project.
6
+
7
+
8
+ List the currently loaded Governance Action Processes.
9
+ """
10
+ import argparse
11
+ import os
12
+ import sys
13
+ import time
14
+
15
+ from rich import box
16
+ from rich import print
17
+ from rich.console import Console
18
+ from rich.prompt import Prompt
19
+ from rich.table import Table
20
+
21
+ from pyegeria import (
22
+ InvalidParameterException,
23
+ PropertyServerException,
24
+ UserNotAuthorizedException,
25
+ print_exception_response,
26
+ EgeriaTech,
27
+ )
28
+ from pyegeria import ValidMetadataManager
29
+
30
+ EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store")
31
+ EGERIA_KAFKA_ENDPOINT = os.environ.get("KAFKA_ENDPOINT", "localhost:9092")
32
+ EGERIA_PLATFORM_URL = os.environ.get("EGERIA_PLATFORM_URL", "https://localhost:9443")
33
+ EGERIA_VIEW_SERVER = os.environ.get("VIEW_SERVER", "view-server")
34
+ EGERIA_VIEW_SERVER_URL = os.environ.get(
35
+ "EGERIA_VIEW_SERVER_URL", "https://localhost:9443"
36
+ )
37
+ EGERIA_INTEGRATION_DAEMON = os.environ.get("INTEGRATION_DAEMON", "integration-daemon")
38
+ EGERIA_ADMIN_USER = os.environ.get("ADMIN_USER", "garygeeke")
39
+ EGERIA_ADMIN_PASSWORD = os.environ.get("ADMIN_PASSWORD", "secret")
40
+ EGERIA_USER = os.environ.get("EGERIA_USER", "erinoverview")
41
+ EGERIA_USER_PASSWORD = os.environ.get("EGERIA_USER_PASSWORD", "secret")
42
+ EGERIA_JUPYTER = bool(os.environ.get("EGERIA_JUPYTER", "False"))
43
+ EGERIA_WIDTH = int(os.environ.get("EGERIA_WIDTH", "200"))
44
+
45
+
46
+ def display_gov_processes(
47
+ type_name: str,
48
+ server: str,
49
+ url: str,
50
+ username: str,
51
+ user_pass: str,
52
+ jupyter: bool = EGERIA_JUPYTER,
53
+ width: int = EGERIA_WIDTH,
54
+ ) -> Table:
55
+ p_client = EgeriaTech(server, url, user_id=username, user_pwd=user_pass)
56
+ token = p_client.create_egeria_bearer_token(username, user_pass)
57
+
58
+ def generate_table(type_name: str) -> Table:
59
+ """Make a new table."""
60
+ table = Table(
61
+ title=f"Available Governance Action Processes @ {time.asctime()}",
62
+ style="bold white on black",
63
+ row_styles=["bold white on black"],
64
+ header_style="white on dark_blue",
65
+ title_style="bold white on black",
66
+ caption_style="white on black",
67
+ show_lines=True,
68
+ box=box.ROUNDED,
69
+ caption=f"list for Server '{server}' @ Platform - {url}",
70
+ expand=True,
71
+ )
72
+
73
+ table.add_column(
74
+ "Name",
75
+ no_wrap=True,
76
+ )
77
+ table.add_column("Qualified Name")
78
+ table.add_column(
79
+ "GUID",
80
+ no_wrap=True,
81
+ )
82
+ table.add_column("Description")
83
+
84
+ process_list = p_client.find_gov_action_processes(type_name)
85
+
86
+ if type(process_list) is str:
87
+ print("No Governance Processes found matching the type name\n")
88
+ sys.exit(1)
89
+
90
+ for proc in process_list:
91
+ guid = proc["elementHeader"]["guid"]
92
+ props = proc["processProperties"]
93
+ name = props[("displayName" "")]
94
+ qualified_name = props["qualifiedName"]
95
+ description = props.get("description", "---")
96
+
97
+ table.add_row(name, qualified_name, guid, description)
98
+
99
+ p_client.close_session()
100
+ return table
101
+
102
+ try:
103
+ console = Console(width=width, force_terminal=not jupyter, record=True)
104
+ with console.pager(styles=True):
105
+ console.print(generate_table(type_name))
106
+
107
+ except (
108
+ InvalidParameterException,
109
+ PropertyServerException,
110
+ UserNotAuthorizedException,
111
+ ValueError,
112
+ ) as e:
113
+ if type(e) is str:
114
+ print(e)
115
+ else:
116
+ print_exception_response(e)
117
+
118
+
119
+ def main():
120
+ parser = argparse.ArgumentParser()
121
+ parser.add_argument("--server", help="Name of the server to display status for")
122
+ parser.add_argument("--url", help="URL Platform to connect to")
123
+ parser.add_argument("--userid", help="User Id")
124
+ parser.add_argument("--password", help="User Password")
125
+ parser.add_argument("--save-output", help="Save output to file?")
126
+
127
+ args = parser.parse_args()
128
+
129
+ server = args.server if args.server is not None else EGERIA_VIEW_SERVER
130
+ url = args.url if args.url is not None else EGERIA_PLATFORM_URL
131
+ userid = args.userid if args.userid is not None else EGERIA_USER
132
+ user_pass = args.password if args.password is not None else EGERIA_USER_PASSWORD
133
+ type_name = Prompt.ask("Enter the Type Name to retrieve:", default="*")
134
+
135
+ display_gov_processes(type_name, server, url, userid, user_pass)
136
+
137
+
138
+ if __name__ == "__main__":
139
+ main()
pyegeria/__init__.py CHANGED
@@ -177,6 +177,97 @@ from .egeria_client import Egeria
177
177
  # INTEGRATION_GUIDS["OpenLineageFilePublisher"] = "6271b678-7d22-4cdf-87b1-45b366beaf4e"
178
178
  # INTEGRATION_GUIDS["ContentPacksCataloguer"] = "6bb2181e-7724-4515-ba3c-877cded55980"
179
179
  # INTEGRATION_GUIDS["OpenLineageCataloguer"] = "3347ac71-8dd2-403a-bc16-75a71be64bd7"
180
+ # global template_guids, integration_guids
181
+ # TEMPLATE_GUIDS["CSV Data File"] = "13770f93-13c8-42be-9bb8-e0b1b1e52b1f"
182
+ # TEMPLATE_GUIDS["File System Directory"] = "c353fd5d-9523-4a5e-a5e2-723ae490fe54"
183
+ # INTEGRATION_GUIDS["GeneralFilesMonitor"] = "1b98cdac-dd0a-4621-93db-99ef5a1098bc"
184
+ # INTEGRATION_GUIDS["OpenLineageFilePublisher"] = "6271b678-7d22-4cdf-87b1-45b366beaf4e"
185
+ # INTEGRATION_GUIDS["ContentPacksMonitor"] = "6bb2181e-7724-4515-ba3c-877cded55980"
186
+ # INTEGRATION_GUIDS["SampleDataFilesMonitor"] = "cd6479e1-2fe7-4426-b358-8a0cf70be117"
187
+ # TEMPLATE_GUIDS["Keystore File"] = "fbcfcc0c-1652-421f-b49b-c3e1c108768f"
188
+ # TEMPLATE_GUIDS["Unity Catalog Server"] = "dcca9788-b30f-4007-b1ac-ec634aff6879"
189
+ # INTEGRATION_GUIDS["UnityCatalogInsideCatalog"] = "74dde22f-2249-4ea3-af2b-b39e73f79b81"
190
+ # INTEGRATION_GUIDS["UnityCatalogServer"] = "06d068d9-9e08-4e67-8c59-073bbf1013af"
191
+ # INTEGRATION_GUIDS["JDBC"] = "70dcd0b7-9f06-48ad-ad44-ae4d7a7762aa"
192
+ # TEMPLATE_GUIDS["Data File"] = "66d8dda9-00cf-4e59-938c-4b0583596b1e"
193
+ # TEMPLATE_GUIDS["View Server"] = "fd61ca01-390d-4aa2-a55d-426826aa4e1b"
194
+ # TEMPLATE_GUIDS["Archive File"] = "7578e504-d00f-406d-a194-3fc0a351cdf9"
195
+ # TEMPLATE_GUIDS["Unity Catalog Catalog"] = "5ee006aa-a6d6-411b-9b8d-5f720c079cae"
196
+ # TEMPLATE_GUIDS[
197
+ # "PostgreSQL Relational Database"
198
+ # ] = "3d398b3f-7ae6-4713-952a-409f3dea8520"
199
+ # INTEGRATION_GUIDS["PostgreSQLDatabase"] = "ef301220-7dfe-4c6c-bb9d-8f92d9f63823"
200
+ # TEMPLATE_GUIDS["Program File"] = "32d27e9c-1fdf-455a-ad2a-42b4d7d99108"
201
+ # TEMPLATE_GUIDS["JDBC Endpoint"] = "3d79ce50-1887-4627-ad71-ba4649aba2bc"
202
+ # TEMPLATE_GUIDS["PostgreSQL Server"] = "542134e6-b9ce-4dce-8aef-22e8daf34fdb"
203
+ # INTEGRATION_GUIDS["PostgreSQLServer"] = "36f69fd0-54ba-4f59-8a44-11ccf2687a34"
204
+ # TEMPLATE_GUIDS["Audio Data File"] = "39b4b670-7f15-4744-a5ba-62e8edafbcee"
205
+ # TEMPLATE_GUIDS["Document File"] = "eb6f728d-fa54-4350-9807-1199cbf96851"
206
+ # TEMPLATE_GUIDS["Integration Daemon"] = "6b3516f0-dd13-4786-9601-07215f995197"
207
+ # TEMPLATE_GUIDS["XML Data File"] = "ea67ae71-c674-473e-b38b-689879d2a7d9"
208
+ # TEMPLATE_GUIDS["REST API Endpoint"] = "9ea4bff4-d193-492f-bcad-6e68c07c6f9e"
209
+ # TEMPLATE_GUIDS["Unity Catalog Schema"] = "5bf92b0f-3970-41ea-b0a3-aacfbf6fd92e"
210
+ # TEMPLATE_GUIDS["Parquet Data File"] = "7f6cd744-79c3-4d25-a056-eeb1a91574c3"
211
+ # TEMPLATE_GUIDS["3D Image Data File"] = "0059ea2b-6292-4cac-aa6f-a80a605f1114"
212
+ # TEMPLATE_GUIDS["YAML File"] = "2221855b-2b64-4b45-a2ee-c40adc5e2a64"
213
+ # TEMPLATE_GUIDS["Metadata Access Server"] = "bd8de890-fa79-4c24-aab8-20b41b5893dd"
214
+ # TEMPLATE_GUIDS["Properties File"] = "3b281111-a0ef-4fc4-99e7-9a0ef84a7636"
215
+ # TEMPLATE_GUIDS["Vector Data File"] = "db1bec7f-55a9-40d3-91c0-a57b76d422e2"
216
+ # TEMPLATE_GUIDS["Executable File"] = "3d99a163-7a13-4576-a212-784010a8302a"
217
+ # INTEGRATION_GUIDS["OpenLineageAPIPublisher"] = "2156bc98-973a-4859-908d-4ccc96f53cc5"
218
+ # TEMPLATE_GUIDS["Unity Catalog Table"] = "6cc1e5f5-4c1e-4290-a80e-e06643ffb13d"
219
+ # TEMPLATE_GUIDS["JSON Data File"] = "c4836635-7e9e-446a-83b5-15e206b1aff3"
220
+ # TEMPLATE_GUIDS["File System"] = "522f228c-097c-4f90-9efc-26c1f2696f87"
221
+ # TEMPLATE_GUIDS["Source Code File"] = "9c7013ef-f29b-4b01-a8ea-5ea14f64c67a"
222
+ # TEMPLATE_GUIDS["Apple MacBook Pro"] = "32a9fd56-85c9-47fe-a211-9da3871bf4da"
223
+ # TEMPLATE_GUIDS["Build Instruction File"] = "fbb2fa2e-8bcb-402e-9be7-5c6db9f2c504"
224
+ # TEMPLATE_GUIDS["Spreadsheet Data File"] = "e4fabff5-2ba9-4050-9076-6ed917970b4c"
225
+ # TEMPLATE_GUIDS["UNIX File System"] = "27117270-8667-41d0-a99a-9118f9b60199"
226
+ # TEMPLATE_GUIDS["Video Data File"] = "93b2b722-ec0f-4da4-960a-b8d4922f8bf5"
227
+ # TEMPLATE_GUIDS["Unity Catalog Function"] = "a490ba65-6104-4213-9be9-524e16fed8aa"
228
+ # TEMPLATE_GUIDS[
229
+ # "PostgreSQL Relational Database Schema"
230
+ # ] = "82a5417c-d882-4271-8444-4c6a996a8bfc"
231
+ # TEMPLATE_GUIDS["Engine Host"] = "1764a891-4234-45f1-8cc3-536af40c790d"
232
+ # TEMPLATE_GUIDS["Avro Data File"] = "9f5be428-058e-41dd-b506-3a222283b579"
233
+ # TEMPLATE_GUIDS["Unity Catalog Volume"] = "92d2d2dc-0798-41f0-9512-b10548d312b7"
234
+ # TEMPLATE_GUIDS["File"] = "ae3067c7-cc72-4a18-88e1-746803c2c86f"
235
+ # TEMPLATE_GUIDS["Apache Kafka Topic"] = "ea8f81c9-c59c-47de-9525-7cc59d1251e5"
236
+ # INTEGRATION_GUIDS["OpenLineageKafkaListener"] = "980b989c-de78-4e6a-a58d-51049d7381bf"
237
+ # TEMPLATE_GUIDS["Script File"] = "dbd5e6bb-1ff8-46f4-a007-fb0485f68c92"
238
+ # TEMPLATE_GUIDS["Raster Data File"] = "47211156-f03f-4881-8526-015e695a3dac"
239
+ # TEMPLATE_GUIDS["Data Folder"] = "372a0379-7060-4c9d-8d84-bc709b31794c"
240
+ # INTEGRATION_GUIDS[
241
+ # "MaintainDataFolderLastUpdateDate"
242
+ # ] = "fd26f07c-ae44-4bc5-b457-37b43112224f"
243
+ # INTEGRATION_GUIDS["OpenLineageFilePublisher"] = "6271b678-7d22-4cdf-87b1-45b366beaf4e"
244
+ # TEMPLATE_GUIDS["OMAG Server Platform"] = "9b06c4dc-ddc8-47ae-b56b-28775d3a96f0"
245
+ # INTEGRATION_GUIDS["OMAGServerPlatform"] = "dee84e6e-7a96-4975-86c1-152fb3ab759b"
246
+ # INTEGRATION_GUIDS["PostgreSQLServerCataloguer"] = "36f69fd0-54ba-4f59-8a44-11ccf2687a34"
247
+ # INTEGRATION_GUIDS[
248
+ # "UnityCatalogInsideCatalogSynchronizer"
249
+ # ] = "74dde22f-2249-4ea3-af2b-b39e73f79b81"
250
+ # INTEGRATION_GUIDS["OpenLineageAPIPublisher"] = "2156bc98-973a-4859-908d-4ccc96f53cc5"
251
+ # INTEGRATION_GUIDS[
252
+ # "PostgreSQLDatabaseCataloguer"
253
+ # ] = "ef301220-7dfe-4c6c-bb9d-8f92d9f63823"
254
+ # INTEGRATION_GUIDS["JDBCDatabaseCataloguer"] = "70dcd0b7-9f06-48ad-ad44-ae4d7a7762aa"
255
+ # INTEGRATION_GUIDS["FilesCataloguer"] = "1b98cdac-dd0a-4621-93db-99ef5a1098bc"
256
+ # INTEGRATION_GUIDS["SampleDataCataloguer"] = "cd6479e1-2fe7-4426-b358-8a0cf70be117"
257
+ # INTEGRATION_GUIDS[
258
+ # "OpenLineageGovernanceActionPublisher"
259
+ # ] = "206f8faf-04da-4b6f-8280-eeee3943afeb"
260
+ # INTEGRATION_GUIDS[
261
+ # "OMAGServerPlatformCataloguer"
262
+ # ] = "dee84e6e-7a96-4975-86c1-152fb3ab759b"
263
+ # INTEGRATION_GUIDS[
264
+ # "UnityCatalogServerSynchronizer"
265
+ # ] = "06d068d9-9e08-4e67-8c59-073bbf1013af"
266
+ # INTEGRATION_GUIDS["MaintainLastUpdateDate"] = "fd26f07c-ae44-4bc5-b457-37b43112224f"
267
+ # INTEGRATION_GUIDS["OpenLineageKafkaListener"] = "980b989c-de78-4e6a-a58d-51049d7381bf"
268
+ # INTEGRATION_GUIDS["OpenLineageFilePublisher"] = "6271b678-7d22-4cdf-87b1-45b366beaf4e"
269
+ # INTEGRATION_GUIDS["ContentPacksCataloguer"] = "6bb2181e-7724-4515-ba3c-877cded55980"
270
+ # INTEGRATION_GUIDS["OpenLineageCataloguer"] = "3347ac71-8dd2-403a-bc16-75a71be64bd7"
180
271
  global template_guids, integration_guids
181
272
  TEMPLATE_GUIDS["CSV Data File"] = "13770f93-13c8-42be-9bb8-e0b1b1e52b1f"
182
273
  TEMPLATE_GUIDS["File System Directory"] = "c353fd5d-9523-4a5e-a5e2-723ae490fe54"
@@ -213,6 +304,9 @@ TEMPLATE_GUIDS["YAML File"] = "2221855b-2b64-4b45-a2ee-c40adc5e2a64"
213
304
  TEMPLATE_GUIDS["Metadata Access Server"] = "bd8de890-fa79-4c24-aab8-20b41b5893dd"
214
305
  TEMPLATE_GUIDS["Properties File"] = "3b281111-a0ef-4fc4-99e7-9a0ef84a7636"
215
306
  TEMPLATE_GUIDS["Vector Data File"] = "db1bec7f-55a9-40d3-91c0-a57b76d422e2"
307
+ TEMPLATE_GUIDS[
308
+ "Databricks Unity Catalog Server"
309
+ ] = "3f7f62f6-4abc-424e-9f92-523306e7d5d5"
216
310
  TEMPLATE_GUIDS["Executable File"] = "3d99a163-7a13-4576-a212-784010a8302a"
217
311
  INTEGRATION_GUIDS["OpenLineageAPIPublisher"] = "2156bc98-973a-4859-908d-4ccc96f53cc5"
218
312
  TEMPLATE_GUIDS["Unity Catalog Table"] = "6cc1e5f5-4c1e-4290-a80e-e06643ffb13d"
@@ -243,11 +337,11 @@ INTEGRATION_GUIDS[
243
337
  INTEGRATION_GUIDS["OpenLineageFilePublisher"] = "6271b678-7d22-4cdf-87b1-45b366beaf4e"
244
338
  TEMPLATE_GUIDS["OMAG Server Platform"] = "9b06c4dc-ddc8-47ae-b56b-28775d3a96f0"
245
339
  INTEGRATION_GUIDS["OMAGServerPlatform"] = "dee84e6e-7a96-4975-86c1-152fb3ab759b"
246
- INTEGRATION_GUIDS["PostgreSQLServerCataloguer"] = "36f69fd0-54ba-4f59-8a44-11ccf2687a34"
340
+ INTEGRATION_GUIDS["OpenLineageAPIPublisher"] = "2156bc98-973a-4859-908d-4ccc96f53cc5"
247
341
  INTEGRATION_GUIDS[
248
342
  "UnityCatalogInsideCatalogSynchronizer"
249
343
  ] = "74dde22f-2249-4ea3-af2b-b39e73f79b81"
250
- INTEGRATION_GUIDS["OpenLineageAPIPublisher"] = "2156bc98-973a-4859-908d-4ccc96f53cc5"
344
+ INTEGRATION_GUIDS["PostgreSQLServerCataloguer"] = "36f69fd0-54ba-4f59-8a44-11ccf2687a34"
251
345
  INTEGRATION_GUIDS[
252
346
  "PostgreSQLDatabaseCataloguer"
253
347
  ] = "ef301220-7dfe-4c6c-bb9d-8f92d9f63823"
@@ -269,5 +363,6 @@ INTEGRATION_GUIDS["OpenLineageFilePublisher"] = "6271b678-7d22-4cdf-87b1-45b366b
269
363
  INTEGRATION_GUIDS["ContentPacksCataloguer"] = "6bb2181e-7724-4515-ba3c-877cded55980"
270
364
  INTEGRATION_GUIDS["OpenLineageCataloguer"] = "3347ac71-8dd2-403a-bc16-75a71be64bd7"
271
365
 
366
+
272
367
  if __name__ == "__main__":
273
368
  print("Main-Init")
@@ -332,6 +332,105 @@ class AutomatedCuration(Client):
332
332
  )
333
333
  return response
334
334
 
335
+ async def _async_create_postgres_database_element_from_template(
336
+ self,
337
+ postgres_database: str,
338
+ server_name: str,
339
+ host_identifier: str,
340
+ port: str,
341
+ db_user: str,
342
+ db_pwd: str,
343
+ description: str = None,
344
+ ) -> str:
345
+ """Create a Postgres database element from a template. Async version.
346
+
347
+ Parameters
348
+ ----------
349
+ postgres_database : str
350
+ The name of the Postgres database.
351
+ server_name : str
352
+ The server name of the Postgres server.
353
+ host_identifier: str
354
+ The host IP address or domain name.
355
+ port : str
356
+ The port number of the Postgres server.
357
+ db_user: str
358
+ User name to connect to the database
359
+ db_pwd: str
360
+ User password to connect to the database
361
+ description: str, opt
362
+ A description of the element.
363
+
364
+ Returns
365
+ -------
366
+ str
367
+ The GUID of the Postgres database element.
368
+ """
369
+ body = {
370
+ "templateGUID": TEMPLATE_GUIDS["PostgreSQL Relational Database"],
371
+ "isOwnAnchor": "true",
372
+ "placeholderPropertyValues": {
373
+ "databaseName": postgres_database,
374
+ "serverName": server_name,
375
+ "hostIdentifier": host_identifier,
376
+ "portNumber": port,
377
+ "databaseUserId": db_user,
378
+ "description": description,
379
+ "databasePassword": db_pwd,
380
+ },
381
+ }
382
+ body_s = body_slimmer(body)
383
+ response = await self._async_create_element_from_template(body_s)
384
+ return str(response)
385
+
386
+ def create_postgres_database_element_from_template(
387
+ self,
388
+ postgres_database: str,
389
+ server_name: str,
390
+ host_identifier: str,
391
+ port: str,
392
+ db_user: str,
393
+ db_pwd: str,
394
+ description: str = None,
395
+ ) -> str:
396
+ """Create a Postgres database element from a template. Async version.
397
+
398
+ Parameters
399
+ ----------
400
+ postgres_database : str
401
+ The name of the Postgres database.
402
+ server_name : str
403
+ The server name of the Postgres server.
404
+ host_identifier: str
405
+ The host IP address or domain name.
406
+ port : str
407
+ The port number of the Postgres server.
408
+ db_user: str
409
+ User name to connect to the database
410
+ db_pwd: str
411
+ User password to connect to the database
412
+ description: str, opt
413
+ A description of the element.
414
+
415
+ Returns
416
+ -------
417
+ str
418
+ The GUID of the Postgres database element.
419
+ """
420
+ loop = asyncio.get_event_loop()
421
+ response = loop.run_until_complete(
422
+ self._async_create_postgres_database_element_from_template(
423
+ postgres_database,
424
+ server_name,
425
+ host_identifier,
426
+ port,
427
+ db_user,
428
+ db_pwd,
429
+ description,
430
+ )
431
+ )
432
+ return response
433
+
335
434
  async def _async_create_folder_element_from_template(
336
435
  self,
337
436
  path_name: str,
@@ -2340,11 +2439,11 @@ class AutomatedCuration(Client):
2340
2439
 
2341
2440
  body = {
2342
2441
  "class": "InitiateGovernanceActionTypeRequestBody",
2343
- "governanceActionTypeQualifiedName": "survey-postgres-database",
2442
+ "governanceActionTypeQualifiedName": "AssetSurvey:survey-postgres-database",
2344
2443
  "actionTargets": [
2345
2444
  {
2346
2445
  "class": "NewActionTarget",
2347
- "actionTargetName": "serverToSurvey",
2446
+ "actionTargetName": "postgresDatabase",
2348
2447
  "actionTargetGUID": postgres_database_guid,
2349
2448
  }
2350
2449
  ],
@@ -2369,7 +2468,7 @@ class AutomatedCuration(Client):
2369
2468
 
2370
2469
  body = {
2371
2470
  "class": "InitiateGovernanceActionTypeRequestBody",
2372
- "governanceActionTypeQualifiedName": "AssetSurvey:survey-postgres-server",
2471
+ "governanceActionTypeQualifiedName": "survey-postgres-server",
2373
2472
  "actionTargets": [
2374
2473
  {
2375
2474
  "class": "NewActionTarget",
@@ -442,10 +442,8 @@ class ClassificationManager(Client):
442
442
  "POST", url, body_slimmer(body), time_out=time_out
443
443
  )
444
444
 
445
- elements = response.json().get("elements", "No elements found")
446
- if type(elements) is list:
447
- if len(elements) == 0:
448
- return "No elements found"
445
+ elements = response.json().get("element", "No elements found")
446
+
449
447
  return elements
450
448
 
451
449
  def get_element_by_guid(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyegeria
3
- Version: 1.5.1.0.2
3
+ Version: 1.5.1.0.4
4
4
  Summary: A python client for Egeria
5
5
  Home-page: https://github.com/odpi/egeria-python
6
6
  License: Apache 2.0
@@ -9,7 +9,8 @@ commands/cat/get_tech_type_template.py,sha256=gMFVcgCIm09GQu1Vsc5ZUVH9XLhItAG1eV
9
9
  commands/cat/list_archives.py,sha256=83LhNeZWhzRiE-oU6veuIk9ob4XDtDWUoXdGGXaYeE8,5454
10
10
  commands/cat/list_assets.py,sha256=bNwSaBDz661hfnc2Rn4j4HPHAugKvz0XwN9L1m4FVQk,6529
11
11
  commands/cat/list_cert_types.py,sha256=mbCls_EqC5JKG5rvS4o69k7KgZ6aNXlcqoJ3DtHsTFA,7127
12
- commands/cat/list_deployed_database_schemas.py,sha256=5EYNOQgODr13sUJjvh-NESMOOlEWf8-86MXJf0KGkjI,7034
12
+ commands/cat/list_deployed_catalogs.py,sha256=yBdLRSJRKlS4R2ALbSnMCvCDz-gLOi9T5cNt9EYBIcI,6822
13
+ commands/cat/list_deployed_database_schemas.py,sha256=LaO61c2pEJBpDyisypSRgRzVQxQZUfogU2Yywg4DrIs,8276
13
14
  commands/cat/list_deployed_databases.py,sha256=O0-1__4w17vGvERxDO5DMI4u-PW_30iH0A2nrUejaus,6604
14
15
  commands/cat/list_glossary.py,sha256=tUtQQoTGTlDLU-yFbfO3zjiJC9QyEJfg8NxnGCo2mnI,5811
15
16
  commands/cat/list_projects.py,sha256=Jzs-DtIpPhCH-gY4PYT6mnRBWnEf4m18TFfcw8UymNU,8011
@@ -18,11 +19,11 @@ commands/cat/list_tech_types.py,sha256=20T4v6L5qeebSsaL1nGkFMDAIsy2W3A3SMm1RcgFo
18
19
  commands/cat/list_todos.py,sha256=iPxHRyW3X5tiREio4TUOwRPvNPjU0gxm3pVnUI79ir4,6542
19
20
  commands/cat/list_user_ids.py,sha256=7JinL7rknPbGusIb8ikXKEaV1vvbuvx_WWtbmlfS_DY,5093
20
21
  commands/cli/__init__.py,sha256=hpTVSMP2gnPRhcAZPdeUEsQ-eaDySlXlk239dNWYmng,292
21
- commands/cli/egeria.py,sha256=o5PWNgho2cYCVR3oH1pBH2aLawgj7Kf803uuCWLMzxw,28908
22
- commands/cli/egeria_cat.py,sha256=LWspOYRcdJIIx2n9wvhBhkNnACGDIpFTWfsoVTGeiV0,12957
22
+ commands/cli/egeria.py,sha256=DpbQVtVmRjVTwIMC9qJNgk2VolEyhg4chix5JjPcXP0,30475
23
+ commands/cli/egeria_cat.py,sha256=V_wkdV0wxMmdTV-tUUWC7bdT8wfI3t1IyH8IiEz62P4,14023
23
24
  commands/cli/egeria_my.py,sha256=9zIpUDLeA_R-0rgCSQfEZTtVmkxPcEAsYcCTn1wQFrE,6181
24
25
  commands/cli/egeria_ops.py,sha256=fxDXYWXRhexx06PdSLCp2FhgUtS13NdDpyg7ea775fc,11531
25
- commands/cli/egeria_tech.py,sha256=FVp7BjU706uj-lJTyTYu4zBOCdoMduU1xZpZoocFyPc,12660
26
+ commands/cli/egeria_tech.py,sha256=eTDHTHDVEYmr6gUPGfido_Uf7Fec0Nuyxlkhg4KAMAw,13160
26
27
  commands/cli/ops_config.py,sha256=m4AfPjf-fR4EBTx8Dc2mcgrfWwAxb30YGeV-v79bg4U,1450
27
28
  commands/my/README.md,sha256=ZheFhj_VoPMhcWjW3pGchHB0vH_A9PklSmrSkzKdrcQ,844
28
29
  commands/my/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -34,7 +35,7 @@ commands/my/todo_actions.py,sha256=uihltirrAPtwYNygnNBAVWgfS0W7acoETz1_h3XW_4o,8
34
35
  commands/ops/README.md,sha256=PJsSDcvMv6E6og6y-cwvxFX5lhCII0UCwgKiM1T17MQ,1595
35
36
  commands/ops/__init__.py,sha256=SCfzF3-aMx8EpqLWmH7JQf13gTmMAtHRbg69oseLvi8,480
36
37
  commands/ops/engine_actions.py,sha256=00s_wkzs0zlZ6PyZ0J5J9lHhw4Viyzbeox7b1K1lmyc,4609
37
- commands/ops/gov_server_actions.py,sha256=xF0QWSP7JtxpcA-L8DfbVjtgHgqBocgBN5qIE5Rmm9A,5631
38
+ commands/ops/gov_server_actions.py,sha256=dKYdb2ImwohPjrGE9ufkIhXURhY9V9FnzUh84ycQhTg,5515
38
39
  commands/ops/list_catalog_targets.py,sha256=0FIZqZu7DSh7tnrme6EOhNiVvK8wyvN1iTZKEDuwTmw,6620
39
40
  commands/ops/load_archive.py,sha256=ZsJmQ-2cywsiO5RYHQXFF72wrlBK18jvAkyQ8N-nSp4,2744
40
41
  commands/ops/monitor_asset_events.py,sha256=cjdlVqE0XYnoRW3aorNbsVkjByDXefPBnllaZLelGls,3838
@@ -47,8 +48,8 @@ commands/ops/monitor_server_startup.py,sha256=0pwnhv761uuFHGJXVANa5RhQQPPTXFldJ4
47
48
  commands/ops/monitor_server_status.py,sha256=eeZY4o_HwrH-csrhHPi95LLGu00j6AYl48A7fDYTG34,6061
48
49
  commands/ops/orig_monitor_server_list.py,sha256=Uhtn8lv7QVXJBi9DSR3Nelmz8TB0vOsat10nFS6Nu20,4637
49
50
  commands/ops/orig_monitor_server_status.py,sha256=A-8hMDfbscdcq-b1OD4wKn0tphumX8WIK-Hz8uPoFkc,3974
50
- commands/ops/refresh_integration_daemon.py,sha256=9dZX-AHJ7yILohj005TRIC9tC349RRwwxRmqVLD2ZTE,2991
51
- commands/ops/restart_integration_daemon.py,sha256=PN48zVDywjNJznmpVWEcBXBD3xhWDw1dMyKLIs9nWzU,2992
51
+ commands/ops/refresh_integration_daemon.py,sha256=aEaN3RAqlu2Fu9TgbJqnsfyXZ__WBml2EgRKaC48Pig,2961
52
+ commands/ops/restart_integration_daemon.py,sha256=dqsQ6nOBw-EJgf7NvwTcR__h317dq_cxUWYRTGxvWaM,2901
52
53
  commands/tech/README.md,sha256=nxDnfr3BCiGgW5G1VxWxiwUWJXIe5wreNuUeRyIt_hY,1343
53
54
  commands/tech/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
54
55
  commands/tech/get_element_graph.py,sha256=YhpvHPNuSd-Ft-dBRLswGfqGYv2AlByyV0IyjhV4SSk,7367
@@ -59,6 +60,7 @@ commands/tech/list_asset_types.py,sha256=LG7e8yjewQ_SX8SjzEiEii_-hDvmAJKyLN8iDjb
59
60
  commands/tech/list_elements.py,sha256=vO4SPEhcKm0L5rHVr6r8KYX3sPazGJ78oWsO2wLcf2o,5998
60
61
  commands/tech/list_elements_for_classification.py,sha256=oAge8RFz4z9H-jCE0fBDhS4AbIHqhQWBvZ4Dp7BZbfM,6194
61
62
  commands/tech/list_elements_x.py,sha256=k5jkekB7wh6cbzjn7FnwL7pKrPFq_oE-x36c_Z1FuSo,6500
63
+ commands/tech/list_gov_action_processes.py,sha256=AeS4E-DWrS2etsM6nuYD1En1J-7KeB_ZjyLTO9sy6KU,4580
62
64
  commands/tech/list_registered_services.py,sha256=QzE_ebdopNkHWMxa-xc902GG6ac4Yw-ln8i8NUsgHVA,6542
63
65
  commands/tech/list_related_elements.py,sha256=I1vzNKQfD8Nrwa8JHf4yvWBawKN_vR0AjN0xL_5kWGg,7716
64
66
  commands/tech/list_related_specification.py,sha256=mWrKenXOskL4cl0DHjH2Z8M9-FJzjkzK62W-tsx3WDU,5918
@@ -67,15 +69,15 @@ commands/tech/list_tech_templates.py,sha256=RiyA8a4fIL9BGeGf37Bkk471mK5ECkDJMN9Q
67
69
  commands/tech/list_valid_metadata_values.py,sha256=N3D0_BmREPszgde3uvvYdfzq7DJ46uMOv2t1vtncGsw,6333
68
70
  commands/tech/x_list_related_elements.py,sha256=qBsf1619cecaMCTzG0MG22fAT32WNH2Z3CXrjo9z-5Y,5853
69
71
  pyegeria/README.md,sha256=PwX5OC7-YSZUCIsoyHh1O-WBM2hE84sm3Bd4O353NOk,1464
70
- pyegeria/__init__.py,sha256=bRpRh7Bm01yIlv9mt_WqFNScXENADIbHhJSMBYVbb2E,15598
72
+ pyegeria/__init__.py,sha256=mZOa16y_LUUZevlHVQY-X_q0ZE2mEcgAE-eoe16DLls,21893
71
73
  pyegeria/_client.py,sha256=pzndEJKN0tcnT7gQFa0r3pzXm9pK4zJKANZOXO79aOs,25949
72
74
  pyegeria/_deprecated_gov_engine.py,sha256=dWNcwVsE5__dF2u4QiIyQrssozzzOjBbLld8MdpmVCQ,17264
73
75
  pyegeria/_exceptions.py,sha256=NJ7vAhmvusK1ENvY2MMrBB6A6TgpYjzS9QJxFH56b8c,18470
74
76
  pyegeria/_globals.py,sha256=1Uc8392wjbiVN5L__RzxC1-U97RMXj77_iUsMSgeAjQ,638
75
77
  pyegeria/_validators.py,sha256=rnZelHJnjHaLZ8UhUTDyB59MfIUJifhALtkYoHBaos4,12736
76
78
  pyegeria/asset_catalog_omvs.py,sha256=fffZsSukOrG-xszD6uEPf2IX4p0IK63T0_w7_6BpG1Q,21075
77
- pyegeria/automated_curation_omvs.py,sha256=Qt1qEsi9_UwS5ukpRhbnPiVwRqmrIVITbD-SBgOiw98,133227
78
- pyegeria/classification_manager_omvs.py,sha256=puJK1gOaD629_v1YI2lQgQoXjaLsm0JyYDKqUyL67zE,180814
79
+ pyegeria/automated_curation_omvs.py,sha256=rvX4RRjvNxlUGVXzNmgEmifV7_UwbgTIJu__JYxORyg,136326
80
+ pyegeria/classification_manager_omvs.py,sha256=VEwvlaDQT12Dwq8Q4lMvYCWYeq0OsC2P0bfsHUdy0CA,180701
79
81
  pyegeria/collection_manager_omvs.py,sha256=kye2kjthNnmwxMZhHQKV0xoHbxcNPWjNzRAYOItj_gY,99201
80
82
  pyegeria/core_omag_server_config.py,sha256=EtHaPKyc9d6pwTgbnQqGwe5lSBMPIfJOlbJEa1zg1JA,94946
81
83
  pyegeria/create_tech_guid_lists.py,sha256=HHkC6HW58EN1BiolrYSRqSE0JhPbTepOFzwtdwBxVaU,4640
@@ -95,12 +97,11 @@ pyegeria/project_manager_omvs.py,sha256=Y7Lyqh4jIujJrr_Ub7feo904FN_uz4R10T4hKhqE
95
97
  pyegeria/registered_info.py,sha256=y0-LgDIQXpph0lEWxIOG3_HsqX_Z2iAIb3xu4Aa4B70,6344
96
98
  pyegeria/runtime_manager_omvs.py,sha256=qkMjb4Dp88-tqG47ldGR8oKGuNSIMrYiN43BCqAO4lE,74356
97
99
  pyegeria/server_operations.py,sha256=ciH890hYT85YQ6OpByn4w7s3a7TtvWZpIG5rkRqbcI0,16766
98
- pyegeria/tech_guids_26-09-2024 09:30.py,sha256=7CTmbbNQ7qfJtWNbBhSiS6yIhs17SmWxKh-JanmAOwk,5967
99
100
  pyegeria/utils.py,sha256=1h6bwveadd6GpbnGLTmqPBmBk68QvxdjGTI9RfbrgKY,5415
100
101
  pyegeria/valid_metadata_omvs.py,sha256=tfCGXed5LLt59YA8uZNNtd9UJ-lRZfPU_uZxK31Yux0,65069
101
102
  pyegeria/x_action_author_omvs.py,sha256=xu1IQ0YbhIKi17C5a7Aq9u1Az2czwahNPpX9czmyVxE,6454
102
- pyegeria-1.5.1.0.2.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
103
- pyegeria-1.5.1.0.2.dist-info/METADATA,sha256=lLEhPlzG0QJjitsoOjWNL9uboq017iKF2bPxOaANuhU,2997
104
- pyegeria-1.5.1.0.2.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
105
- pyegeria-1.5.1.0.2.dist-info/entry_points.txt,sha256=i2uZoFIFKkWCywUBpoiCA4L39qr0r3uvbGmwYzy1WnM,3617
106
- pyegeria-1.5.1.0.2.dist-info/RECORD,,
103
+ pyegeria-1.5.1.0.4.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
104
+ pyegeria-1.5.1.0.4.dist-info/METADATA,sha256=aHgZlal0-Qsob6AWvNPwQTyUo89V963lrvTaBvQw2w4,2997
105
+ pyegeria-1.5.1.0.4.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
106
+ pyegeria-1.5.1.0.4.dist-info/entry_points.txt,sha256=Mbd1WrK70MbB1XA_kVcKFVm9RNkn2H1c0xHzv78K2p4,3824
107
+ pyegeria-1.5.1.0.4.dist-info/RECORD,,
@@ -21,12 +21,15 @@ list_asset_types=commands.tech.list_asset_types:main
21
21
  list_assets=commands.cat.list_assets:main
22
22
  list_catalog_targets=commands.ops.list_catalog_targets:main
23
23
  list_cert_types=commands.cat.list_cert_types:main
24
+ list_deployed_catalogs=commands.cat.list_deployed_catalogs:main
25
+ list_deployed_schemas=commands.cat.list_deployed_database_schemas:main
24
26
  list_element_graph=commands.tech.get_element_graph:main
25
27
  list_elements=commands.tech.list_elements:main
26
- list_elements_by_classification=commands.tech.list_elements_for_classification:main
28
+ list_elements_for_classification=commands.tech.list_elements_for_classification:main
27
29
  list_engine_activity=commands.ops.monitor_engine_activity:main_paging
28
30
  list_engine_activity_compressed=commands.ops.monitor_engine_activity_c:main_paging
29
31
  list_glossary=commands.cat.list_glossary:main
32
+ list_gov_action_processes=commands.tech.list_gov_action_processes:main
30
33
  list_gov_eng_status=commands.ops.monitor_gov_eng_status:main_paging
31
34
  list_integ_daemon_status=commands.ops.monitor_integ_daemon_status:main_paging
32
35
  list_my_profile=commands.my.list_my_profile:main
@@ -1,75 +0,0 @@
1
- global template_guids, integration_guids
2
- TEMPLATE_GUIDS['CSV Data File'] = '13770f93-13c8-42be-9bb8-e0b1b1e52b1f'
3
- TEMPLATE_GUIDS['File System Directory'] = 'c353fd5d-9523-4a5e-a5e2-723ae490fe54'
4
- INTEGRATION_GUIDS['GeneralFilesMonitor'] = '1b98cdac-dd0a-4621-93db-99ef5a1098bc'
5
- INTEGRATION_GUIDS['OpenLineageFilePublisher'] = '6271b678-7d22-4cdf-87b1-45b366beaf4e'
6
- INTEGRATION_GUIDS['ContentPacksMonitor'] = '6bb2181e-7724-4515-ba3c-877cded55980'
7
- INTEGRATION_GUIDS['SampleDataFilesMonitor'] = 'cd6479e1-2fe7-4426-b358-8a0cf70be117'
8
- TEMPLATE_GUIDS['Keystore File'] = 'fbcfcc0c-1652-421f-b49b-c3e1c108768f'
9
- TEMPLATE_GUIDS['Unity Catalog Server'] = 'dcca9788-b30f-4007-b1ac-ec634aff6879'
10
- INTEGRATION_GUIDS['UnityCatalogInsideCatalog'] = '74dde22f-2249-4ea3-af2b-b39e73f79b81'
11
- INTEGRATION_GUIDS['UnityCatalogServer'] = '06d068d9-9e08-4e67-8c59-073bbf1013af'
12
- INTEGRATION_GUIDS['JDBC'] = '70dcd0b7-9f06-48ad-ad44-ae4d7a7762aa'
13
- TEMPLATE_GUIDS['Data File'] = '66d8dda9-00cf-4e59-938c-4b0583596b1e'
14
- TEMPLATE_GUIDS['View Server'] = 'fd61ca01-390d-4aa2-a55d-426826aa4e1b'
15
- TEMPLATE_GUIDS['Archive File'] = '7578e504-d00f-406d-a194-3fc0a351cdf9'
16
- TEMPLATE_GUIDS['Unity Catalog Catalog'] = '5ee006aa-a6d6-411b-9b8d-5f720c079cae'
17
- TEMPLATE_GUIDS['PostgreSQL Relational Database'] = '3d398b3f-7ae6-4713-952a-409f3dea8520'
18
- INTEGRATION_GUIDS['PostgreSQLDatabase'] = 'ef301220-7dfe-4c6c-bb9d-8f92d9f63823'
19
- TEMPLATE_GUIDS['Program File'] = '32d27e9c-1fdf-455a-ad2a-42b4d7d99108'
20
- TEMPLATE_GUIDS['JDBC Endpoint'] = '3d79ce50-1887-4627-ad71-ba4649aba2bc'
21
- TEMPLATE_GUIDS['PostgreSQL Server'] = '542134e6-b9ce-4dce-8aef-22e8daf34fdb'
22
- INTEGRATION_GUIDS['PostgreSQLServer'] = '36f69fd0-54ba-4f59-8a44-11ccf2687a34'
23
- TEMPLATE_GUIDS['Audio Data File'] = '39b4b670-7f15-4744-a5ba-62e8edafbcee'
24
- TEMPLATE_GUIDS['Document File'] = 'eb6f728d-fa54-4350-9807-1199cbf96851'
25
- TEMPLATE_GUIDS['Integration Daemon'] = '6b3516f0-dd13-4786-9601-07215f995197'
26
- TEMPLATE_GUIDS['XML Data File'] = 'ea67ae71-c674-473e-b38b-689879d2a7d9'
27
- TEMPLATE_GUIDS['REST API Endpoint'] = '9ea4bff4-d193-492f-bcad-6e68c07c6f9e'
28
- TEMPLATE_GUIDS['Unity Catalog Schema'] = '5bf92b0f-3970-41ea-b0a3-aacfbf6fd92e'
29
- TEMPLATE_GUIDS['Parquet Data File'] = '7f6cd744-79c3-4d25-a056-eeb1a91574c3'
30
- TEMPLATE_GUIDS['3D Image Data File'] = '0059ea2b-6292-4cac-aa6f-a80a605f1114'
31
- TEMPLATE_GUIDS['YAML File'] = '2221855b-2b64-4b45-a2ee-c40adc5e2a64'
32
- TEMPLATE_GUIDS['Metadata Access Server'] = 'bd8de890-fa79-4c24-aab8-20b41b5893dd'
33
- TEMPLATE_GUIDS['Properties File'] = '3b281111-a0ef-4fc4-99e7-9a0ef84a7636'
34
- TEMPLATE_GUIDS['Vector Data File'] = 'db1bec7f-55a9-40d3-91c0-a57b76d422e2'
35
- TEMPLATE_GUIDS['Executable File'] = '3d99a163-7a13-4576-a212-784010a8302a'
36
- INTEGRATION_GUIDS['OpenLineageAPIPublisher'] = '2156bc98-973a-4859-908d-4ccc96f53cc5'
37
- TEMPLATE_GUIDS['Unity Catalog Table'] = '6cc1e5f5-4c1e-4290-a80e-e06643ffb13d'
38
- TEMPLATE_GUIDS['JSON Data File'] = 'c4836635-7e9e-446a-83b5-15e206b1aff3'
39
- TEMPLATE_GUIDS['File System'] = '522f228c-097c-4f90-9efc-26c1f2696f87'
40
- TEMPLATE_GUIDS['Source Code File'] = '9c7013ef-f29b-4b01-a8ea-5ea14f64c67a'
41
- TEMPLATE_GUIDS['Apple MacBook Pro'] = '32a9fd56-85c9-47fe-a211-9da3871bf4da'
42
- TEMPLATE_GUIDS['Build Instruction File'] = 'fbb2fa2e-8bcb-402e-9be7-5c6db9f2c504'
43
- TEMPLATE_GUIDS['Spreadsheet Data File'] = 'e4fabff5-2ba9-4050-9076-6ed917970b4c'
44
- TEMPLATE_GUIDS['UNIX File System'] = '27117270-8667-41d0-a99a-9118f9b60199'
45
- TEMPLATE_GUIDS['Video Data File'] = '93b2b722-ec0f-4da4-960a-b8d4922f8bf5'
46
- TEMPLATE_GUIDS['Unity Catalog Function'] = 'a490ba65-6104-4213-9be9-524e16fed8aa'
47
- TEMPLATE_GUIDS['PostgreSQL Relational Database Schema'] = '82a5417c-d882-4271-8444-4c6a996a8bfc'
48
- TEMPLATE_GUIDS['Engine Host'] = '1764a891-4234-45f1-8cc3-536af40c790d'
49
- TEMPLATE_GUIDS['Avro Data File'] = '9f5be428-058e-41dd-b506-3a222283b579'
50
- TEMPLATE_GUIDS['Unity Catalog Volume'] = '92d2d2dc-0798-41f0-9512-b10548d312b7'
51
- TEMPLATE_GUIDS['File'] = 'ae3067c7-cc72-4a18-88e1-746803c2c86f'
52
- TEMPLATE_GUIDS['Apache Kafka Topic'] = 'ea8f81c9-c59c-47de-9525-7cc59d1251e5'
53
- INTEGRATION_GUIDS['OpenLineageKafkaListener'] = '980b989c-de78-4e6a-a58d-51049d7381bf'
54
- TEMPLATE_GUIDS['Script File'] = 'dbd5e6bb-1ff8-46f4-a007-fb0485f68c92'
55
- TEMPLATE_GUIDS['Raster Data File'] = '47211156-f03f-4881-8526-015e695a3dac'
56
- TEMPLATE_GUIDS['Data Folder'] = '372a0379-7060-4c9d-8d84-bc709b31794c'
57
- INTEGRATION_GUIDS['MaintainDataFolderLastUpdateDate'] = 'fd26f07c-ae44-4bc5-b457-37b43112224f'
58
- INTEGRATION_GUIDS['OpenLineageFilePublisher'] = '6271b678-7d22-4cdf-87b1-45b366beaf4e'
59
- TEMPLATE_GUIDS['OMAG Server Platform'] = '9b06c4dc-ddc8-47ae-b56b-28775d3a96f0'
60
- INTEGRATION_GUIDS['OMAGServerPlatform'] = 'dee84e6e-7a96-4975-86c1-152fb3ab759b'
61
- INTEGRATION_GUIDS['PostgreSQLServerCataloguer'] = '36f69fd0-54ba-4f59-8a44-11ccf2687a34'
62
- INTEGRATION_GUIDS['UnityCatalogInsideCatalogSynchronizer'] = '74dde22f-2249-4ea3-af2b-b39e73f79b81'
63
- INTEGRATION_GUIDS['OpenLineageAPIPublisher'] = '2156bc98-973a-4859-908d-4ccc96f53cc5'
64
- INTEGRATION_GUIDS['PostgreSQLDatabaseCataloguer'] = 'ef301220-7dfe-4c6c-bb9d-8f92d9f63823'
65
- INTEGRATION_GUIDS['JDBCDatabaseCataloguer'] = '70dcd0b7-9f06-48ad-ad44-ae4d7a7762aa'
66
- INTEGRATION_GUIDS['FilesCataloguer'] = '1b98cdac-dd0a-4621-93db-99ef5a1098bc'
67
- INTEGRATION_GUIDS['SampleDataCataloguer'] = 'cd6479e1-2fe7-4426-b358-8a0cf70be117'
68
- INTEGRATION_GUIDS['OpenLineageGovernanceActionPublisher'] = '206f8faf-04da-4b6f-8280-eeee3943afeb'
69
- INTEGRATION_GUIDS['OMAGServerPlatformCataloguer'] = 'dee84e6e-7a96-4975-86c1-152fb3ab759b'
70
- INTEGRATION_GUIDS['UnityCatalogServerSynchronizer'] = '06d068d9-9e08-4e67-8c59-073bbf1013af'
71
- INTEGRATION_GUIDS['MaintainLastUpdateDate'] = 'fd26f07c-ae44-4bc5-b457-37b43112224f'
72
- INTEGRATION_GUIDS['OpenLineageKafkaListener'] = '980b989c-de78-4e6a-a58d-51049d7381bf'
73
- INTEGRATION_GUIDS['OpenLineageFilePublisher'] = '6271b678-7d22-4cdf-87b1-45b366beaf4e'
74
- INTEGRATION_GUIDS['ContentPacksCataloguer'] = '6bb2181e-7724-4515-ba3c-877cded55980'
75
- INTEGRATION_GUIDS['OpenLineageCataloguer'] = '3347ac71-8dd2-403a-bc16-75a71be64bd7'