pyegeria 0.5.5.21__py3-none-any.whl → 0.5.5.23__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.
- examples/widgets/catalog_user/list_assets.py +1 -1
- examples/widgets/catalog_user/view_collection.py +5 -5
- examples/widgets/catalog_user/view_glossary.py +4 -4
- examples/widgets/developer/get_guid_info.py +2 -2
- examples/widgets/developer/get_tech_details.py +1 -1
- examples/widgets/developer/list_asset_types.py +4 -2
- examples/widgets/developer/list_registered_services.py +5 -2
- examples/widgets/developer/list_relationship_types.py +5 -1
- examples/widgets/developer/list_tech_templates.py +5 -2
- examples/widgets/developer/list_tech_types.py +5 -2
- examples/widgets/developer/list_valid_metadata_values.py +5 -1
- examples/widgets/operational/get_tech_type_elements.py +1 -1
- examples/widgets/operational/get_tech_type_template.py +1 -1
- examples/widgets/operational/view_asset_events.py +13 -6
- examples/widgets/operational/view_eng_action_status.py +4 -1
- examples/widgets/operational/view_gov_eng_status.py +4 -1
- examples/widgets/operational/view_platform_status.py +7 -4
- examples/widgets/operational/view_server_list.py +4 -1
- examples/widgets/operational/view_server_status.py +4 -1
- pyegeria/automated_curation_omvs.py +91 -42
- {pyegeria-0.5.5.21.dist-info → pyegeria-0.5.5.23.dist-info}/METADATA +1 -1
- {pyegeria-0.5.5.21.dist-info → pyegeria-0.5.5.23.dist-info}/RECORD +25 -25
- {pyegeria-0.5.5.21.dist-info → pyegeria-0.5.5.23.dist-info}/LICENSE +0 -0
- {pyegeria-0.5.5.21.dist-info → pyegeria-0.5.5.23.dist-info}/WHEEL +0 -0
- {pyegeria-0.5.5.21.dist-info → pyegeria-0.5.5.23.dist-info}/entry_points.txt +0 -0
@@ -98,7 +98,7 @@ def display_assets(search_string: str, guid: str, server: str, url: str, usernam
|
|
98
98
|
# time.sleep(2)
|
99
99
|
# live.update(generate_table())
|
100
100
|
console = Console()
|
101
|
-
with console.pager():
|
101
|
+
with console.pager(styles=True):
|
102
102
|
console.print(generate_table(search_string))
|
103
103
|
|
104
104
|
|
@@ -41,12 +41,12 @@ def collection_viewer(root: str, server_name: str, platform_url: str, user: str,
|
|
41
41
|
if members:
|
42
42
|
for member in members:
|
43
43
|
style = "bold white on black"
|
44
|
-
text_collection_name = Text(f"Name: {member['name']}", style)
|
44
|
+
text_collection_name = Text(f"[bold white on black]Name: {member['name']}", style=style)
|
45
45
|
text_qualified_name = Text(f"* QualifiedName: {member['qualifiedName']}")
|
46
46
|
text_guid = Text(f"* GUID: {member['guid']}", "green")
|
47
47
|
text_collection_type = Text(f"* Collection Type: {member['collectionType']}")
|
48
48
|
text_description = Text(f"* Description: {member['description']}")
|
49
|
-
p = Panel.fit(f"
|
49
|
+
p = Panel.fit(f"{text_collection_name}[green]\n{text_qualified_name}\n{text_guid}\n"
|
50
50
|
f"{text_collection_type}\n{text_description}")
|
51
51
|
tt = tree.add(p, style=style)
|
52
52
|
|
@@ -55,9 +55,9 @@ def collection_viewer(root: str, server_name: str, platform_url: str, user: str,
|
|
55
55
|
branch = tt.add(f"[bold magenta on black]Members", style=style, guide_style=style)
|
56
56
|
walk_collection_hierarchy(collection_client, member['qualifiedName'], branch),
|
57
57
|
else:
|
58
|
-
tt = tree.add(f"[bold magenta on black]No collections match {root_collection_name}"
|
58
|
+
tt = tree.add(f"[bold magenta on black]No collections match {root_collection_name}")
|
59
59
|
try:
|
60
|
-
tree = Tree(f"[bold bright green on black]{root}",
|
60
|
+
tree = Tree(f"[bold bright green on black]{root}",guide_style="bold bright_blue")
|
61
61
|
c_client = CollectionManager(server_name, platform_url,
|
62
62
|
user_id=user)
|
63
63
|
|
@@ -87,7 +87,7 @@ def main():
|
|
87
87
|
userid = args.userid if args.userid is not None else EGERIA_USER
|
88
88
|
user_pass = args.password if args.password is not None else EGERIA_USER_PASSWORD
|
89
89
|
|
90
|
-
root_collection = Prompt.ask("Enter the Root Collection to start from:", default="
|
90
|
+
root_collection = Prompt.ask("Enter the Root Collection to start from:", default="Root Sustainability Collection")
|
91
91
|
collection_viewer(root_collection, server, url, userid, user_pass)
|
92
92
|
|
93
93
|
if __name__ == "__main__":
|
@@ -88,7 +88,7 @@ def display_glossary_terms(search_string: str, guid: str, server: str, url: str,
|
|
88
88
|
|
89
89
|
|
90
90
|
table.add_row(
|
91
|
-
display_name,qualified_name, abbrev, summary, description
|
91
|
+
display_name,qualified_name, abbrev, summary, description, style="bold white on black"
|
92
92
|
)
|
93
93
|
|
94
94
|
g_client.close_session()
|
@@ -98,9 +98,9 @@ def display_glossary_terms(search_string: str, guid: str, server: str, url: str,
|
|
98
98
|
# with Live(generate_table(), refresh_per_second=4, screen=True) as live:
|
99
99
|
# while True:
|
100
100
|
# time.sleep(2)
|
101
|
-
# live.update(generate_table())
|
102
|
-
console = Console()
|
103
|
-
with console.pager():
|
101
|
+
# live.update(generate_table(search_string))
|
102
|
+
console = Console(style="bold white on black")
|
103
|
+
with console.pager(styles=True):
|
104
104
|
console.print(generate_table(search_string))
|
105
105
|
|
106
106
|
|
@@ -46,7 +46,7 @@ def display_guid(guid: str, server: str, url: str, username: str, user_password:
|
|
46
46
|
|
47
47
|
|
48
48
|
try:
|
49
|
-
console = Console(width = 180)
|
49
|
+
console = Console(width = 180, style="bold white on black")
|
50
50
|
r = c.make_request("GET", url)
|
51
51
|
if r.status_code == 200:
|
52
52
|
pass
|
@@ -58,7 +58,7 @@ def display_guid(guid: str, server: str, url: str, username: str, user_password:
|
|
58
58
|
created = Text(f"Created at: {e['createTime']}")
|
59
59
|
details = Text(f"Details: {json.dumps(p, indent=2)}")
|
60
60
|
|
61
|
-
tree = Tree(f"
|
61
|
+
tree = Tree(f"{guid}", style = "bold bright_white on black", guide_style="bold bright_blue")
|
62
62
|
|
63
63
|
tree = tree.add(type_name)
|
64
64
|
tree.add(metadataCollection)
|
@@ -82,7 +82,7 @@ def tech_viewer(tech: str, server_name:str, platform_url:str, user:str, user_pas
|
|
82
82
|
return tt
|
83
83
|
|
84
84
|
try:
|
85
|
-
tree = Tree(f"
|
85
|
+
tree = Tree(f"{tech}", style = "bold bright_white on black", guide_style="bold bright_blue")
|
86
86
|
a_client = AutomatedCuration(server_name, platform_url,
|
87
87
|
user_id=user)
|
88
88
|
|
@@ -45,8 +45,10 @@ def display_asset_types(server: str, url: str, username: str, user_password: str
|
|
45
45
|
"""Make a new table."""
|
46
46
|
table = Table(
|
47
47
|
title=f"Asset Types for: {url} @ {time.asctime()}",
|
48
|
-
|
48
|
+
style="bold white on black",
|
49
|
+
row_styles=["bold white on black"],
|
49
50
|
header_style="white on dark_blue",
|
51
|
+
title_style="bold white on black",
|
50
52
|
show_lines=True,
|
51
53
|
box=box.ROUNDED,
|
52
54
|
caption=f"Asset Types from Server '{server}' @ Platform - {url}",
|
@@ -75,7 +77,7 @@ def display_asset_types(server: str, url: str, username: str, user_password: str
|
|
75
77
|
|
76
78
|
try:
|
77
79
|
console = Console()
|
78
|
-
with console.pager():
|
80
|
+
with console.pager(styles=True):
|
79
81
|
console.print(generate_table())
|
80
82
|
|
81
83
|
except (InvalidParameterException, PropertyServerException, UserNotAuthorizedException) as e:
|
@@ -57,8 +57,11 @@ def display_registered_svcs(service: str, server: str , url: str,
|
|
57
57
|
"""Make a new table."""
|
58
58
|
table = Table(
|
59
59
|
title=f"Technology Types for: {url} @ {time.asctime()}",
|
60
|
-
|
60
|
+
style="bold white on black",
|
61
|
+
row_styles=["bold white on black"],
|
61
62
|
header_style="white on dark_blue",
|
63
|
+
title_style="bold white on black",
|
64
|
+
caption_style="white on black",
|
62
65
|
show_lines=True,
|
63
66
|
box=box.ROUNDED,
|
64
67
|
caption=f"Registered Services from Server '{server}' @ Platform - {url}",
|
@@ -116,7 +119,7 @@ def display_registered_svcs(service: str, server: str , url: str,
|
|
116
119
|
# token = a_client.create_egeria_bearer_token(username, password)
|
117
120
|
svc_list = a_client.list_registered_svcs(service)
|
118
121
|
|
119
|
-
with console.pager():
|
122
|
+
with console.pager(styles=True):
|
120
123
|
console.print(generate_table(svc_list))
|
121
124
|
|
122
125
|
except (InvalidParameterException, PropertyServerException, UserNotAuthorizedException) as e:
|
@@ -46,7 +46,11 @@ def display_list(type_name:str, server: str, url: str ,
|
|
46
46
|
"""Make a new table."""
|
47
47
|
table = Table(
|
48
48
|
title=f"Relationship types for: {type_name} @ {time.asctime()}",
|
49
|
+
style="bold white on black",
|
50
|
+
row_styles=["bold white on black"],
|
49
51
|
header_style="white on dark_blue",
|
52
|
+
title_style="bold white on black",
|
53
|
+
caption_style="white on black",
|
50
54
|
show_lines=True,
|
51
55
|
box=box.ROUNDED,
|
52
56
|
caption=f"list for Server '{server}' @ Platform - {url}",
|
@@ -103,7 +107,7 @@ def display_list(type_name:str, server: str, url: str ,
|
|
103
107
|
try:
|
104
108
|
|
105
109
|
console = Console(record=True)
|
106
|
-
with console.pager():
|
110
|
+
with console.pager(styles=True):
|
107
111
|
console.print(generate_table(type_name))
|
108
112
|
if save_output:
|
109
113
|
console.save_html("projects.html")
|
@@ -44,8 +44,11 @@ def display_tech_types(search_string:str, server: str,
|
|
44
44
|
"""Make a new table."""
|
45
45
|
table = Table(
|
46
46
|
title=f"Technology Templates for: {url} @ {time.asctime()}",
|
47
|
-
|
47
|
+
style="bold white on black",
|
48
|
+
row_styles=["bold white on black"],
|
48
49
|
header_style="white on dark_blue",
|
50
|
+
title_style="bold white on black",
|
51
|
+
caption_style="white on black",
|
49
52
|
show_lines=True,
|
50
53
|
box=box.ROUNDED,
|
51
54
|
caption=f"Templates from Server '{server}' @ Platform - {url}",
|
@@ -106,7 +109,7 @@ def display_tech_types(search_string:str, server: str,
|
|
106
109
|
|
107
110
|
try:
|
108
111
|
console = Console()
|
109
|
-
with console.pager():
|
112
|
+
with console.pager(styles=True):
|
110
113
|
console.print(generate_table())
|
111
114
|
|
112
115
|
except (InvalidParameterException, PropertyServerException, UserNotAuthorizedException) as e:
|
@@ -49,8 +49,11 @@ def display_tech_types(search_string:str, server: str, url: str, username: str,
|
|
49
49
|
"""Make a new table."""
|
50
50
|
table = Table(
|
51
51
|
title=f"Technology Types for: {url} @ {time.asctime()}",
|
52
|
-
|
52
|
+
style="bold white on black",
|
53
|
+
row_styles=["bold white on black"],
|
53
54
|
header_style="white on dark_blue",
|
55
|
+
title_style="bold white on black",
|
56
|
+
caption_style="white on black",
|
54
57
|
show_lines=True,
|
55
58
|
box=box.ROUNDED,
|
56
59
|
caption=f"Technology Types from Server '{server}' @ Platform - {url}",
|
@@ -86,7 +89,7 @@ def display_tech_types(search_string:str, server: str, url: str, username: str,
|
|
86
89
|
|
87
90
|
try:
|
88
91
|
console = Console()
|
89
|
-
with console.pager():
|
92
|
+
with console.pager(styles=True):
|
90
93
|
console.print(generate_table())
|
91
94
|
|
92
95
|
except (InvalidParameterException, PropertyServerException, UserNotAuthorizedException) as e:
|
@@ -48,7 +48,11 @@ def display_values(property_name: str, type_name: str, server: str, url: str,
|
|
48
48
|
"""Make a new table."""
|
49
49
|
table = Table(
|
50
50
|
title=f"Valid Metadata Values for Property: {property_name} of type {type_name} @ {time.asctime()}",
|
51
|
+
style="bold white on black",
|
52
|
+
row_styles=["bold white on black"],
|
51
53
|
header_style="white on dark_blue",
|
54
|
+
title_style="bold white on black",
|
55
|
+
caption_style="white on black",
|
52
56
|
show_lines=True,
|
53
57
|
box=box.ROUNDED,
|
54
58
|
caption=f"Valid Metadata Values for Server '{server}' @ Platform - {url}",
|
@@ -101,7 +105,7 @@ def display_values(property_name: str, type_name: str, server: str, url: str,
|
|
101
105
|
# time.sleep(2)
|
102
106
|
# live.update(generate_table())
|
103
107
|
console = Console(record=True)
|
104
|
-
with console.pager():
|
108
|
+
with console.pager(styles=True):
|
105
109
|
console.print(generate_table(property_name, type_name))
|
106
110
|
if save_output:
|
107
111
|
console.save_html("valid-metadata-values.html")
|
@@ -79,7 +79,7 @@ def tech_viewer(tech_name: str, server_name:str, platform_url:str, user:str, use
|
|
79
79
|
if type(tech_elements) is str:
|
80
80
|
console.print(f"No elements found for {tech_name}")
|
81
81
|
sys.exit(1)
|
82
|
-
tree = Tree(f"Deployed Technology Type: {tech_name}", style="bold bright_white", guide_style="bold bright_blue")
|
82
|
+
tree = Tree(f"Deployed Technology Type: {tech_name}", style="bold bright_white on black", guide_style="bold bright_blue")
|
83
83
|
note: str =" "
|
84
84
|
for element in tech_elements:
|
85
85
|
header = element['elementHeader']
|
@@ -107,7 +107,7 @@ def tech_viewer(tech_name: str, server_name:str, platform_url:str, user:str, use
|
|
107
107
|
note += (f"\t* Type: {interfaces['arrayValues']['propertyValueMap'][str(i)]['typeName']}"
|
108
108
|
f"\tName: {interfaces['arrayValues']['propertiesAsStrings'][str(i)]}\n"
|
109
109
|
)
|
110
|
-
note_md = Panel.fit(Markdown(note), style = 'bold bright_white')
|
110
|
+
note_md = Panel.fit(Markdown(note), style = 'bold bright_white on black')
|
111
111
|
t = tree.add(note_md)
|
112
112
|
|
113
113
|
else:
|
@@ -29,7 +29,7 @@ EGERIA_USER = os.environ.get('EGERIA_USER', 'erinoverview')
|
|
29
29
|
EGERIA_USER_PASSWORD = os.environ.get('EGERIA_USER_PASSWORD', 'secret')
|
30
30
|
|
31
31
|
|
32
|
-
def main():
|
32
|
+
def main(ep: str):
|
33
33
|
|
34
34
|
disable_ssl_warnings = True
|
35
35
|
console = Console(width=200)
|
@@ -40,11 +40,11 @@ def main():
|
|
40
40
|
|
41
41
|
# Define the Kafka consumer configuration.
|
42
42
|
config = {
|
43
|
-
'bootstrap.servers':
|
43
|
+
'bootstrap.servers': ep, # replace with your Kafka broker(s)
|
44
44
|
'group.id': f"view_asset_events:{current_time}", # replace with your consumer group
|
45
45
|
'auto.offset.reset': earliest_latest # can be set to 'earliest' or 'latest'
|
46
46
|
}
|
47
|
-
|
47
|
+
print(f"Kafka config is {json.dumps(config)}")
|
48
48
|
# Initialize a Kafka consumer.
|
49
49
|
consumer = Consumer(config)
|
50
50
|
|
@@ -53,7 +53,7 @@ def main():
|
|
53
53
|
|
54
54
|
try:
|
55
55
|
while True:
|
56
|
-
msg = consumer.poll(
|
56
|
+
msg = consumer.poll(2.0) # timeout set to 1 second
|
57
57
|
|
58
58
|
if msg is None:
|
59
59
|
continue
|
@@ -78,7 +78,7 @@ def main():
|
|
78
78
|
console.rule(f"\tMessage TimeStamp: {event_time}\t eventType: {event_type}\t typeName: {type_name}\t guid: {guid}")
|
79
79
|
msg = (
|
80
80
|
|
81
|
-
f"properties: \n{props}\n\n")
|
81
|
+
f"properties: \n[bright white on black]{props}\n\n")
|
82
82
|
msg = Markdown(msg)
|
83
83
|
|
84
84
|
console.print(msg)
|
@@ -87,4 +87,11 @@ def main():
|
|
87
87
|
consumer.close()
|
88
88
|
|
89
89
|
if __name__ == "__main__":
|
90
|
-
|
90
|
+
parser = argparse.ArgumentParser()
|
91
|
+
|
92
|
+
parser.add_argument("--ep", help="Endpoint to connect to")
|
93
|
+
args = parser.parse_args()
|
94
|
+
|
95
|
+
ep = args.ep if args.ep is not None else EGERIA_KAFKA_ENDPOINT
|
96
|
+
|
97
|
+
main(ep)
|
@@ -49,8 +49,11 @@ def display_status_engine_actions(server: str, url: str, user: str, user_pass:st
|
|
49
49
|
"""Make a new table."""
|
50
50
|
table = Table(
|
51
51
|
title=f"Engine Action Status for Platform {url} @ {time.asctime()}",
|
52
|
-
|
52
|
+
style="bold white on black",
|
53
|
+
row_styles=["bold white on black"],
|
53
54
|
header_style="white on dark_blue",
|
55
|
+
title_style="bold white on black",
|
56
|
+
caption_style="white on black",
|
54
57
|
show_lines=True,
|
55
58
|
box=box.ROUNDED,
|
56
59
|
caption=f"Engine Status for Server '{server}' @ Platform - {url}",
|
@@ -47,8 +47,11 @@ def display_gov_actions_status(server: str, url: str, username: str, user_pass:s
|
|
47
47
|
"""Make a new table."""
|
48
48
|
table = Table(
|
49
49
|
title=f"Governance Engine Status @ {time.asctime()}",
|
50
|
-
|
50
|
+
style="bold white on black",
|
51
|
+
row_styles=["bold white on black"],
|
51
52
|
header_style="white on dark_blue",
|
53
|
+
title_style="bold white on black",
|
54
|
+
caption_style="white on black",
|
52
55
|
show_lines=True,
|
53
56
|
box=box.ROUNDED,
|
54
57
|
caption=f"Server: '{server_name}' running on {url}",
|
@@ -44,8 +44,11 @@ def display_status(server: str, url: str, username: str, user_pass:str):
|
|
44
44
|
"""Make a new table."""
|
45
45
|
table = Table(
|
46
46
|
title=f"Server Status for Platform - {time.asctime()}",
|
47
|
-
|
47
|
+
style="bold white on black",
|
48
|
+
row_styles=["bold white on black"],
|
48
49
|
header_style="white on dark_blue",
|
50
|
+
title_style="bold white on black",
|
51
|
+
caption_style="white on black",
|
49
52
|
caption=f"Status of Platforms - '{url}'",
|
50
53
|
show_lines=True,
|
51
54
|
# expand=True
|
@@ -85,12 +88,12 @@ def display_status(server: str, url: str, username: str, user_pass:str):
|
|
85
88
|
server_type = server.get("serverType"," ")
|
86
89
|
server_status = server.get("serverActiveStatus","UNKNOWN")
|
87
90
|
if server_status in("RUNNING", "STARTING"):
|
88
|
-
status_flag = "[green]"
|
91
|
+
status_flag = "[bright green]"
|
89
92
|
elif server_status in ("INACTIVE", "STOPPING"):
|
90
|
-
status_flag = "[red]"
|
93
|
+
status_flag = "[bright red]"
|
91
94
|
else:
|
92
95
|
server_status = "UNKNOWN"
|
93
|
-
status_flag = "[yellow]"
|
96
|
+
status_flag = "[bright yellow]"
|
94
97
|
|
95
98
|
serv = f"{status_flag}{server_types[server_type]}: {server_name}\n"
|
96
99
|
server_list = server_list + serv
|
@@ -46,8 +46,11 @@ def display_status(server: str, url: str, username: str, user_pass:str):
|
|
46
46
|
"""Make a new table."""
|
47
47
|
table = Table(
|
48
48
|
title=f"Server Status for Platform - {time.asctime()}",
|
49
|
-
|
49
|
+
style="bold white on black",
|
50
|
+
row_styles=["bold white on black"],
|
50
51
|
header_style="white on dark_blue",
|
52
|
+
title_style="bold white on black",
|
53
|
+
caption_style="white on black",
|
51
54
|
caption=f"Server Status for Platform - '{url}'",
|
52
55
|
show_lines=True,
|
53
56
|
# expand=True
|
@@ -41,8 +41,11 @@ def test_display_status(server: str, url: str , username: str , user_pass:str):
|
|
41
41
|
"""Make a new table."""
|
42
42
|
table = Table(
|
43
43
|
title=f"Server Status for Platform - {time.asctime()}",
|
44
|
-
|
44
|
+
style="bold white on black",
|
45
|
+
row_styles=["bold white on black"],
|
45
46
|
header_style="white on dark_blue",
|
47
|
+
title_style="bold white on black",
|
48
|
+
caption_style="white on black",
|
46
49
|
caption=f"Server Status for Platform - '{url}'",
|
47
50
|
# show_lines=True,
|
48
51
|
)
|
@@ -1922,8 +1922,11 @@ class AutomatedCuration(Client):
|
|
1922
1922
|
return response
|
1923
1923
|
|
1924
1924
|
async def _async_add_catalog_target(self, integ_connector_guid: str, metadata_element_guid: str,
|
1925
|
-
catalog_target_name: str,
|
1926
|
-
|
1925
|
+
catalog_target_name: str, connection_name: str= None,
|
1926
|
+
metadata_src_qual_name: str = None,
|
1927
|
+
config_properties: dict = None, template_properties: dict = None,
|
1928
|
+
permitted_sync: str = "BOTH_DIRECTIONS", delete_method: str = "ARCHIVE",
|
1929
|
+
server: str = None) -> str:
|
1927
1930
|
""" Add a catalog target to an integration connector and .
|
1928
1931
|
Async version.
|
1929
1932
|
|
@@ -1935,12 +1938,21 @@ class AutomatedCuration(Client):
|
|
1935
1938
|
The specific metadata element target we want to retrieve.
|
1936
1939
|
catalog_target_name : dict
|
1937
1940
|
Name of the catalog target to add.
|
1941
|
+
connection_name: str, default = None
|
1942
|
+
Optional name of connection to use for this catalog target when multiple connections defined.
|
1938
1943
|
metadata_src_qual_name: str
|
1939
1944
|
The qualified name of the metadata source for the catalog target
|
1940
1945
|
config_properties: dict
|
1941
1946
|
Configuration properties for the catalog target
|
1947
|
+
template_properties: dict
|
1948
|
+
Template properties to pass
|
1949
|
+
permitted_sync: str, default = BOTH_DIRECTIONS
|
1950
|
+
Direction the metadata is allowed to flow (BOTH_DIRECTIONS, FROM_THIRD_PARTH, TO_THIRD_PARTY
|
1951
|
+
delete_method: str, default = ARCHIVE
|
1952
|
+
Controls the type of delete. Use ARCHIVE for lineage considerations. Alternative is SOFT_DELETE.
|
1942
1953
|
server: str, optional
|
1943
1954
|
The name of the server. If None, will use the default server specified in the instance will be used.
|
1955
|
+
|
1944
1956
|
Returns:
|
1945
1957
|
-------
|
1946
1958
|
Relationship GUID for the catalog target,
|
@@ -1959,14 +1971,21 @@ class AutomatedCuration(Client):
|
|
1959
1971
|
url = (f"{self.platform_url}/servers/{server}/api/open-metadata/automated-curation/integration-connectors/"
|
1960
1972
|
f"{integ_connector_guid}/catalog-targets/{metadata_element_guid}")
|
1961
1973
|
body = {"catalogTargetName": catalog_target_name, "metadataSourceQualifiedName": metadata_src_qual_name,
|
1962
|
-
"configProperties": config_properties
|
1974
|
+
"configProperties": config_properties, "templateProperties": template_properties,
|
1975
|
+
"connectionName": connection_name, "permittedSynchronization": permitted_sync,
|
1976
|
+
"deleteMethod": delete_method
|
1977
|
+
}
|
1978
|
+
|
1963
1979
|
response = await self._async_make_request("POST", url, body)
|
1964
1980
|
return response.json().get('guid', "No Guid returned")
|
1965
1981
|
|
1966
|
-
def add_catalog_target(self, integ_connector_guid: str, metadata_element_guid: str,
|
1967
|
-
|
1968
|
-
|
1969
|
-
|
1982
|
+
def add_catalog_target(self, integ_connector_guid: str, metadata_element_guid: str,
|
1983
|
+
catalog_target_name: str, connection_name: str= None,
|
1984
|
+
metadata_src_qual_name: str = None,
|
1985
|
+
config_properties: dict = None, template_properties: dict = None,
|
1986
|
+
permitted_sync: str = "BOTH_DIRECTIONS", delete_method: str = "ARCHIVE",
|
1987
|
+
server: str = None) -> str:
|
1988
|
+
""" Add a catalog target to an integration connector and .
|
1970
1989
|
|
1971
1990
|
Parameters:
|
1972
1991
|
----------
|
@@ -1976,15 +1995,24 @@ class AutomatedCuration(Client):
|
|
1976
1995
|
The specific metadata element target we want to retrieve.
|
1977
1996
|
catalog_target_name : dict
|
1978
1997
|
Name of the catalog target to add.
|
1998
|
+
connection_name: str, default = None
|
1999
|
+
Optional name of connection to use for this catalog target when multiple connections defined.
|
1979
2000
|
metadata_src_qual_name: str
|
1980
2001
|
The qualified name of the metadata source for the catalog target
|
1981
2002
|
config_properties: dict
|
1982
2003
|
Configuration properties for the catalog target
|
2004
|
+
template_properties: dict
|
2005
|
+
Template properties to pass
|
2006
|
+
permitted_sync: str, default = BOTH_DIRECTIONS
|
2007
|
+
Direction the metadata is allowed to flow (BOTH_DIRECTIONS, FROM_THIRD_PARTH, TO_THIRD_PARTY
|
2008
|
+
delete_method: str, default = ARCHIVE
|
2009
|
+
Controls the type of delete. Use ARCHIVE for lineage considerations. Alternative is SOFT_DELETE.
|
1983
2010
|
server: str, optional
|
1984
2011
|
The name of the server. If None, will use the default server specified in the instance will be used.
|
2012
|
+
|
1985
2013
|
Returns:
|
1986
2014
|
-------
|
1987
|
-
|
2015
|
+
Relationship GUID for the catalog target,
|
1988
2016
|
|
1989
2017
|
Raises:
|
1990
2018
|
------
|
@@ -1996,28 +2024,42 @@ class AutomatedCuration(Client):
|
|
1996
2024
|
loop = asyncio.get_event_loop()
|
1997
2025
|
response = loop.run_until_complete(
|
1998
2026
|
self._async_add_catalog_target(integ_connector_guid, metadata_element_guid, catalog_target_name,
|
1999
|
-
metadata_src_qual_name, config_properties,
|
2027
|
+
connection_name, metadata_src_qual_name, config_properties,
|
2028
|
+
template_properties, permitted_sync, delete_method,
|
2029
|
+
server))
|
2000
2030
|
return response
|
2001
2031
|
|
2002
2032
|
async def _async_update_catalog_target(self, relationship_guid: str,
|
2003
|
-
catalog_target_name: str,
|
2004
|
-
|
2033
|
+
catalog_target_name: str, connection_name: str = None,
|
2034
|
+
metadata_src_qual_name: str = None,
|
2035
|
+
config_properties: dict = None, template_properties: dict = None,
|
2036
|
+
permitted_sync: str = "BOTH_DIRECTIONS", delete_method: str = "ARCHIVE",
|
2037
|
+
server: str = None
|
2038
|
+
) -> None:
|
2005
2039
|
""" Update a catalog target to an integration connector.
|
2006
2040
|
Async version.
|
2007
2041
|
|
2008
2042
|
Parameters:
|
2009
2043
|
----------
|
2010
2044
|
relationship_guid: str
|
2011
|
-
The GUID (Globally Unique Identifier) of the
|
2012
|
-
|
2045
|
+
The GUID (Globally Unique Identifier) of the relationship used to retrieve catalog targets.
|
2013
2046
|
catalog_target_name : dict
|
2014
2047
|
Name of the catalog target to add.
|
2048
|
+
connection_name: str, default = None
|
2049
|
+
Optional name of connection to use for this catalog target when multiple connections defined.
|
2015
2050
|
metadata_src_qual_name: str
|
2016
2051
|
The qualified name of the metadata source for the catalog target
|
2017
2052
|
config_properties: dict
|
2018
2053
|
Configuration properties for the catalog target
|
2054
|
+
template_properties: dict
|
2055
|
+
Template properties to pass
|
2056
|
+
permitted_sync: str, default = BOTH_DIRECTIONS
|
2057
|
+
Direction the metadata is allowed to flow (BOTH_DIRECTIONS, FROM_THIRD_PARTH, TO_THIRD_PARTY
|
2058
|
+
delete_method: str, default = ARCHIVE
|
2059
|
+
Controls the type of delete. Use ARCHIVE for lineage considerations. Alternative is SOFT_DELETE.
|
2019
2060
|
server: str, optional
|
2020
2061
|
The name of the server. If None, will use the default server specified in the instance will be used.
|
2062
|
+
|
2021
2063
|
Returns:
|
2022
2064
|
-------
|
2023
2065
|
None
|
@@ -2035,42 +2077,49 @@ class AutomatedCuration(Client):
|
|
2035
2077
|
url = (f"{self.platform_url}/servers/{server}/api/open-metadata/automated-curation/catalog-targets/"
|
2036
2078
|
f"{relationship_guid}/update")
|
2037
2079
|
body = {"catalogTargetName": catalog_target_name, "metadataSourceQualifiedName": metadata_src_qual_name,
|
2038
|
-
"configProperties": config_properties
|
2039
|
-
|
2080
|
+
"configProperties": config_properties, "templateProperties": template_properties,
|
2081
|
+
"connectionName": connection_name, "permittedSynchronization": permitted_sync,
|
2082
|
+
"deleteMethod": delete_method
|
2083
|
+
}
|
2084
|
+
await self._async_make_request("POST", url, body)
|
2040
2085
|
return
|
2041
2086
|
|
2042
|
-
def update_catalog_target(self, relationship_guid: str,
|
2043
|
-
|
2044
|
-
|
2045
|
-
|
2087
|
+
def update_catalog_target(self, relationship_guid: str,
|
2088
|
+
catalog_target_name: str, connection_name: str = None,
|
2089
|
+
metadata_src_qual_name: str = None,
|
2090
|
+
config_properties: dict = None, template_properties: dict = None,
|
2091
|
+
permitted_sync: str = "BOTH_DIRECTIONS", delete_method: str = "ARCHIVE",
|
2092
|
+
server: str = None
|
2093
|
+
) -> None:
|
2094
|
+
""" Update a catalog target to an integration connector.
|
2046
2095
|
|
2047
|
-
|
2048
|
-
|
2049
|
-
|
2050
|
-
|
2051
|
-
|
2052
|
-
|
2053
|
-
|
2054
|
-
|
2055
|
-
|
2056
|
-
|
2057
|
-
|
2058
|
-
|
2059
|
-
|
2060
|
-
|
2061
|
-
|
2096
|
+
Parameters:
|
2097
|
+
----------
|
2098
|
+
relationship_guid: str
|
2099
|
+
The GUID (Globally Unique Identifier) of the relationship used to retrieve catalog targets.
|
2100
|
+
catalog_target_name : dict
|
2101
|
+
Name of the catalog target to add.
|
2102
|
+
connection_name: str, default = None
|
2103
|
+
Optional name of connection to use for this catalog target when multiple connections defined.
|
2104
|
+
metadata_src_qual_name: str
|
2105
|
+
The qualified name of the metadata source for the catalog target
|
2106
|
+
config_properties: dict
|
2107
|
+
Configuration properties for the catalog target
|
2108
|
+
template_properties: dict
|
2109
|
+
Template properties to pass
|
2110
|
+
permitted_sync: str, default = BOTH_DIRECTIONS
|
2111
|
+
Direction the metadata is allowed to flow (BOTH_DIRECTIONS, FROM_THIRD_PARTH, TO_THIRD_PARTY
|
2112
|
+
delete_method: str, default = ARCHIVE
|
2113
|
+
Controls the type of delete. Use ARCHIVE for lineage considerations. Alternative is SOFT_DELETE.
|
2114
|
+
server: str, optional
|
2115
|
+
"""
|
2062
2116
|
|
2063
|
-
Raises:
|
2064
|
-
------
|
2065
|
-
InvalidParameterException: If the API response indicates an error (non-200 status code),
|
2066
|
-
this exception is raised with details from the response content.
|
2067
|
-
PropertyServerException: If the API response indicates a server side error.
|
2068
|
-
UserNotAuthorizedException:
|
2069
|
-
"""
|
2070
2117
|
loop = asyncio.get_event_loop()
|
2071
2118
|
loop.run_until_complete(
|
2072
2119
|
self._async_update_catalog_target(relationship_guid, catalog_target_name,
|
2073
|
-
metadata_src_qual_name,
|
2120
|
+
connection_name,metadata_src_qual_name,
|
2121
|
+
config_properties, template_properties,permitted_sync,
|
2122
|
+
delete_method,server))
|
2074
2123
|
return
|
2075
2124
|
|
2076
2125
|
async def _async_remove_catalog_target(self, relationship_guid: str, server: str = None) -> None:
|
@@ -2,33 +2,33 @@ 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/list_assets.py,sha256=
|
5
|
+
examples/widgets/catalog_user/list_assets.py,sha256=rHa94xmFCuHQzCbqnAWr0cXujgeDnW5cMROmmuAI_0g,4800
|
6
6
|
examples/widgets/catalog_user/view_asset_graph.py,sha256=vVJ3p30zU_jrQXqRFjUzs-XdRJWaaVSuFUsZSt_D4Cg,10561
|
7
|
-
examples/widgets/catalog_user/view_collection.py,sha256=
|
8
|
-
examples/widgets/catalog_user/view_glossary.py,sha256=
|
7
|
+
examples/widgets/catalog_user/view_collection.py,sha256=JVf31zL01JH2k5gry4RF2zFCSyuYmu2TS2KuCmgxi7s,4353
|
8
|
+
examples/widgets/catalog_user/view_glossary.py,sha256=j5rc31aYDAWHwj-f6ScZb2eJvfJlN7Xltjp31GQ2RoY,5116
|
9
9
|
examples/widgets/developer/README.md,sha256=nxDnfr3BCiGgW5G1VxWxiwUWJXIe5wreNuUeRyIt_hY,1343
|
10
10
|
examples/widgets/developer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
11
|
-
examples/widgets/developer/get_guid_info.py,sha256=
|
12
|
-
examples/widgets/developer/get_tech_details.py,sha256=
|
13
|
-
examples/widgets/developer/list_asset_types.py,sha256=
|
14
|
-
examples/widgets/developer/list_registered_services.py,sha256=
|
15
|
-
examples/widgets/developer/list_relationship_types.py,sha256=
|
16
|
-
examples/widgets/developer/list_tech_templates.py,sha256=
|
17
|
-
examples/widgets/developer/list_tech_types.py,sha256=
|
18
|
-
examples/widgets/developer/list_valid_metadata_values.py,sha256=
|
11
|
+
examples/widgets/developer/get_guid_info.py,sha256=Ci58hIFUDWY8z_yHIN7fghGs6VM410_8-iaMRcbeThc,3593
|
12
|
+
examples/widgets/developer/get_tech_details.py,sha256=MIwbopr4hLBwxCd_zWBm7MS8XOuuxxhizXsSDwSvR7U,5405
|
13
|
+
examples/widgets/developer/list_asset_types.py,sha256=aHueMCVHmvrn331kgFrEzvTOxBf0dUIt7PZhQEvTqfY,3897
|
14
|
+
examples/widgets/developer/list_registered_services.py,sha256=LziqjzXshNcpZvha4nm5_NIHfAmD44kudzDMmQHHvd0,6047
|
15
|
+
examples/widgets/developer/list_relationship_types.py,sha256=uRiLTy4Gk1Cryxvqj5Bo8f-Ll55SMC_XEzm8TsH0JqQ,5340
|
16
|
+
examples/widgets/developer/list_tech_templates.py,sha256=ldwI834WecQAWyAgqL7_7hxqzX7FnjhzHne3TIWy_Z4,5882
|
17
|
+
examples/widgets/developer/list_tech_types.py,sha256=b7zRg79c_x1kCGNT2HlcemCyuVKii7Z4KVZpHOxLgAQ,4302
|
18
|
+
examples/widgets/developer/list_valid_metadata_values.py,sha256=HIWV5nA5KoKhGrF4smF_gNAo0H_iBwCWr06-_o9XpyA,5722
|
19
19
|
examples/widgets/operational/README.md,sha256=PJsSDcvMv6E6og6y-cwvxFX5lhCII0UCwgKiM1T17MQ,1595
|
20
20
|
examples/widgets/operational/__init__.py,sha256=8ebdyTD7i-XXyZr0vDx6jnXalE6QjhCvu7n6YXxwgL0,112
|
21
|
-
examples/widgets/operational/get_tech_type_elements.py,sha256=
|
22
|
-
examples/widgets/operational/get_tech_type_template.py,sha256=
|
21
|
+
examples/widgets/operational/get_tech_type_elements.py,sha256=_wSZOShJ17kuMlgh8xC-iAzByi1A0JeB4cmEiAL87M0,5846
|
22
|
+
examples/widgets/operational/get_tech_type_template.py,sha256=qIb-JYcoI_YR7NHUKH7TSdq56QI1H4QuyqWTvldNKNo,5866
|
23
23
|
examples/widgets/operational/refresh_integration_daemon.py,sha256=7GF_xzO83nhvTaxJR2DMI7fsHg6TA4xaIy7z8YNbSlk,2274
|
24
|
-
examples/widgets/operational/view_asset_events.py,sha256=
|
24
|
+
examples/widgets/operational/view_asset_events.py,sha256=XagfKloRfoeKO8-YOGBWJ4IPFdlUOB35tFmWJSDAbpg,3662
|
25
25
|
examples/widgets/operational/view_coco_status.py,sha256=QloMgVcXL2Fx2XHyk71PKCwmzRfc_Q_cAvpyomcYi_Y,3322
|
26
|
-
examples/widgets/operational/view_eng_action_status.py,sha256=
|
27
|
-
examples/widgets/operational/view_gov_eng_status.py,sha256=
|
26
|
+
examples/widgets/operational/view_eng_action_status.py,sha256=Qj3ySRG58rsYFyFzgyxsHUMLclSMG3Qn3WQG2ERknMs,6108
|
27
|
+
examples/widgets/operational/view_gov_eng_status.py,sha256=6HI_cp_cOPptWYQ5WMoDdWctwwfzTqYLmJMOoIGb6ec,4543
|
28
28
|
examples/widgets/operational/view_integ_daemon_status.py,sha256=jJouL-pePUL5EIm0LvpSd8lcRXqAsKa1GuP5qkFOj_M,7061
|
29
|
-
examples/widgets/operational/view_platform_status.py,sha256=
|
30
|
-
examples/widgets/operational/view_server_list.py,sha256=
|
31
|
-
examples/widgets/operational/view_server_status.py,sha256=
|
29
|
+
examples/widgets/operational/view_platform_status.py,sha256=T4wS4wZAvzZ6GUmd1slNNfCFa9nSddxQH9sJeMly8dg,5659
|
30
|
+
examples/widgets/operational/view_server_list.py,sha256=nOPeMjUAxMqfv0aq5zZtgkKa5Yqo6wXdC3nImQQNRmI,4317
|
31
|
+
examples/widgets/operational/view_server_status.py,sha256=rjVMacuwTLwKZ_bmZ_2TkyZTY2QpiMRZM3MCX3ERHMc,4016
|
32
32
|
examples/widgets/personal_organizer/README.md,sha256=ZheFhj_VoPMhcWjW3pGchHB0vH_A9PklSmrSkzKdrcQ,844
|
33
33
|
examples/widgets/personal_organizer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
34
34
|
examples/widgets/personal_organizer/get_my_profile.py,sha256=Xt2anVXadJdJDgmCJEb0I_rRfcZ44mMM0ltRrA9KZJM,4843
|
@@ -46,7 +46,7 @@ pyegeria/_globals.py,sha256=DF6851qHPpoDrY4w5JGmT-8zmMfVXf9MMG6nKlu-BYM,616
|
|
46
46
|
pyegeria/_validators.py,sha256=DQuMsATRGxGSBtOrVtXlCgWXGhj6Nh-uqPtCsrUGLxk,12703
|
47
47
|
pyegeria/action_author_omvs.py,sha256=m0wsfmyO-VxRDaPpACeIDw8eVAFu3RVbo45RPCUel9M,6340
|
48
48
|
pyegeria/asset_catalog_omvs.py,sha256=Y-Eh0k-zkJNOChVlLbC2bsTSBVLWhk-0-ewCV4YlyDY,25802
|
49
|
-
pyegeria/automated_curation_omvs.py,sha256=
|
49
|
+
pyegeria/automated_curation_omvs.py,sha256=jArTmCh7n3XDSc2ozoh6qftaqh2k2_U03JVQPv0bH5M,121625
|
50
50
|
pyegeria/collection_manager_omvs.py,sha256=IyGCbqx2Blm0OwCsC2071EeoNWHXyWGl_6pEtacizAs,112642
|
51
51
|
pyegeria/core_guids.py,sha256=JKziCsKhklbWRramQ0orRMNTudJXYB721a32TJegBl4,4320
|
52
52
|
pyegeria/core_omag_server_config.py,sha256=16ld7aBTgO3gGhvFs-_yzwqPsatdCAiKYi005_2evZU,93096
|
@@ -63,8 +63,8 @@ pyegeria/server_operations.py,sha256=hEaU6YC0iNEQFvcXYvcE4J6BQKlqMJk33nViCNIEBE4
|
|
63
63
|
pyegeria/tech_guids_22-07-2024 13:22.py,sha256=nsjPrCDf9gohdw3LRcO5-uwzBN_nMB7Re_vtDJIgaIY,4643
|
64
64
|
pyegeria/utils.py,sha256=f8isUaKDy-GJxhwswWgP_bw6q1CUzBUNVcCtin8N1cA,5433
|
65
65
|
pyegeria/valid_metadata_omvs.py,sha256=aisdRodIwJSkyArAzfm_sEnBELh69xE8k4Nea-vHu8M,36745
|
66
|
-
pyegeria-0.5.5.
|
67
|
-
pyegeria-0.5.5.
|
68
|
-
pyegeria-0.5.5.
|
69
|
-
pyegeria-0.5.5.
|
70
|
-
pyegeria-0.5.5.
|
66
|
+
pyegeria-0.5.5.23.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
67
|
+
pyegeria-0.5.5.23.dist-info/METADATA,sha256=UjZwgPTlMMELgqWNN54aOZd46hvpKpAFNCKqLeznlPQ,2612
|
68
|
+
pyegeria-0.5.5.23.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
69
|
+
pyegeria-0.5.5.23.dist-info/entry_points.txt,sha256=WgNY6OkZlWQ5uwE_qtyfVyuOX-dnOKyH0cW2JlKRIJ0,2038
|
70
|
+
pyegeria-0.5.5.23.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|