pyegeria 5.4.3.4__py3-none-any.whl → 5.4.4.1__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.
- commands/cat/dr_egeria_command_help.py +11 -17
- commands/cat/list_format_set.py +3 -1
- md_processing/__init__.py +9 -1
- md_processing/data/commands.json +6951 -541
- md_processing/data/generated_format_sets.json +4137 -0
- md_processing/data/generated_format_sets.py +51 -0
- md_processing/dr_egeria.py +14 -2
- md_processing/md_commands/ext_ref_commands.py +543 -0
- md_processing/md_commands/old_solution_architect_commands.py +1139 -0
- md_processing/md_commands/solution_architect_commands.py +26 -59
- md_processing/md_processing_utils/debug_log +186 -3
- md_processing/md_processing_utils/debug_log.2025-09-09_11-10-03_528597.zip +0 -0
- md_processing/md_processing_utils/dr-egeria-help-2025-09-09T11:10:03.md +3305 -0
- md_processing/md_processing_utils/dr-egeria-help-2025-09-10T14:49:49.md +3460 -0
- md_processing/md_processing_utils/dr-egeria-help-2025-09-10T14:57:46.md +472 -0
- md_processing/md_processing_utils/gen_format_sets.py +422 -0
- md_processing/md_processing_utils/generate_md_cmd_templates.py +4 -4
- md_processing/md_processing_utils/md_processing_constants.py +19 -1
- pyegeria/_output_formats.py +240 -86
- pyegeria/collection_manager.py +3 -3
- pyegeria/egeria_tech_client.py +3 -0
- pyegeria/external_references.py +1794 -0
- pyegeria/glossary_manager.py +2 -2
- pyegeria/solution_architect.py +290 -485
- {pyegeria-5.4.3.4.dist-info → pyegeria-5.4.4.1.dist-info}/METADATA +1 -1
- {pyegeria-5.4.3.4.dist-info → pyegeria-5.4.4.1.dist-info}/RECORD +29 -205
- commands/.DS_Store +0 -0
- commands/cat/.DS_Store +0 -0
- commands/cat/.env +0 -8
- commands/cat/debug_log.2025-08-29_07-07-27_848189.log.zip +0 -0
- commands/cat/debug_log.2025-08-30_21-15-48_528443.log.zip +0 -0
- commands/cat/debug_log.2025-09-01_07-02-58_818650.log.zip +0 -0
- commands/cat/debug_log.2025-09-02_07-44-39_567276.log.zip +0 -0
- commands/cat/debug_log.2025-09-03_07-45-21_986388.log.zip +0 -0
- commands/cat/debug_log.log +0 -7276
- commands/cat/logs/pyegeria.log +0 -90
- commands/cli/debug_log.log +0 -0
- commands/doc/.DS_Store +0 -0
- commands/ops/logs/pyegeria.log +0 -0
- md_processing/.DS_Store +0 -0
- md_processing/.idea/.gitignore +0 -8
- md_processing/.idea/inspectionProfiles/Project_Default.xml +0 -59
- md_processing/.idea/md_processing.iml +0 -15
- md_processing/.idea/modules.xml +0 -8
- md_processing/.idea/sonarlint/issuestore/index.pb +0 -0
- md_processing/.idea/sonarlint/securityhotspotstore/index.pb +0 -0
- md_processing/.idea/vcs.xml +0 -6
- md_processing/.idea/workspace.xml +0 -107
- md_processing/dr_egeria_inbox/Derive-Dr-Gov-Defs.md +0 -8
- md_processing/dr_egeria_inbox/Dr.Egeria Templates.md +0 -873
- md_processing/dr_egeria_inbox/arch_test.md +0 -57
- md_processing/dr_egeria_inbox/archive/dr_egeria_intro.md +0 -254
- md_processing/dr_egeria_inbox/archive/dr_egeria_intro_more_terms.md +0 -696
- md_processing/dr_egeria_inbox/archive/dr_egeria_intro_part1.md +0 -254
- md_processing/dr_egeria_inbox/archive/dr_egeria_intro_part2.md +0 -298
- md_processing/dr_egeria_inbox/archive/dr_egeria_intro_part3.md +0 -608
- md_processing/dr_egeria_inbox/archive/dr_egeria_intro_part4.md +0 -94
- md_processing/dr_egeria_inbox/archive/freddie_intro.md +0 -284
- md_processing/dr_egeria_inbox/archive/freddie_intro_orig.md +0 -275
- md_processing/dr_egeria_inbox/archive/test-term.md +0 -110
- md_processing/dr_egeria_inbox/cat_test.md +0 -100
- md_processing/dr_egeria_inbox/collections.md +0 -39
- md_processing/dr_egeria_inbox/data_designer_debug.log +0 -6
- md_processing/dr_egeria_inbox/data_designer_out.md +0 -60
- md_processing/dr_egeria_inbox/data_designer_search_test.md +0 -11
- md_processing/dr_egeria_inbox/data_field.md +0 -54
- md_processing/dr_egeria_inbox/data_spec.md +0 -77
- md_processing/dr_egeria_inbox/data_spec_test.md +0 -2014
- md_processing/dr_egeria_inbox/data_test.md +0 -179
- md_processing/dr_egeria_inbox/data_test2.md +0 -429
- md_processing/dr_egeria_inbox/data_test3.md +0 -462
- md_processing/dr_egeria_inbox/dr_egeria_data_designer_1.md +0 -124
- md_processing/dr_egeria_inbox/dr_egeria_intro_categories.md +0 -168
- md_processing/dr_egeria_inbox/dr_egeria_intro_part1.md +0 -280
- md_processing/dr_egeria_inbox/dr_egeria_intro_part2.md +0 -318
- md_processing/dr_egeria_inbox/dr_egeria_intro_part3.md +0 -1073
- md_processing/dr_egeria_inbox/dr_egeria_isc1.md +0 -44
- md_processing/dr_egeria_inbox/generated_help_report.md +0 -9
- md_processing/dr_egeria_inbox/generated_help_terms.md +0 -842
- md_processing/dr_egeria_inbox/glossary_list.md +0 -5
- md_processing/dr_egeria_inbox/glossary_search_test.md +0 -40
- md_processing/dr_egeria_inbox/glossary_test1.md +0 -378
- md_processing/dr_egeria_inbox/gov_def.md +0 -718
- md_processing/dr_egeria_inbox/gov_def2.md +0 -447
- md_processing/dr_egeria_inbox/img.png +0 -0
- md_processing/dr_egeria_inbox/output_tests.md +0 -114
- md_processing/dr_egeria_inbox/product.md +0 -219
- md_processing/dr_egeria_inbox/rel.md +0 -8
- md_processing/dr_egeria_inbox/sb.md +0 -119
- md_processing/dr_egeria_inbox/solution-components.md +0 -136
- md_processing/dr_egeria_inbox/solution_blueprints.md +0 -118
- md_processing/dr_egeria_inbox/synonym_test.md +0 -42
- md_processing/dr_egeria_inbox/t2.md +0 -268
- md_processing/dr_egeria_outbox/.DS_Store +0 -0
- md_processing/dr_egeria_outbox/.obsidian/app.json +0 -1
- md_processing/dr_egeria_outbox/.obsidian/appearance.json +0 -1
- md_processing/dr_egeria_outbox/.obsidian/community-plugins.json +0 -7
- md_processing/dr_egeria_outbox/.obsidian/core-plugins.json +0 -33
- md_processing/dr_egeria_outbox/.obsidian/plugins/buttons/main.js +0 -5164
- md_processing/dr_egeria_outbox/.obsidian/plugins/buttons/manifest.json +0 -10
- md_processing/dr_egeria_outbox/.obsidian/plugins/buttons/styles.css +0 -624
- md_processing/dr_egeria_outbox/.obsidian/plugins/calendar/data.json +0 -10
- md_processing/dr_egeria_outbox/.obsidian/plugins/calendar/main.js +0 -4459
- md_processing/dr_egeria_outbox/.obsidian/plugins/calendar/manifest.json +0 -10
- md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-kanban/data.json +0 -3
- md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-kanban/main.js +0 -153
- md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-kanban/manifest.json +0 -11
- md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-kanban/styles.css +0 -1
- md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-tasks-plugin/main.js +0 -500
- md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-tasks-plugin/manifest.json +0 -12
- md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-tasks-plugin/styles.css +0 -1
- md_processing/dr_egeria_outbox/.obsidian/plugins/templater-obsidian/data.json +0 -38
- md_processing/dr_egeria_outbox/.obsidian/plugins/templater-obsidian/main.js +0 -37
- md_processing/dr_egeria_outbox/.obsidian/plugins/templater-obsidian/manifest.json +0 -11
- md_processing/dr_egeria_outbox/.obsidian/plugins/templater-obsidian/styles.css +0 -220
- md_processing/dr_egeria_outbox/.obsidian/types.json +0 -28
- md_processing/dr_egeria_outbox/.obsidian/workspace.json +0 -270
- md_processing/dr_egeria_outbox/Button Test.md +0 -11
- md_processing/dr_egeria_outbox/Scripts/.DS_Store +0 -0
- md_processing/dr_egeria_outbox/Scripts/sendRest.js +0 -24
- md_processing/dr_egeria_outbox/Templates/sendToApi.md.md +0 -17
- md_processing/dr_egeria_outbox/Untitled.canvas +0 -1
- md_processing/dr_egeria_outbox/monday/processed-2025-09-01 09:26-product.md +0 -210
- md_processing/dr_egeria_outbox/monday/processed-2025-09-01 14:03-product.md +0 -209
- md_processing/dr_egeria_outbox/monday/processed-2025-09-01 14:24-product.md +0 -263
- md_processing/dr_egeria_outbox/monday/processed-2025-09-01 16:03-data_spec_test.md +0 -2374
- md_processing/dr_egeria_outbox/monday/processed-2025-09-01 16:05-data_spec_test.md +0 -2374
- md_processing/dr_egeria_outbox/monday/processed-2025-09-02 08:28-data_spec_test.md +0 -2321
- md_processing/dr_egeria_outbox/monday/processed-2025-09-02 08:37-data_spec_test.md +0 -2304
- md_processing/dr_egeria_outbox/monday/processed-2025-09-02 08:56-data_spec_test.md +0 -2324
- md_processing/dr_egeria_outbox/monday/processed-2025-09-02 09:00-data_spec_test.md +0 -2324
- md_processing/dr_egeria_outbox/processed-2025-08-30 16:56-generated_help_terms.md +0 -795
- md_processing/dr_egeria_outbox/thursday/processed-2025-07-17 15:00-Derive-Dr-Gov-Defs.md +0 -719
- md_processing/dr_egeria_outbox/thursday/processed-2025-07-17 20:13-Derive-Dr-Gov-Defs.md +0 -41
- md_processing/dr_egeria_outbox/thursday/processed-2025-07-17 20:14-Derive-Dr-Gov-Defs.md +0 -33
- md_processing/dr_egeria_outbox/thursday/processed-2025-07-17 20:50-Derive-Dr-Gov-Defs.md +0 -192
- md_processing/dr_egeria_outbox/thursday/processed-2025-07-17 22:08-gov_def2.md +0 -486
- md_processing/dr_egeria_outbox/thursday/processed-2025-07-17 22:10-gov_def2.md +0 -486
- md_processing/dr_egeria_outbox/thursday/processed-2025-07-18 08:53-gov_def2.md +0 -486
- md_processing/dr_egeria_outbox/thursday/processed-2025-07-18 08:54-gov_def2.md +0 -486
- md_processing/dr_egeria_outbox/thursday/processed-2025-07-18 09:03-gov_def2.md +0 -486
- md_processing/dr_egeria_outbox/thursday/processed-2025-07-18 09:06-gov_def2.md +0 -486
- md_processing/dr_egeria_outbox/thursday/processed-2025-07-18 09:10-gov_def2.md +0 -486
- md_processing/family_docs/Data Designer/Create_Data_Class.md +0 -164
- md_processing/family_docs/Data Designer/Create_Data_Dictionary.md +0 -30
- md_processing/family_docs/Data Designer/Create_Data_Field.md +0 -162
- md_processing/family_docs/Data Designer/Create_Data_Specification.md +0 -36
- md_processing/family_docs/Data Designer/Create_Data_Structure.md +0 -38
- md_processing/family_docs/Data Designer/View_Data_Classes.md +0 -78
- md_processing/family_docs/Data Designer/View_Data_Dictionaries.md +0 -78
- md_processing/family_docs/Data Designer/View_Data_Fields.md +0 -78
- md_processing/family_docs/Data Designer/View_Data_Specifications.md +0 -78
- md_processing/family_docs/Data Designer/View_Data_Structures.md +0 -78
- md_processing/family_docs/Data Designer.md +0 -842
- md_processing/family_docs/Digital Product Manager/Add_Member->Collection.md +0 -42
- md_processing/family_docs/Digital Product Manager/Attach_Collection->Resource.md +0 -36
- md_processing/family_docs/Digital Product Manager/Create_Agreement.md +0 -96
- md_processing/family_docs/Digital Product Manager/Create_Data_Sharing_Agreement.md +0 -72
- md_processing/family_docs/Digital Product Manager/Create_DigitalSubscription.md +0 -102
- md_processing/family_docs/Digital Product Manager/Create_Digital_Product.md +0 -134
- md_processing/family_docs/Digital Product Manager/Link_Agreement_Items.md +0 -60
- md_processing/family_docs/Digital Product Manager/Link_Contracts.md +0 -26
- md_processing/family_docs/Digital Product Manager/Link_Digital_Product_-_Digital_Product.md +0 -30
- md_processing/family_docs/Digital Product Manager/Link_Subscribers.md +0 -48
- md_processing/family_docs/Digital Product Manager.md +0 -668
- md_processing/family_docs/Glossary/Attach_Category_Parent.md +0 -18
- md_processing/family_docs/Glossary/Attach_Term-Term_Relationship.md +0 -26
- md_processing/family_docs/Glossary/Create_Category.md +0 -38
- md_processing/family_docs/Glossary/Create_Glossary.md +0 -42
- md_processing/family_docs/Glossary/Create_Term.md +0 -70
- md_processing/family_docs/Glossary.md +0 -206
- md_processing/family_docs/Governance Officer/Create_Business_Imperative.md +0 -106
- md_processing/family_docs/Governance Officer/Create_Certification_Type.md +0 -112
- md_processing/family_docs/Governance Officer/Create_Governance_Approach.md +0 -114
- md_processing/family_docs/Governance Officer/Create_Governance_Obligation.md +0 -114
- md_processing/family_docs/Governance Officer/Create_Governance_Principle.md +0 -114
- md_processing/family_docs/Governance Officer/Create_Governance_Procedure.md +0 -128
- md_processing/family_docs/Governance Officer/Create_Governance_Process.md +0 -122
- md_processing/family_docs/Governance Officer/Create_Governance_Processing_Purpose.md +0 -106
- md_processing/family_docs/Governance Officer/Create_Governance_Responsibility.md +0 -122
- md_processing/family_docs/Governance Officer/Create_Governance_Rule.md +0 -122
- md_processing/family_docs/Governance Officer/Create_Governance_Strategy.md +0 -106
- md_processing/family_docs/Governance Officer/Create_License_Type.md +0 -112
- md_processing/family_docs/Governance Officer/Create_Naming_Standard_Rule.md +0 -122
- md_processing/family_docs/Governance Officer/Create_Regulation_Article.md +0 -106
- md_processing/family_docs/Governance Officer/Create_Regulation_Definition.md +0 -118
- md_processing/family_docs/Governance Officer/Create_Security_Access_Control.md +0 -114
- md_processing/family_docs/Governance Officer/Create_Security_Group.md +0 -120
- md_processing/family_docs/Governance Officer/Create_Service_Level_Objectives.md +0 -122
- md_processing/family_docs/Governance Officer/Create_Threat_Definition.md +0 -106
- md_processing/family_docs/Governance Officer/Link_Governance_Controls.md +0 -32
- md_processing/family_docs/Governance Officer/Link_Governance_Drivers.md +0 -32
- md_processing/family_docs/Governance Officer/Link_Governance_Policies.md +0 -32
- md_processing/family_docs/Governance Officer/View_Governance_Definitions.md +0 -82
- md_processing/family_docs/Governance Officer.md +0 -2412
- md_processing/family_docs/Solution Architect/Create_Information_Supply_Chain.md +0 -70
- md_processing/family_docs/Solution Architect/Create_Solution_Blueprint.md +0 -44
- md_processing/family_docs/Solution Architect/Create_Solution_Component.md +0 -96
- md_processing/family_docs/Solution Architect/Create_Solution_Role.md +0 -66
- md_processing/family_docs/Solution Architect/Link_Information_Supply_Chain_Peers.md +0 -32
- md_processing/family_docs/Solution Architect/Link_Solution_Component_Peers.md +0 -32
- md_processing/family_docs/Solution Architect/View_Information_Supply_Chains.md +0 -32
- md_processing/family_docs/Solution Architect/View_Solution_Blueprints.md +0 -32
- md_processing/family_docs/Solution Architect/View_Solution_Components.md +0 -32
- md_processing/family_docs/Solution Architect/View_Solution_Roles.md +0 -32
- md_processing/family_docs/Solution Architect.md +0 -490
- md_processing/md_commands/old_project_commands.py +0 -164
- md_processing/md_processing_utils/debug_log.log +0 -5580
- md_processing/md_processing_utils/generated_help_terms.md +0 -842
- md_processing/md_processing_utils/logs/pyegeria.log +0 -56
- pyegeria/.DS_Store +0 -0
- pyegeria/___external_references.py +0 -3255
- {pyegeria-5.4.3.4.dist-info → pyegeria-5.4.4.1.dist-info}/LICENSE +0 -0
- {pyegeria-5.4.3.4.dist-info → pyegeria-5.4.4.1.dist-info}/WHEEL +0 -0
- {pyegeria-5.4.3.4.dist-info → pyegeria-5.4.4.1.dist-info}/entry_points.txt +0 -0
@@ -1,490 +0,0 @@
|
|
1
|
-
|
2
|
-
# Family: Solution Architect
|
3
|
-
|
4
|
-
## **Create Information Supply Chain**
|
5
|
-
> The flow of a particular type of data across a digital landscape.
|
6
|
-
### **Display Name**
|
7
|
-
> **Input Required**: True
|
8
|
-
|
9
|
-
> **Description**: Name of the Information Supply Chain
|
10
|
-
|
11
|
-
> **Alternative Labels**: Name; Display Name; Supply Chain; Supply Chain Name
|
12
|
-
|
13
|
-
|
14
|
-
### **Description**
|
15
|
-
> **Input Required**: False
|
16
|
-
|
17
|
-
> **Description**: A description of the data structure.
|
18
|
-
|
19
|
-
|
20
|
-
### **Scope**
|
21
|
-
> **Input Required**: False
|
22
|
-
|
23
|
-
> **Description**: Scope of the supply chain.
|
24
|
-
|
25
|
-
|
26
|
-
### **Purposes**
|
27
|
-
> **Input Required**: False
|
28
|
-
|
29
|
-
> **Description**: A list of purposes.
|
30
|
-
|
31
|
-
> **Alternative Labels**: Purpose, Purposes
|
32
|
-
|
33
|
-
|
34
|
-
### **Nested Information Supply Chains**
|
35
|
-
> **Input Required**: False
|
36
|
-
|
37
|
-
> **Description**: A list of supply chains that compose this supply chain.
|
38
|
-
|
39
|
-
> **Alternative Labels**: Nested Supply Chains
|
40
|
-
|
41
|
-
|
42
|
-
### **In Information Supply Chain**
|
43
|
-
> **Input Required**: False
|
44
|
-
|
45
|
-
> **Description**: Supply chains that this supply chain is in.
|
46
|
-
|
47
|
-
> **Alternative Labels**: In Supply Chain; In Supply Chains; In Information Supply Chains
|
48
|
-
|
49
|
-
|
50
|
-
### **Qualified Name**
|
51
|
-
> **Input Required**: False
|
52
|
-
|
53
|
-
> **Description**: A unique qualified name for the element. Generated using the qualified name pattern if not user specified.
|
54
|
-
|
55
|
-
|
56
|
-
### **GUID**
|
57
|
-
> **Input Required**: False
|
58
|
-
|
59
|
-
> **Description**: A system generated unique identifier.
|
60
|
-
|
61
|
-
> **Alternative Labels**: Guid; guid
|
62
|
-
|
63
|
-
|
64
|
-
### **Merge Update**
|
65
|
-
> **Input Required**: False
|
66
|
-
|
67
|
-
> **Description**: If true, only those attributes specified in the update will be updated; If false, any attributes not provided during the update will be set to None.
|
68
|
-
|
69
|
-
> **Alternative Labels**: Merge
|
70
|
-
|
71
|
-
> **Default Value**: True
|
72
|
-
|
73
|
-
|
74
|
-
___
|
75
|
-
|
76
|
-
## **Create Solution Blueprint**
|
77
|
-
> A solution blueprint describes the architecture of a digital service in terms of solution components.
|
78
|
-
### **Display Name**
|
79
|
-
> **Input Required**: True
|
80
|
-
|
81
|
-
> **Description**: Name of the Information Supply Chain
|
82
|
-
|
83
|
-
> **Alternative Labels**: Name; Display Name; Blueprint; Blueprint Name
|
84
|
-
|
85
|
-
|
86
|
-
### **Description**
|
87
|
-
> **Input Required**: False
|
88
|
-
|
89
|
-
> **Description**: A description of the data structure.
|
90
|
-
|
91
|
-
|
92
|
-
### **Version Identifier**
|
93
|
-
> **Input Required**: False
|
94
|
-
|
95
|
-
> **Description**: A user supplied version identifier.
|
96
|
-
|
97
|
-
|
98
|
-
### **Solution Components**
|
99
|
-
> **Input Required**: False
|
100
|
-
|
101
|
-
> **Description**: Solution components that make up the blueprint.
|
102
|
-
|
103
|
-
> **Alternative Labels**: Components; Solution Component; Component
|
104
|
-
|
105
|
-
|
106
|
-
### **Qualified Name**
|
107
|
-
> **Input Required**: False
|
108
|
-
|
109
|
-
> **Description**: A unique qualified name for the element. Generated using the qualified name pattern if not user specified.
|
110
|
-
|
111
|
-
|
112
|
-
### **GUID**
|
113
|
-
> **Input Required**: False
|
114
|
-
|
115
|
-
> **Description**: A system generated unique identifier.
|
116
|
-
|
117
|
-
> **Alternative Labels**: Guid; guid
|
118
|
-
|
119
|
-
|
120
|
-
___
|
121
|
-
|
122
|
-
## **Create Solution Component**
|
123
|
-
> A reusable solution component.
|
124
|
-
### **Display Name**
|
125
|
-
> **Input Required**: True
|
126
|
-
|
127
|
-
> **Description**: Name of the solution component.
|
128
|
-
|
129
|
-
> **Alternative Labels**: Name; Display Name; Solution Component Name; Component Name
|
130
|
-
|
131
|
-
|
132
|
-
### **Qualified Name**
|
133
|
-
> **Input Required**: False
|
134
|
-
|
135
|
-
> **Description**: A unique qualified name for the element. Generated using the qualified name pattern if not user specified.
|
136
|
-
|
137
|
-
|
138
|
-
### **Description**
|
139
|
-
> **Input Required**: False
|
140
|
-
|
141
|
-
> **Description**: A description of the data structure.
|
142
|
-
|
143
|
-
|
144
|
-
### **Solution Component Type**
|
145
|
-
> **Input Required**: False
|
146
|
-
|
147
|
-
> **Description**: Type of solution component.
|
148
|
-
|
149
|
-
> **Alternative Labels**: Soln Component Type
|
150
|
-
|
151
|
-
|
152
|
-
### **Planned Deployed Implementation Type**
|
153
|
-
> **Input Required**: False
|
154
|
-
|
155
|
-
> **Description**: The planned implementation type for deployment.
|
156
|
-
|
157
|
-
> **Alternative Labels**: Planned Deployed Impl Type
|
158
|
-
|
159
|
-
|
160
|
-
### **Initial Status**
|
161
|
-
> **Input Required**: False
|
162
|
-
|
163
|
-
> **Description**: Optional lifecycle status. If not specified, set to ACTIVE. If set to Other then the value in User Defined Status will be used.
|
164
|
-
|
165
|
-
> **Valid Values**: DRAFT; PREPARED; PROPOSED; APPROVED; REJECTED; ACTIVE; DISABLED; DEPRECATED; OTHER
|
166
|
-
|
167
|
-
> **Default Value**: ACTIVE
|
168
|
-
|
169
|
-
|
170
|
-
### **In Solution Components**
|
171
|
-
> **Input Required**: False
|
172
|
-
|
173
|
-
> **Description**: Solution components that include this one.
|
174
|
-
|
175
|
-
> **Alternative Labels**: In Solution Component; In Component
|
176
|
-
|
177
|
-
|
178
|
-
### **In Solution Blueprints**
|
179
|
-
> **Input Required**: False
|
180
|
-
|
181
|
-
> **Description**: Solution Blueprints that contain this component.
|
182
|
-
|
183
|
-
> **Alternative Labels**: In Solution Blueprints
|
184
|
-
|
185
|
-
|
186
|
-
### **In Information Supply Chains**
|
187
|
-
> **Input Required**: False
|
188
|
-
|
189
|
-
> **Description**: The Information Supply Chains that this component is a member of.
|
190
|
-
|
191
|
-
> **Alternative Labels**: In Supply Chains; In Supply Chain; In Information Supply Chain
|
192
|
-
|
193
|
-
|
194
|
-
### **Actors**
|
195
|
-
> **Input Required**: False
|
196
|
-
|
197
|
-
> **Description**: Actors associated with this component.
|
198
|
-
|
199
|
-
|
200
|
-
### **GUID**
|
201
|
-
> **Input Required**: False
|
202
|
-
|
203
|
-
> **Description**: A system generated unique identifier.
|
204
|
-
|
205
|
-
> **Alternative Labels**: Guid; guid
|
206
|
-
|
207
|
-
|
208
|
-
### **Merge Update**
|
209
|
-
> **Input Required**: False
|
210
|
-
|
211
|
-
> **Description**: If true, only those attributes specified in the update will be updated; If false, any attributes not provided during the update will be set to None.
|
212
|
-
|
213
|
-
> **Alternative Labels**: Merge
|
214
|
-
|
215
|
-
> **Default Value**: True
|
216
|
-
|
217
|
-
|
218
|
-
___
|
219
|
-
|
220
|
-
## **Create Solution Role**
|
221
|
-
> A collection of data fields that for a data specification for a data source.
|
222
|
-
### **Name**
|
223
|
-
> **Input Required**: True
|
224
|
-
|
225
|
-
> **Description**: Name of the role.
|
226
|
-
|
227
|
-
> **Alternative Labels**: Role; Solution Role; Solution Role Name; Role Name
|
228
|
-
|
229
|
-
|
230
|
-
### **Description**
|
231
|
-
> **Input Required**: False
|
232
|
-
|
233
|
-
> **Description**: A description of the data structure.
|
234
|
-
|
235
|
-
|
236
|
-
### **Title**
|
237
|
-
> **Input Required**: False
|
238
|
-
|
239
|
-
> **Description**: Title of the role.
|
240
|
-
|
241
|
-
|
242
|
-
### **Scope**
|
243
|
-
> **Input Required**: False
|
244
|
-
|
245
|
-
> **Description**: Scope of the role.
|
246
|
-
|
247
|
-
|
248
|
-
### **identifier**
|
249
|
-
> **Input Required**: False
|
250
|
-
|
251
|
-
> **Description**: role identifier
|
252
|
-
|
253
|
-
|
254
|
-
### **Domain Identifier**
|
255
|
-
> **Input Required**: False
|
256
|
-
|
257
|
-
> **Description**: Governance domain identifier
|
258
|
-
|
259
|
-
> **Default Value**: 0
|
260
|
-
|
261
|
-
|
262
|
-
### **Role Type**
|
263
|
-
> **Input Required**: False
|
264
|
-
|
265
|
-
> **Description**: Type of the role. Currently must be GovernanceRole.
|
266
|
-
|
267
|
-
> **Alternative Labels**: Role Type Name
|
268
|
-
|
269
|
-
> **Default Value**: GovernanceRole
|
270
|
-
|
271
|
-
|
272
|
-
### **Qualified Name**
|
273
|
-
> **Input Required**: False
|
274
|
-
|
275
|
-
> **Description**: A unique qualified name for the element. Generated using the qualified name pattern if not user specified.
|
276
|
-
|
277
|
-
|
278
|
-
### **GUID**
|
279
|
-
> **Input Required**: False
|
280
|
-
|
281
|
-
> **Description**: A system generated unique identifier.
|
282
|
-
|
283
|
-
> **Alternative Labels**: Guid; guid
|
284
|
-
|
285
|
-
|
286
|
-
___
|
287
|
-
|
288
|
-
## **Link Information Supply Chain Peers**
|
289
|
-
> This command can be used to link or unlink information supply chain segments.
|
290
|
-
### **Segment1**
|
291
|
-
> **Input Required**: True
|
292
|
-
|
293
|
-
> **Description**: The first segment to link.
|
294
|
-
|
295
|
-
> **Alternative Labels**: Segment 1; Information Supply Chain Segment 1; Info Supply Chain Segment 1
|
296
|
-
|
297
|
-
|
298
|
-
### **Segment2**
|
299
|
-
> **Input Required**: True
|
300
|
-
|
301
|
-
> **Description**: The second segment to link.
|
302
|
-
|
303
|
-
> **Alternative Labels**: Segment 2; Information Supply Chain Segment 2; Info Supply Chain Segment 2
|
304
|
-
|
305
|
-
|
306
|
-
### **Link Label**
|
307
|
-
> **Input Required**: False
|
308
|
-
|
309
|
-
> **Description**: Labels the link between two information supply chain segments.
|
310
|
-
|
311
|
-
> **Alternative Labels**: Label
|
312
|
-
|
313
|
-
|
314
|
-
### **Description**
|
315
|
-
> **Input Required**: False
|
316
|
-
|
317
|
-
> **Description**: A description of the data structure.
|
318
|
-
|
319
|
-
|
320
|
-
___
|
321
|
-
|
322
|
-
## **Link Solution Component Peers**
|
323
|
-
> This command can be used to link or unlink wires between components.
|
324
|
-
### **Component1**
|
325
|
-
> **Input Required**: True
|
326
|
-
|
327
|
-
> **Description**: The first component to link.
|
328
|
-
|
329
|
-
> **Alternative Labels**: Solution Component 1; Comp 1
|
330
|
-
|
331
|
-
|
332
|
-
### **Component2**
|
333
|
-
> **Input Required**: True
|
334
|
-
|
335
|
-
> **Description**: The second component to link.
|
336
|
-
|
337
|
-
> **Alternative Labels**: Solution Component 2; Comp 2
|
338
|
-
|
339
|
-
|
340
|
-
### **Wire Label**
|
341
|
-
> **Input Required**: False
|
342
|
-
|
343
|
-
> **Description**: Labels the link between two components.
|
344
|
-
|
345
|
-
> **Alternative Labels**: Label
|
346
|
-
|
347
|
-
|
348
|
-
### **Description**
|
349
|
-
> **Input Required**: False
|
350
|
-
|
351
|
-
> **Description**: A description of the wire.
|
352
|
-
|
353
|
-
|
354
|
-
___
|
355
|
-
|
356
|
-
## **View Information Supply Chains**
|
357
|
-
> Return information supply chains filtered by the search string.
|
358
|
-
### **Search String**
|
359
|
-
> **Input Required**: False
|
360
|
-
|
361
|
-
> **Description**: An optional search string to filter results by.
|
362
|
-
|
363
|
-
> **Alternative Labels**: Filter
|
364
|
-
|
365
|
-
> **Default Value**: *
|
366
|
-
|
367
|
-
|
368
|
-
### **Output Format**
|
369
|
-
> **Input Required**: False
|
370
|
-
|
371
|
-
> **Description**: Optional specification of output format for the query.
|
372
|
-
|
373
|
-
> **Alternative Labels**: Format
|
374
|
-
|
375
|
-
> **Valid Values**: LIST; FORM; MD; REPORT; MERMAID; LIST; DICT; HTML
|
376
|
-
|
377
|
-
> **Default Value**: List
|
378
|
-
|
379
|
-
|
380
|
-
### **Detailed**
|
381
|
-
> **Input Required**: False
|
382
|
-
|
383
|
-
> **Description**: If true a more detailed set of attributes will be returned.
|
384
|
-
|
385
|
-
> **Default Value**: True
|
386
|
-
|
387
|
-
|
388
|
-
___
|
389
|
-
|
390
|
-
## **View Solution Blueprints**
|
391
|
-
> Return the data structure details, optionally filtered by the search string.
|
392
|
-
### **Search String**
|
393
|
-
> **Input Required**: False
|
394
|
-
|
395
|
-
> **Description**: An optional search string to filter results by.
|
396
|
-
|
397
|
-
> **Alternative Labels**: Filter
|
398
|
-
|
399
|
-
> **Default Value**: *
|
400
|
-
|
401
|
-
|
402
|
-
### **Output Format**
|
403
|
-
> **Input Required**: False
|
404
|
-
|
405
|
-
> **Description**: Optional specification of output format for the query.
|
406
|
-
|
407
|
-
> **Alternative Labels**: Format
|
408
|
-
|
409
|
-
> **Valid Values**: List; Form; Report; Dict
|
410
|
-
|
411
|
-
> **Default Value**: List
|
412
|
-
|
413
|
-
|
414
|
-
### **Detailed**
|
415
|
-
> **Input Required**: False
|
416
|
-
|
417
|
-
> **Description**: If true a more detailed set of attributes will be returned.
|
418
|
-
|
419
|
-
> **Default Value**: True
|
420
|
-
|
421
|
-
|
422
|
-
___
|
423
|
-
|
424
|
-
## **View Solution Components**
|
425
|
-
> Return the data structure details, optionally filtered by the search string.
|
426
|
-
### **Search String**
|
427
|
-
> **Input Required**: False
|
428
|
-
|
429
|
-
> **Description**: An optional search string to filter results by.
|
430
|
-
|
431
|
-
> **Alternative Labels**: Filter
|
432
|
-
|
433
|
-
> **Default Value**: *
|
434
|
-
|
435
|
-
|
436
|
-
### **Output Format**
|
437
|
-
> **Input Required**: False
|
438
|
-
|
439
|
-
> **Description**: Optional specification of output format for the query.
|
440
|
-
|
441
|
-
> **Alternative Labels**: Format
|
442
|
-
|
443
|
-
> **Valid Values**: List; Form; Report; Dict
|
444
|
-
|
445
|
-
> **Default Value**: List
|
446
|
-
|
447
|
-
|
448
|
-
### **Detailed**
|
449
|
-
> **Input Required**: False
|
450
|
-
|
451
|
-
> **Description**: If true a more detailed set of attributes will be returned.
|
452
|
-
|
453
|
-
> **Default Value**: True
|
454
|
-
|
455
|
-
|
456
|
-
___
|
457
|
-
|
458
|
-
## **View Solution Roles**
|
459
|
-
> Return the data structure details, optionally filtered by the search string.
|
460
|
-
### **Search String**
|
461
|
-
> **Input Required**: False
|
462
|
-
|
463
|
-
> **Description**: An optional search string to filter results by.
|
464
|
-
|
465
|
-
> **Alternative Labels**: Filter
|
466
|
-
|
467
|
-
> **Default Value**: *
|
468
|
-
|
469
|
-
|
470
|
-
### **Output Format**
|
471
|
-
> **Input Required**: False
|
472
|
-
|
473
|
-
> **Description**: Optional specification of output format for the query.
|
474
|
-
|
475
|
-
> **Alternative Labels**: Format
|
476
|
-
|
477
|
-
> **Valid Values**: List; Form; Report; Dict
|
478
|
-
|
479
|
-
> **Default Value**: List
|
480
|
-
|
481
|
-
|
482
|
-
### **Detailed**
|
483
|
-
> **Input Required**: False
|
484
|
-
|
485
|
-
> **Description**: If true a more detailed set of attributes will be returned.
|
486
|
-
|
487
|
-
> **Default Value**: True
|
488
|
-
|
489
|
-
|
490
|
-
___
|
@@ -1,164 +0,0 @@
|
|
1
|
-
"""
|
2
|
-
This file contains project-related object_action functions for processing Egeria Markdown
|
3
|
-
"""
|
4
|
-
|
5
|
-
from rich.markdown import Markdown
|
6
|
-
|
7
|
-
from md_processing.md_processing_utils.common_md_utils import (debug_level, print_msg, is_valid_iso_date)
|
8
|
-
from md_processing.md_processing_utils.extraction_utils import (extract_command, process_simple_attribute)
|
9
|
-
from md_processing.md_processing_utils.md_processing_constants import ALWAYS, ERROR, INFO, pre_command
|
10
|
-
from pyegeria._globals import NO_PROJECTS_FOUND
|
11
|
-
from pyegeria.project_manager import ProjectManager
|
12
|
-
|
13
|
-
def process_per_proj_upsert_command(egeria_client: ProjectManager, txt: str, directive: str = "display") -> str | None:
|
14
|
-
"""
|
15
|
-
Processes a personal project create or update object_action by extracting key attributes such as
|
16
|
-
glossary name, language, description, and usage from the given cell.
|
17
|
-
|
18
|
-
:param txt: A string representing the input cell to be processed for
|
19
|
-
extracting glossary-related attributes.
|
20
|
-
:param directive: an optional string indicating the directive to be used - display, validate or execute
|
21
|
-
:return: A string summarizing the outcome of the processing.
|
22
|
-
"""
|
23
|
-
from md_processing.md_processing_utils.common_md_utils import set_debug_level
|
24
|
-
|
25
|
-
command = extract_command(txt)
|
26
|
-
print(Markdown(f"# {command}\n"))
|
27
|
-
|
28
|
-
object = command.split()
|
29
|
-
object_type = f"{object[1]} {object[2]}"
|
30
|
-
object_action = object[0]
|
31
|
-
set_debug_level(directive)
|
32
|
-
|
33
|
-
project_name = process_simple_attribute(txt, ['Project Name'])
|
34
|
-
description = process_simple_attribute(txt, ['Description'])
|
35
|
-
project_identifier = process_simple_attribute(txt, ['Project Identifier'])
|
36
|
-
project_status = process_simple_attribute(txt, ['Status'])
|
37
|
-
project_phase = process_simple_attribute(txt, ['Project Phase'])
|
38
|
-
project_health = process_simple_attribute(txt, ['Project Health'])
|
39
|
-
start_date = process_simple_attribute(txt, ['Start Date'])
|
40
|
-
planned_end_date = process_simple_attribute(txt, ['Planned End Date'])
|
41
|
-
print(Markdown(f"{pre_command} `\'{command}\'` for project: `{project_name}` with directive: `{directive}` "))
|
42
|
-
|
43
|
-
project_display = (f"\n* Command: {command}\n\t* Project: {project_name}\n\t"
|
44
|
-
f"* Status: {project_status}\n\t* Description: {description}\n\t"
|
45
|
-
f"* Phase: {project_phase}\n\t* Health: {project_health}\n\t"
|
46
|
-
f"* Start Date: {start_date}\n\t* Planned End Date: {planned_end_date}\n")
|
47
|
-
|
48
|
-
def validate_project(obj_action: str) -> tuple[bool, bool, str, str]:
|
49
|
-
valid = True
|
50
|
-
msg = ""
|
51
|
-
known_guid = None
|
52
|
-
known_q_name = None
|
53
|
-
|
54
|
-
project_details = egeria_client.get_projects_by_name(project_name)
|
55
|
-
if project_details == NO_PROJECTS_FOUND:
|
56
|
-
project_exists = False
|
57
|
-
else:
|
58
|
-
project_exists = True
|
59
|
-
|
60
|
-
if project_name is None:
|
61
|
-
msg = f"* {ERROR}Project name is missing\n"
|
62
|
-
valid = False
|
63
|
-
if project_status is None:
|
64
|
-
msg += f"* {INFO}No Project status found\n"
|
65
|
-
|
66
|
-
if description is None:
|
67
|
-
msg += f"* {INFO}No Description found\n"
|
68
|
-
|
69
|
-
if project_identifier is None:
|
70
|
-
msg += f"* {INFO}No Project Identifier found\n"
|
71
|
-
|
72
|
-
if project_phase is None:
|
73
|
-
msg += f"* {INFO}No Project Phase found\n"
|
74
|
-
|
75
|
-
if project_health is None:
|
76
|
-
msg += f"* {INFO}No Project Health found\n"
|
77
|
-
|
78
|
-
if start_date is None:
|
79
|
-
msg += f"* {INFO}No Start Date found\n"
|
80
|
-
elif not is_valid_iso_date(start_date):
|
81
|
-
msg += f"* {ERROR}Start Date is not a valid ISO date of form YYYY-MM-DD\n"
|
82
|
-
valid = False
|
83
|
-
|
84
|
-
if planned_end_date is None:
|
85
|
-
msg += f"* {INFO} No Planned End Date found\n"
|
86
|
-
elif not is_valid_iso_date(planned_end_date):
|
87
|
-
msg += f"* {ERROR}Planned End Date is not a valid ISO date of form YYYY-MM-DD\n"
|
88
|
-
valid = False
|
89
|
-
|
90
|
-
if obj_action == "Update":
|
91
|
-
q_name = process_simple_attribute(txt, 'Qualified Name')
|
92
|
-
|
93
|
-
if not project_exists:
|
94
|
-
msg += f"* {ERROR}Project {project_name} does not exist\n"
|
95
|
-
valid = False
|
96
|
-
if len(project_details) > 1 and project_exists:
|
97
|
-
msg += f"* {ERROR}More than one project with name {project_name} found\n"
|
98
|
-
valid = False
|
99
|
-
if len(project_details) == 1:
|
100
|
-
known_guid = project_details[0]['elementHeader'].get('guid', None)
|
101
|
-
known_q_name = project_details[0]['glossaryProperties'].get('qualifiedName', None)
|
102
|
-
if q_name is None:
|
103
|
-
msg += f"* {INFO}Qualified Name is missing => can use known qualified name of {known_q_name}\n"
|
104
|
-
valid = True
|
105
|
-
elif q_name != known_q_name:
|
106
|
-
msg += (f"* {ERROR}Project {project_name} qualifiedName mismatch between {q_name} and {known_q_name}\n")
|
107
|
-
valid = False
|
108
|
-
if valid:
|
109
|
-
msg += project_display
|
110
|
-
msg += f"* -->Project {project_name} exists and can be updated\n"
|
111
|
-
else:
|
112
|
-
msg += f"* --> validation failed\n"
|
113
|
-
msg += '---'
|
114
|
-
print(Markdown(msg))
|
115
|
-
return valid, project_exists, known_guid, known_q_name
|
116
|
-
|
117
|
-
elif obj_action == "Create":
|
118
|
-
if project_exists:
|
119
|
-
msg += f"\n{ERROR}Project {project_name} already exists"
|
120
|
-
else:
|
121
|
-
msg += f"\n-->It is valid to create Project \'{project_name}\' with:\n"
|
122
|
-
print(Markdown(msg))
|
123
|
-
return valid, project_exists, known_guid, known_q_name
|
124
|
-
|
125
|
-
if directive == "display":
|
126
|
-
print(Markdown(project_display))
|
127
|
-
return None
|
128
|
-
elif directive == "validate":
|
129
|
-
valid, project_exists, known_guid, known_q_name = validate_project(object_action)
|
130
|
-
return valid
|
131
|
-
elif directive == "process":
|
132
|
-
valid, project_exists, known_guid, known_q_name = validate_project(object_action)
|
133
|
-
if valid:
|
134
|
-
if object_action == "Create":
|
135
|
-
if project_exists:
|
136
|
-
print(f"\n{ERROR}Project {project_name} already exists\n")
|
137
|
-
return None
|
138
|
-
else:
|
139
|
-
project_guid = egeria_client.create_personal_project(project_name, description, project_identifier,
|
140
|
-
project_status, project_phase, project_health,
|
141
|
-
start_date, planned_end_date)
|
142
|
-
if project_guid:
|
143
|
-
print_msg(ALWAYS, f"Created Project {project_name} with GUID {project_guid}", debug_level)
|
144
|
-
return egeria_client.get_project_by_guid(project_guid, output_format='MD')
|
145
|
-
else:
|
146
|
-
print_msg(ERROR, f"Failed to create Project {project_name}", debug_level)
|
147
|
-
return None
|
148
|
-
elif object_action == "Update":
|
149
|
-
if not project_exists:
|
150
|
-
print(f"\n{ERROR}Project {project_name} does not exist\n")
|
151
|
-
return None
|
152
|
-
else:
|
153
|
-
project_guid = egeria_client.update_personal_project(known_guid, project_name, description,
|
154
|
-
project_identifier, project_status,
|
155
|
-
project_phase, project_health, start_date,
|
156
|
-
planned_end_date)
|
157
|
-
if project_guid:
|
158
|
-
print_msg(ALWAYS, f"Updated Project {project_name} with GUID {project_guid}", debug_level)
|
159
|
-
return egeria_client.get_project_by_guid(project_guid, output_format='MD')
|
160
|
-
else:
|
161
|
-
print_msg(ERROR, f"Failed to update Project {project_name}", debug_level)
|
162
|
-
return None
|
163
|
-
else:
|
164
|
-
return None
|