pyegeria 0.8.4.8__py3-none-any.whl → 0.8.4.9__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.
- {pyegeria-0.8.4.8.dist-info → pyegeria-0.8.4.9.dist-info}/METADATA +1 -1
- {pyegeria-0.8.4.8.dist-info → pyegeria-0.8.4.9.dist-info}/RECORD +5 -24
- examples/doc_samples/Create_Collection_Sample.py +0 -320
- examples/doc_samples/Create_Sustainability_Collection_Sample.py +0 -149
- examples/widgets/ops/README.md +0 -24
- examples/widgets/ops/__init__.py +0 -19
- examples/widgets/ops/engine_actions.py +0 -83
- examples/widgets/ops/integration_daemon_actions.py +0 -139
- examples/widgets/ops/list_catalog_targets.py +0 -157
- examples/widgets/ops/load_archive.py +0 -62
- examples/widgets/ops/monitor_asset_events.py +0 -102
- examples/widgets/ops/monitor_coco_status.py +0 -103
- examples/widgets/ops/monitor_engine_activity.py +0 -236
- examples/widgets/ops/monitor_engine_activity_c.py +0 -253
- examples/widgets/ops/monitor_gov_eng_status.py +0 -188
- examples/widgets/ops/monitor_integ_daemon_status.py +0 -256
- examples/widgets/ops/monitor_platform_status.py +0 -176
- examples/widgets/ops/monitor_server_list.py +0 -140
- examples/widgets/ops/monitor_server_status.py +0 -109
- examples/widgets/ops/refresh_integration_daemon.py +0 -73
- examples/widgets/ops/restart_integration_daemon.py +0 -73
- {pyegeria-0.8.4.8.dist-info → pyegeria-0.8.4.9.dist-info}/LICENSE +0 -0
- {pyegeria-0.8.4.8.dist-info → pyegeria-0.8.4.9.dist-info}/WHEEL +0 -0
- {pyegeria-0.8.4.8.dist-info → pyegeria-0.8.4.9.dist-info}/entry_points.txt +0 -0
@@ -1,5 +1,3 @@
|
|
1
|
-
examples/doc_samples/Create_Collection_Sample.py,sha256=ibKo0wNaF1D1s8XNR37508bZBRq7aaxKjdIdme-JzcE,11071
|
2
|
-
examples/doc_samples/Create_Sustainability_Collection_Sample.py,sha256=adM5lYFIodAhu91ece1aXz322MTP4ZKCjqIFbs4Ldcc,4232
|
3
1
|
examples/widgets/cat/README.md,sha256=-aaAnIT2fcfU63vajgB-RzQk4l4yFdhkyVfSaTPiqRY,967
|
4
2
|
examples/widgets/cat/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
5
3
|
examples/widgets/cat/get_asset_graph.py,sha256=5YwgV4D1_R9pptPJuIFbPOjWpZBnfPiEan33_To75TE,11194
|
@@ -32,23 +30,6 @@ examples/widgets/my/monitor_my_todos.py,sha256=YiwyQgtA7YsfW4-Ps-1ymvFjRqp-Egubv
|
|
32
30
|
examples/widgets/my/monitor_open_todos.py,sha256=KDrAjdLPP3j0K9Y3G95BIgr51ktTx3mMlKydLFDF2YQ,5466
|
33
31
|
examples/widgets/my/my_profile_actions.py,sha256=ytPBLw7_UgYCv1ljxxHtaDCNG65djKZdfMYF6wFpEtU,4138
|
34
32
|
examples/widgets/my/todo_actions.py,sha256=uihltirrAPtwYNygnNBAVWgfS0W7acoETz1_h3XW_4o,8369
|
35
|
-
examples/widgets/ops/README.md,sha256=PJsSDcvMv6E6og6y-cwvxFX5lhCII0UCwgKiM1T17MQ,1595
|
36
|
-
examples/widgets/ops/__init__.py,sha256=SCfzF3-aMx8EpqLWmH7JQf13gTmMAtHRbg69oseLvi8,480
|
37
|
-
examples/widgets/ops/engine_actions.py,sha256=rxtCacBTdu6qHAXIvv7KfKZIpfj9-B3Uap1Qy-x7hF4,3013
|
38
|
-
examples/widgets/ops/integration_daemon_actions.py,sha256=Xib8HXh1rM3Wznn1Db3qbEjQ8QvkJyCx-jXoSfruIt8,4140
|
39
|
-
examples/widgets/ops/list_catalog_targets.py,sha256=0FIZqZu7DSh7tnrme6EOhNiVvK8wyvN1iTZKEDuwTmw,6620
|
40
|
-
examples/widgets/ops/load_archive.py,sha256=duf3wq2ANRBiOj9KTFsw8TseEkJLKdzITAeTCjsMvI0,2453
|
41
|
-
examples/widgets/ops/monitor_asset_events.py,sha256=cjdlVqE0XYnoRW3aorNbsVkjByDXefPBnllaZLelGls,3838
|
42
|
-
examples/widgets/ops/monitor_coco_status.py,sha256=ERz3OJ0TXImNKHGD4gJvgT3pl2gS23ewAdUuYVLUhEE,3299
|
43
|
-
examples/widgets/ops/monitor_engine_activity.py,sha256=m18OSnRoo5ut0WKKOWNoFGXJW_npjp6hzHK3RUQG8T0,8479
|
44
|
-
examples/widgets/ops/monitor_engine_activity_c.py,sha256=rSEUD3elhsiYdUhQRn613OM_R4VecFb0uq39MhYhltQ,9371
|
45
|
-
examples/widgets/ops/monitor_gov_eng_status.py,sha256=77B9KgFmFkFhthtgqIqNRAxylfWhkbIVFd8Q0rOEAnU,6640
|
46
|
-
examples/widgets/ops/monitor_integ_daemon_status.py,sha256=u15-tvGveO7_yV7JJmYkxiEDnq5KBk8J4hkw0id_LFA,9224
|
47
|
-
examples/widgets/ops/monitor_platform_status.py,sha256=hn96QuOjCndSDWl1-DAzk9O8D68YoRP1ALOlVfWVQgo,6400
|
48
|
-
examples/widgets/ops/monitor_server_list.py,sha256=Uhtn8lv7QVXJBi9DSR3Nelmz8TB0vOsat10nFS6Nu20,4637
|
49
|
-
examples/widgets/ops/monitor_server_status.py,sha256=A-8hMDfbscdcq-b1OD4wKn0tphumX8WIK-Hz8uPoFkc,3974
|
50
|
-
examples/widgets/ops/refresh_integration_daemon.py,sha256=QDB3dpAlLY8PhrGhAZG4tWKzx_1R0bOOM048N68RQ4w,2712
|
51
|
-
examples/widgets/ops/restart_integration_daemon.py,sha256=fID7qGFL5RD6rfn9PgXf5kwI4MU0Ho_IGXnDVbKT5nU,2710
|
52
33
|
examples/widgets/tech/README.md,sha256=nxDnfr3BCiGgW5G1VxWxiwUWJXIe5wreNuUeRyIt_hY,1343
|
53
34
|
examples/widgets/tech/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
54
35
|
examples/widgets/tech/get_element_info.py,sha256=Rauespy7ZfyKtLh_H8XWgYTpPijsqlUGm-zeb7KrG7k,4749
|
@@ -94,8 +75,8 @@ pyegeria/runtime_manager_omvs.py,sha256=OlrJ3xO7-qYZcHS0YKWo57QLt5x_CZ1bOVcrNRlm
|
|
94
75
|
pyegeria/server_operations.py,sha256=ciH890hYT85YQ6OpByn4w7s3a7TtvWZpIG5rkRqbcI0,16766
|
95
76
|
pyegeria/utils.py,sha256=1h6bwveadd6GpbnGLTmqPBmBk68QvxdjGTI9RfbrgKY,5415
|
96
77
|
pyegeria/valid_metadata_omvs.py,sha256=6Hc4g9BOS8w1ILfTG3_A1tfIX3HLtpgZZvcC-z9GePU,36185
|
97
|
-
pyegeria-0.8.4.
|
98
|
-
pyegeria-0.8.4.
|
99
|
-
pyegeria-0.8.4.
|
100
|
-
pyegeria-0.8.4.
|
101
|
-
pyegeria-0.8.4.
|
78
|
+
pyegeria-0.8.4.9.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
79
|
+
pyegeria-0.8.4.9.dist-info/METADATA,sha256=lSFS8mD2je57f87O-s8x__QfsxERRg-1wqEzlkDg800,2819
|
80
|
+
pyegeria-0.8.4.9.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
81
|
+
pyegeria-0.8.4.9.dist-info/entry_points.txt,sha256=5Q9bDxIqPgdhd3lDnzdRSCYy9hZtNm_BL49bcmbBpGQ,3808
|
82
|
+
pyegeria-0.8.4.9.dist-info/RECORD,,
|
@@ -1,320 +0,0 @@
|
|
1
|
-
"""
|
2
|
-
SPDX-License-Identifier: Apache-2.0
|
3
|
-
Copyright Contributors to the ODPi Egeria project.
|
4
|
-
|
5
|
-
This sample creates the collection structure show in https://egeria-project.org/types/0/0021-Collections
|
6
|
-
|
7
|
-
"""
|
8
|
-
|
9
|
-
import time
|
10
|
-
|
11
|
-
from rich import print
|
12
|
-
from rich.console import Console
|
13
|
-
|
14
|
-
from pyegeria import (
|
15
|
-
CollectionManager,
|
16
|
-
InvalidParameterException,
|
17
|
-
PropertyServerException,
|
18
|
-
UserNotAuthorizedException,
|
19
|
-
)
|
20
|
-
|
21
|
-
view_server = "view-server"
|
22
|
-
platform_url = "https://localhost:9443"
|
23
|
-
user = "erinoverview"
|
24
|
-
console = Console(width=200)
|
25
|
-
|
26
|
-
try:
|
27
|
-
c_client = CollectionManager(view_server, platform_url, user_id=user)
|
28
|
-
|
29
|
-
token = c_client.create_egeria_bearer_token(user, "secret")
|
30
|
-
start_time = time.perf_counter()
|
31
|
-
|
32
|
-
# Create a Data Products Root collection
|
33
|
-
anchor_guid = None
|
34
|
-
parent_guid = None
|
35
|
-
parent_relationship_type_name = None
|
36
|
-
parent_at_end1 = False
|
37
|
-
display_name = "Digital Products Root"
|
38
|
-
description = "This is the root catalog for digital products"
|
39
|
-
collection_type = "Digital Products Root"
|
40
|
-
is_own_anchor = True
|
41
|
-
|
42
|
-
response = c_client.create_root_collection(
|
43
|
-
anchor_guid,
|
44
|
-
parent_guid,
|
45
|
-
parent_relationship_type_name,
|
46
|
-
parent_at_end1,
|
47
|
-
display_name,
|
48
|
-
description,
|
49
|
-
collection_type,
|
50
|
-
is_own_anchor,
|
51
|
-
)
|
52
|
-
# Create first folder for Agriculture Insights
|
53
|
-
parent_guid = response
|
54
|
-
parent_relationship_type_name = "CollectionMembership"
|
55
|
-
display_name = "Agriculture Insights Collection"
|
56
|
-
description = "A folder for agricultural insights data product collections"
|
57
|
-
collection_type = "Digital Product Marketplace"
|
58
|
-
|
59
|
-
folder1 = c_client.create_folder_collection(
|
60
|
-
None,
|
61
|
-
parent_guid,
|
62
|
-
parent_relationship_type_name,
|
63
|
-
True,
|
64
|
-
display_name,
|
65
|
-
description,
|
66
|
-
collection_type,
|
67
|
-
True,
|
68
|
-
"DATE_CREATED",
|
69
|
-
None,
|
70
|
-
)
|
71
|
-
print(f"\n\n created a folder with guid {folder1}")
|
72
|
-
# create second folder for Earth Observations
|
73
|
-
display_name = "Earth Observation Data Collection"
|
74
|
-
description = "A folder for Earth Observation data product collections"
|
75
|
-
|
76
|
-
folder2 = c_client.create_folder_collection(
|
77
|
-
None,
|
78
|
-
parent_guid,
|
79
|
-
parent_relationship_type_name,
|
80
|
-
True,
|
81
|
-
display_name,
|
82
|
-
description,
|
83
|
-
collection_type,
|
84
|
-
True,
|
85
|
-
"DATE_CREATED",
|
86
|
-
None,
|
87
|
-
)
|
88
|
-
print(f"\n\n created a folder with guid {folder2}")
|
89
|
-
|
90
|
-
# create a digital product, child of folder 1, for Land Use products
|
91
|
-
parent_guid = folder1
|
92
|
-
parent_relationship_type_name = "CollectionMembership"
|
93
|
-
display_name = "Land Use Classification"
|
94
|
-
description = "Land use classification assets"
|
95
|
-
collection_type = "Digital Product"
|
96
|
-
classification_name = "Digital Product"
|
97
|
-
body_3 = {
|
98
|
-
"class": "NewDigitalProductRequestBody",
|
99
|
-
"isOwnAnchor": True,
|
100
|
-
"parentGUID": parent_guid,
|
101
|
-
"parentRelationshipTypeName": parent_relationship_type_name,
|
102
|
-
"parentAtEnd1": True,
|
103
|
-
"collectionProperties": {
|
104
|
-
"class": "CollectionProperties",
|
105
|
-
"qualifiedName": f"{classification_name}-{display_name}-{time.asctime()}",
|
106
|
-
"name": display_name,
|
107
|
-
"description": description,
|
108
|
-
"collectionType": collection_type,
|
109
|
-
"collectionOrdering": "DATE_CREATED",
|
110
|
-
},
|
111
|
-
"digitalProductProperties": {
|
112
|
-
"class": "DigitalProductProperties",
|
113
|
-
"productStatus": "ACTIVE",
|
114
|
-
"productName": "Land Use Classifications",
|
115
|
-
"productType": "Geospatial Data Assets",
|
116
|
-
"description": "Land use classification assets",
|
117
|
-
"introductionDate": "2023-12-01",
|
118
|
-
"maturity": "Nacent",
|
119
|
-
"serviceLife": "3 years",
|
120
|
-
"currentVersion": "V.5",
|
121
|
-
"nextVersionDate": "2024-12-01",
|
122
|
-
"withdrawDate": "2030-01-01",
|
123
|
-
"additionalProperties": {
|
124
|
-
"thought_id": "a guid",
|
125
|
-
"license": "cc-by-sa",
|
126
|
-
},
|
127
|
-
},
|
128
|
-
}
|
129
|
-
folder3 = c_client.create_digital_product(body_3)
|
130
|
-
print(f"\n\n created a collection with guid {folder3}")
|
131
|
-
|
132
|
-
# create a fourth collection, a digital product, child of folder 2, for Landsat 8
|
133
|
-
parent_guid = folder2
|
134
|
-
display_name = "Landsat 8"
|
135
|
-
description = "Landsat 8 data products"
|
136
|
-
|
137
|
-
body_4 = {
|
138
|
-
"class": "NewDigitalProductRequestBody",
|
139
|
-
"isOwnAnchor": True,
|
140
|
-
"parentGUID": parent_guid,
|
141
|
-
"parentRelationshipTypeName": parent_relationship_type_name,
|
142
|
-
"parentAtEnd1": True,
|
143
|
-
"collectionProperties": {
|
144
|
-
"class": "CollectionProperties",
|
145
|
-
"qualifiedName": f"{classification_name}-{display_name}-{time.asctime()}",
|
146
|
-
"name": display_name,
|
147
|
-
"description": description,
|
148
|
-
"collectionType": collection_type,
|
149
|
-
"collectionOrdering": "DATE_CREATED",
|
150
|
-
},
|
151
|
-
"digitalProductProperties": {
|
152
|
-
"class": "DigitalProductProperties",
|
153
|
-
"productStatus": "ACTIVE",
|
154
|
-
"productName": "Landsat 8 Imagery",
|
155
|
-
"productType": "Geospatial Data Assets",
|
156
|
-
"description": description,
|
157
|
-
"introductionDate": "2024-01-01",
|
158
|
-
"maturity": "Mature",
|
159
|
-
"serviceLife": "3 years",
|
160
|
-
"currentVersion": "V1.5",
|
161
|
-
"nextVersion": "2024-06-01",
|
162
|
-
"withdrawDate": "2030-01-01",
|
163
|
-
"additionalProperties": {
|
164
|
-
"thought_id": "a guid",
|
165
|
-
"license": "cc-by-sa",
|
166
|
-
},
|
167
|
-
},
|
168
|
-
}
|
169
|
-
folder4 = c_client.create_digital_product(body_4)
|
170
|
-
print(f"\n\n created a collection with guid {folder4}")
|
171
|
-
|
172
|
-
# Now create a 5th collection for sentinel 2 data
|
173
|
-
parent_guid = folder2
|
174
|
-
display_name = "Sentinel 2"
|
175
|
-
description = "Sentinel 2 products"
|
176
|
-
parent_relationship_type_name = "CollectionMembership"
|
177
|
-
collection_type = "Digital Product Marketplace"
|
178
|
-
|
179
|
-
folder5 = c_client.create_folder_collection(
|
180
|
-
None,
|
181
|
-
parent_guid,
|
182
|
-
parent_relationship_type_name,
|
183
|
-
True,
|
184
|
-
display_name,
|
185
|
-
description,
|
186
|
-
collection_type,
|
187
|
-
True,
|
188
|
-
"DATE_CREATED",
|
189
|
-
None,
|
190
|
-
)
|
191
|
-
# Create a DigitalProduct for Level-1B
|
192
|
-
parent_guid = folder5
|
193
|
-
display_name = "Sentinel 2 - Level 1B"
|
194
|
-
description = "Level 1B of Sentinel 2"
|
195
|
-
|
196
|
-
body_6 = {
|
197
|
-
"class": "NewDigitalProductRequestBody",
|
198
|
-
"anchor_guid": parent_guid,
|
199
|
-
"isOwnAnchor": False,
|
200
|
-
"parentGUID": parent_guid,
|
201
|
-
"parentRelationshipTypeName": parent_relationship_type_name,
|
202
|
-
"parentAtEnd1": True,
|
203
|
-
"collectionProperties": {
|
204
|
-
"class": "CollectionProperties",
|
205
|
-
"qualifiedName": f"{classification_name}-{display_name}-{time.asctime()}",
|
206
|
-
"name": display_name,
|
207
|
-
"description": description,
|
208
|
-
"collectionType": collection_type,
|
209
|
-
"collectionOrdering": "DATE_CREATED",
|
210
|
-
},
|
211
|
-
"digitalProductProperties": {
|
212
|
-
"class": "DigitalProductProperties",
|
213
|
-
"productStatus": "ACTIVE",
|
214
|
-
"productName": "Sentinel 2 - Level 1B",
|
215
|
-
"productType": "Geospatial Data Assets",
|
216
|
-
"description": description,
|
217
|
-
"introductionDate": "2024-01-01",
|
218
|
-
"maturity": "Mature",
|
219
|
-
"serviceLife": "3 years",
|
220
|
-
"currentVersion": "V1.5",
|
221
|
-
"nextVersion": "2024-06-01",
|
222
|
-
"withdrawDate": "2030-01-01",
|
223
|
-
"additionalProperties": {
|
224
|
-
"thought_id": "a guid",
|
225
|
-
"license": "cc-by-sa",
|
226
|
-
},
|
227
|
-
},
|
228
|
-
}
|
229
|
-
folder6 = c_client.create_digital_product(body_6)
|
230
|
-
print(f"\n\n created a collection with guid {folder6}")
|
231
|
-
|
232
|
-
# now lets create a digital product for - Level - 1c
|
233
|
-
parent_guid = folder5
|
234
|
-
display_name = "Sentinel 2 - Level 1C"
|
235
|
-
description = "Level 1C of Sentinel 2"
|
236
|
-
body_7 = {
|
237
|
-
"class": "NewDigitalProductRequestBody",
|
238
|
-
"anchor_guid": parent_guid,
|
239
|
-
"isOwnAnchor": False,
|
240
|
-
"parentGUID": parent_guid,
|
241
|
-
"parentRelationshipTypeName": parent_relationship_type_name,
|
242
|
-
"parentAtEnd1": True,
|
243
|
-
"collectionProperties": {
|
244
|
-
"class": "CollectionProperties",
|
245
|
-
"qualifiedName": f"{classification_name}-{display_name}-{time.asctime()}",
|
246
|
-
"name": display_name,
|
247
|
-
"description": description,
|
248
|
-
"collectionType": collection_type,
|
249
|
-
"collectionOrdering": "DATE_CREATED",
|
250
|
-
},
|
251
|
-
"digitalProductProperties": {
|
252
|
-
"class": "DigitalProductProperties",
|
253
|
-
"productStatus": "ACTIVE",
|
254
|
-
"productName": "Sentinel 2 - Level 1B",
|
255
|
-
"productType": "Geospatial Data Assets",
|
256
|
-
"description": description,
|
257
|
-
"introductionDate": "2024-01-01",
|
258
|
-
"maturity": "Mature",
|
259
|
-
"serviceLife": "3 years",
|
260
|
-
"currentVersion": "V1.5",
|
261
|
-
"nextVersion": "2024-06-01",
|
262
|
-
"withdrawDate": "2030-01-01",
|
263
|
-
"additionalProperties": {
|
264
|
-
"thought_id": "a guid",
|
265
|
-
"license": "cc-by-sa",
|
266
|
-
},
|
267
|
-
},
|
268
|
-
}
|
269
|
-
folder7 = c_client.create_digital_product(body_7)
|
270
|
-
print(f"\n\n created a collection with guid {folder7}")
|
271
|
-
|
272
|
-
# now let's create a digital product for - Level - 2A
|
273
|
-
parent_guid = folder5
|
274
|
-
display_name = "Sentinel 2 - Level 2A"
|
275
|
-
description = "Level 2A of Sentinel 2"
|
276
|
-
body_8 = {
|
277
|
-
"class": "NewDigitalProductRequestBody",
|
278
|
-
"anchor_guid": parent_guid,
|
279
|
-
"isOwnAnchor": False,
|
280
|
-
"parentGUID": parent_guid,
|
281
|
-
"parentRelationshipTypeName": parent_relationship_type_name,
|
282
|
-
"parentAtEnd1": True,
|
283
|
-
"collectionProperties": {
|
284
|
-
"class": "CollectionProperties",
|
285
|
-
"qualifiedName": f"{classification_name}-{display_name}-{time.asctime()}",
|
286
|
-
"name": display_name,
|
287
|
-
"description": description,
|
288
|
-
"collectionType": collection_type,
|
289
|
-
"collectionOrdering": "DATE_CREATED",
|
290
|
-
},
|
291
|
-
"digitalProductProperties": {
|
292
|
-
"class": "DigitalProductProperties",
|
293
|
-
"productStatus": "ACTIVE",
|
294
|
-
"productName": "Sentinel 2 - Level 1B",
|
295
|
-
"productType": "Geospatial Data Assets",
|
296
|
-
"description": description,
|
297
|
-
"introductionDate": "2024-01-01",
|
298
|
-
"maturity": "Mature",
|
299
|
-
"serviceLife": "3 years",
|
300
|
-
"currentVersion": "V1.5",
|
301
|
-
"nextVersion": "2024-06-01",
|
302
|
-
"withdrawDate": "2030-01-01",
|
303
|
-
"additionalProperties": {
|
304
|
-
"thought_id": "a guid",
|
305
|
-
"license": "cc-by-sa",
|
306
|
-
},
|
307
|
-
},
|
308
|
-
}
|
309
|
-
folder8 = c_client.create_digital_product(body_8)
|
310
|
-
print(f"\n\n created a collection with guid {folder8}")
|
311
|
-
|
312
|
-
except (
|
313
|
-
InvalidParameterException,
|
314
|
-
PropertyServerException,
|
315
|
-
UserNotAuthorizedException,
|
316
|
-
) as e:
|
317
|
-
console.print_exception(show_locals=True)
|
318
|
-
|
319
|
-
finally:
|
320
|
-
c_client.close_session()
|
@@ -1,149 +0,0 @@
|
|
1
|
-
"""
|
2
|
-
SPDX-License-Identifier: Apache-2.0
|
3
|
-
Copyright Contributors to the ODPi Egeria project.
|
4
|
-
|
5
|
-
This sample creates a collection structure for a sustainability reporting project. It is
|
6
|
-
simplistic but shows how we can set up a collection hierarchy that can hold different kinds of
|
7
|
-
assets.
|
8
|
-
|
9
|
-
"""
|
10
|
-
|
11
|
-
import time
|
12
|
-
|
13
|
-
from rich import print
|
14
|
-
from rich.console import Console
|
15
|
-
|
16
|
-
from pyegeria import (
|
17
|
-
CollectionManager,
|
18
|
-
InvalidParameterException,
|
19
|
-
PropertyServerException,
|
20
|
-
UserNotAuthorizedException,
|
21
|
-
)
|
22
|
-
|
23
|
-
view_server = "view-server"
|
24
|
-
platform_url = "https://localhost:9443"
|
25
|
-
user = "erinoverview"
|
26
|
-
console = Console()
|
27
|
-
|
28
|
-
try:
|
29
|
-
c_client = CollectionManager(view_server, platform_url, user_id=user)
|
30
|
-
|
31
|
-
token = c_client.create_egeria_bearer_token(user, "secret")
|
32
|
-
start_time = time.perf_counter()
|
33
|
-
|
34
|
-
# Create a root collection for the sustainability project
|
35
|
-
parent_guid = None
|
36
|
-
parent_relationship_type_name = None
|
37
|
-
display_name = "Root Sustainability Collection"
|
38
|
-
description = "The root collection for our sustainability reporting project."
|
39
|
-
collection_type = "Sustainability Collection"
|
40
|
-
|
41
|
-
root = c_client.create_root_collection(
|
42
|
-
None,
|
43
|
-
parent_guid,
|
44
|
-
parent_relationship_type_name,
|
45
|
-
False,
|
46
|
-
display_name,
|
47
|
-
description,
|
48
|
-
collection_type,
|
49
|
-
True,
|
50
|
-
)
|
51
|
-
print(f"\n\n created a root with guid {root}")
|
52
|
-
# create a folder for Scope 1 Emissions
|
53
|
-
anchor_guid = root
|
54
|
-
parent_guid = root
|
55
|
-
parent_relationship_type_name = "CollectionMembership"
|
56
|
-
display_name = "Scope 1 Emissions"
|
57
|
-
description = "A folder for information about scope 1 emissions."
|
58
|
-
collection_type = "Sustainability Collection"
|
59
|
-
|
60
|
-
scope1_folder = c_client.create_folder_collection(
|
61
|
-
anchor_guid,
|
62
|
-
parent_guid,
|
63
|
-
parent_relationship_type_name,
|
64
|
-
True,
|
65
|
-
display_name,
|
66
|
-
description,
|
67
|
-
collection_type,
|
68
|
-
False,
|
69
|
-
"DATE_CREATED",
|
70
|
-
None,
|
71
|
-
)
|
72
|
-
print(f"\n\n created scope1_folder with guid {scope1_folder}")
|
73
|
-
|
74
|
-
# create a folder for Scope 2 Emissions.
|
75
|
-
anchor_guid = root
|
76
|
-
parent_guid = root
|
77
|
-
parent_relationship_type_name = "CollectionMembership"
|
78
|
-
display_name = "Scope 2 Emissions"
|
79
|
-
description = "A folder for information about scope 2 emissions."
|
80
|
-
collection_type = "Sustainability Collection"
|
81
|
-
|
82
|
-
scope2_folder = c_client.create_folder_collection(
|
83
|
-
anchor_guid,
|
84
|
-
parent_guid,
|
85
|
-
parent_relationship_type_name,
|
86
|
-
True,
|
87
|
-
display_name,
|
88
|
-
description,
|
89
|
-
collection_type,
|
90
|
-
False,
|
91
|
-
"DATE_CREATED",
|
92
|
-
None,
|
93
|
-
)
|
94
|
-
print(f"\n\n created scope2_folder with guid {scope2_folder}")
|
95
|
-
|
96
|
-
# create a folder for Scope 3 Emissions.
|
97
|
-
anchor_guid = root
|
98
|
-
parent_guid = root
|
99
|
-
parent_relationship_type_name = "CollectionMembership"
|
100
|
-
display_name = "Scope 3 Emissions"
|
101
|
-
description = "A folder for information about scope 3 emissions."
|
102
|
-
collection_type = "Sustainability Collection"
|
103
|
-
|
104
|
-
scope3_folder = c_client.create_folder_collection(
|
105
|
-
anchor_guid,
|
106
|
-
parent_guid,
|
107
|
-
parent_relationship_type_name,
|
108
|
-
True,
|
109
|
-
display_name,
|
110
|
-
description,
|
111
|
-
collection_type,
|
112
|
-
False,
|
113
|
-
"DATE_CREATED",
|
114
|
-
None,
|
115
|
-
)
|
116
|
-
print(f"\n\n created scope3_folder with guid {scope3_folder}")
|
117
|
-
|
118
|
-
# create a folder for Business Travel Emissions.
|
119
|
-
anchor_guid = root
|
120
|
-
parent_guid = scope3_folder
|
121
|
-
parent_relationship_type_name = "CollectionMembership"
|
122
|
-
display_name = "Business Travel Emissions"
|
123
|
-
description = "A folder for information about scope 3 business travel emissions."
|
124
|
-
collection_type = "Sustainability Collection"
|
125
|
-
|
126
|
-
travel_folder = c_client.create_folder_collection(
|
127
|
-
anchor_guid,
|
128
|
-
parent_guid,
|
129
|
-
parent_relationship_type_name,
|
130
|
-
True,
|
131
|
-
display_name,
|
132
|
-
description,
|
133
|
-
collection_type,
|
134
|
-
False,
|
135
|
-
"DATE_CREATED",
|
136
|
-
None,
|
137
|
-
)
|
138
|
-
print(f"\n\n created travel_folder with guid {travel_folder}")
|
139
|
-
|
140
|
-
|
141
|
-
except (
|
142
|
-
InvalidParameterException,
|
143
|
-
PropertyServerException,
|
144
|
-
UserNotAuthorizedException,
|
145
|
-
) as e:
|
146
|
-
console.print_exception(show_locals=True)
|
147
|
-
|
148
|
-
finally:
|
149
|
-
c_client.close_session()
|
examples/widgets/ops/README.md
DELETED
@@ -1,24 +0,0 @@
|
|
1
|
-
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
|
2
|
-
<!-- Copyright Contributors to the Egeria project. -->
|
3
|
-
|
4
|
-
# Operational
|
5
|
-
|
6
|
-
These widgets display different kinds of information useful to monitor the status of different elements of an Egeria deployment.
|
7
|
-
Widgets will continue to be added over time to cover more facets of catalog use.
|
8
|
-
|
9
|
-
* get_eng_action_status.py - lists assets containing the user provided search string in the display name or qualified name. Search string must be a minimum of three characters.
|
10
|
-
* get_tech_type_elements.py - shows a tree view for the details of a supported technology type.
|
11
|
-
* get_tech_type_template.py - shows a tree view of the template associated with a supported technology type.
|
12
|
-
* view_coco_status.py - provides a tree view of a collection with all nested collections and items within the collection.
|
13
|
-
* view_eng_action_status.py - provides a live view of the status of engine actions.
|
14
|
-
* view_gov_eng_status.py - provides a live view of a governance engine status.
|
15
|
-
* view_integ_daemeon_status.py - provides a live view of an integration daemon status.
|
16
|
-
* view_platform_status.py - provides a live status view of the known servers on known platforms.
|
17
|
-
* view_server_list.py - provides a more detailed live status view of the servers on a single platform.
|
18
|
-
* view_server_status.py - provides a minimal live status view of the servers on a single platform.
|
19
|
-
* view_asset_changes.py - experiment in progress
|
20
|
-
* view_asset_events.py - experiment in progress
|
21
|
-
|
22
|
-
----
|
23
|
-
License: [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/),
|
24
|
-
Copyright Contributors to the Egeria project.
|
examples/widgets/ops/__init__.py
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
"""
|
2
|
-
SPDX-License-Identifier: Apache-2.0
|
3
|
-
Copyright Contributors to the ODPi Egeria project.
|
4
|
-
|
5
|
-
|
6
|
-
"""
|
7
|
-
import pyegeria
|
8
|
-
# from .ops_config import Config
|
9
|
-
|
10
|
-
# import monitor_gov_eng_status
|
11
|
-
# import monitor_server_status
|
12
|
-
# import monitor_server_list
|
13
|
-
# import monitor_integ_daemon_status
|
14
|
-
# import monitor_platform_status
|
15
|
-
# import monitor_engine_activity
|
16
|
-
# import refresh_integration_daemon
|
17
|
-
# import restart_integration_daemon
|
18
|
-
# import integration_daemon_actions
|
19
|
-
# import list_catalog_targets
|
@@ -1,83 +0,0 @@
|
|
1
|
-
"""
|
2
|
-
SPDX-License-Identifier: Apache-2.0
|
3
|
-
Copyright Contributors to the ODPi Egeria project.
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
Execute engine actions.
|
8
|
-
|
9
|
-
"""
|
10
|
-
import os
|
11
|
-
|
12
|
-
import click
|
13
|
-
|
14
|
-
# from ops_config import Config, pass_config
|
15
|
-
from pyegeria import Platform
|
16
|
-
from pyegeria._exceptions import (
|
17
|
-
InvalidParameterException,
|
18
|
-
PropertyServerException,
|
19
|
-
print_exception_response,
|
20
|
-
)
|
21
|
-
|
22
|
-
GERIA_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_INTEGRATION_DAEMON_URL = os.environ.get(
|
31
|
-
"EGERIA_INTEGRATION_DAEMON_URL", "https://localhost:9443"
|
32
|
-
)
|
33
|
-
EGERIA_ADMIN_USER = os.environ.get("ADMIN_USER", "garygeeke")
|
34
|
-
EGERIA_ADMIN_PASSWORD = os.environ.get("ADMIN_PASSWORD", "secret")
|
35
|
-
EGERIA_USER = os.environ.get("EGERIA_USER", "erinoverview")
|
36
|
-
EGERIA_USER_PASSWORD = os.environ.get("EGERIA_USER_PASSWORD", "secret")
|
37
|
-
|
38
|
-
|
39
|
-
@click.command("stop")
|
40
|
-
@click.option(
|
41
|
-
"--server", default=EGERIA_VIEW_SERVER, help="Egeria metadata store to load"
|
42
|
-
)
|
43
|
-
@click.option(
|
44
|
-
"--url", default=EGERIA_VIEW_SERVER_URL, help="URL of Egeria platform to connect to"
|
45
|
-
)
|
46
|
-
@click.option("--userid", default=EGERIA_ADMIN_USER, help="Egeria admin user")
|
47
|
-
@click.option("--password", default=EGERIA_ADMIN_PASSWORD, help="Egeria admin password")
|
48
|
-
@click.option("--timeout", default=60, help="Number of seconds to wait")
|
49
|
-
def stop_daemon(file, server, url, userid, password, timeout):
|
50
|
-
"""Stop an engine-host daemon"""
|
51
|
-
p_client = Platform(server, url, userid, password)
|
52
|
-
try:
|
53
|
-
p_client.shutdown_server()
|
54
|
-
|
55
|
-
click.echo(f"Stopped server {server}")
|
56
|
-
except (InvalidParameterException, PropertyServerException) as e:
|
57
|
-
print_exception_response(e)
|
58
|
-
finally:
|
59
|
-
p_client.close_session()
|
60
|
-
|
61
|
-
|
62
|
-
@click.command("start")
|
63
|
-
@click.option(
|
64
|
-
"--server", default=EGERIA_VIEW_SERVER, help="Egeria metadata store to load"
|
65
|
-
)
|
66
|
-
@click.option(
|
67
|
-
"--url", default=EGERIA_VIEW_SERVER_URL, help="URL of Egeria platform to connect to"
|
68
|
-
)
|
69
|
-
@click.option("--userid", default=EGERIA_ADMIN_USER, help="Egeria admin user")
|
70
|
-
@click.option("--password", default=EGERIA_ADMIN_PASSWORD, help="Egeria admin password")
|
71
|
-
@click.option("--timeout", default=60, help="Number of seconds to wait")
|
72
|
-
def start_daemon(file, server, url, userid, password, timeout):
|
73
|
-
"""Start or restart an engine-host from its known configuration"""
|
74
|
-
p_client = Platform(server, url, userid, password)
|
75
|
-
try:
|
76
|
-
p_client.activate_server_stored_config()
|
77
|
-
|
78
|
-
click.echo(f"Started server {server}")
|
79
|
-
|
80
|
-
except (InvalidParameterException, PropertyServerException) as e:
|
81
|
-
print_exception_response(e)
|
82
|
-
finally:
|
83
|
-
p_client.close_session()
|