pyegeria 0.5.8.27__py3-none-any.whl → 0.5.9.2__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.
@@ -91,7 +91,6 @@ def asset_viewer(asset_guid: str, server_name: str, platform_url: str, user: str
91
91
  return output
92
92
 
93
93
  try:
94
-
95
94
  a_client = AssetCatalog(server_name, platform_url,
96
95
  user_id=user)
97
96
 
@@ -112,20 +111,20 @@ def asset_viewer(asset_guid: str, server_name: str, platform_url: str, user: str
112
111
 
113
112
  # print(f"\n{json.dumps(asset_graph, indent =2)}\n")
114
113
 
115
- asset_name = asset_graph["displayName"]
116
- qualified_name = asset_graph["qualifiedName"]
117
- resource_name = asset_graph["resourceName"]
114
+ asset_name = asset_graph["properties"].get("displayName",'---')
115
+ qualified_name = asset_graph["properties"]["qualifiedName"]
116
+ resource_name = asset_graph['properties'].get("resourceName","---")
118
117
 
119
118
  tree = Tree(f"{asset_name} ({asset_guid})", style="bold bright_white on black", guide_style="bold bright_blue")
120
119
  style = ""
121
-
122
- asset_type = asset_graph["type"]["typeName"]
120
+ asset_elements = asset_graph['elementHeader']
121
+ asset_type = asset_elements["type"]["typeName"]
123
122
  asset_deployed_imp_type = asset_graph.get("deployedImplementationType", "---")
124
123
 
125
- asset_origin = asset_graph["origin"]["homeMetadataCollectionName"]
126
- asset_creation = asset_graph["versions"]["createTime"]
127
- asset_created_by = asset_graph["versions"]["createdBy"]
128
- asset_classifications = asset_graph["classifications"]
124
+ asset_origin = asset_elements["origin"]["homeMetadataCollectionName"]
125
+ asset_creation = asset_elements["versions"]["createTime"]
126
+ asset_created_by = asset_elements["versions"]["createdBy"]
127
+ asset_classifications = asset_elements["classifications"]
129
128
  asset_nested_elements = asset_graph.get("anchoredElements", "----")
130
129
  asset_relationships = asset_graph["relationships"]
131
130
  asset_class_md = build_classifications(asset_classifications)
@@ -80,18 +80,21 @@ def display_assets(search_string: str, server: str, url: str, username: str, use
80
80
  return table
81
81
 
82
82
  for element in assets:
83
- display_name = element.get("resourceName",'---')
84
- # qualified_name = element["qualifiedName"] # we decided that qualified name wasn't useful
85
- type_name = element["type"]["typeName"]
86
- tech_type = element.get("deployedImplementationType",'---')
87
- guid = element["guid"]
83
+ properties = element['properties']
84
+ header = element['elementHeader']
85
+ nested = element.get('matchingElements','---')
86
+
87
+ display_name = properties.get("displayName",'---')
88
+ # qualified_name = properties["qualifiedName"] # we decided that qualified name wasn't useful
89
+ type_name = header["type"]["typeName"]
90
+ tech_type = properties.get("deployedImplementationType",'---')
91
+ guid = header["guid"]
88
92
  #### We decided that path wasn't useful
89
93
  # path_name = element.get("extendedProperties", None)
90
94
  # if path_name:
91
95
  # path = path_name.get("pathName"," ")
92
96
  # else:
93
97
  # path = " "
94
- matches = element['matchingElements']
95
98
  match_md = ""
96
99
 
97
100
  match_tab = Table(expand=True)
@@ -99,7 +102,7 @@ def display_assets(search_string: str, server: str, url: str, username: str, use
99
102
  match_tab.add_column("GUID", no_wrap=True, width=36)
100
103
  match_tab.add_column("Properties")
101
104
 
102
- for match in matches:
105
+ for match in nested:
103
106
  match_type_name = match['type']['typeName']
104
107
  matching_guid = match['guid']
105
108
  match_props = match['properties']
@@ -17,6 +17,7 @@ from examples.widgets.cli.ops_config import Config
17
17
  from examples.widgets.personal.monitor_open_todos import display_todos
18
18
  from examples.widgets.personal.monitor_my_todos import display_my_todos
19
19
  from examples.widgets.personal.list_my_profile import display_my_profiles
20
+ from examples.widgets.personal.list_my_roles import display_my_roles
20
21
 
21
22
 
22
23
 
@@ -100,6 +101,18 @@ def show_my_profile(ctx):
100
101
  display_my_profiles( c.view_server, c.view_server_url,
101
102
  c.userid, c.password, c.jupyter, c.width)
102
103
 
104
+ @show.command('my-roles')
105
+ @click.pass_context
106
+ def show_my_roles(ctx):
107
+ """Display my profiles
108
+
109
+ Usage: show my-profile
110
+
111
+ """
112
+ c = ctx.obj
113
+ display_my_roles( c.view_server, c.view_server_url,
114
+ c.userid, c.password, c.jupyter, c.width)
115
+
103
116
 
104
117
  @show.command('my-to-dos')
105
118
  @click.pass_context
@@ -19,8 +19,9 @@ from examples.widgets.tech.get_tech_details import tech_details_viewer
19
19
  from examples.widgets.tech.list_asset_types import display_asset_types
20
20
  from examples.widgets.tech.list_registered_services import display_registered_svcs
21
21
  from examples.widgets.tech.list_relationship_types import display_relationship_types
22
- from examples.widgets.tech.list_tech_templates import display_tech_templates
22
+ from examples.widgets.tech.list_tech_templates import display_templates_spec
23
23
  from examples.widgets.tech.list_valid_metadata_values import display_metadata_values
24
+ from examples.widgets.catalog_user.get_tech_type_template import template_viewer
24
25
 
25
26
 
26
27
  # from pyegeria import ServerOps
@@ -177,10 +178,19 @@ def show_relationship_types(ctx, rel_type):
177
178
  @show.command("tech-templates")
178
179
  @click.pass_context
179
180
  @click.option('--search-string', default='*', help='Technology type to get information about')
180
- def integrations_status(ctx, search_string):
181
- """Display template information about the specified technologyr"""
181
+ def tech_templates(ctx, search_string):
182
+ """Display template information about the specified technology."""
182
183
  c = ctx.obj
183
- display_tech_templates(search_string, c.view_server, c.view_server_url,
184
+ template_viewer(search_string, c.view_server, c.view_server_url,
185
+ c.userid, c.password, c.jupyter, c.width)
186
+
187
+ @show.command("tech-template-spec")
188
+ @click.pass_context
189
+ @click.option('--search-string', default='*', help='Technology type to get information about')
190
+ def tech_template_spec(ctx, search_string):
191
+ """Display template specification information about the specified technology."""
192
+ c = ctx.obj
193
+ display_templates_spec(search_string, c.view_server, c.view_server_url,
184
194
  c.userid, c.password, c.jupyter, c.width)
185
195
 
186
196
 
@@ -188,7 +198,7 @@ def integrations_status(ctx, search_string):
188
198
  @click.pass_context
189
199
  @click.option('--property', default='projectHealth', help='Metadata property to query')
190
200
  @click.option('--type-name', default='Project', help='Metadata type to query')
191
- def integrations_status(ctx, property, type_name):
201
+ def valid_metadata_values(ctx, property, type_name):
192
202
  """Display the valid metadata values for a property and type"""
193
203
  c = ctx.obj
194
204
  display_metadata_values(property, type_name, c.view_server, c.view_server_url,
@@ -7,7 +7,7 @@ Display the status of cataloged platforms and servers.
7
7
  """
8
8
 
9
9
  import argparse
10
- import os
10
+ import os, sys
11
11
  import time
12
12
 
13
13
  from rich.console import Console
@@ -72,14 +72,18 @@ def display_status(server: str, url: str, username: str, user_pass: str, jupyter
72
72
  "Engine Host Server": "EngineHost",
73
73
  "Integration Daemon": "Integration"
74
74
  }
75
+ try:
76
+ platform_list = r_client.get_platforms_by_type()
77
+ if type(platform_list) is str:
78
+ print("No OMAG Server Platforms found?")
79
+ sys.exit(1)
80
+
81
+ for platform in platform_list:
82
+ platform_name = platform['properties'].get("displayName", '---')
83
+ platform_guid = platform['elementHeader']["guid"]
84
+ platform_desc = platform['properties'].get("resourceDescription",'---')
85
+ server_list = ""
75
86
 
76
- platform_list = r_client.get_platforms_by_type()
77
- for platform in platform_list:
78
- platform_name = platform['properties']["name"]
79
- platform_guid = platform['elementHeader']["guid"]
80
- platform_desc = platform['properties']["description"]
81
- server_list = ""
82
- try:
83
87
  platform_report = r_client.get_platform_report(platform_guid)
84
88
  platform_url = platform_report.get('platformURLRoot', " ")
85
89
  platform_origin = platform_report.get("platformOrigin", " ")
@@ -103,13 +107,14 @@ def display_status(server: str, url: str, username: str, user_pass: str, jupyter
103
107
  serv = f"{status_flag}{server_types[server_type]}: {server_name}\n"
104
108
  server_list = server_list + serv
105
109
 
106
- table.add_row(platform_name, platform_url, platform_origin, platform_desc,
107
- platform_started, server_list, style="bold white on black")
108
- except (Exception) as e:
109
- # console.print_exception(e)
110
- platform_url = " "
111
- platform_origin = " "
112
- platform_started = " "
110
+ table.add_row(platform_name, platform_url, platform_origin, platform_desc,
111
+ platform_started, server_list, style="bold white on black")
112
+
113
+ except (Exception) as e:
114
+ # console.print_exception(e)
115
+ platform_url = " "
116
+ platform_origin = " "
117
+ platform_started = " "
113
118
 
114
119
  return table
115
120
 
@@ -13,9 +13,12 @@ import argparse
13
13
  import time
14
14
  import sys
15
15
 
16
- from rich import box
16
+ from rich import box, print
17
17
  from rich.console import Console
18
18
  from rich.table import Table
19
+ from rich.tree import Tree
20
+ from rich.panel import Panel
21
+ from rich.markdown import Markdown
19
22
 
20
23
  from pyegeria import (
21
24
  InvalidParameterException,
@@ -38,81 +41,78 @@ EGERIA_ADMIN_PASSWORD = os.environ.get('ADMIN_PASSWORD', 'secret')
38
41
  EGERIA_USER = os.environ.get('EGERIA_USER', 'erinoverview')
39
42
  EGERIA_USER_PASSWORD = os.environ.get('EGERIA_USER_PASSWORD', 'secret')
40
43
  EGERIA_JUPYTER = bool(os.environ.get('EGERIA_JUPYTER', 'False'))
41
- EGERIA_WIDTH = int(os.environ.get('EGERIA_WIDTH', '200'))
44
+ EGERIA_WIDTH = int(os.environ.get('EGERIA_WIDTH', '250'))
42
45
 
43
- def display_my_profiles(server: str, url: str, username: str, user_pass:str,
46
+ def display_my_profile(server: str, url: str, username: str, user_pass:str,
44
47
  jupyter:bool=EGERIA_JUPYTER, width:int = EGERIA_WIDTH):
45
48
 
46
- m_client = MyProfile(server, url, user_id=username, user_pwd=user_pass)
47
- token = m_client.create_egeria_bearer_token(username, user_pass)
48
- my_profiles = m_client.get_my_profile()
49
- if type(my_profiles) is str:
50
- print(f"No profiles found for {username}")
51
- sys.exit(1)
52
-
53
- def generate_table() -> Table:
54
- """Make a new table."""
49
+ try:
50
+ m_client = MyProfile(server, url, user_id=username, user_pwd=user_pass)
51
+ token = m_client.create_egeria_bearer_token(username, user_pass)
52
+ my_profiles = m_client.get_my_profile()
53
+ if type(my_profiles) is str:
54
+ print(f"No profiles found for {username}")
55
+ sys.exit(1)
56
+
57
+ console = Console(width=width, force_terminal=not jupyter, soft_wrap=True)
58
+
59
+ profile_props = my_profiles.get('profileProperties','---')
60
+ name = profile_props["fullName"]
61
+ tree = Tree(Panel(f"Profile of {name}",title = "Personal Profile"),
62
+ expanded=True,style="bright_white on black", guide_style="bold bright_blue")
63
+
64
+ profile_props_md = f"\n* GUID: {my_profiles["elementHeader"]["guid"]}\n"
65
+ if type(profile_props) is dict:
66
+ for key in profile_props.keys():
67
+ if type(profile_props[key]) is str:
68
+ profile_props_md += f"* {key}: {profile_props[key]}\n"
69
+ elif type(profile_props[key]) is dict:
70
+ p_md = '\n* Additional Details:\n'
71
+ for k in profile_props[key].keys():
72
+ p_md += f"\t* {k}: {profile_props[key][k]}\n"
73
+ profile_props_md += p_md
74
+ t1 = tree.add(Panel(Markdown(profile_props_md),title="Profile Properties"))
75
+
76
+
77
+ id_list_md=""
78
+ for identities in my_profiles["userIdentities"]:
79
+ id_list_md += f"* {identities['userIdentity']['properties']['userId']}\n"
80
+ t2 = tree.add(Panel(Markdown(id_list_md), title="Identities"))
81
+
82
+ contact_methods = my_profiles['contactMethods']
83
+ for method in contact_methods:
84
+ contact = method['properties']
85
+ contact_methods_md = ""
86
+ for key in contact.keys():
87
+ contact_methods_md += f"* {key}: {contact[key]}\n"
88
+ t3 = tree.add(Panel(Markdown(contact_methods_md), title="Contact Methods"))
89
+
90
+ my_roles = my_profiles["roles"]
55
91
  table = Table(
56
- title=f"My Profile Information {url} @ {time.asctime()}",
57
- # style = "black on grey66",
58
- header_style="white on dark_blue",
59
- show_lines=True,
92
+ title = f" Roles of {name}",
93
+ show_lines= True,
60
94
  box=box.ROUNDED,
61
- caption=f"My Profile from Server '{server}' @ Platform - {url}\n Press 'q' to Quit",
62
- expand=True
95
+ expand= True,
63
96
  )
64
-
65
- table.add_column("Name")
66
- table.add_column("Job Title")
67
- table.add_column("userId")
68
- table.add_column("myGUID")
69
97
  table.add_column("Role Type")
70
98
  table.add_column("Role")
71
99
  table.add_column("Role GUID")
72
-
73
- if len(my_profiles) == 0:
74
- name = " "
75
- job_title = " "
76
- user_id = " "
77
- my_guid = " "
78
- role_type = " "
79
- role = " "
80
- role_guid = " "
81
- else:
82
- name = my_profiles["profileProperties"]["fullName"]
83
- job_title = my_profiles["profileProperties"]["jobTitle"]
84
- id_list=" "
85
- for identities in my_profiles["userIdentities"]:
86
- id_list = f"{identities['userIdentity']['properties']['userId']} {id_list}"
87
-
88
- my_guid = my_profiles["elementHeader"]["guid"]
89
-
90
- my_roles = my_profiles["roles"]
91
- for a_role in my_roles:
92
- my_role_props = a_role["properties"]
93
- role_type = my_role_props["typeName"]
94
- role = my_role_props.get("title"," ")
95
- role_guid = a_role["elementHeader"]["guid"]
96
- table.add_row(
97
- name, job_title, str(id_list), my_guid, role_type, role, role_guid
98
- )
99
-
100
- m_client.close_session()
101
- return table
102
-
103
- try:
104
- # with Live(generate_table(), refresh_per_second=4, screen=True) as live:
105
- # while True:
106
- # time.sleep(2)
107
- # live.update(generate_table())
108
- console = Console(width=width, force_terminal=not jupyter)
109
- with console.pager():
110
- console.print(generate_table())
111
-
100
+ for a_role in my_roles:
101
+ my_role_props = a_role["properties"]
102
+ role_type = my_role_props["typeName"]
103
+ role = my_role_props.get("title"," ")
104
+ role_guid = a_role["elementHeader"]["guid"]
105
+ table.add_row(
106
+ role_type, role, role_guid
107
+ )
108
+ t4 = tree.add(Panel(table, title="Roles" ),expanded=True)
109
+
110
+ print(tree)
112
111
 
113
112
  except (InvalidParameterException, PropertyServerException, UserNotAuthorizedException) as e:
114
113
  print_exception_response(e)
115
- assert e.related_http_code != "200", "Invalid parameters"
114
+ finally:
115
+ m_client.close_session()
116
116
 
117
117
  def main():
118
118
  parser = argparse.ArgumentParser()
@@ -128,7 +128,7 @@ def main():
128
128
  userid = args.userid if args.userid is not None else EGERIA_USER
129
129
  user_pass = args.password if args.password is not None else EGERIA_USER_PASSWORD
130
130
 
131
- display_my_profiles(server, url, userid, user_pass)
131
+ display_my_profile(server, url, userid, user_pass)
132
132
 
133
133
  if __name__ == "__main__":
134
134
  main()
@@ -0,0 +1,134 @@
1
+ #!/usr/bin/env 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 display for my profile
10
+ """
11
+ import os
12
+ import argparse
13
+ import time
14
+ import sys
15
+
16
+ from rich import box
17
+ from rich.console import Console
18
+ from rich.table import Table
19
+
20
+ from pyegeria import (
21
+ InvalidParameterException,
22
+ PropertyServerException,
23
+ UserNotAuthorizedException,
24
+ print_exception_response,
25
+ )
26
+ from pyegeria.my_profile_omvs import MyProfile
27
+
28
+ disable_ssl_warnings = True
29
+ EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store")
30
+ EGERIA_KAFKA_ENDPOINT = os.environ.get('KAFKA_ENDPOINT', 'localhost:9092')
31
+ EGERIA_PLATFORM_URL = os.environ.get('EGERIA_PLATFORM_URL', 'https://localhost:9443')
32
+ EGERIA_VIEW_SERVER = os.environ.get('VIEW_SERVER', 'view-server')
33
+ EGERIA_VIEW_SERVER_URL = os.environ.get('EGERIA_VIEW_SERVER_URL', 'https://localhost:9443')
34
+ EGERIA_INTEGRATION_DAEMON = os.environ.get('INTEGRATION_DAEMON', 'integration-daemon')
35
+ EGERIA_INTEGRATION_DAEMON_URL = os.environ.get('EGERIA_INTEGRATION_DAEMON_URL', 'https://localhost:9443')
36
+ EGERIA_ADMIN_USER = os.environ.get('ADMIN_USER', 'garygeeke')
37
+ EGERIA_ADMIN_PASSWORD = os.environ.get('ADMIN_PASSWORD', 'secret')
38
+ EGERIA_USER = os.environ.get('EGERIA_USER', 'erinoverview')
39
+ EGERIA_USER_PASSWORD = os.environ.get('EGERIA_USER_PASSWORD', 'secret')
40
+ EGERIA_JUPYTER = bool(os.environ.get('EGERIA_JUPYTER', 'False'))
41
+ EGERIA_WIDTH = int(os.environ.get('EGERIA_WIDTH', '200'))
42
+
43
+ def display_my_roles(server: str, url: str, username: str, user_pass:str,
44
+ jupyter:bool=EGERIA_JUPYTER, width:int = EGERIA_WIDTH):
45
+
46
+ m_client = MyProfile(server, url, user_id=username, user_pwd=user_pass)
47
+ token = m_client.create_egeria_bearer_token(username, user_pass)
48
+ my_profiles = m_client.get_my_profile()
49
+ if type(my_profiles) is str:
50
+ print(f"No profiles found for {username}")
51
+ sys.exit(1)
52
+
53
+ def generate_table() -> Table:
54
+ """Make a new table."""
55
+ table = Table(
56
+ title=f"My Profile Information {url} @ {time.asctime()}",
57
+ # style = "black on grey66",
58
+ header_style="white on dark_blue",
59
+ show_lines=True,
60
+ box=box.ROUNDED,
61
+ caption=f"My Profile from Server '{server}' @ Platform - {url}\n Press 'q' to Quit",
62
+ expand=True
63
+ )
64
+
65
+ table.add_column("Name")
66
+ table.add_column("Job Title")
67
+ table.add_column("userId")
68
+ table.add_column("myGUID")
69
+ table.add_column("Role Type")
70
+ table.add_column("Role")
71
+ table.add_column("Role GUID")
72
+
73
+ if len(my_profiles) == 0:
74
+ name = " "
75
+ job_title = " "
76
+ user_id = " "
77
+ my_guid = " "
78
+ role_type = " "
79
+ role = " "
80
+ role_guid = " "
81
+ else:
82
+ name = my_profiles["profileProperties"]["fullName"]
83
+ job_title = my_profiles["profileProperties"]["jobTitle"]
84
+ id_list=" "
85
+ for identities in my_profiles["userIdentities"]:
86
+ id_list = f"{identities['userIdentity']['properties']['userId']} {id_list}"
87
+
88
+ my_guid = my_profiles["elementHeader"]["guid"]
89
+
90
+ my_roles = my_profiles["roles"]
91
+ for a_role in my_roles:
92
+ my_role_props = a_role["properties"]
93
+ role_type = my_role_props["typeName"]
94
+ role = my_role_props.get("title"," ")
95
+ role_guid = a_role["elementHeader"]["guid"]
96
+ table.add_row(
97
+ name, job_title, str(id_list), my_guid, role_type, role, role_guid
98
+ )
99
+
100
+ m_client.close_session()
101
+ return table
102
+
103
+ try:
104
+ # with Live(generate_table(), refresh_per_second=4, screen=True) as live:
105
+ # while True:
106
+ # time.sleep(2)
107
+ # live.update(generate_table())
108
+ console = Console(width=width, force_terminal=not jupyter)
109
+ with console.pager():
110
+ console.print(generate_table())
111
+
112
+
113
+ except (InvalidParameterException, PropertyServerException, UserNotAuthorizedException) as e:
114
+ print_exception_response(e)
115
+ assert e.related_http_code != "200", "Invalid parameters"
116
+
117
+ def main():
118
+ parser = argparse.ArgumentParser()
119
+ parser.add_argument("--server", help="Name of the server to display status for")
120
+ parser.add_argument("--url", help="URL Platform to connect to")
121
+ parser.add_argument("--userid", help="User Id")
122
+ parser.add_argument("--password", help="User Password")
123
+
124
+ args = parser.parse_args()
125
+
126
+ server = args.server if args.server is not None else EGERIA_VIEW_SERVER
127
+ url = args.url if args.url is not None else EGERIA_PLATFORM_URL
128
+ userid = args.userid if args.userid is not None else EGERIA_USER
129
+ user_pass = args.password if args.password is not None else EGERIA_USER_PASSWORD
130
+
131
+ display_my_roles(server, url, userid, user_pass)
132
+
133
+ if __name__ == "__main__":
134
+ main()
@@ -36,7 +36,7 @@ EGERIA_WIDTH = int(os.environ.get('EGERIA_WIDTH', '200'))
36
36
 
37
37
 
38
38
 
39
- def display_tech_templates(search_string:str, server: str,
39
+ def display_templates_spec(search_string:str, server: str,
40
40
  url: str, username: str, password: str, jupyter:bool=EGERIA_JUPYTER, width:int = EGERIA_WIDTH
41
41
  ):
42
42
 
@@ -141,7 +141,7 @@ def main():
141
141
 
142
142
  try:
143
143
  search_string = Prompt.ask("Enter the technology you are searching for:", default="*")
144
- display_tech_templates(search_string, server, url, userid, password)
144
+ display_templates_spec(search_string, server, url, userid, password)
145
145
  except(KeyboardInterrupt):
146
146
  pass
147
147
 
@@ -2328,7 +2328,7 @@ class CollectionManager(Client):
2328
2328
  return False
2329
2329
  # finally, construct a list of member information
2330
2330
  for member_rel in members:
2331
- member_guid = member_rel['member']['guid']
2331
+ member_guid = member_rel['elementHeader']['guid']
2332
2332
  member_resp = await self._async_get_collection(member_guid)
2333
2333
  member = member_resp['element']
2334
2334
  # print(json.dumps(member, indent = 4))
@@ -198,7 +198,7 @@ class RuntimeManager(Client):
198
198
  }
199
199
 
200
200
  response = await self._async_make_request("POST", url, body)
201
- return response.json().get('elementList','No platforms found')
201
+ return response.json().get('elements','No platforms found')
202
202
 
203
203
  def get_platforms_by_type(self, filter: str = None, server:str = None, effective_time: str = None,
204
204
  start_from: int = 0, page_size: int = max_paging_size ) -> str | list:
@@ -293,7 +293,7 @@ class RuntimeManager(Client):
293
293
  }
294
294
 
295
295
  response = await self._async_make_request("POST", url, body)
296
- return response.json().get('elementList','No platforms found')
296
+ return response.json().get('elements','No platforms found')
297
297
 
298
298
 
299
299
  def get_platform_templates_by_type(self, filter: str = None, server:str = None, effective_time: str = None,
@@ -438,7 +438,7 @@ class RuntimeManager(Client):
438
438
  else:
439
439
  response = await self._async_make_request("POST", url)
440
440
 
441
- return response.json().get('elementList','No platforms found')
441
+ return response.json().get('elements','No platforms found')
442
442
 
443
443
  def get_platform_by_guid(self, platform_guid: str = None, server: str = None,
444
444
  effective_time: str = None) -> str | list:
@@ -506,7 +506,7 @@ class RuntimeManager(Client):
506
506
  if server is None:
507
507
  server = self.server_name
508
508
 
509
- url = (f"{self.platform_url}/servers/{server}/api/open-metadata/runtime-manager/servers/{server_guid}")
509
+ url = (f"{self.platform_url}/servers/{server}/api/open-metadata/runtime-manager/software-servers/{server_guid}")
510
510
 
511
511
  if effective_time is not None:
512
512
  body = {
@@ -517,7 +517,7 @@ class RuntimeManager(Client):
517
517
  else:
518
518
  response = await self._async_make_request("POST", url)
519
519
 
520
- return response.json().get('elementList','No server found')
520
+ return response.json().get('elements','No server found')
521
521
 
522
522
  def get_server_by_guid(self, server_guid: str, server: str = None,
523
523
  effective_time: str = None) -> str | dict:
@@ -585,7 +585,7 @@ class RuntimeManager(Client):
585
585
  if server is None:
586
586
  server = self.server_name
587
587
 
588
- url = (f"{self.platform_url}/servers/{server}/api/open-metadata/runtime-manager/servers/by-name?"
588
+ url = (f"{self.platform_url}/servers/{server}/api/open-metadata/runtime-manager/software-servers/by-name?"
589
589
  f"startFrom={start_from}&pageSize={page_size}")
590
590
 
591
591
  if effective_time is None:
@@ -599,7 +599,7 @@ class RuntimeManager(Client):
599
599
  }
600
600
  response = await self._async_make_request("POST", url, body)
601
601
 
602
- return response.json().get('elementList','No platforms found')
602
+ return response.json().get('elements','No platforms found')
603
603
 
604
604
  def get_servers_by_name(self, filter: str, server: str = None) -> str | list:
605
605
  """ Returns the list of servers with a particular name. The name is specified in the filter.
@@ -678,14 +678,14 @@ class RuntimeManager(Client):
678
678
  if filter == '*':
679
679
  filter = None
680
680
 
681
- url = (f"{self.platform_url}/servers/{server}/api/open-metadata/runtime-manager/servers/"
681
+ url = (f"{self.platform_url}/servers/{server}/api/open-metadata/runtime-manager/software-servers/"
682
682
  f"by-deployed-implementation-type?startFrom={start_from}&pageSize={page_size}")
683
683
 
684
684
  body = body_slimmer({ "filter": filter, "effective_time": effective_time})
685
685
 
686
686
  response = await self._async_make_request("POST", url, body)
687
687
 
688
- return response.json().get('elementList','No platforms found')
688
+ return response.json().get('elements','No platforms found')
689
689
 
690
690
  def get_servers_by_dep_impl_type(self, filter: str = "*", server:str = None, effective_time: str = None,
691
691
  start_from: int = 0, page_size: int = max_paging_size ) -> str | list:
@@ -768,14 +768,14 @@ class RuntimeManager(Client):
768
768
  if filter == '*':
769
769
  filter = None
770
770
 
771
- url = (f"{self.platform_url}/servers/{server}/api/open-metadata/runtime-manager/servers/"
771
+ url = (f"{self.platform_url}/servers/{server}/api/open-metadata/runtime-manager/software-servers/"
772
772
  f"by-deployed-implementation-type?startFrom={start_from}&pageSize={page_size}&getTemplates=true")
773
773
 
774
774
  body = body_slimmer({ "filter": filter, "effective_time": effective_time})
775
775
 
776
776
  response = await self._async_make_request("POST", url, body)
777
777
 
778
- return response.json().get('elementList','No platforms found')
778
+ return response.json().get('elements','No platforms found')
779
779
 
780
780
  def get_server_templates_by_dep_impl_type(self, filter: str = "*", server:str = None, effective_time: str = None,
781
781
  start_from: int = 0, page_size: int = max_paging_size ) -> str | list:
@@ -854,7 +854,7 @@ class RuntimeManager(Client):
854
854
  if server is None:
855
855
  server = self.server_name
856
856
 
857
- url = (f"{self.platform_url}/servers/{server}/api/open-metadata/runtime-manager/servers/{server_guid}")
857
+ url = (f"{self.platform_url}/servers/{server}/api/open-metadata/runtime-manager/software-servers/{server_guid}")
858
858
 
859
859
  if effective_time is not None:
860
860
  body = {
@@ -929,11 +929,11 @@ class RuntimeManager(Client):
929
929
  if server is None:
930
930
  server = self.server_name
931
931
 
932
- url = (f"{self.platform_url}/servers/{server}/api/open-metadata/runtime-manager/servers/{server_guid}/report")
932
+ url = (f"{self.platform_url}/servers/{server}/api/open-metadata/runtime-manager/software-servers/{server_guid}/report")
933
933
 
934
934
  response = await self._async_make_request("GET", url)
935
935
 
936
- return response.json().get('elementList', 'No server found')
936
+ return response.json().get('elements', 'No server found')
937
937
 
938
938
 
939
939
  def get_server_report(self, server_guid: str = None, server: str = None) -> str | list:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyegeria
3
- Version: 0.5.8.27
3
+ Version: 0.5.9.2
4
4
  Summary: A python client for Egeria
5
5
  Home-page: https://github.com/odpi/egeria-python
6
6
  License: Apache 2.0
@@ -2,20 +2,20 @@ examples/doc_samples/Create_Collection_Sample.py,sha256=D8nhc4qLXIzAqVdJQjmFIS-j
2
2
  examples/doc_samples/Create_Sustainability_Collection_Sample.py,sha256=iLBm1LwRLi42Gayyb-wcWZ5NySQ6sc4kVSmwIAzP2Po,5049
3
3
  examples/widgets/catalog_user/README.md,sha256=aCCVo7iqyE-XGEvmoYXnkIGM0VskF95JTj6Egzec7LM,883
4
4
  examples/widgets/catalog_user/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
- examples/widgets/catalog_user/get_asset_graph.py,sha256=jCWYy9es-q81i4X6z6OfLRw6Px5jw_EigkBoV6glFFI,11039
5
+ examples/widgets/catalog_user/get_asset_graph.py,sha256=Q23n_svJBii58hgaMPLpliN8wqKl4yhnhCCk2IU2nvM,11168
6
6
  examples/widgets/catalog_user/get_collection.py,sha256=DBZ5-XkoYsz4WmMSPz0Ao0wz3DlAUQve89KI26-44nc,4613
7
7
  examples/widgets/catalog_user/get_tech_type_elements.py,sha256=SvnDWfBIA1NzpkKZj4-ZapIeM2SEhe5jJt7rTkvTzaA,6129
8
8
  examples/widgets/catalog_user/get_tech_type_template.py,sha256=gMFVcgCIm09GQu1Vsc5ZUVH9XLhItAG1eVGZJrcnHeQ,6174
9
- examples/widgets/catalog_user/list_assets.py,sha256=yG4-YypvxQA-KTTDowuPxahg_43jxWxitBTE7Sq4eHc,6368
9
+ examples/widgets/catalog_user/list_assets.py,sha256=7M1KlKFkxjMdKKiw8c7u5H7zZqDplcqbRdo4_fWJLuI,6476
10
10
  examples/widgets/catalog_user/list_glossary.py,sha256=zljSzVKYysFZVmVhHJt0fYFDmAG9azIphOs4MOIfA7g,5395
11
11
  examples/widgets/catalog_user/list_projects.py,sha256=RpxPj68X7yPl046xTuGRhl8EwUk_lFMW_BCbX7aJ2hA,6513
12
12
  examples/widgets/catalog_user/list_tech_types.py,sha256=20T4v6L5qeebSsaL1nGkFMDAIsy2W3A3SMm1RcgFoh0,4609
13
13
  examples/widgets/catalog_user/list_todos.py,sha256=iiHvw0zM2khHDNKnrzNe2i0tqD_3xzrB5Z2Z0tP7N4k,5521
14
14
  examples/widgets/cli/__init__.py,sha256=ReG7mIcm5c512S_z1UZIpMtE67zlO_zj-1HhHWYS4fI,30
15
15
  examples/widgets/cli/egeria_cat.py,sha256=xEzI4Lbl3vyQlJLxMSmDVphhyjTUL1whSfbZi4I2Hwk,9324
16
- examples/widgets/cli/egeria_my.py,sha256=wni3UWzwxnk0hToeUwSLclfHY4Vi1ez4mtRqVGWVi8A,5341
16
+ examples/widgets/cli/egeria_my.py,sha256=sbnUe8Wis2FHGEGlYlg5syH8_LGymzTUMeNjVT4Serk,5676
17
17
  examples/widgets/cli/egeria_ops.py,sha256=ZxfijlBuDdOKdDgflKdJ0npGp5bB35qCzy-SHUGAk0k,10112
18
- examples/widgets/cli/egeria_tech.py,sha256=H4xS1EHnHapIrlmnSoGr0Bt0bwzHNDkqVSbqbarkuik,8404
18
+ examples/widgets/cli/egeria_tech.py,sha256=_DjPR5rslrZKk0NshpE_VNQf4YVxBGaVpNqT8YMgt9I,8917
19
19
  examples/widgets/cli/ops_config.py,sha256=BPfiU2mZA61aA1p1DHRA5eLWH8qaAwgWNoRmazzAlM4,1398
20
20
  examples/widgets/operational/README.md,sha256=PJsSDcvMv6E6og6y-cwvxFX5lhCII0UCwgKiM1T17MQ,1595
21
21
  examples/widgets/operational/__init__.py,sha256=SCfzF3-aMx8EpqLWmH7JQf13gTmMAtHRbg69oseLvi8,480
@@ -28,14 +28,15 @@ examples/widgets/operational/monitor_coco_status.py,sha256=ERz3OJ0TXImNKHGD4gJvg
28
28
  examples/widgets/operational/monitor_engine_activity.py,sha256=5ceNWogsJqKTxerBRWK68T4Qr5OcqnqZF1ERqFnYbGk,7282
29
29
  examples/widgets/operational/monitor_gov_eng_status.py,sha256=cVRtA1Ub9uGf4fic1FnMwmzCwNEnU7joCqsjsiAZ7bg,5912
30
30
  examples/widgets/operational/monitor_integ_daemon_status.py,sha256=E3HO6ZCAv4CBZFHhxqpa7brRG3jfw3ZubwUkRfRySwo,8766
31
- examples/widgets/operational/monitor_platform_status.py,sha256=pQEWt8Vy-5whF5aVC1IFLYsHLoCNUKtTz1DfOIWOBfw,5948
31
+ examples/widgets/operational/monitor_platform_status.py,sha256=mgEeRjv2mIRBUxusHqeQGeoOp8Ehlk2IX-t3qtLKFqs,6123
32
32
  examples/widgets/operational/monitor_server_list.py,sha256=eHSeM5dW7Wyjp2zR_AD6_FalFnZ2dBaZKxtob2kva9I,4483
33
33
  examples/widgets/operational/monitor_server_status.py,sha256=A-8hMDfbscdcq-b1OD4wKn0tphumX8WIK-Hz8uPoFkc,3974
34
34
  examples/widgets/operational/refresh_integration_daemon.py,sha256=QDB3dpAlLY8PhrGhAZG4tWKzx_1R0bOOM048N68RQ4w,2712
35
35
  examples/widgets/operational/restart_integration_daemon.py,sha256=fID7qGFL5RD6rfn9PgXf5kwI4MU0Ho_IGXnDVbKT5nU,2710
36
36
  examples/widgets/personal/README.md,sha256=ZheFhj_VoPMhcWjW3pGchHB0vH_A9PklSmrSkzKdrcQ,844
37
37
  examples/widgets/personal/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
38
- examples/widgets/personal/list_my_profile.py,sha256=qtf6q4ibvBDsqbtudWc0PeCfGzfK01Na7zCmHbv1JWU,5084
38
+ examples/widgets/personal/list_my_profile.py,sha256=UUjX5PiExGNB-zmkk4Dq3dzUhHX08qMokt8UlOz8cXI,5423
39
+ examples/widgets/personal/list_my_roles.py,sha256=DCiNdnoHXQueUE5g73D3oRXfJ6LaUQGbibNtDRdicR8,5078
39
40
  examples/widgets/personal/monitor_my_todos.py,sha256=uc3WO-IiFdfjJ3gE2MgHBo18A8M6C5QHbCfRVI6qR28,6399
40
41
  examples/widgets/personal/monitor_open_todos.py,sha256=DIeWC-2tN1EtmgC2rWJfsGMVQhtNcngobJ8paBiXXBI,5396
41
42
  examples/widgets/tech/README.md,sha256=nxDnfr3BCiGgW5G1VxWxiwUWJXIe5wreNuUeRyIt_hY,1343
@@ -45,7 +46,7 @@ examples/widgets/tech/get_tech_details.py,sha256=b7i3kSTaZ2pZPcxkDccqY27bqeHJoYn
45
46
  examples/widgets/tech/list_asset_types.py,sha256=PHPtCXqCHhIw0K59hUvoKdybp6IKPt_9Wc0AJVDtdrg,4181
46
47
  examples/widgets/tech/list_registered_services.py,sha256=TqZbT54vMGvHUAX_bovCce3A3eV_RbjSEtPP6u6ZJV0,6388
47
48
  examples/widgets/tech/list_relationship_types.py,sha256=0T8Sl7J3WFq_0IQLLzcL0T79pUxVENWNT95Cpjz2ukc,5633
48
- examples/widgets/tech/list_tech_templates.py,sha256=0g17KwtPD2tdTG4cL37YlFl2hCEkvH7ncytQjQy0liw,6192
49
+ examples/widgets/tech/list_tech_templates.py,sha256=RiyA8a4fIL9BGeGf37Bkk471mK5ECkDJMN9QVNReC1M,6192
49
50
  examples/widgets/tech/list_valid_metadata_values.py,sha256=64z5tr-0VD-mPTFmr6FT76gj4MXJZLWTxT4oeIiUaiU,6043
50
51
  pyegeria/Xfeedback_manager_omvs.py,sha256=uNQMOPG08UyIuLzBfYt4uezDyLWdpBgJ2ZuvqumaWuY,9231
51
52
  pyegeria/Xloaded_resources_omvs.py,sha256=cseWZTIwNhkzhZ0fhujI66DslNAQcjuwsz_p1GRmSPQ,3392
@@ -58,7 +59,7 @@ pyegeria/_validators.py,sha256=DQuMsATRGxGSBtOrVtXlCgWXGhj6Nh-uqPtCsrUGLxk,12703
58
59
  pyegeria/action_author_omvs.py,sha256=m0wsfmyO-VxRDaPpACeIDw8eVAFu3RVbo45RPCUel9M,6340
59
60
  pyegeria/asset_catalog_omvs.py,sha256=ckEpASyz1yjiMyYtGh0teHdzEBRDOb52IReZdq8EMEo,25904
60
61
  pyegeria/automated_curation_omvs.py,sha256=7mBOXnq06zf1TB3vzo2FPUw2GRLZKKYT2MDQkPxDokk,121332
61
- pyegeria/collection_manager_omvs.py,sha256=IyGCbqx2Blm0OwCsC2071EeoNWHXyWGl_6pEtacizAs,112642
62
+ pyegeria/collection_manager_omvs.py,sha256=aGtzC3P8_YgY2KEzhtO19_H9drStE0hW5hUj-dA7bLo,112649
62
63
  pyegeria/core_omag_server_config.py,sha256=16ld7aBTgO3gGhvFs-_yzwqPsatdCAiKYi005_2evZU,93096
63
64
  pyegeria/create_tech_guid_lists.py,sha256=jClpvURy20o4UV83LOwhGg3TZdHGzfjZ9y0MNZyG2To,4282
64
65
  pyegeria/full_omag_server_config.py,sha256=l4G0oM6l-axosYACypqNqzkF6wELzs9FgKJwvDMF0Fc,45817
@@ -68,12 +69,12 @@ pyegeria/my_profile_omvs.py,sha256=w-3aL9s7VlonUGtdKgfMSCeYIbCtJn0zDLTuqUxAYFc,4
68
69
  pyegeria/platform_services.py,sha256=T2UiAl7tPfOBGL_H2b73XyyHtR0Y36irgbaljZTjD4I,41808
69
70
  pyegeria/project_manager_omvs.py,sha256=_U6m2vquu4eEV7aY8X3hsvfm2zX0EBica1reGWX9amY,77078
70
71
  pyegeria/registered_info.py,sha256=GfMcYz3IO0aNquf8qCrYQ9cA5KplhPx1kNt0_nMMpTM,6475
71
- pyegeria/runtime_manager_omvs.py,sha256=WekK7Yeyn6Qu9YmbSDo3m57MN0xOsIm9M8kGHfROZHI,37628
72
+ pyegeria/runtime_manager_omvs.py,sha256=oSVFeG_yBGXIvQR0EClLZqTZ6C5z5ReZzwm8cce854U,37658
72
73
  pyegeria/server_operations.py,sha256=ZX7FlJRrAC7RK4bq4wHWepEsYbbWlqkUZdsJrTplVVU,16534
73
74
  pyegeria/utils.py,sha256=pkVmS3RrbjaS9yz7FtOCwaOfV5FMqz-__Rt5koCnd9c,5374
74
75
  pyegeria/valid_metadata_omvs.py,sha256=aisdRodIwJSkyArAzfm_sEnBELh69xE8k4Nea-vHu8M,36745
75
- pyegeria-0.5.8.27.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
76
- pyegeria-0.5.8.27.dist-info/METADATA,sha256=OEEMYtjd6HEJ0dPEbJgn2mleTqVfnKsoKqgfIM7XSJM,2689
77
- pyegeria-0.5.8.27.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
78
- pyegeria-0.5.8.27.dist-info/entry_points.txt,sha256=YLwELMauo52P2zmfF3ovfayZGcUEVQ2XQnCF4xNzG1M,2781
79
- pyegeria-0.5.8.27.dist-info/RECORD,,
76
+ pyegeria-0.5.9.2.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
77
+ pyegeria-0.5.9.2.dist-info/METADATA,sha256=GSr79SGcTVVqKYkXukWeD5WB3P1pTx3Y3vZ30AN3USw,2688
78
+ pyegeria-0.5.9.2.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
79
+ pyegeria-0.5.9.2.dist-info/entry_points.txt,sha256=YLwELMauo52P2zmfF3ovfayZGcUEVQ2XQnCF4xNzG1M,2781
80
+ pyegeria-0.5.9.2.dist-info/RECORD,,