| @startuml |
| |
| title Policy Design |
| |
| participant API_User |
| box "PolicyDesign" #LightBlue |
| participant PolicyDesign |
| database PolicyDB |
| end box |
| |
| autonumber |
| |
| API_User --> PolicyDesign : Get Policy Type Reference |
| PolicyDesign --> PolicyDB : Get Policy Type Artifact and Metadata |
| PolicyDesign --> API_User : Return Policy Type Reference and Metadata |
| API_User --> PolicyDesign : Get Policy Reference and Metadata |
| PolicyDesign --> PolicyDB : Get Policy Metadata |
| |
| alt Policy Artifact exists |
| PolicyDesign --> API_User : Return Policy Reference and Metadata |
| else Policy Artifact does not exist |
| PolicyDesign --> API_User : Return Policy Not Found |
| end |
| |
| API_User --> API_User : Policy Editing and Generation Session\nto get Policy Parameters from user |
| |
| activate API_User |
| deactivate API_User |
| |
| loop |
| API_User --> PolicyDesign : Use Policy Type specification |
| API_User --> PolicyDesign : Create Policy PolicyDesign --> PolicyDesign : Create Policy |
| activate PolicyDesign |
| deactivate PolicyDesign |
| PolicyDesign --> PolicyDB : Save Policy Artifact and Metadata |
| PolicyDesign --> API_User : Policy Creation Result |
| end |
| |
| @enduml |