pyegeria 5.4.8__py3-none-any.whl → 5.4.8.3__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.
- md_processing/__init__.py +2 -1
- md_processing/data/commands.json +59579 -52198
- md_processing/dr_egeria.py +7 -5
- md_processing/md_commands/solution_architect_commands.py +54 -10
- md_processing/md_processing_utils/common_md_proc_utils.py +8 -4
- md_processing/md_processing_utils/common_md_utils.py +41 -2
- pyegeria/_base_client.py +1 -17
- pyegeria/_client_new.py +1008 -323
- pyegeria/_client_new_backup.py +5359 -0
- pyegeria/_exceptions_new.py +6 -1
- pyegeria/base_report_formats.py +31 -2
- pyegeria/classification_manager.py +1430 -357
- pyegeria/collection_manager.py +52 -54
- pyegeria/config.py +1 -0
- pyegeria/data_designer.py +41 -41
- pyegeria/external_links.py +26 -26
- pyegeria/feedback_manager_omvs.py +13 -31
- pyegeria/glossary_manager.py +32 -35
- pyegeria/governance_officer.py +31 -31
- pyegeria/output_formatter.py +36 -11
- pyegeria/output_formatter_with_machine_keys.py +1127 -0
- pyegeria/project_manager.py +21 -21
- pyegeria/reference_data.py +2 -2
- pyegeria/solution_architect.py +112 -91
- {pyegeria-5.4.8.dist-info → pyegeria-5.4.8.3.dist-info}/METADATA +6 -5
- {pyegeria-5.4.8.dist-info → pyegeria-5.4.8.3.dist-info}/RECORD +30 -29
- pyegeria/md_processing_utils_orig.py +0 -1103
- {pyegeria-5.4.8.dist-info → pyegeria-5.4.8.3.dist-info}/WHEEL +0 -0
- {pyegeria-5.4.8.dist-info → pyegeria-5.4.8.3.dist-info}/entry_points.txt +0 -0
- {pyegeria-5.4.8.dist-info → pyegeria-5.4.8.3.dist-info}/licenses/LICENSE +0 -0
- {pyegeria-5.4.8.dist-info → pyegeria-5.4.8.3.dist-info}/top_level.txt +0 -0
pyegeria/data_designer.py
CHANGED
|
@@ -16,7 +16,7 @@ from pyegeria.base_report_formats import select_report_spec, get_report_spec_mat
|
|
|
16
16
|
from pyegeria.models import (SearchStringRequestBody, FilterRequestBody, GetRequestBody, NewElementRequestBody,
|
|
17
17
|
TemplateRequestBody,
|
|
18
18
|
UpdateElementRequestBody, NewRelationshipRequestBody,
|
|
19
|
-
|
|
19
|
+
DeleteElementRequestBody, DeleteRelationshipRequestBody)
|
|
20
20
|
from pyegeria.output_formatter import (extract_mermaid_only, extract_basic_dict, populate_columns_from_properties,
|
|
21
21
|
get_required_relationships, populate_common_columns)
|
|
22
22
|
from pyegeria.output_formatter import (generate_output,
|
|
@@ -579,7 +579,7 @@ class DataDesigner(Client2):
|
|
|
579
579
|
|
|
580
580
|
@dynamic_catch
|
|
581
581
|
async def _async_detach_member_data_field(self, parent_data_struct_guid: str, member_data_field_guid: str,
|
|
582
|
-
body: dict |
|
|
582
|
+
body: dict | DeleteRelationshipRequestBody = None,
|
|
583
583
|
cascade_delete: bool = False) -> None:
|
|
584
584
|
"""
|
|
585
585
|
Detach a data class from a data structure. Request body is optional. Async version.
|
|
@@ -612,7 +612,7 @@ class DataDesigner(Client2):
|
|
|
612
612
|
|
|
613
613
|
Full sample body:
|
|
614
614
|
{
|
|
615
|
-
"class": "
|
|
615
|
+
"class": "DeleteRelationshipRequestBody",
|
|
616
616
|
"cascadedDelete": false,
|
|
617
617
|
"deleteMethod": "LOOK_FOR_LINEAGE",
|
|
618
618
|
"externalSourceGUID": "add guid here",
|
|
@@ -628,12 +628,12 @@ class DataDesigner(Client2):
|
|
|
628
628
|
url = (f"{self.data_designer_root}/data-structures/{parent_data_struct_guid}"
|
|
629
629
|
f"/member-data-fields/{member_data_field_guid}/detach")
|
|
630
630
|
|
|
631
|
-
await self.
|
|
631
|
+
await self._async_delete_relationship_request(url, body, cascade_delete)
|
|
632
632
|
logger.info(f"Data field {member_data_field_guid} detached from data structure {parent_data_struct_guid}.")
|
|
633
633
|
|
|
634
634
|
@dynamic_catch
|
|
635
635
|
def detach_member_data_field(self, parent_data_struct_guid: str, member_data_field_guid: str,
|
|
636
|
-
body: dict = None |
|
|
636
|
+
body: dict = None | DeleteRelationshipRequestBody, cascade_delete: bool = False) -> None:
|
|
637
637
|
"""
|
|
638
638
|
Detach a data class from a data structure. Request body is optional.
|
|
639
639
|
|
|
@@ -664,7 +664,7 @@ class DataDesigner(Client2):
|
|
|
664
664
|
|
|
665
665
|
Full sample body:
|
|
666
666
|
{
|
|
667
|
-
"class": "
|
|
667
|
+
"class": "DeleteRelationshipRequestBody",
|
|
668
668
|
"cascadedDelete": false,
|
|
669
669
|
"deleteMethod": "LOOK_FOR_LINEAGE",
|
|
670
670
|
"externalSourceGUID": "add guid here",
|
|
@@ -715,7 +715,7 @@ class DataDesigner(Client2):
|
|
|
715
715
|
Full sample body:
|
|
716
716
|
|
|
717
717
|
{
|
|
718
|
-
"class": "
|
|
718
|
+
"class": "DeleteRelationshipRequestBody",
|
|
719
719
|
"cascadedDelete": false,
|
|
720
720
|
"deleteMethod": "LOOK_FOR_LINEAGE",
|
|
721
721
|
"externalSourceGUID": "add guid here",
|
|
@@ -729,7 +729,7 @@ class DataDesigner(Client2):
|
|
|
729
729
|
|
|
730
730
|
url = f"{self.data_designer_root}/data-structures/{data_struct_guid}/delete"
|
|
731
731
|
|
|
732
|
-
await self.
|
|
732
|
+
await self._async_delete_element_request(url, body, cascade_delete)
|
|
733
733
|
logger.info(f"Data structure {data_struct_guid} deleted.")
|
|
734
734
|
|
|
735
735
|
@dynamic_catch
|
|
@@ -765,7 +765,7 @@ class DataDesigner(Client2):
|
|
|
765
765
|
Full sample body:
|
|
766
766
|
|
|
767
767
|
{
|
|
768
|
-
"class": "
|
|
768
|
+
"class": "DeleteRelationshipRequestBody",
|
|
769
769
|
"cascadedDelete": false,
|
|
770
770
|
"deleteMethod": "LOOK_FOR_LINEAGE",
|
|
771
771
|
"externalSourceGUID": "add guid here",
|
|
@@ -1286,11 +1286,11 @@ class DataDesigner(Client2):
|
|
|
1286
1286
|
data_structure_guids.append(guid)
|
|
1287
1287
|
data_structure_names.append(display_name)
|
|
1288
1288
|
data_structure_qnames.append(qualified_name)
|
|
1289
|
-
|
|
1290
|
-
elif type == "DataField":
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1289
|
+
# Todo - check the logic here
|
|
1290
|
+
# elif type == "DataField":
|
|
1291
|
+
# parent_guids.append(guid)
|
|
1292
|
+
# parent_names.append(display_name)
|
|
1293
|
+
# parent_qnames.append(qualified_name)
|
|
1294
1294
|
|
|
1295
1295
|
member_of_collections = el_struct.get("memberOfCollections", {})
|
|
1296
1296
|
for collection in member_of_collections:
|
|
@@ -2027,7 +2027,7 @@ class DataDesigner(Client2):
|
|
|
2027
2027
|
|
|
2028
2028
|
@dynamic_catch
|
|
2029
2029
|
async def _async_detach_nested_data_field(self, parent_data_field_guid: str, nested_data_field_guid: str,
|
|
2030
|
-
body: dict |
|
|
2030
|
+
body: dict | DeleteRelationshipRequestBody = None) -> None:
|
|
2031
2031
|
"""
|
|
2032
2032
|
Detach a nested data class from a data class. Request body is optional. Async version.
|
|
2033
2033
|
|
|
@@ -2073,12 +2073,12 @@ class DataDesigner(Client2):
|
|
|
2073
2073
|
url = (f"{base_path(self, self.view_server)}/data-fields/{parent_data_field_guid}"
|
|
2074
2074
|
f"/member-data-fields/{nested_data_field_guid}/detach")
|
|
2075
2075
|
|
|
2076
|
-
await self.
|
|
2076
|
+
await self._async_delete_relationship_request(url, body)
|
|
2077
2077
|
logger.info(f"Data field {parent_data_field_guid} detached from data structure {nested_data_field_guid}.")
|
|
2078
2078
|
|
|
2079
2079
|
@dynamic_catch
|
|
2080
2080
|
def detach_nested_data_field(self, parent_data_field_guid: str, nested_data_field_guid: str,
|
|
2081
|
-
body: dict |
|
|
2081
|
+
body: dict | DeleteRelationshipRequestBody = None) -> None:
|
|
2082
2082
|
"""
|
|
2083
2083
|
Detach a nested data class from a data class. Request body is optional.
|
|
2084
2084
|
|
|
@@ -2125,7 +2125,7 @@ class DataDesigner(Client2):
|
|
|
2125
2125
|
self._async_detach_nested_data_field(parent_data_field_guid, nested_data_field_guid, body))
|
|
2126
2126
|
|
|
2127
2127
|
@dynamic_catch
|
|
2128
|
-
async def _async_delete_data_field(self, data_field_guid: str, body: dict |
|
|
2128
|
+
async def _async_delete_data_field(self, data_field_guid: str, body: dict | DeleteElementRequestBody = None,
|
|
2129
2129
|
cascade_delete: bool = False) -> None:
|
|
2130
2130
|
"""
|
|
2131
2131
|
Delete a data class. Request body is optional. Async version.
|
|
@@ -2134,7 +2134,7 @@ class DataDesigner(Client2):
|
|
|
2134
2134
|
----------
|
|
2135
2135
|
data_field_guid: str
|
|
2136
2136
|
- the GUID of the data class to delete.
|
|
2137
|
-
body: dict, optional
|
|
2137
|
+
body: dict| DeleteElementRequestBody, optional
|
|
2138
2138
|
- a dictionary containing additional properties.
|
|
2139
2139
|
cascade: bool, optional
|
|
2140
2140
|
- if True, then all child data fields will be deleted as well.
|
|
@@ -2159,7 +2159,7 @@ class DataDesigner(Client2):
|
|
|
2159
2159
|
Full sample body:
|
|
2160
2160
|
|
|
2161
2161
|
{
|
|
2162
|
-
"class": "
|
|
2162
|
+
"class": "DeleteElementRequestBody",
|
|
2163
2163
|
"externalSourceGUID": "add guid here",
|
|
2164
2164
|
"externalSourceName": "add qualified name here",
|
|
2165
2165
|
"effectiveTime": "{{$isoTimestamp}}",
|
|
@@ -2172,11 +2172,11 @@ class DataDesigner(Client2):
|
|
|
2172
2172
|
|
|
2173
2173
|
url = f"{base_path(self, self.view_server)}/data-fields/{data_field_guid}/delete"
|
|
2174
2174
|
|
|
2175
|
-
await self.
|
|
2175
|
+
await self._async_delete_element_request(url, body, cascade_delete)
|
|
2176
2176
|
logger.info(f"Data Field {data_field_guid} deleted.")
|
|
2177
2177
|
|
|
2178
2178
|
@dynamic_catch
|
|
2179
|
-
def delete_data_field(self, data_field_guid: str, body: dict |
|
|
2179
|
+
def delete_data_field(self, data_field_guid: str, body: dict | DeleteElementRequestBody = None,
|
|
2180
2180
|
cascade_delete: bool = False) -> None:
|
|
2181
2181
|
"""
|
|
2182
2182
|
Delete a data class. Request body is optional.
|
|
@@ -2185,7 +2185,7 @@ class DataDesigner(Client2):
|
|
|
2185
2185
|
----------
|
|
2186
2186
|
data_field_guid: str
|
|
2187
2187
|
- the GUID of the data class the data class to delete.
|
|
2188
|
-
body: dict, optional
|
|
2188
|
+
body: dict | DeleteElementRequestBody, optional
|
|
2189
2189
|
- a dictionary containing additional properties.
|
|
2190
2190
|
cascade: bool, optional
|
|
2191
2191
|
- if True, then all child data fields will be deleted as well.
|
|
@@ -3258,7 +3258,7 @@ class DataDesigner(Client2):
|
|
|
3258
3258
|
|
|
3259
3259
|
@dynamic_catch
|
|
3260
3260
|
async def _async_detach_nested_data_class(self, parent_data_class_guid: str, child_data_class_guid: str,
|
|
3261
|
-
body: dict |
|
|
3261
|
+
body: dict | DeleteRelationshipRequestBody = None,
|
|
3262
3262
|
cascade_delete: bool = False) -> None:
|
|
3263
3263
|
"""
|
|
3264
3264
|
Detach two nested data classes from each other. Request body is optional. Async version.
|
|
@@ -3305,12 +3305,12 @@ class DataDesigner(Client2):
|
|
|
3305
3305
|
url = (f"{base_path(self, self.view_server)}/data-classes/{parent_data_class_guid}"
|
|
3306
3306
|
f"/nested-data-classes/{child_data_class_guid}/detach")
|
|
3307
3307
|
|
|
3308
|
-
await self.
|
|
3308
|
+
await self._async_delete_relationship_request(url, body, cascade_delete)
|
|
3309
3309
|
logger.info(f"Data Class {child_data_class_guid} detached from data structure {parent_data_class_guid}.")
|
|
3310
3310
|
|
|
3311
3311
|
@dynamic_catch
|
|
3312
3312
|
def detach_nested_data_class(self, parent_data_class_guid: str, child_data_class_guid: str,
|
|
3313
|
-
body: dict |
|
|
3313
|
+
body: dict | DeleteRelationshipRequestBody = None, cascade_delete: bool = False) -> None:
|
|
3314
3314
|
"""
|
|
3315
3315
|
Detach two nested data classes from each other. Request body is optional.
|
|
3316
3316
|
|
|
@@ -3457,7 +3457,7 @@ class DataDesigner(Client2):
|
|
|
3457
3457
|
|
|
3458
3458
|
@dynamic_catch
|
|
3459
3459
|
async def _async_detach_specialized_data_class(self, parent_data_class_guid: str, child_data_class_guid: str,
|
|
3460
|
-
body: dict |
|
|
3460
|
+
body: dict | DeleteRelationshipRequestBody = None,
|
|
3461
3461
|
cascade_delete: bool = False) -> None:
|
|
3462
3462
|
"""
|
|
3463
3463
|
Detach two data classes from each other. Request body is optional. Async version.
|
|
@@ -3504,12 +3504,12 @@ class DataDesigner(Client2):
|
|
|
3504
3504
|
url = (f"{base_path(self, self.view_server)}/data-classes/{parent_data_class_guid}"
|
|
3505
3505
|
f"/specialized-data-classes/{child_data_class_guid}/detach")
|
|
3506
3506
|
|
|
3507
|
-
await self.
|
|
3507
|
+
await self._async_delete_relationship_request(url, body, cascade_delete)
|
|
3508
3508
|
logger.info(f"Data field {child_data_class_guid} detached from data structure {parent_data_class_guid}.")
|
|
3509
3509
|
|
|
3510
3510
|
@dynamic_catch
|
|
3511
3511
|
def detach_specialized_data_class(self, parent_data_class_guid: str, child_data_class_guid: str,
|
|
3512
|
-
body: dict |
|
|
3512
|
+
body: dict | DeleteRelationshipRequestBody = None, cascade_delete: bool = False) -> None:
|
|
3513
3513
|
"""
|
|
3514
3514
|
Detach two data classes from each other. Request body is optional.
|
|
3515
3515
|
|
|
@@ -3557,7 +3557,7 @@ class DataDesigner(Client2):
|
|
|
3557
3557
|
cascade_delete))
|
|
3558
3558
|
|
|
3559
3559
|
@dynamic_catch
|
|
3560
|
-
async def _async_delete_data_class(self, data_class_guid: str, body: dict |
|
|
3560
|
+
async def _async_delete_data_class(self, data_class_guid: str, body: dict | DeleteElementRequestBody = None,
|
|
3561
3561
|
cascade_delete: bool = False) -> None:
|
|
3562
3562
|
"""
|
|
3563
3563
|
Delete a data class. Request body is optional. Async version.
|
|
@@ -3604,13 +3604,13 @@ class DataDesigner(Client2):
|
|
|
3604
3604
|
|
|
3605
3605
|
url = f"{base_path(self, self.view_server)}/data-classes/{data_class_guid}/delete"
|
|
3606
3606
|
|
|
3607
|
-
await self.
|
|
3607
|
+
await self._async_delete_element_request(url, body, cascade_delete)
|
|
3608
3608
|
logger.info(f"Data structure {data_class_guid} deleted.")
|
|
3609
3609
|
|
|
3610
3610
|
@dynamic_catch
|
|
3611
3611
|
def delete_data_class(self,
|
|
3612
3612
|
data_class_guid: str,
|
|
3613
|
-
body: dict |
|
|
3613
|
+
body: dict | DeleteElementRequestBody = None,
|
|
3614
3614
|
cascade_delete: bool = False) -> None:
|
|
3615
3615
|
"""
|
|
3616
3616
|
Delete a data class. Request body is optional.
|
|
@@ -4171,7 +4171,7 @@ class DataDesigner(Client2):
|
|
|
4171
4171
|
|
|
4172
4172
|
@dynamic_catch
|
|
4173
4173
|
async def _async_detach_data_class_definition(self, data_definition_guid: str, data_class_guid: str,
|
|
4174
|
-
body: dict |
|
|
4174
|
+
body: dict | DeleteRelationshipRequestBody = None,
|
|
4175
4175
|
cascade_delete: bool = False) -> None:
|
|
4176
4176
|
"""
|
|
4177
4177
|
Detach a data definition from a data class. Request body is optional. Async version.
|
|
@@ -4218,12 +4218,12 @@ class DataDesigner(Client2):
|
|
|
4218
4218
|
url = (f"{base_path(self, self.view_server)}/data-definitions/{data_definition_guid}"
|
|
4219
4219
|
f"/data-class-definition/{data_class_guid}/detach")
|
|
4220
4220
|
|
|
4221
|
-
await self.
|
|
4221
|
+
await self._async_delete_relationship_request(url, body, cascade_delete)
|
|
4222
4222
|
logger.info(f"Data class {data_class_guid} detached from data definition {data_definition_guid}.")
|
|
4223
4223
|
|
|
4224
4224
|
@dynamic_catch
|
|
4225
4225
|
def detach_data_class_definition(self, data_definition_guid: str, data_class_guid: str,
|
|
4226
|
-
body: dict |
|
|
4226
|
+
body: dict | DeleteRelationshipRequestBody = None, cascade_delete: bool = False) -> None:
|
|
4227
4227
|
"""
|
|
4228
4228
|
Detach a data definition from a data class. Request body is optional.
|
|
4229
4229
|
|
|
@@ -4373,7 +4373,7 @@ class DataDesigner(Client2):
|
|
|
4373
4373
|
|
|
4374
4374
|
@dynamic_catch
|
|
4375
4375
|
async def _async_detach_semantic_definition(self, data_definition_guid: str, glossary_term_guid: str,
|
|
4376
|
-
body: dict |
|
|
4376
|
+
body: dict | DeleteRelationshipRequestBody = None,
|
|
4377
4377
|
cascade_delete: bool = False) -> None:
|
|
4378
4378
|
"""
|
|
4379
4379
|
Detach a data definition from a glossary term. Request body is optional. Async version.
|
|
@@ -4419,12 +4419,12 @@ class DataDesigner(Client2):
|
|
|
4419
4419
|
|
|
4420
4420
|
url = (f"{base_path(self, self.view_server)}/data-definitions/{data_definition_guid}"
|
|
4421
4421
|
f"/semantic-definition/{glossary_term_guid}/detach")
|
|
4422
|
-
await self.
|
|
4422
|
+
await self._async_delete_relationship_request(url, body, cascade_delete)
|
|
4423
4423
|
logger.info(f"Data definition {data_definition_guid} detached from term {glossary_term_guid}.")
|
|
4424
4424
|
|
|
4425
4425
|
@dynamic_catch
|
|
4426
4426
|
def detach_semantic_definition(self, data_definition_guid: str, glossary_term_guid: str,
|
|
4427
|
-
body: dict |
|
|
4427
|
+
body: dict | DeleteRelationshipRequestBody = None, cascade_delete: bool = False) -> None:
|
|
4428
4428
|
"""
|
|
4429
4429
|
Detach a data definition from a glossary term. Request body is optional.
|
|
4430
4430
|
|
|
@@ -4579,7 +4579,7 @@ class DataDesigner(Client2):
|
|
|
4579
4579
|
self._async_link_certification_type_to_data_structure(certification_type_guid, data_structure_guid, body))
|
|
4580
4580
|
|
|
4581
4581
|
async def _async_detach_certification_type_from_data_structure(self, certification_type_guid: str,
|
|
4582
|
-
data_structure_guid: str, body: dict |
|
|
4582
|
+
data_structure_guid: str, body: dict | DeleteRelationshipRequestBody = None, cascade_delete: bool = False) -> None:
|
|
4583
4583
|
"""
|
|
4584
4584
|
Detach a data structure from a certification type. Request body is optional. Async version.
|
|
4585
4585
|
|
|
@@ -4624,12 +4624,12 @@ class DataDesigner(Client2):
|
|
|
4624
4624
|
url = (f"{base_path(self, self.view_server)}/certification-stypes/{certification_type_guid}"
|
|
4625
4625
|
f"/data-structure-definition/{data_structure_guid}/detach")
|
|
4626
4626
|
|
|
4627
|
-
await self.
|
|
4627
|
+
await self._async_delete_relationship_request(url, body, cascade_delete)
|
|
4628
4628
|
logger.info(f"Certification type {certification_type_guid} detached from data structure {data_structure_guid}.")
|
|
4629
4629
|
|
|
4630
4630
|
|
|
4631
4631
|
def detach_certification_type_from_data_structure(self, certification_type_guid: str, data_structure_guid: str,
|
|
4632
|
-
body: dict |
|
|
4632
|
+
body: dict | DeleteRelationshipRequestBody= None, cascade_delete: bool = False) -> None:
|
|
4633
4633
|
"""
|
|
4634
4634
|
Detach a data structure from a certification type. Request body is optional.
|
|
4635
4635
|
|
pyegeria/external_links.py
CHANGED
|
@@ -18,7 +18,7 @@ from pyegeria.config import settings
|
|
|
18
18
|
from pyegeria.models import (SearchStringRequestBody, FilterRequestBody, GetRequestBody, NewElementRequestBody,
|
|
19
19
|
TemplateRequestBody,
|
|
20
20
|
UpdateElementRequestBody, NewRelationshipRequestBody,
|
|
21
|
-
|
|
21
|
+
DeleteElementRequestBody, DeleteRelationshipRequestBody)
|
|
22
22
|
from pyegeria.output_formatter import (generate_output,
|
|
23
23
|
_extract_referenceable_properties, populate_columns_from_properties,
|
|
24
24
|
get_required_relationships)
|
|
@@ -635,7 +635,7 @@ class ExternalReferences(Client2):
|
|
|
635
635
|
|
|
636
636
|
@dynamic_catch
|
|
637
637
|
async def _async_detach_external_reference(self, element_guid: str, ext_ref_guid: str,
|
|
638
|
-
body: dict |
|
|
638
|
+
body: dict | DeleteRelationshipRequestBody = None) -> None:
|
|
639
639
|
""" Detach an element from an external reference; body is optional. Async version.
|
|
640
640
|
|
|
641
641
|
Parameters
|
|
@@ -644,7 +644,7 @@ class ExternalReferences(Client2):
|
|
|
644
644
|
The unique identifier of the subscriber.
|
|
645
645
|
ext_ref_guid: str
|
|
646
646
|
The unique identifier of the subscription.
|
|
647
|
-
body: dict |
|
|
647
|
+
body: dict | DeleteRelationshipRequestBody, optional, default = None
|
|
648
648
|
A structure representing the details of the relationship.
|
|
649
649
|
|
|
650
650
|
Returns
|
|
@@ -664,7 +664,7 @@ class ExternalReferences(Client2):
|
|
|
664
664
|
-----
|
|
665
665
|
JSON Structure looks like:
|
|
666
666
|
{
|
|
667
|
-
"class": "
|
|
667
|
+
"class": "DeleteRelationshipRequestBody",
|
|
668
668
|
"externalSourceGUID": "add guid here",
|
|
669
669
|
"externalSourceName": "add qualified name here",
|
|
670
670
|
"effectiveTime": "{{$isoTimestamp}}",
|
|
@@ -674,10 +674,10 @@ class ExternalReferences(Client2):
|
|
|
674
674
|
"""
|
|
675
675
|
url = (f"{self.command_root}/elements/{element_guid}/external_references/{ext_ref_guid}/detach")
|
|
676
676
|
|
|
677
|
-
await self.
|
|
677
|
+
await self._async_delete_element_request(url, body)
|
|
678
678
|
logger.info(f"Detached element {element_guid} from external reference {ext_ref_guid}")
|
|
679
679
|
|
|
680
|
-
def detach_external_reference(self, element_guid: str, ext_ref_guid: str, body: dict |
|
|
680
|
+
def detach_external_reference(self, element_guid: str, ext_ref_guid: str, body: dict | DeleteRelationshipRequestBody = None):
|
|
681
681
|
""" Detach an element from an external reference. Request body is optional.
|
|
682
682
|
|
|
683
683
|
Parameters
|
|
@@ -706,7 +706,7 @@ class ExternalReferences(Client2):
|
|
|
706
706
|
-----
|
|
707
707
|
JSON Structure looks like:
|
|
708
708
|
{
|
|
709
|
-
"class": "
|
|
709
|
+
"class": "DeleteRelationshipRequestBody",
|
|
710
710
|
"externalSourceGUID": "add guid here",
|
|
711
711
|
"externalSourceName": "add qualified name here",
|
|
712
712
|
"effectiveTime": "{{$isoTimestamp}}",
|
|
@@ -861,7 +861,7 @@ class ExternalReferences(Client2):
|
|
|
861
861
|
|
|
862
862
|
@dynamic_catch
|
|
863
863
|
async def _async_detach_media_reference(self, element_guid: str, media_ref_guid: str,
|
|
864
|
-
body: dict |
|
|
864
|
+
body: dict | DeleteRelationshipRequestBody = None) -> None:
|
|
865
865
|
""" Detach an element from an external media reference; body is optional. Async version.
|
|
866
866
|
|
|
867
867
|
Parameters
|
|
@@ -870,7 +870,7 @@ class ExternalReferences(Client2):
|
|
|
870
870
|
The unique identifier of the subscriber.
|
|
871
871
|
media_ref_guid: str
|
|
872
872
|
The unique identifier of the subscription.
|
|
873
|
-
body: dict |
|
|
873
|
+
body: dict | DeleteRelationshipRequestBody, optional, default = None
|
|
874
874
|
A structure representing the details of the relationship.
|
|
875
875
|
|
|
876
876
|
Returns
|
|
@@ -890,7 +890,7 @@ class ExternalReferences(Client2):
|
|
|
890
890
|
-----
|
|
891
891
|
JSON Structure looks like:
|
|
892
892
|
{
|
|
893
|
-
"class": "
|
|
893
|
+
"class": "DeleteRelationshipRequestBody",
|
|
894
894
|
"externalSourceGUID": "add guid here",
|
|
895
895
|
"externalSourceName": "add qualified name here",
|
|
896
896
|
"effectiveTime": "{{$isoTimestamp}}",
|
|
@@ -901,11 +901,11 @@ class ExternalReferences(Client2):
|
|
|
901
901
|
url = (
|
|
902
902
|
f"{self.command_root}/elements/{element_guid}/media-references/{media_ref_guid}/detach")
|
|
903
903
|
|
|
904
|
-
await self.
|
|
904
|
+
await self._async_delete_relationship_request(url, body)
|
|
905
905
|
logger.info(f"Detached element {element_guid} from external media reference {media_ref_guid}")
|
|
906
906
|
|
|
907
907
|
@dynamic_catch
|
|
908
|
-
def detach_media_reference(self, element_guid: str, media_ref_guid: str, body: dict |
|
|
908
|
+
def detach_media_reference(self, element_guid: str, media_ref_guid: str, body: dict | DeleteRelationshipRequestBody = None):
|
|
909
909
|
""" Detach an element from an external media reference. Request body is optional.
|
|
910
910
|
|
|
911
911
|
Parameters
|
|
@@ -934,7 +934,7 @@ class ExternalReferences(Client2):
|
|
|
934
934
|
-----
|
|
935
935
|
JSON Structure looks like:
|
|
936
936
|
{
|
|
937
|
-
"class": "
|
|
937
|
+
"class": "DeleteRelationshipRequestBody",
|
|
938
938
|
"externalSourceGUID": "add guid here",
|
|
939
939
|
"externalSourceName": "add qualified name here",
|
|
940
940
|
"effectiveTime": "{{$isoTimestamp}}",
|
|
@@ -1045,7 +1045,7 @@ class ExternalReferences(Client2):
|
|
|
1045
1045
|
|
|
1046
1046
|
@dynamic_catch
|
|
1047
1047
|
async def _async_detach_cited_document(self, element_guid: str, cited_doc_guid: str,
|
|
1048
|
-
body: dict |
|
|
1048
|
+
body: dict | DeleteRelationshipRequestBody = None) -> None:
|
|
1049
1049
|
""" Detach an element from an cited document reference; body is optional. Async version.
|
|
1050
1050
|
|
|
1051
1051
|
Parameters
|
|
@@ -1054,7 +1054,7 @@ class ExternalReferences(Client2):
|
|
|
1054
1054
|
The unique identifier of the subscriber.
|
|
1055
1055
|
cited_doc_guid: str
|
|
1056
1056
|
The unique identifier of the subscription.
|
|
1057
|
-
body: dict |
|
|
1057
|
+
body: dict | DeleteRelationshipRequestBody, optional, default = None
|
|
1058
1058
|
A structure representing the details of the relationship.
|
|
1059
1059
|
|
|
1060
1060
|
Returns
|
|
@@ -1074,7 +1074,7 @@ class ExternalReferences(Client2):
|
|
|
1074
1074
|
-----
|
|
1075
1075
|
JSON Structure looks like:
|
|
1076
1076
|
{
|
|
1077
|
-
"class": "
|
|
1077
|
+
"class": "DeleteRelationshipRequestBody",
|
|
1078
1078
|
"externalSourceGUID": "add guid here",
|
|
1079
1079
|
"externalSourceName": "add qualified name here",
|
|
1080
1080
|
"effectiveTime": "{{$isoTimestamp}}",
|
|
@@ -1084,11 +1084,11 @@ class ExternalReferences(Client2):
|
|
|
1084
1084
|
"""
|
|
1085
1085
|
url = f"{self.command_root}/elements/{element_guid}/cited-document-references/{cited_doc_guid}/detach"
|
|
1086
1086
|
|
|
1087
|
-
await self.
|
|
1087
|
+
await self._async_delete_relationship_request(url, body)
|
|
1088
1088
|
logger.info(f"Detached element {element_guid} from cited document reference {cited_doc_guid}")
|
|
1089
1089
|
|
|
1090
1090
|
@dynamic_catch
|
|
1091
|
-
def detach_cited_document(self, element_guid: str, cited_doc_guid: str, body: dict |
|
|
1091
|
+
def detach_cited_document(self, element_guid: str, cited_doc_guid: str, body: dict | DeleteRelationshipRequestBody = None):
|
|
1092
1092
|
""" Detach an element from acited document reference. Request body is optional.
|
|
1093
1093
|
|
|
1094
1094
|
Parameters
|
|
@@ -1117,7 +1117,7 @@ class ExternalReferences(Client2):
|
|
|
1117
1117
|
-----
|
|
1118
1118
|
JSON Structure looks like:
|
|
1119
1119
|
{
|
|
1120
|
-
"class": "
|
|
1120
|
+
"class": "DeleteRelationshipRequestBody",
|
|
1121
1121
|
"externalSourceGUID": "add guid here",
|
|
1122
1122
|
"externalSourceName": "add qualified name here",
|
|
1123
1123
|
"effectiveTime": "{{$isoTimestamp}}",
|
|
@@ -1133,7 +1133,7 @@ class ExternalReferences(Client2):
|
|
|
1133
1133
|
#
|
|
1134
1134
|
@dynamic_catch
|
|
1135
1135
|
async def _async_delete_external_reference(self, ext_ref_guid: str,
|
|
1136
|
-
body: dict |
|
|
1136
|
+
body: dict | DeleteRelationshipRequestBody = None,
|
|
1137
1137
|
cascade: bool = False) -> None:
|
|
1138
1138
|
""" Delete an external reference. Async Version.
|
|
1139
1139
|
|
|
@@ -1145,7 +1145,7 @@ class ExternalReferences(Client2):
|
|
|
1145
1145
|
cascade: bool, optional, defaults to True
|
|
1146
1146
|
If true, a cascade delete is performed.
|
|
1147
1147
|
|
|
1148
|
-
body: dict
|
|
1148
|
+
body: dict DeleteRelationshipRequestBodyt, optional, default = None
|
|
1149
1149
|
A dict representing the details of the relationship.
|
|
1150
1150
|
|
|
1151
1151
|
Returns
|
|
@@ -1165,7 +1165,7 @@ class ExternalReferences(Client2):
|
|
|
1165
1165
|
_____
|
|
1166
1166
|
JSON Structure looks like:
|
|
1167
1167
|
{
|
|
1168
|
-
"class" : "
|
|
1168
|
+
"class" : "DeleteRelationshipRequestBody",
|
|
1169
1169
|
"externalSourceGUID": "add guid here",
|
|
1170
1170
|
"externalSourceName": "add qualified name here",
|
|
1171
1171
|
"effectiveTime" : "{{$isoTimestamp}}",
|
|
@@ -1175,11 +1175,11 @@ class ExternalReferences(Client2):
|
|
|
1175
1175
|
"""
|
|
1176
1176
|
url = f"{self.command_root}/external-references/{ext_ref_guid}/delete"
|
|
1177
1177
|
|
|
1178
|
-
await self.
|
|
1178
|
+
await self._async_delete_element_request(url, body, cascade)
|
|
1179
1179
|
logger.info(f"Deleted collection {ext_ref_guid} with cascade {cascade}")
|
|
1180
1180
|
|
|
1181
1181
|
@dynamic_catch
|
|
1182
|
-
def delete_external_reference(self, ext_ref_guid: str, body: dict |
|
|
1182
|
+
def delete_external_reference(self, ext_ref_guid: str, body: dict | DeleteElementRequestBody = None,
|
|
1183
1183
|
cascade: bool = False) -> None:
|
|
1184
1184
|
"""Delete an external reference..
|
|
1185
1185
|
|
|
@@ -1191,7 +1191,7 @@ class ExternalReferences(Client2):
|
|
|
1191
1191
|
cascade: bool, optional, defaults to True
|
|
1192
1192
|
If true, a cascade delete is performed.
|
|
1193
1193
|
|
|
1194
|
-
body: dict
|
|
1194
|
+
body: dict DeleteElementRequestBody, optional, default = None
|
|
1195
1195
|
A dict representing the details of the relationship.
|
|
1196
1196
|
|
|
1197
1197
|
Returns
|
|
@@ -1211,7 +1211,7 @@ class ExternalReferences(Client2):
|
|
|
1211
1211
|
_____
|
|
1212
1212
|
JSON Structure looks like:
|
|
1213
1213
|
{
|
|
1214
|
-
"class" : "
|
|
1214
|
+
"class" : "DeleteElementRequestBody",
|
|
1215
1215
|
"externalSourceGUID": "add guid here",
|
|
1216
1216
|
"externalSourceName": "add qualified name here",
|
|
1217
1217
|
"effectiveTime" : "{{$isoTimestamp}}",
|
|
@@ -2351,22 +2351,13 @@ class FeedbackManager(Client2):
|
|
|
2351
2351
|
## get_elements_by_tag implementation
|
|
2352
2352
|
#
|
|
2353
2353
|
|
|
2354
|
-
async def
|
|
2355
|
-
self,
|
|
2356
|
-
tag_guid: str,
|
|
2357
|
-
body: dict = {},
|
|
2358
|
-
start_from: int = 0,
|
|
2359
|
-
page_size: int = max_paging_size,
|
|
2360
|
-
view_service_url_marker: str = None,
|
|
2361
|
-
access_service_url_marker: str = None,
|
|
2362
|
-
detailed_response: bool = False,
|
|
2363
|
-
) -> dict | str:
|
|
2354
|
+
async def _async_get_search_keyword_by_guid(self, keyword_guid: str, output_format, report_spec=None) -> dict | str:
|
|
2364
2355
|
"""
|
|
2365
2356
|
Return the list of unique identifiers for elements that are linked to a specific tag either directly, or via one of its schema elements.
|
|
2366
2357
|
|
|
2367
2358
|
Parameters
|
|
2368
2359
|
----------
|
|
2369
|
-
|
|
2360
|
+
keyword_guid
|
|
2370
2361
|
- unique identifier of tag.
|
|
2371
2362
|
server_name
|
|
2372
2363
|
- name of the server instances for this request
|
|
@@ -2393,28 +2384,23 @@ class FeedbackManager(Client2):
|
|
|
2393
2384
|
There is a problem adding the element properties to the metadata repository or
|
|
2394
2385
|
UserNotAuthorizedException
|
|
2395
2386
|
the requesting user is not authorized to issue this request.
|
|
2387
|
+
|
|
2388
|
+
Args:
|
|
2389
|
+
output_format ():
|
|
2390
|
+
report_spec ():
|
|
2396
2391
|
"""
|
|
2397
2392
|
|
|
2398
2393
|
url = f"{self.command_root}feedback-manager/tags/update"
|
|
2399
2394
|
response = await self._async_make_request("POST", url, body)
|
|
2400
2395
|
return related_elements_response(response.json(), detailed_response)
|
|
2401
2396
|
|
|
2402
|
-
def
|
|
2403
|
-
self,
|
|
2404
|
-
tag_guid: str,
|
|
2405
|
-
body: dict = {},
|
|
2406
|
-
start_from: int = 0,
|
|
2407
|
-
page_size: int = max_paging_size,
|
|
2408
|
-
view_service_url_marker: str = None,
|
|
2409
|
-
access_service_url_marker: str = None,
|
|
2410
|
-
detailed_response: bool = False,
|
|
2411
|
-
) -> dict | str:
|
|
2397
|
+
def get_search_keyword_by_guid(self, keyword_guid: str, output_format, report_spec=None) -> dict | str:
|
|
2412
2398
|
"""
|
|
2413
2399
|
Return the list of unique identifiers for elements that are linked to a specific tag either directly, or via one of its schema elements.
|
|
2414
2400
|
|
|
2415
2401
|
Parameters
|
|
2416
2402
|
----------
|
|
2417
|
-
|
|
2403
|
+
keyword_guid
|
|
2418
2404
|
- unique identifier of tag.
|
|
2419
2405
|
server_name
|
|
2420
2406
|
- name of the server instances for this request
|
|
@@ -2441,18 +2427,14 @@ class FeedbackManager(Client2):
|
|
|
2441
2427
|
There is a problem adding the element properties to the metadata repository or
|
|
2442
2428
|
UserNotAuthorizedException
|
|
2443
2429
|
the requesting user is not authorized to issue this request.
|
|
2430
|
+
|
|
2431
|
+
Args:
|
|
2432
|
+
output_format ():
|
|
2433
|
+
report_spec ():
|
|
2444
2434
|
"""
|
|
2445
2435
|
loop = asyncio.get_event_loop()
|
|
2446
2436
|
response = loop.run_until_complete(
|
|
2447
|
-
self.
|
|
2448
|
-
tag_guid,
|
|
2449
|
-
body,
|
|
2450
|
-
start_from,
|
|
2451
|
-
page_size,
|
|
2452
|
-
view_service_url_marker,
|
|
2453
|
-
access_service_url_marker,
|
|
2454
|
-
detailed_response,
|
|
2455
|
-
)
|
|
2437
|
+
self._async_get_search_keyword_by_guid(keyword_guid, JSON)
|
|
2456
2438
|
)
|
|
2457
2439
|
return response
|
|
2458
2440
|
|